From 6265ef3b3798954ed231b4e9d9360387e454269a Mon Sep 17 00:00:00 2001 From: 0xs1riu5 Date: Thu, 1 Nov 2018 14:16:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0phpshe1.1=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- phpshe/.DS_Store | Bin 0 -> 6148 bytes phpshe/1.1/.DS_Store | Bin 0 -> 6148 bytes phpshe/1.1/README.md | 23 + .../495F968C-5003-488D-9B8C-47C4B5557C35.png | Bin 0 -> 561514 bytes .../4D7D62E2-B41D-489C-97FB-A04DFF70C545.png | Bin 0 -> 283803 bytes .../5C9E7C83-C177-411D-AAAA-3523AC17B55E.png | Bin 0 -> 332720 bytes phpshe/1.1/docker-compose.yml | 20 + phpshe/1.1/mysql/Dockerfile | 11 + phpshe/1.1/mysql/schema.sql | 531 ++ phpshe/1.1/php-fpm/.DS_Store | Bin 0 -> 6148 bytes phpshe/1.1/php-fpm/Dockerfile | 13 + phpshe/1.1/php-fpm/src/.DS_Store | Bin 0 -> 6148 bytes phpshe/1.1/php-fpm/src/.htaccess | 7 + phpshe/1.1/php-fpm/src/.idea/misc.xml | 6 + phpshe/1.1/php-fpm/src/.idea/modules.xml | 8 + phpshe/1.1/php-fpm/src/.idea/src.iml | 8 + phpshe/1.1/php-fpm/src/.idea/vcs.xml | 6 + phpshe/1.1/php-fpm/src/.idea/workspace.xml | 160 + phpshe/1.1/php-fpm/src/admin.php | 52 + phpshe/1.1/php-fpm/src/common.php | 71 + phpshe/1.1/php-fpm/src/config.php | 9 + .../attachment/2012-11/20121231231911x.gif | Bin 0 -> 5328 bytes .../src/data/attachment/2012-11/ad1.jpg | Bin 0 -> 52736 bytes .../src/data/attachment/2012-11/ad2.jpg | Bin 0 -> 59749 bytes .../src/data/attachment/2012-11/jdt1.jpg | Bin 0 -> 82010 bytes .../src/data/attachment/2012-11/jdt2.jpg | Bin 0 -> 95152 bytes .../1.1/php-fpm/src/data/cache/ad.cache.php | 3 + .../php-fpm/src/data/cache/category.cache.php | 3 + .../src/data/cache/category_arr.cache.php | 3 + .../php-fpm/src/data/cache/class.cache.php | 3 + .../1.1/php-fpm/src/data/cache/link.cache.php | 3 + .../1.1/php-fpm/src/data/cache/page.cache.php | 3 + .../php-fpm/src/data/cache/payway.cache.php | 5 + .../php-fpm/src/data/cache/setting.cache.php | 3 + .../data/cache/template/admin/cache_list.php | 32 + .../src/data/cache/template/admin/footer.php | 7 + .../src/data/cache/template/admin/header.php | 46 + .../src/data/cache/template/index/footer.php | 87 + .../src/data/cache/template/index/header.php | 84 + .../src/data/cache/template/index/index.php | 92 + .../src/data/cache/template/index/page.php | 63 + phpshe/1.1/php-fpm/src/hook/cache.hook.php | 51 + phpshe/1.1/php-fpm/src/hook/category.hook.php | 38 + phpshe/1.1/php-fpm/src/hook/payway.hook.php | 8 + phpshe/1.1/php-fpm/src/hook/product.hook.php | 48 + phpshe/1.1/php-fpm/src/httpd.ini | 2 + .../src/include/class/authcode.class.php | 85 + .../php-fpm/src/include/class/cache.class.php | 85 + .../src/include/class/categorytree.class.php | 91 + .../php-fpm/src/include/class/db.class.php | 214 + .../php-fpm/src/include/class/excel.class.php | 196 + .../php-fpm/src/include/class/mail.class.php | 230 + .../src/include/class/mail/class.pop3.php | 407 ++ .../src/include/class/mail/class.smtp.php | 814 +++ .../src/include/class/mail/mail.class.php | 2320 +++++++ .../php-fpm/src/include/class/page.class.php | 95 + .../src/include/class/pinyin.class.php | 524 ++ .../php-fpm/src/include/class/thumb.class.php | 249 + .../src/include/class/upload.class.php | 86 + .../src/include/function/global.func.php | 424 ++ .../1.1/php-fpm/src/include/image/cuo_l.gif | Bin 0 -> 1020 bytes .../1.1/php-fpm/src/include/image/cuo_m.gif | Bin 0 -> 49 bytes .../1.1/php-fpm/src/include/image/cuo_r.gif | Bin 0 -> 150 bytes .../1.1/php-fpm/src/include/image/dui_l.gif | Bin 0 -> 1070 bytes .../1.1/php-fpm/src/include/image/dui_m.gif | Bin 0 -> 49 bytes .../1.1/php-fpm/src/include/image/dui_r.gif | Bin 0 -> 204 bytes .../1.1/php-fpm/src/include/image/nopic.gif | Bin 0 -> 2256 bytes .../1.1/php-fpm/src/include/js/formcheck.js | 169 + phpshe/1.1/php-fpm/src/include/js/global.js | 79 + phpshe/1.1/php-fpm/src/include/js/jquery.js | 4 + .../php-fpm/src/include/js/jquery.slide.js | 1 + phpshe/1.1/php-fpm/src/include/js/shengshi.js | 84 + .../plugin/artdialog/jquery.artDialog.js | 10 + .../src/include/plugin/artdialog/license.txt | 165 + .../plugin/artdialog/plugins/iframeTools.js | 10 + .../include/plugin/artdialog/skins/chrome.css | 61 + .../plugin/artdialog/skins/chrome/border.png | Bin 0 -> 260 bytes .../artdialog/skins/chrome/chrome_s.png | Bin 0 -> 1202 bytes .../plugin/artdialog/skins/icons/error.png | Bin 0 -> 2149 bytes .../plugin/artdialog/skins/icons/face-sad.png | Bin 0 -> 6790 bytes .../artdialog/skins/icons/face-smile.png | Bin 0 -> 6881 bytes .../plugin/artdialog/skins/icons/loading.gif | Bin 0 -> 381 bytes .../plugin/artdialog/skins/icons/question.png | Bin 0 -> 2148 bytes .../plugin/artdialog/skins/icons/succeed.png | Bin 0 -> 2182 bytes .../plugin/artdialog/skins/icons/warning.png | Bin 0 -> 1728 bytes .../src/include/plugin/editor/kindeditor.js | 5755 +++++++++++++++++ .../src/include/plugin/editor/lang/zh_CN.js | 234 + .../include/plugin/editor/php/upload_json.php | 16 + .../plugin/editor/plugins/anchor/anchor.js | 46 + .../editor/plugins/baidumap/baidumap.js | 77 + .../plugin/editor/plugins/baidumap/map.html | 43 + .../editor/plugins/clearhtml/clearhtml.js | 29 + .../plugin/editor/plugins/code/code.js | 57 + .../plugin/editor/plugins/code/prettify.css | 13 + .../plugin/editor/plugins/code/prettify.js | 28 + .../editor/plugins/emoticons/emoticons.js | 129 + .../editor/plugins/emoticons/images/0.gif | Bin 0 -> 1810 bytes .../editor/plugins/emoticons/images/1.gif | Bin 0 -> 1582 bytes .../editor/plugins/emoticons/images/10.gif | Bin 0 -> 3716 bytes .../editor/plugins/emoticons/images/100.gif | Bin 0 -> 1780 bytes .../editor/plugins/emoticons/images/101.gif | Bin 0 -> 2443 bytes .../editor/plugins/emoticons/images/102.gif | Bin 0 -> 1446 bytes .../editor/plugins/emoticons/images/103.gif | Bin 0 -> 2166 bytes .../editor/plugins/emoticons/images/104.gif | Bin 0 -> 2169 bytes .../editor/plugins/emoticons/images/105.gif | Bin 0 -> 1277 bytes .../editor/plugins/emoticons/images/106.gif | Bin 0 -> 1041 bytes .../editor/plugins/emoticons/images/107.gif | Bin 0 -> 1058 bytes .../editor/plugins/emoticons/images/108.gif | Bin 0 -> 1046 bytes .../editor/plugins/emoticons/images/109.gif | Bin 0 -> 1081 bytes .../editor/plugins/emoticons/images/11.gif | Bin 0 -> 8033 bytes .../editor/plugins/emoticons/images/110.gif | Bin 0 -> 1082 bytes .../editor/plugins/emoticons/images/111.gif | Bin 0 -> 1039 bytes .../editor/plugins/emoticons/images/112.gif | Bin 0 -> 1111 bytes .../editor/plugins/emoticons/images/113.gif | Bin 0 -> 1015 bytes .../editor/plugins/emoticons/images/114.gif | Bin 0 -> 1003 bytes .../editor/plugins/emoticons/images/115.gif | Bin 0 -> 1061 bytes .../editor/plugins/emoticons/images/116.gif | Bin 0 -> 996 bytes .../editor/plugins/emoticons/images/117.gif | Bin 0 -> 1041 bytes .../editor/plugins/emoticons/images/118.gif | Bin 0 -> 1012 bytes .../editor/plugins/emoticons/images/119.gif | Bin 0 -> 1101 bytes .../editor/plugins/emoticons/images/12.gif | Bin 0 -> 2247 bytes .../editor/plugins/emoticons/images/120.gif | Bin 0 -> 1008 bytes .../editor/plugins/emoticons/images/121.gif | Bin 0 -> 1060 bytes .../editor/plugins/emoticons/images/122.gif | Bin 0 -> 999 bytes .../editor/plugins/emoticons/images/123.gif | Bin 0 -> 1055 bytes .../editor/plugins/emoticons/images/124.gif | Bin 0 -> 1022 bytes .../editor/plugins/emoticons/images/125.gif | Bin 0 -> 1013 bytes .../editor/plugins/emoticons/images/126.gif | Bin 0 -> 1030 bytes .../editor/plugins/emoticons/images/127.gif | Bin 0 -> 956 bytes .../editor/plugins/emoticons/images/128.gif | Bin 0 -> 1022 bytes .../editor/plugins/emoticons/images/129.gif | Bin 0 -> 972 bytes .../editor/plugins/emoticons/images/13.gif | Bin 0 -> 1736 bytes .../editor/plugins/emoticons/images/130.gif | Bin 0 -> 980 bytes .../editor/plugins/emoticons/images/131.gif | Bin 0 -> 945 bytes .../editor/plugins/emoticons/images/132.gif | Bin 0 -> 936 bytes .../editor/plugins/emoticons/images/133.gif | Bin 0 -> 1012 bytes .../editor/plugins/emoticons/images/134.gif | Bin 0 -> 968 bytes .../editor/plugins/emoticons/images/14.gif | Bin 0 -> 4006 bytes .../editor/plugins/emoticons/images/15.gif | Bin 0 -> 1562 bytes .../editor/plugins/emoticons/images/16.gif | Bin 0 -> 1413 bytes .../editor/plugins/emoticons/images/17.gif | Bin 0 -> 3366 bytes .../editor/plugins/emoticons/images/18.gif | Bin 0 -> 8137 bytes .../editor/plugins/emoticons/images/19.gif | Bin 0 -> 8135 bytes .../editor/plugins/emoticons/images/2.gif | Bin 0 -> 1804 bytes .../editor/plugins/emoticons/images/20.gif | Bin 0 -> 1808 bytes .../editor/plugins/emoticons/images/21.gif | Bin 0 -> 1864 bytes .../editor/plugins/emoticons/images/22.gif | Bin 0 -> 3010 bytes .../editor/plugins/emoticons/images/23.gif | Bin 0 -> 1950 bytes .../editor/plugins/emoticons/images/24.gif | Bin 0 -> 2257 bytes .../editor/plugins/emoticons/images/25.gif | Bin 0 -> 2446 bytes .../editor/plugins/emoticons/images/26.gif | Bin 0 -> 4014 bytes .../editor/plugins/emoticons/images/27.gif | Bin 0 -> 2893 bytes .../editor/plugins/emoticons/images/28.gif | Bin 0 -> 3262 bytes .../editor/plugins/emoticons/images/29.gif | Bin 0 -> 5861 bytes .../editor/plugins/emoticons/images/3.gif | Bin 0 -> 1852 bytes .../editor/plugins/emoticons/images/30.gif | Bin 0 -> 1780 bytes .../editor/plugins/emoticons/images/31.gif | Bin 0 -> 5174 bytes .../editor/plugins/emoticons/images/32.gif | Bin 0 -> 7189 bytes .../editor/plugins/emoticons/images/33.gif | Bin 0 -> 4317 bytes .../editor/plugins/emoticons/images/34.gif | Bin 0 -> 2140 bytes .../editor/plugins/emoticons/images/35.gif | Bin 0 -> 13392 bytes .../editor/plugins/emoticons/images/36.gif | Bin 0 -> 1417 bytes .../editor/plugins/emoticons/images/37.gif | Bin 0 -> 1195 bytes .../editor/plugins/emoticons/images/38.gif | Bin 0 -> 1674 bytes .../editor/plugins/emoticons/images/39.gif | Bin 0 -> 1798 bytes .../editor/plugins/emoticons/images/4.gif | Bin 0 -> 1977 bytes .../editor/plugins/emoticons/images/40.gif | Bin 0 -> 10092 bytes .../editor/plugins/emoticons/images/41.gif | Bin 0 -> 3368 bytes .../editor/plugins/emoticons/images/42.gif | Bin 0 -> 13367 bytes .../editor/plugins/emoticons/images/43.gif | Bin 0 -> 4327 bytes .../editor/plugins/emoticons/images/44.gif | Bin 0 -> 1571 bytes .../editor/plugins/emoticons/images/45.gif | Bin 0 -> 4692 bytes .../editor/plugins/emoticons/images/46.gif | Bin 0 -> 5162 bytes .../editor/plugins/emoticons/images/47.gif | Bin 0 -> 3685 bytes .../editor/plugins/emoticons/images/48.gif | Bin 0 -> 1755 bytes .../editor/plugins/emoticons/images/49.gif | Bin 0 -> 6361 bytes .../editor/plugins/emoticons/images/5.gif | Bin 0 -> 1866 bytes .../editor/plugins/emoticons/images/50.gif | Bin 0 -> 3073 bytes .../editor/plugins/emoticons/images/51.gif | Bin 0 -> 3731 bytes .../editor/plugins/emoticons/images/52.gif | Bin 0 -> 1532 bytes .../editor/plugins/emoticons/images/53.gif | Bin 0 -> 2056 bytes .../editor/plugins/emoticons/images/54.gif | Bin 0 -> 2362 bytes .../editor/plugins/emoticons/images/55.gif | Bin 0 -> 1582 bytes .../editor/plugins/emoticons/images/56.gif | Bin 0 -> 1170 bytes .../editor/plugins/emoticons/images/57.gif | Bin 0 -> 5072 bytes .../editor/plugins/emoticons/images/58.gif | Bin 0 -> 2596 bytes .../editor/plugins/emoticons/images/59.gif | Bin 0 -> 1533 bytes .../editor/plugins/emoticons/images/6.gif | Bin 0 -> 3556 bytes .../editor/plugins/emoticons/images/60.gif | Bin 0 -> 2667 bytes .../editor/plugins/emoticons/images/61.gif | Bin 0 -> 1136 bytes .../editor/plugins/emoticons/images/62.gif | Bin 0 -> 1269 bytes .../editor/plugins/emoticons/images/63.gif | Bin 0 -> 971 bytes .../editor/plugins/emoticons/images/64.gif | Bin 0 -> 988 bytes .../editor/plugins/emoticons/images/65.gif | Bin 0 -> 5285 bytes .../editor/plugins/emoticons/images/66.gif | Bin 0 -> 1159 bytes .../editor/plugins/emoticons/images/67.gif | Bin 0 -> 2746 bytes .../editor/plugins/emoticons/images/68.gif | Bin 0 -> 4148 bytes .../editor/plugins/emoticons/images/69.gif | Bin 0 -> 1015 bytes .../editor/plugins/emoticons/images/7.gif | Bin 0 -> 3929 bytes .../editor/plugins/emoticons/images/70.gif | Bin 0 -> 1162 bytes .../editor/plugins/emoticons/images/71.gif | Bin 0 -> 824 bytes .../editor/plugins/emoticons/images/72.gif | Bin 0 -> 3679 bytes .../editor/plugins/emoticons/images/73.gif | Bin 0 -> 2195 bytes .../editor/plugins/emoticons/images/74.gif | Bin 0 -> 2454 bytes .../editor/plugins/emoticons/images/75.gif | Bin 0 -> 1222 bytes .../editor/plugins/emoticons/images/76.gif | Bin 0 -> 1211 bytes .../editor/plugins/emoticons/images/77.gif | Bin 0 -> 1151 bytes .../editor/plugins/emoticons/images/78.gif | Bin 0 -> 1565 bytes .../editor/plugins/emoticons/images/79.gif | Bin 0 -> 1518 bytes .../editor/plugins/emoticons/images/8.gif | Bin 0 -> 4679 bytes .../editor/plugins/emoticons/images/80.gif | Bin 0 -> 1537 bytes .../editor/plugins/emoticons/images/81.gif | Bin 0 -> 1591 bytes .../editor/plugins/emoticons/images/82.gif | Bin 0 -> 1547 bytes .../editor/plugins/emoticons/images/83.gif | Bin 0 -> 1591 bytes .../editor/plugins/emoticons/images/84.gif | Bin 0 -> 3424 bytes .../editor/plugins/emoticons/images/85.gif | Bin 0 -> 1581 bytes .../editor/plugins/emoticons/images/86.gif | Bin 0 -> 1519 bytes .../editor/plugins/emoticons/images/87.gif | Bin 0 -> 1558 bytes .../editor/plugins/emoticons/images/88.gif | Bin 0 -> 2134 bytes .../editor/plugins/emoticons/images/89.gif | Bin 0 -> 1219 bytes .../editor/plugins/emoticons/images/9.gif | Bin 0 -> 3298 bytes .../editor/plugins/emoticons/images/90.gif | Bin 0 -> 2743 bytes .../editor/plugins/emoticons/images/91.gif | Bin 0 -> 654 bytes .../editor/plugins/emoticons/images/92.gif | Bin 0 -> 1377 bytes .../editor/plugins/emoticons/images/93.gif | Bin 0 -> 1119 bytes .../editor/plugins/emoticons/images/94.gif | Bin 0 -> 3426 bytes .../editor/plugins/emoticons/images/95.gif | Bin 0 -> 3011 bytes .../editor/plugins/emoticons/images/96.gif | Bin 0 -> 1796 bytes .../editor/plugins/emoticons/images/97.gif | Bin 0 -> 5300 bytes .../editor/plugins/emoticons/images/98.gif | Bin 0 -> 1629 bytes .../editor/plugins/emoticons/images/99.gif | Bin 0 -> 2261 bytes .../plugins/emoticons/images/static.gif | Bin 0 -> 35504 bytes .../editor/plugins/filemanager/filemanager.js | 189 + .../plugins/filemanager/images/file-16.gif | Bin 0 -> 170 bytes .../plugins/filemanager/images/file-64.gif | Bin 0 -> 1149 bytes .../plugins/filemanager/images/folder-16.gif | Bin 0 -> 226 bytes .../plugins/filemanager/images/folder-64.gif | Bin 0 -> 1272 bytes .../plugins/filemanager/images/go-up.gif | Bin 0 -> 562 bytes .../plugin/editor/plugins/flash/flash.js | 153 + .../plugin/editor/plugins/image/image.js | 293 + .../plugins/image/images/align_left.gif | Bin 0 -> 639 bytes .../plugins/image/images/align_right.gif | Bin 0 -> 636 bytes .../editor/plugins/image/images/align_top.gif | Bin 0 -> 625 bytes .../editor/plugins/image/images/refresh.png | Bin 0 -> 800 bytes .../editor/plugins/insertfile/insertfile.js | 132 + .../editor/plugins/lineheight/lineheight.js | 38 + .../plugin/editor/plugins/link/link.js | 66 + .../plugin/editor/plugins/map/map.html | 57 + .../include/plugin/editor/plugins/map/map.js | 137 + .../plugin/editor/plugins/media/media.js | 162 + .../plugins/multiimage/images/image.png | Bin 0 -> 1862 bytes .../multiimage/images/select-files-en.png | Bin 0 -> 484 bytes .../multiimage/images/select-files-zh_CN.png | Bin 0 -> 481 bytes .../plugins/multiimage/images/swfupload.swf | Bin 0 -> 12787 bytes .../editor/plugins/multiimage/multiimage.js | 1368 ++++ .../editor/plugins/pagebreak/pagebreak.js | 26 + .../editor/plugins/plainpaste/plainpaste.js | 41 + .../plugin/editor/plugins/preview/preview.js | 31 + .../editor/plugins/quickformat/quickformat.js | 81 + .../plugin/editor/plugins/table/table.js | 686 ++ .../editor/plugins/template/html/1.html | 14 + .../editor/plugins/template/html/2.html | 42 + .../editor/plugins/template/html/3.html | 36 + .../editor/plugins/template/template.js | 58 + .../editor/plugins/wordpaste/wordpaste.js | 51 + .../plugin/editor/themes/common/anchor.gif | Bin 0 -> 371 bytes .../plugin/editor/themes/common/blank.gif | Bin 0 -> 43 bytes .../plugin/editor/themes/common/flash.gif | Bin 0 -> 1089 bytes .../plugin/editor/themes/common/loading.gif | Bin 0 -> 2608 bytes .../plugin/editor/themes/common/media.gif | Bin 0 -> 1036 bytes .../plugin/editor/themes/common/rm.gif | Bin 0 -> 989 bytes .../editor/themes/default/background.png | Bin 0 -> 788 bytes .../plugin/editor/themes/default/default.css | 1145 ++++ .../plugin/editor/themes/default/default.png | Bin 0 -> 8299 bytes .../plugin/editor/themes/simple/simple.css | 100 + .../src/include/plugin/my97/WdatePicker.js | 48 + .../src/include/plugin/my97/calendar.js | 5 + .../src/include/plugin/my97/lang/zh-cn.js | 14 + .../include/plugin/my97/skin/WdatePicker.css | 10 + .../include/plugin/my97/skin/datePicker.gif | Bin 0 -> 1043 bytes .../plugin/my97/skin/default/datepicker.css | 246 + .../include/plugin/my97/skin/default/img.gif | Bin 0 -> 1578 bytes .../include/plugin/my97/skin/whyGreen/bg.jpg | Bin 0 -> 307 bytes .../plugin/my97/skin/whyGreen/datepicker.css | 256 + .../include/plugin/my97/skin/whyGreen/img.gif | Bin 0 -> 1679 bytes .../plugin/payway/alipay/alipay.config.php | 78 + .../include/plugin/payway/alipay/cacert.pem | 3920 +++++++++++ .../alipay/lib/alipay_core.function.php | 176 + .../payway/alipay/lib/alipay_md5.function.php | 41 + .../payway/alipay/lib/alipay_notify.class.php | 163 + .../payway/alipay/lib/alipay_submit.class.php | 165 + .../src/include/plugin/payway/alipay/log.txt | 3 + .../src/include/plugin/payway/alipay/logo.gif | Bin 0 -> 2138 bytes .../plugin/payway/alipay/notify_url_db.php | 71 + .../plugin/payway/alipay/notify_url_js.php | 44 + .../plugin/payway/alipay/notify_url_sgn.php | 90 + .../plugin/payway/alipay/order_pay.php | 107 + .../plugin/payway/alipay/order_send.php | 51 + .../plugin/payway/alipay/return_url_db.php | 60 + .../plugin/payway/alipay/return_url_js.php | 57 + .../plugin/payway/alipay/return_url_sgn.php | 71 + .../src/include/plugin/payway/bank/logo.gif | Bin 0 -> 3348 bytes phpshe/1.1/php-fpm/src/index.php | 17 + phpshe/1.1/php-fpm/src/install/css/style.css | 58 + .../php-fpm/src/install/images/anzhuang.gif | Bin 0 -> 2332 bytes .../1.1/php-fpm/src/install/images/logo.gif | Bin 0 -> 6280 bytes .../1.1/php-fpm/src/install/images/main_l.gif | Bin 0 -> 4370 bytes .../1.1/php-fpm/src/install/images/main_m.gif | Bin 0 -> 189 bytes .../1.1/php-fpm/src/install/images/main_r.gif | Bin 0 -> 4343 bytes .../1.1/php-fpm/src/install/images/next.gif | Bin 0 -> 2226 bytes .../1.1/php-fpm/src/install/images/quxiao.gif | Bin 0 -> 2336 bytes phpshe/1.1/php-fpm/src/install/images/tb1.png | Bin 0 -> 491 bytes phpshe/1.1/php-fpm/src/install/index.php | 88 + phpshe/1.1/php-fpm/src/install/install.html | 229 + phpshe/1.1/php-fpm/src/install/phpshe.sql | 280 + .../1.1/php-fpm/src/install/update/index.php | 39 + .../src/install/update/update1.0_1.1.php | 48 + phpshe/1.1/php-fpm/src/module/admin/ad.php | 80 + phpshe/1.1/php-fpm/src/module/admin/admin.php | 55 + .../1.1/php-fpm/src/module/admin/article.php | 59 + phpshe/1.1/php-fpm/src/module/admin/ask.php | 54 + phpshe/1.1/php-fpm/src/module/admin/cache.php | 61 + .../1.1/php-fpm/src/module/admin/category.php | 78 + phpshe/1.1/php-fpm/src/module/admin/class.php | 72 + .../1.1/php-fpm/src/module/admin/comment.php | 46 + phpshe/1.1/php-fpm/src/module/admin/db.php | 139 + phpshe/1.1/php-fpm/src/module/admin/do.php | 31 + phpshe/1.1/php-fpm/src/module/admin/link.php | 71 + phpshe/1.1/php-fpm/src/module/admin/order.php | 101 + phpshe/1.1/php-fpm/src/module/admin/page.php | 56 + .../1.1/php-fpm/src/module/admin/payway.php | 79 + .../1.1/php-fpm/src/module/admin/product.php | 125 + .../1.1/php-fpm/src/module/admin/setting.php | 45 + phpshe/1.1/php-fpm/src/module/admin/user.php | 45 + .../1.1/php-fpm/src/module/index/article.php | 24 + phpshe/1.1/php-fpm/src/module/index/index.php | 16 + phpshe/1.1/php-fpm/src/module/index/order.php | 158 + phpshe/1.1/php-fpm/src/module/index/page.php | 8 + .../1.1/php-fpm/src/module/index/product.php | 135 + phpshe/1.1/php-fpm/src/module/index/user.php | 196 + phpshe/1.1/php-fpm/src/robots.txt | 12 + .../src/template/default/admin/ad_add.html | 46 + .../src/template/default/admin/ad_list.html | 42 + .../src/template/default/admin/admin_add.html | 33 + .../template/default/admin/admin_list.html | 37 + .../template/default/admin/article_add.html | 50 + .../template/default/admin/article_list.html | 70 + .../src/template/default/admin/ask_add.html | 38 + .../src/template/default/admin/ask_list.html | 61 + .../template/default/admin/cache_list.html | 32 + .../template/default/admin/category_add.html | 40 + .../template/default/admin/category_list.html | 37 + .../src/template/default/admin/class_add.html | 29 + .../template/default/admin/class_list.html | 37 + .../template/default/admin/comment_add.html | 34 + .../template/default/admin/comment_list.html | 55 + .../src/template/default/admin/css/style.css | 116 + .../src/template/default/admin/db_list.html | 58 + .../src/template/default/admin/do_login.html | 51 + .../src/template/default/admin/footer.html | 7 + .../src/template/default/admin/header.html | 46 + .../src/template/default/admin/images/btn.gif | Bin 0 -> 704 bytes .../template/default/admin/images/fabu.gif | Bin 0 -> 464 bytes .../template/default/admin/images/head_bg.gif | Bin 0 -> 284 bytes .../template/default/admin/images/libg1.gif | Bin 0 -> 1618 bytes .../template/default/admin/images/libg2.gif | Bin 0 -> 551 bytes .../default/admin/images/libg2_old.gif | Bin 0 -> 1352 bytes .../default/admin/images/login_bg.png | Bin 0 -> 4704 bytes .../default/admin/images/login_btn.gif | Bin 0 -> 2052 bytes .../template/default/admin/images/logo.gif | Bin 0 -> 1556 bytes .../default/admin/images/main_bot.png | Bin 0 -> 262 bytes .../template/default/admin/images/now_l.gif | Bin 0 -> 345 bytes .../template/default/admin/images/now_m.gif | Bin 0 -> 155 bytes .../template/default/admin/images/now_r.gif | Bin 0 -> 347 bytes .../src/template/default/admin/images/tb1.png | Bin 0 -> 605 bytes .../src/template/default/admin/images/tb2.png | Bin 0 -> 3306 bytes .../src/template/default/admin/link_add.html | 33 + .../src/template/default/admin/link_list.html | 42 + .../src/template/default/admin/order_add.html | 162 + .../template/default/admin/order_list.html | 96 + .../template/default/admin/order_send.html | 49 + .../src/template/default/admin/page_add.html | 35 + .../src/template/default/admin/page_list.html | 41 + .../template/default/admin/payway_add.html | 54 + .../template/default/admin/payway_list.html | 36 + .../template/default/admin/product_add.html | 74 + .../template/default/admin/product_list.html | 100 + .../template/default/admin/setting_base.html | 73 + .../src/template/default/admin/user_add.html | 50 + .../src/template/default/admin/user_list.html | 58 + .../src/template/default/index/css/style.css | 280 + .../src/template/default/index/footer.html | 87 + .../src/template/default/index/header.html | 84 + .../default/index/images/bottom_libg.gif | Bin 0 -> 1348 bytes .../template/default/index/images/button.jpg | Bin 0 -> 27289 bytes .../src/template/default/index/images/buy.gif | Bin 0 -> 3544 bytes .../template/default/index/images/bz_1.gif | Bin 0 -> 364 bytes .../template/default/index/images/bz_2.gif | Bin 0 -> 374 bytes .../template/default/index/images/bz_4.gif | Bin 0 -> 365 bytes .../template/default/index/images/bz_5.gif | Bin 0 -> 579 bytes .../default/index/images/foot_tel.gif | Bin 0 -> 1861 bytes .../template/default/index/images/hottt.gif | Bin 0 -> 1207 bytes .../template/default/index/images/hy_rtt.gif | Bin 0 -> 108 bytes .../template/default/index/images/item_bg.gif | Bin 0 -> 1190 bytes .../src/template/default/index/images/jia.gif | Bin 0 -> 366 bytes .../template/default/index/images/jian.gif | Bin 0 -> 240 bytes .../default/index/images/liebiao_tt.gif | Bin 0 -> 162 bytes .../template/default/index/images/link_bg.gif | Bin 0 -> 1154 bytes .../template/default/index/images/list_h3.gif | Bin 0 -> 1174 bytes .../default/index/images/liucheng1.gif | Bin 0 -> 3765 bytes .../default/index/images/liucheng2.gif | Bin 0 -> 3391 bytes .../template/default/index/images/login.jpg | Bin 0 -> 18546 bytes .../default/index/images/login_btn.gif | Bin 0 -> 4491 bytes .../default/index/images/login_tt.gif | Bin 0 -> 52 bytes .../default/index/images/login_zc.gif | Bin 0 -> 456 bytes .../template/default/index/images/logo.gif | Bin 0 -> 5328 bytes .../template/default/index/images/logo.jpg | Bin 0 -> 8904 bytes .../src/template/default/index/images/nav.gif | Bin 0 -> 1312 bytes .../template/default/index/images/nav_l.gif | Bin 0 -> 758 bytes .../template/default/index/images/nav_m.gif | Bin 0 -> 300 bytes .../template/default/index/images/nav_r.gif | Bin 0 -> 757 bytes .../template/default/index/images/pl_l.gif | Bin 0 -> 389 bytes .../template/default/index/images/pl_m.gif | Bin 0 -> 159 bytes .../template/default/index/images/pl_r.gif | Bin 0 -> 388 bytes .../template/default/index/images/sel2.gif | Bin 0 -> 2625 bytes .../default/index/images/selldown.gif | Bin 0 -> 2888 bytes .../template/default/index/images/sellout.gif | Bin 0 -> 2457 bytes .../template/default/index/images/task_tb.gif | Bin 0 -> 196 bytes .../src/template/default/index/images/tb6.gif | Bin 0 -> 1243 bytes .../src/template/default/index/images/tb8.gif | Bin 0 -> 358 bytes .../template/default/index/images/tj_btn.gif | Bin 0 -> 704 bytes .../default/index/images/tuijian_bg.gif | Bin 0 -> 206 bytes .../default/index/images/tuijian_bg1.gif | Bin 0 -> 365 bytes .../src/template/default/index/index.html | 92 + .../src/template/default/index/order_add.html | 118 + .../src/template/default/index/order_pay.html | 31 + .../src/template/default/index/page.html | 63 + .../template/default/index/product_list.html | 83 + .../template/default/index/product_view.html | 236 + .../template/default/index/user_asklist.html | 25 + .../src/template/default/index/user_base.html | 58 + .../default/index/user_collectlist.html | 34 + .../default/index/user_commentlist.html | 24 + .../template/default/index/user_login.html | 41 + .../src/template/default/index/user_menu.html | 23 + .../default/index/user_orderlist.html | 58 + .../default/index/user_orderview.html | 75 + .../src/template/default/index/user_pw.html | 43 + .../template/default/index/user_register.html | 58 + ...7\347\272\247\350\257\264\346\230\216.txt" | 37 + 450 files changed, 30798 insertions(+) create mode 100644 phpshe/.DS_Store create mode 100644 phpshe/1.1/.DS_Store create mode 100644 phpshe/1.1/README.md create mode 100644 phpshe/1.1/README/495F968C-5003-488D-9B8C-47C4B5557C35.png create mode 100644 phpshe/1.1/README/4D7D62E2-B41D-489C-97FB-A04DFF70C545.png create mode 100644 phpshe/1.1/README/5C9E7C83-C177-411D-AAAA-3523AC17B55E.png create mode 100644 phpshe/1.1/docker-compose.yml create mode 100644 phpshe/1.1/mysql/Dockerfile create mode 100644 phpshe/1.1/mysql/schema.sql create mode 100644 phpshe/1.1/php-fpm/.DS_Store create mode 100644 phpshe/1.1/php-fpm/Dockerfile create mode 100644 phpshe/1.1/php-fpm/src/.DS_Store create mode 100644 phpshe/1.1/php-fpm/src/.htaccess create mode 100644 phpshe/1.1/php-fpm/src/.idea/misc.xml create mode 100644 phpshe/1.1/php-fpm/src/.idea/modules.xml create mode 100644 phpshe/1.1/php-fpm/src/.idea/src.iml create mode 100644 phpshe/1.1/php-fpm/src/.idea/vcs.xml create mode 100644 phpshe/1.1/php-fpm/src/.idea/workspace.xml create mode 100755 phpshe/1.1/php-fpm/src/admin.php create mode 100755 phpshe/1.1/php-fpm/src/common.php create mode 100755 phpshe/1.1/php-fpm/src/config.php create mode 100755 phpshe/1.1/php-fpm/src/data/attachment/2012-11/20121231231911x.gif create mode 100755 phpshe/1.1/php-fpm/src/data/attachment/2012-11/ad1.jpg create mode 100755 phpshe/1.1/php-fpm/src/data/attachment/2012-11/ad2.jpg create mode 100755 phpshe/1.1/php-fpm/src/data/attachment/2012-11/jdt1.jpg create mode 100755 phpshe/1.1/php-fpm/src/data/attachment/2012-11/jdt2.jpg create mode 100755 phpshe/1.1/php-fpm/src/data/cache/ad.cache.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/category.cache.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/category_arr.cache.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/class.cache.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/link.cache.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/page.cache.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/payway.cache.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/setting.cache.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/template/admin/cache_list.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/template/admin/footer.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/template/admin/header.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/template/index/footer.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/template/index/header.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/template/index/index.php create mode 100755 phpshe/1.1/php-fpm/src/data/cache/template/index/page.php create mode 100755 phpshe/1.1/php-fpm/src/hook/cache.hook.php create mode 100755 phpshe/1.1/php-fpm/src/hook/category.hook.php create mode 100755 phpshe/1.1/php-fpm/src/hook/payway.hook.php create mode 100755 phpshe/1.1/php-fpm/src/hook/product.hook.php create mode 100755 phpshe/1.1/php-fpm/src/httpd.ini create mode 100755 phpshe/1.1/php-fpm/src/include/class/authcode.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/cache.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/categorytree.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/db.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/excel.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/mail.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/mail/class.pop3.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/mail/class.smtp.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/mail/mail.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/page.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/pinyin.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/thumb.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/class/upload.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/function/global.func.php create mode 100755 phpshe/1.1/php-fpm/src/include/image/cuo_l.gif create mode 100755 phpshe/1.1/php-fpm/src/include/image/cuo_m.gif create mode 100755 phpshe/1.1/php-fpm/src/include/image/cuo_r.gif create mode 100755 phpshe/1.1/php-fpm/src/include/image/dui_l.gif create mode 100755 phpshe/1.1/php-fpm/src/include/image/dui_m.gif create mode 100755 phpshe/1.1/php-fpm/src/include/image/dui_r.gif create mode 100755 phpshe/1.1/php-fpm/src/include/image/nopic.gif create mode 100755 phpshe/1.1/php-fpm/src/include/js/formcheck.js create mode 100755 phpshe/1.1/php-fpm/src/include/js/global.js create mode 100755 phpshe/1.1/php-fpm/src/include/js/jquery.js create mode 100755 phpshe/1.1/php-fpm/src/include/js/jquery.slide.js create mode 100755 phpshe/1.1/php-fpm/src/include/js/shengshi.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/jquery.artDialog.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/license.txt create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/plugins/iframeTools.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome.css create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome/border.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome/chrome_s.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/error.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/face-sad.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/face-smile.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/loading.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/question.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/succeed.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/warning.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/kindeditor.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/lang/zh_CN.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/php/upload_json.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/anchor/anchor.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/baidumap/baidumap.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/baidumap/map.html create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/clearhtml/clearhtml.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/code.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/prettify.css create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/prettify.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/emoticons.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/0.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/1.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/10.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/100.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/101.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/102.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/103.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/104.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/105.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/106.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/107.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/108.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/109.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/11.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/110.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/111.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/112.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/113.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/114.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/115.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/116.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/117.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/118.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/119.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/12.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/120.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/121.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/122.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/123.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/124.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/125.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/126.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/127.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/128.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/129.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/13.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/130.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/131.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/132.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/133.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/134.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/14.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/15.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/16.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/17.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/18.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/19.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/2.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/20.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/21.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/22.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/23.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/24.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/25.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/26.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/27.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/28.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/29.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/3.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/30.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/31.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/32.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/33.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/34.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/35.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/36.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/37.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/38.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/39.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/4.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/40.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/41.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/42.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/43.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/44.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/45.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/46.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/47.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/48.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/49.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/5.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/50.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/51.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/52.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/53.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/54.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/55.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/56.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/57.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/58.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/59.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/6.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/60.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/61.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/62.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/63.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/64.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/65.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/66.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/67.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/68.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/69.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/7.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/70.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/71.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/72.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/73.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/74.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/75.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/76.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/77.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/78.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/79.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/8.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/80.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/81.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/82.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/83.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/84.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/85.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/86.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/87.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/88.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/89.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/9.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/90.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/91.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/92.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/93.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/94.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/95.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/96.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/97.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/98.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/99.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/static.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/filemanager.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/file-16.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/file-64.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/folder-16.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/folder-64.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/go-up.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/flash/flash.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/image.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_left.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_right.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_top.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/refresh.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/insertfile/insertfile.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/lineheight/lineheight.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/link/link.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/map/map.html create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/map/map.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/media/media.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/multiimage/images/image.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/multiimage/images/select-files-en.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/multiimage/images/select-files-zh_CN.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/multiimage/images/swfupload.swf create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/multiimage/multiimage.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/pagebreak/pagebreak.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/plainpaste/plainpaste.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/preview/preview.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/quickformat/quickformat.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/table/table.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/1.html create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/2.html create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/3.html create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/template.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/wordpaste/wordpaste.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/anchor.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/blank.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/flash.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/loading.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/media.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/rm.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/default/background.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/default/default.css create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/default/default.png create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/editor/themes/simple/simple.css create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/WdatePicker.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/calendar.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/lang/zh-cn.js create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/skin/WdatePicker.css create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/skin/datePicker.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/skin/default/datepicker.css create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/skin/default/img.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/bg.jpg create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/datepicker.css create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/img.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/alipay.config.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/cacert.pem create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_core.function.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_md5.function.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_notify.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_submit.class.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/log.txt create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/logo.gif create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_db.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_js.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_sgn.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/order_pay.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/order_send.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_db.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_js.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_sgn.php create mode 100755 phpshe/1.1/php-fpm/src/include/plugin/payway/bank/logo.gif create mode 100755 phpshe/1.1/php-fpm/src/index.php create mode 100755 phpshe/1.1/php-fpm/src/install/css/style.css create mode 100755 phpshe/1.1/php-fpm/src/install/images/anzhuang.gif create mode 100755 phpshe/1.1/php-fpm/src/install/images/logo.gif create mode 100755 phpshe/1.1/php-fpm/src/install/images/main_l.gif create mode 100755 phpshe/1.1/php-fpm/src/install/images/main_m.gif create mode 100755 phpshe/1.1/php-fpm/src/install/images/main_r.gif create mode 100755 phpshe/1.1/php-fpm/src/install/images/next.gif create mode 100755 phpshe/1.1/php-fpm/src/install/images/quxiao.gif create mode 100755 phpshe/1.1/php-fpm/src/install/images/tb1.png create mode 100755 phpshe/1.1/php-fpm/src/install/index.php create mode 100755 phpshe/1.1/php-fpm/src/install/install.html create mode 100755 phpshe/1.1/php-fpm/src/install/phpshe.sql create mode 100755 phpshe/1.1/php-fpm/src/install/update/index.php create mode 100755 phpshe/1.1/php-fpm/src/install/update/update1.0_1.1.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/ad.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/admin.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/article.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/ask.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/cache.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/category.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/class.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/comment.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/db.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/do.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/link.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/order.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/page.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/payway.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/product.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/setting.php create mode 100755 phpshe/1.1/php-fpm/src/module/admin/user.php create mode 100755 phpshe/1.1/php-fpm/src/module/index/article.php create mode 100755 phpshe/1.1/php-fpm/src/module/index/index.php create mode 100755 phpshe/1.1/php-fpm/src/module/index/order.php create mode 100755 phpshe/1.1/php-fpm/src/module/index/page.php create mode 100755 phpshe/1.1/php-fpm/src/module/index/product.php create mode 100755 phpshe/1.1/php-fpm/src/module/index/user.php create mode 100755 phpshe/1.1/php-fpm/src/robots.txt create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/ad_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/ad_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/admin_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/admin_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/article_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/article_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/ask_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/ask_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/cache_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/category_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/category_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/class_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/class_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/comment_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/comment_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/css/style.css create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/db_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/do_login.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/footer.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/header.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/btn.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/fabu.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/head_bg.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/libg1.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/libg2.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/libg2_old.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/login_bg.png create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/login_btn.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/logo.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/main_bot.png create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/now_l.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/now_m.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/now_r.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/tb1.png create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/images/tb2.png create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/link_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/link_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/order_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/order_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/order_send.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/page_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/page_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/payway_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/payway_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/product_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/product_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/setting_base.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/user_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/admin/user_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/css/style.css create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/footer.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/header.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/bottom_libg.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/button.jpg create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/buy.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/bz_1.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/bz_2.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/bz_4.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/bz_5.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/foot_tel.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/hottt.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/hy_rtt.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/item_bg.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/jia.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/jian.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/liebiao_tt.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/link_bg.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/list_h3.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/liucheng1.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/liucheng2.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/login.jpg create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/login_btn.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/login_tt.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/login_zc.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/logo.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/logo.jpg create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/nav.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/nav_l.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/nav_m.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/nav_r.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/pl_l.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/pl_m.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/pl_r.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/sel2.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/selldown.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/sellout.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/task_tb.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/tb6.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/tb8.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/tj_btn.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/tuijian_bg.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/images/tuijian_bg1.gif create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/index.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/order_add.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/order_pay.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/page.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/product_list.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/product_view.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_asklist.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_base.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_collectlist.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_commentlist.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_login.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_menu.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_orderlist.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_orderview.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_pw.html create mode 100755 phpshe/1.1/php-fpm/src/template/default/index/user_register.html create mode 100755 "phpshe/1.1/php-fpm/src/\345\256\211\350\243\205\345\215\207\347\272\247\350\257\264\346\230\216.txt" diff --git a/phpshe/.DS_Store b/phpshe/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ae249d51dc619312ba80e6e4dc5f843f304012c2 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8ZYyFBf<5Nqtw>7$PC|(F;7y3=L8VP-v4NVDHZ^FBww>0WDR!6OfUZW{S$v4ndUn$6iXYMTS8PsWv6oEjKkQ8+-Nbk-PsjdXKpn1 zw0<6jlTY3CF8op4ukIa(LFD?uXeN{W;Rr&mFa2N`#&);}hI2WOqZ~q%MY&(CB}uE@ zt{bgRGp!p*w`+pl?4)T~>>o6aP6u}nkI7T|{G#~fK);k-jXAu6qRYE?X2B#3Zeb*k z&Z7v40b+m{AO_Zo0euXJ?X{|!iX{e!fuAsd`-1@u(bAYHlv@XMczs5H2@wT!d`lo2 z8ZC{PLhyial?td*xqf1Bl@8;EjmB^r7=^8v*5T)2c(ODB!oI*;1?M90J#fJYybcN literal 0 HcmV?d00001 diff --git a/phpshe/1.1/.DS_Store b/phpshe/1.1/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0b4c38d4657736625e53b798a1ba9d7eaf290175 GIT binary patch literal 6148 zcmeH~&ui2`6vyARTRX|3Mi8vvAt2(V!j>*A9)z&Af>5xSVh{e)5Zt*tOwkHg(Cd5~>*MVLLN z_H7x`*%5pQ}$3&-Ktou(sL z8r*1F3;llmc5TtF*Ov#2c7Ju1;^mdWz~KDq&3g}@b>F_*KR7)4@bUPQ{0A5=SHdnS z9m)v?V>ou*EQ!ruNuJJoL}k1T=v^Pk`13 z8=cfqT1pj52R7mefJ&bc!Z4<@1l8C|9i^pIyo1JMDXJ`G>WIN)IriHs&rw=RmF2+H z;e)9sGj&2?;^{cPEz*HGQgy2dXabW2X62F5 zZ=ISP?X@=g4mug-l~P3sHflQ-0d2(#=)&-xO#!N-w3LcHX!=7yV9<>w@K*_Z1DcYh AhX4Qo literal 0 HcmV?d00001 diff --git a/phpshe/1.1/README.md b/phpshe/1.1/README.md new file mode 100644 index 000000000..6ef85d76d --- /dev/null +++ b/phpshe/1.1/README.md @@ -0,0 +1,23 @@ +## 启动环境 + +``` +docker-compose build +docker-compose up -d +``` + +phpshe v1.1系统重装漏洞 + +## 0x01 getshell +直接访问http://127.0.0.1/install + +在安装时,在数据表前缀写入:');phpinfo(); +![](README/5C9E7C83-C177-411D-AAAA-3523AC17B55E.png) + + +看一下config.php + +![](README/4D7D62E2-B41D-489C-97FB-A04DFF70C545.png) + +![](README/495F968C-5003-488D-9B8C-47C4B5557C35.png) + + diff --git a/phpshe/1.1/README/495F968C-5003-488D-9B8C-47C4B5557C35.png b/phpshe/1.1/README/495F968C-5003-488D-9B8C-47C4B5557C35.png new file mode 100644 index 0000000000000000000000000000000000000000..82da4082d3b7f71fcb8a62efeea6a7db5262d113 GIT binary patch literal 561514 zcmbrl1yEe=vM!7hED%U=mmxt0cekJe3GNWw9R`<>Ai*KHdvJFT1TwhW;O_4FPrh%T zzi!<+XP>Y3rHWO+G|RhaI?15w-opGE8EkmuBsgXqI2RA^rtf4F6o^@v zSAK~NGw?YF6^#r{Pkc`XQc9HH&*4SasD@wvzP-gcMucP8ls83&!|};pGV=^j4W$>i zp$vo9&8IZB~J3q@mc3W1H%u|y=ORl+^TzYyYudfuw#g~+KxbIrW@P^U3jsod~R ze&$ed2l9%?5|HGMnVW^uG~#r>`HUZm(I}hJgz@$4L=wxq%*IN5fpR$3aWOatK^;$W&2E2VI*Ig4hqVmfg(=qJBPet;LSN(l` zm|N61L0?Op`+#V4kQDDKMN2V@&t^xAmin!|7tB;M#+MxSDWL^r%X zA++jwJ{bIJmZ#D3(Uqw%0VE;m-64~fYZhYtP zOIl3HMv(CC>a%tvz{&J#+4-3{*uJ>DD!1|Dhi|XwzO3CmD%hIaR#4%af;!5g`KJf7 zo1KE*w_lIk7K|gzO8eP|GWT2=6;>I~Y8_BcV`|R6Dn)MbCsSU_R=d!w`-aj+_hSw6 zRdCJkX5G@8f$<&K+F{@AK98Ic2mjr*bZ0U{Iu)LI7`moS<2iz(QU8 z@~cbk%ao!!Vah>g16MkGxEHT6F)>LWio*hqFWM>KvV?Doop~`E5NY6sRZreji`Tu> z5Psp0?y^E+iooQL) zA>u4jeL%V)wgn1m7n=im8fs!Emjh~f2JnRR;&Ve5g%}R5xHMr1no;O16)*&KEewfj zRR%NGKaYw?hMQXK^=~E33y5spG zbbJ=+^g3lh;_nJy5kH}KKwC$f`?C9mU7YR{#wU?gTJO~67xtl&)Nwna7XkLh#B9O5 zag9lhk&R*Q-)F_VB@bv~WB{}T%9QUSduZN7_sdwz3dl&yB+BaLU7Ijh)6E5viYd~| z|EAlJJ99hxbY^;{;v^!KXe51F*z*zTJJI+2??d0!`=#Uv@-vI2U9(V><9_f>-cB-D z(OlAA0x#WTV(o69rJ3%D#iR^{q!(? zq2||mUV4#0C2*uZ@=Nwbe9rVzM|x6QllmnZaccu#18eiynQypM4qf622;G2_?M zNyv@)GH^t*b9RsyvcpbE%uDEi<%G$A=|)^jazVUD63MQ>#>8IACTKDX=}Ed$0CGe% zeQyf(NWUHXy%1tc%c*TLY2h-rlYYv&j$@qd*mMe9x9+6?X#!ROO@IMV3g{?#tzfud zU7;|woJYuVo@3BZvy=6y^6ZmW&?2|QP}&ggpjnD7dyC<;x!osnOCXnlweLb}-)GBL zMlr@!{cDv{4Rqb?zm;v8`p-f(DVQYiQ{(%JjnWM-wUf1^wBD6+YuD*q>Ii7k>m+I( zSGSu>)ScErs8i&(U50bjkmD!LMx=Yfhiv%0PD zzZT%+U2x44KoL-ME_H6*lXN+A?RVAQc7YJNUOD0O&F~tyi0QTJ^#J#E`GfF+?y(Xv zD@c61m;>#r^C zJ@t3b1s;D~cbtklB3k8}srhxj`8M(6&yV}kix)=j5tnykB}4l)4N(n)En_XvzG?dI z!s+dxiU9l8W20pbU!;x?9ZkNdkHR-z_XIb`r_YR?T$DV9UY#{#FLS@<@bnU~7TS{J zWaejU=D+(C?i|ik;L61BHaHt^eB3+#OU@{DU6ho^&UB&8J^04*v?GEhGK@ll<4E?i z*U!=~6QSWf??Rz?%Yd%{W>9n7K~kxVo&1<=a*}f98IX&~Rmy7nCT86{N+i=P1)yjx zOP^nuXD@r4iX;5#@=JNBKHdO8KXZe%$YOjBQV@3zph(H#_{w8yk3vPmW$e{UuTNSL zIg2Iaxa{+UVH7!zIIdUJPl4#2DI|f7h z=c3PnJV3DZk*L1aQn|O2@B1hC&~{o4C!^wDlQ~6X$^@3lwazKewNn$GreoF2PLjg1 zOUj0D*arl!Bfn9+#zqfBw?6=2Zl4x72uYjZo-woAT`2d6Ij@Yto=Ji|A<{4>`P4Z*s(5us9IegS`3T-TMn1~yC zm#XxkKf(M)N7z2z=5QgQ@=&r($>-6n=1`tw6h%tnIxIx;_Cu@_G<}FVvBKUg>?NpfkhT zBup%U=~yZ zVK=&i{-TnFlI@CL`umL;-j7=mp*;Nd=yt*_@!9SH)TT++(vJ z-=nogA$U6*^%FKwP{G@M`_=QFk0xaY()!7}*S_6hm~-aG~^+260+ zuU_;`Mk(DF`ceB7-yK{uUCLi1wjkajA}VKu7xJSUR%UBy!L`n#!wF%*_0qZfCS|p6 z7a@II2C2Pxpf7F5DDENge?R*!YCkO(?jUH$mwe+Tyr_q&5<2{k!tDZqu4!6_OQU%a{r=yLoOu*j}upKwG zxP5>&?AIcGPw*=w;qX}=b_q)GH7huD`Sj#sAs@@G(){6VbmdnR8D-q+;{e{4#Dk^7 zXCaNIGa9W}Q=MwMd$3r{1=DrYh=$yQCjWLuxJSc7W83LZv?7rQXFlJD#!(#6tZfA6 zt-&e*`=!>V?et1|gcp?la0r$R4g<^$voRv)gB+HgD3~PhNI0T!0T~#zwY9V9EKMe6 zBLbh4{+xqH8do*Ezp{1P@a+%*jrf0}fnENBa?}}KnBcI9%!~TZpLrc{BB&G3TpO5w zUGe8uG6=$!_B_uGQrdm&f8Xc7{`J?R{@H<$7C{*D8wYZN6+5xX`RdPV{)4-SQpWlh z85$N7)Hb~Te_Tz0i&)D$BT?i)u`^HSl)tv}KR8IfJ~1^hNufq5_y&*lpS==nCs4}# zJIdOoCRr^K6B6*fNNRD@coEQWew3Bfwe2j^6aQ`LK+ww07|qr9TRz@deUD*+|MPJu zEuuO)C3GvsV_i>*D-W>!4d{B;xt$Yu?z&z2*KQ*qJdkdr|7Gz%2TTQcgPvM_(?fn(vrY^T$K-f=VTuXNh)20Xt(RT0 ztglPv46avqp6~*>Tku?`aHtR+Sn#G*i-a3F0$?* zJrun5hp>)*gV*B$i;bmXpn+am*x6NwBCkp_F)+kFJb1r*`!>3@RTnZe6qlB!dwS1t zSisC&Ham*X$b^t->mS{6Azo+iJtl68w}T_|W|J8pdZ(-pVJ87&|9D2-Iuy9YqR z$-|RsJOhx#_EGa@dye)sa8NwK)=8-X{>QyWXc}ekkjf<4;6SS=z>$TU-d!2U$`ZT zj`4+_z(QQl)YP=FSmd2II_5t!`JId?{oBD2mdb|JZt3629EF=ZW5zjn=q=M~-dWH{ zum4)ECW3FOj$uE62`wu`l!cv`crTEEq&qlqU<0Be8Hd>n^>mI|yS_JF>p^2T8?=~f z0Y|0rI*tPbVO&AR&W?Nvv-#erQs|F~Mdi>X<$#1DzG)Vl3PhD?J_0@H%Sa3U9pi8TwXaU*1`+V= zXH%0T>^pNxUT4Xocy_TlZ!smat;dqn5%5acKig@6kGQJD`m&72*mh@YQvxF6gZ|!D zehkSwB0i&@7pb~go0$81dp5G&GSK{U4-U6~68kti>HfXAlQRaaRmg=33VJ0Qo13AE z0Mexpz83_me1AJUqE4r|GDcqCCWaul=c{b^`-liEx82d~Zj+~nTUdnc%@zAm>}k3v zuqkQuR5TprtO=l=t zS|;B-J_R^grTte3UWj%U-Xe2DvQP!Qz?N24wGd?COeFv)g{j8ey3W5x&w`c#gIz#C z-fSqvv@a=UwZ_;@_SMq)D%;<$R0PD?HP4j?^7=is*4EeO-@RiM{zv;I10Rr(pl)gL zLIJ3&tGi$+8DsRC-?j(gzuXW90npWHLO4qsn2{L;AZV0>!=qP>{+P=Un4Z7)^%pE` z6k@w11r+T!zpiw8{GAp=iP2xbc{Bf!hnu@#b%%)kAHmE;qJJ3ITOe?+g33YnUr(2T zhd1zg-vVLT@dy%=mzQU4GCbRWC~NUCSQf_bn0)=1`#v;MD-}T0NE@1$4oCJk*hiZL z92}5(eVLw~rlkly`bYfKkP^*;DXaeA;2^+7I}PJsD|S)oRAv3W zSv*GTx{QmFf5Y*TFu9OtZ8!~6xkGaUb4P>0K~GVuFEHfV&F$fc&Pu1;1(C3jK21V5ZY1ZajGD#tFPDq>eTzx)Ml z-E{KDm|F~hXs2oHZ)}t?4frjB?WG^{Hhv_&>TlftciFn=?FTlyl%0s6&d%36q=7hm z>YofVgv`JG6^@;T_$RRE%XwK_H(+t%7(k<`ez7~QeX%=UP9=+V%w~t-x-(GXpb`d8 zUL1l~QvWGEIYjd2UkeXEQez$MM@~tKj*Fv7)MXzyqEH(36NFv_XGO|mnGL6zjzDzM zvqgHl+5VAL|C`n9Si@%yFo*Em7z7@trlt<^a+u85?yg;%qx6v~QJmV~9kBKWN?xuD zNxHcuD5Ucb!O|5MS2FE4?qe(Rzy0gq?dE?ErL2a?Hpqw|{84qjbgX@>;7+Y^(K== z1)!Aix}N)lbNb0H*uCBn+S{z8Dze&_#P9lTa&mIkdCK|f{&6++gfu|-O%j)N0h2-d z0=e^Me|)v;e!Z}eFzP>~ot`uwR8?tbbZb8J4-80B&{wAmd8sRAlqP5x=rP_U1$Bzz zyk%yNN5&|xEUfl@B;n4mrA#B({%b>{eGw8fisSeS6=f||;x_8)e<$5}df^72o#hEn zuyD=IRX62HE-?_L_|g-Y_Go}o8R96O)xOtN5gcnjQF$1TWXzJ}-)MKd(=mLq$09PT z?R?zY0<6Z-?zIT^yY1ITdC%&s;Px$aG;_1WRI}rpbch< z7zp2VnRZQqmmk@*s*K`oW-F;0!%_cxqyFD+AXLJOIzUTLPybG0^69eRRJcUF zj2c4uuHR?E(sc8!bJkTJ#li0w8d;I|_Aj$et-(tk<|oJD?F|%O2W*z?0qLB7TmMd+ zaztVD>8V(Pef#1agePu7+6p)(I-{qiLqovMVR{~o>tS?3SfsQLS>$Rm43z~EQtalf zYjT@yu2WNR%A&MP@IX3Qh=f(DI%jrW^eWqQvg0vyFF&&x_cs5MZK2??OVf3oQmcPX z)c5=tNiKwcs=2xz-uMw4Kaxy9F_M(eYD8;9V4`(bC3}}eA`XCDEZzEe1y$D2NJQ_J z>nCJjWHj9xls~xLN@k*O`!KBzqsPJ66bU}}SCD#J=+OS_$IpJ_d7)Gs&&SXPk$1)* z^}0dvG=yre|qkrZ0bTaP~10h6U?mES>xxj)Zo^=LWvN zrikXURxdOeeM;kV7JnMv@zO~wGw2Y$lCAoKy*mM-&3#%|E8hhUbE;Bi^jla73+F8Z z^?{=|MTrK!Qrvb6vjZ7-X4lY2@|b-kQfvUeYBJ%{jNHJ+2mSUk^$%WbmM#}xF$!|T zN)&{^)2h5b;>HT90|3Mp%0Dv(SQ6iSm2$efNNy)``5ZY8-9R7<(jQx>Tyuo5%A!;h zTE>c*{rZwhVPnZhFQp|7T5-!V`8vZ(L(?s6Yi0GlzMi}2$B*dMZp47Vr9)~VxBK_n z+X+(hW_y!G)h@fZBzZpqzR^gl_fMDUECSPyXfDSrb9o6G+c~qds;W+n-aEGx8AZP_ z$A&B(#L5G!2%@yr#1Q#i!wCirMgt}ftaqbw+@vOOus#bO<=Q ze%cPe%#2AMaCX)?vLhohfma4IH)qr3G!b@J^l|wBEJ`Z>x8{qhbH- z{M?p+zbH$F(rpx47*=r(T!*o&yarKzm~W^H^YCa0Ki_u5lvK2{(<;_AJO&+CuvNm! zLiRYjk?){XZrQM+m(kxqCHUT!GcS|v0U{$-_KB|Da+`g4^aC|-Xf{Q~vMr1P8rZv% zOPN}1qLKw4x-i$mm;9<|C_9HJj6I*3q za#bCJw)nRlKxJSxZ9(ognDYwAfx`p{tGQr%vvf7#80J=l0004#e(T!r+uh*~Y zof|Sd?}_=G^01cNwwKBx?<|ZphO(NQo1-F=TDy0oS^)SKYog#30FL*L#DHnn=i6$h z&En|dm(9am$HomzYR4^dK!^2$*nqeda(JXWWzmvdCavloz{?%Sku*LURBZCfc=QWL z5NM^F1M~%hmQc0-<`nN>UB|v{NgCws_tqN;2TxC=D?qB+Q| zRq;!GW081eYXQANOOAbqZq?_@k4IoLqf^_lW|`#86kRqeRipJB5dy%$|ffYLeZ`l!4-mcJGs^N%TF0@6UX;b@<2^k<^dXK+At z9pSN=UBP#Zg3&lyP*%0m_abeFu(E<&2oec*X=1tnSV}MhK)iF<8Gv|&NL1#|>i2|@ znp9~s2cvWl`asBwR|1Aq{|oNEz?2D)q$PM8uKr=B{iu1r9DbKmQ;|U#L5_W7F*Q0z z?7nES*0U==QJ>gVrrE9rZQ6#tMq&cSQv;rGHQT+L8YPi@9uDoFbIJP2z^yaA{#K+v zfXmI7B#&G@jgci)DL%=%D=7JWlg5S0gN5oq2M99%aB!hQO+4B{Qj2qDYAQ|GQIm8( zxw~k+0XRL0Lieob(Q6Yr!Gc!gJDM&W*LFCi-9*_1LAD#@hOC?#gyxCCFt%W%7un48 z_Sf>#JYbx><+GTzb=GU?rgsL}Wdfmyr#2-}g;ee#00Hj@@bkDlOBl-3wFZf>_ZPk= zF%|7%Iyzj;J%za#SgH$!Z8h-7gI}FJBtbVTlne$UJR&Cb^IBDx3w4(Hh(ZR;Z#cZJ z6r>H0FHt8J!OP4dcVm9Ddw5ig6DzW%8wkhPc!{bjiV&e|yY=b6jU^`HP6>62?sbCLE*1 z5mE@Fen_8My|VDm2VzUK-9Vo^r*w){pFQ7z?9)si^WQyb#g#n}PnI6B z^s`uJR*Mgvu~(wxN-X*U+k$h$60_2#*JXrilVNvIgqhj?^1Oe`$?3kx(j9imlFKvH zzC(z1Ow^CnGIRNUse84h;NsjJwleHDf2`dv1m0hCg4LylhUo5oTe~A=qG6}qt%;b# z8)fkrwTBB$D$}J}6S?GERI8RMPgamvI(8UMimP-eEY+?np2=5g5lC`e??q;rUv@Y4 z8C$%1={2)%>Wl8i^!>nobmewgiWN&DRaMLJoAWg~3O<>+FNH=(YXw zENzpU?k<79!U*KW!~!0!8al{W(NOM|GP$f1Zdjgh-MYRfO^o}`U-&q$NAS${=?t=H zK!~DX@1cqBhSZe$VGd%a+9W(r|wUj7kfXoyIx4rMcQI%oW=amc}jbB+b zC|xAEIHWJIaYPL}F(gY=aSnT2#dmMdw~;kQQh7x3@i2du5cI_9;s`d`363Ud9Nw20 zJjyv#oEW2OTyzKi;caYY;wQu$S_SIBn_5}m=yrq)6>IncOcj&h_C2PZj<9_abPv@Bf zAf81F`*Mmym3zfRe0!$=0gAtU)9HGl3_Q>z4J&*-87p0Om35wE7zujhfTIkk@`=Ez zV4XJ4h$4V9?^<>pcDj}rBauaQ07}%gTFZK*z(y`b8>43O&XU)0M2cZnC_?7bMd2?U zYL&jCfU{$tW3SD+8T~klhm~M6x5o*p?vBSR0de0?=vqXZp}wq>YM;9f=4ysmNc_yr zLPoH!*o}KJJx09j;$XrFgs1%!8Z?S3wzo<2ntsbF=oI;WxgS>|;Z@%SI*UmTczJdnW5QB#oc%hhUX zihhXJtRvD|hg+O79f?|vWwzC$M(8V_GmtBO+4;b@m@sdmq+j!uj6J-)E5h-*g?YYX z#}ZQDT#fm+USUp7PDv^7WEeRQkn)Kx21s)bDO=zvY%6I#GJdi}OX;+{4zE ze~N$x>ATY&h_dxs6DMRvA7l{ukvHl1m00#?89V0|vhvCEezw4AzJ4@}r)W*@Z7YX*DpmqusRZRL_+3MUoi< z_R|0G*eY2R4-XHgqXoXx2JXy`Sr6&n>}!j1PZ;03;KXAS^ys`ij>TAT24^zBQYE?2 z_S%|}&Y2{0?SVuw=ie^U_&0pjd0`b_CwPyYy3#jwdI^sR->3N$hoY2!y*^ARoc964 z(CS7HHvpF41{VL|-S(f|-zn<6*qyNPe@x~uH@V!KVr$W=-tZjDaCZ;a*9sN^@* zWFup_(x!{eu1+T_Vq-{wFgmWyz`(GP`Lvq}lO$(0)4?x)?G;Znn_LN*_M6MH zlg*u=q-G-IV>is*7Wj~&{&TcI7T@n-odTp5ln|{V;It7^^uB72HfCe4|1}k($LGIP zu>a{`h(z7TD;6l)jJ5;b*IsQcEnNW2ei<<+A7-rX>ScnKO{hMf0b8Wmm_a6P|Ij zIQFq(j*6)ZyxEFNY9Hx2)M4BwqOG~`u%I|voP}qW&ooY(G&Saa4>)&4_MMY%d z=*}2m-|;tfrf<8S8$#AQVqFtQz+rcX`p$@)Zc6LJu1@o(>wVD1+x5Pvu#T$sd6RIL z!OtYZas&qjL};tb+H0aWZZR2!5>5dm4GCVO2UI$TUCatG|H^=sf4fk=mp!|GOsPlL@EwJ% zP09!N=f`WPq3=-fUOomr>fzC4263d~a|z#&lg>pa9&6@*tkOlN?ZhZLBTBkmOm zlRu8W>t-=t91jhr3y71t|6Aw5bO}%^QOCMa*?91z$_lvgoZx*+;IOO)o|~KFwlD}h zQlUE0?-Tj-6N#fh*%|nYJBekQ52i$ZE78w_?yjFOpulu^)+*&}_>?=L4H#~Pt3^D% z6n---H0@FS66RqU{=H0|#u626Zl73(+4P3%dE(K>H%S+Hx6@wIA`5a=k26 z@&y41ci3{3v`E;)^MpfHo3hr-MdIY}yz&o!(?tEQQu3ze4O$!VQ3O2Scc5nO2iDlP z(G_O+=_{r{H1t{oZDQvN@aQ)VQtkUcaj@Big}$2LUV57A@Jkv6redn<>)X-SPr>?w zZwum1VO@l86|1f9Y_oNwV9jD%H;|p(Hd5f*7D?R$EcWmO-4hr`Po4Ai(m(6+3J(d~ zSrt#zU1jo|1&zB+gl)rUy6c`n9OfD`#f;@PEz6J6QcQ?)Nkv7X$m8yuK85RM|HbXs zng$5+OL;#^>&@U37+8B^{+ZJlC4o<87Gu1%xcm$&m|W+kD4uV^7u6ePD4)txu8N?| z$wbZb?ezOxO)II(4?!T{=zh4@QIm$g=Wc$IUIe+2TyG?qb;Io{w%_Ym-4!?QwNUzv z*(&3!A~OfKhTVe)d4*r7woxMO)LTcy-z(k_UTAMnJgq(>!N6BB_$67a-{Xv5jnejT zI&?Gmqn${blKL{m{j8qT^&&+b1bIZHW1iN1!CEfMwO#)-^4C2tj3f7hWI5Xmr{=g( z9{{4dkp?P2wXqfh33nSPe>Ob@!=wA#dqs8A3&oPtG3GnLbCc5K8W=8+$`0YH+XyBvE7b9v40E6vv2Nc z<N^aCyuAuC!8vYFb9M@{7Ajp{Z?AaGnQy%FoQ-;ngpyXo2Nh_(Z{ECNx6{o_o0jo% zWx8KM6?sc6*Btq3WBk9_QyYL63!n;zQ(i&u~tyWmx~V+RxA14_s&9BeGZ5TrcExHETfV zG{_R|>3iq7L)VeOKFMxzI_#1&B`PN$OjPI;r^`RsPH$yp6}WAUy>&~opec0WsT3vR zVi77UgWlS!tgo!xTMv;f z*h_ll2h;4%4r)g7hafQiE=09H6R^*RRojn}m~um4>oqtsV=+WWw9o-g3}-uKj?=e` z&nW@2p&=)ax$V}rx0y60OdS;pKE-Mb*=y(<=)y!ION9tLghL(S?Qap&hPwq#Zf&Kmhke5B~ z8xY)1HwfxnE=xqVR8Z#jc*=onJ)nySwed+7E2#fibkQ+YEEMI z_e!u{Re_dyOzHYXy}@71RoCyRN#{7>dbLFjae7Gb9y znB5t+lWcw<7E^7Peu+b*O`f=>qtAxj#eyz)H;dG-U6q!fiWG3SQoy zZZk7;zWLE+_^mDu1!OJYbEi-`#9u}t*HJqX7^9OlEd`c`=rbgxIl6LAnha+c*rKz#z~kS<7qUNvUde zTn_@?Pj7sd3d5hHO^b{{AqQm$&b1mCa2dY@v0f7ITW96t*3C=1Ptd+x><~aJUiCR4 z{WsOvxEkeC=!c0*%|p5uIw;<94W|;^H5Su{uB5gV4_b4tEcPR(CMVxcO>u3xjV}}rfupx2=`X{kId?`tH-*bw z_yh#=J*1EN9i^p{3enT2PYymiRhF<*#WV2zM~>>NgkU8am9wc zwe2g&i@^+H%Tgd~aRV9(F<~COc+7l`)J)1su61BZs~To&R3J$b>M2mf>ncs~`QhB` z{Y>1_VvBd__F?2Ia5!BmQJ`;Dlx2l$W%-iGc;ZX>xUm&$Qu|HOs0)gYJ+#5Tio>9WdY!gnC{rn0WHlYXoobzMy0kMY=#Fv_19R$)Ye~ z(rfNHs`0!`NuuzbjS%!{`6ApP`0+ZG+jh@QL%T`TzA8l>eU#GDRsehyQfFD{N^v)e zDiv4(KAPM^_S>ypY7sTx1%nWw##|bf;^vo8g>*H?<{7stf)XLk5yPDoGy2j|Y~~I>?rD%q8H0vAhc<6x_jm`&lYtj)$D;kXgWEGN3?kB^HhuWv| z5PXDS7c-~0I4-)*3^cp$OESKYv}$VN+nRT+YRg(`_i5SrT7Og+&vc=!gh#QrX9arW zFM1gUYuY3sC3fCB^oGk1x*FC$;!Nme>NjTH4xiS+bS`K=MswX!#S{{!jDh(z1&3KU zla`auq+=iWOQ-r?MJNMol&VJS#xwHQuU}V$p5+?4r$9)5fBhR?>dTUfIJ?}6KD%>_ z_$QJa$g8`q-4}72We~nZJ?;?zn>m#CO}aUI4wt*;jR;QDN8jucFnRG z+?(sQOeFtqu4r6GG;qUm3>hD&OUO1YvmWJ=?rXkg3t3w7Dm4+AK32W-vd}=*jUtd? zZ|qiOzp-V7P-;7M!77u@vW6wOD^}yHinursOeI!9=$x;!J_Pr&fg`Jx@m>vTnLOj4|!`ea++9!3`dRs67AdZUnualF}Z7|D`>AHbN14Z&5Ob$xFNx1q$FzrbydPN zZ{_uHz4LpH%?fk!cx(k<=?Bw9nfpX%8z-@eYz!({loZ`jC#SH*!wxr4!dWXyldDa9 zt9PEb+hqJ~U$R8+z;BM=Ji{a17ClAuUe65!w`4NtZ83u-8xM%}E!Tizaz3&fsEI$nqaOL) z@uH?o2L>C(+HlW6(8d3bqgP99r7i|7?1U3LpdeEr0CJ_TX$|#xXtszYSSIt zLJf2N=2&*Vcf00m2A+j0q(&e+1fXIELowogSRR20&x(JJ~EYdx{j*r zaK5npI2emDULKfCq`>-zf88276fXMoe}`;cLh9e(x*fmtp54AX+!Myp6j`t<5SeJO z!+LPqx`I|2x5)13(Q0#*Hh}QhIJ?#^VcG=S2V7Y(!?i|vgle@8`M6ovV{&*?7$@nYGxxld%CGc8M|2F7LY z#}?%@?U??O82-mHXO|ks^2&?H?K-{OtNi+}Fp(6T_E$Mhy1eH-R(P_WF0Beah0Rf2 z4}h15V9mDpJKhHY^T){H!~NbOA1@sPq?QcWG>h+fD*dL~QG0$0jj`w#yp zAW!`>z<5#Tk3w%hR}C^7$siJ}RTOVGl6vlQKtb(6B(eo;OkM>i>c0kgPC&O{jl{I% zHht(lJ$ZCT3Sm-OP1$Lw3H}DOA6dJrGu0$|^ro3TKvvI z_?FpeP0Xu5O`kgMO|zGB48le;RGPhhW-#%HyUZQt>CeVsuzbrQJt&2cE#@bkf=k1h z#5_E!Arg*^06Z2Zc!-X;aT{^hcd2z?6OrP^UnpOi;*kaKg#pR+uFp+3MKysbarjeW zN9)|CZ+y0udUn7rwpWM1YT3KWPI@=0(AacEf3WZq7rkQwAYFQ}uZ}PJ8#AptcRjfira# zCk6SPOR#>4j8lMJ?u<6H;kdGoH z71%``2f?sG-$GB}ingmDHqVCJ6AmZ66bqGM^V4+D~TU(i~Lx5L-{NGFjit->OFzc9o?p`k$*ZWsN!Q-j) z3^E3hmsBaQGS5MSDOkovTz{6IY~dnP(-G~|pVAWSxW(K}Z$j*dTM3vUutAS^Yv9b& zaLb=x&|WbT>{Kn7_?=#KbN``5Imq003plZcS#g8~IxR41+hp>GoWQ{!XsZA< zJ}Mh$vehR7{0cBD@6{dgOa+Ob&{FRRPcf?hMmm1~c%xZCrKcRwE4aD6jmoG68)>$n zmJD)fA3P9To1PZM70(M(UgV#5nwfAO5wfRnt4oIpf4ufQgGnOI8jE!7tbPq1adhmX zr2_N?U7AJXoHzEY++{gg+vPlEKS$NV)bqv6&8J=UxP*cP^chqgcC1=UrQrf5@qUz- z*9V>ryJYTsY;Iqy!d>*sxu5tZYH&B6Xyb4J^9n%6^W*WF@E1U&p2udq+kGE}!K)eH z+uHzAO)RS@PLMPCjVsGrxnvA;a>imKi&m+mJumwjcc`X?FH2}5ro zKijHa0}T!962^ ztGt4aA3KCOb?E|#71;njOfq7J(0b;9e=|dAn1z-!r;4gIk=1L#tc>GP-4Ml{kO7>@ zdu2b7bt?mc2{Rq^lRckdUCr8&llJZ?vfai|?ShJ_y{P~z%q8K(B+B>KdIew)jVM=& zMV{7OHtIH(pAGAOCa|Lw0?Kq6l4t$zR;XZWHk~fLkY|69(Fy1M!PU{}M4jVfVS{CL z*S)z*&rQ2e{f8&7XLpX%O+HJZx)E9uo0xCUg|gKQ8%A`2>1OJ~q7Qvv@jGDaprx4r z(82h-90+1mv+zA#OQHp&8M0Ii462Bp0{{->Y8703JAcV?569y7IrS_a=qo%{AH z?vK>Wa1jhQb8Yr{%$B9{ma0z;{$(5d!9rOX(%0(6~^A2(LOAl8uS*3i7W6uRO!`1o`E z1oO*tHB}>zlSLEk-tNav?U#wcnnOfV@;RfpR#muRB*et|Sy`j)6*Oeh%iC44-czFY zGyBem+Zzy3cGbLg&A-R~|N9P05lf}jRPiK*iAbcw;e4GN%I3jATJ*<1DtI}DJ!DDv z!M)9=-S1hf>0+F(%Z?LGls@I#1({Qx97-425F$v_0qUN(Z+yrh*k#!F67Tg~FsP)q zLaT;9Z_i)-eaHE*z$S!#y@Edrg4`T+v~N2P&XYS?vULytlgZ;dVRMY8PY)hl-9xa> za@iUYs?{%q>(9EZ@LTg%`d*-*)I0=xl0;|Tn+r*w@mU^IX=aui^*s6E zbDw2+b+7^-Y~X2mQYHMBYv1MDWNdUkwee+Bkql*&h~13Il6!8g2SCW@)c&bgU1Bs| zJGJQd!dl5pz87r=?As{N1-J<28Ear$!SBJrTGZ)KDIe{2O7)dijPSGJ5a`4wYuo?; z-WMJae-bgBGmSU&$-Nx@!+e^QUpQ5UajzUurcNvS`gobbNzSC;tHTKrtk9Psg6Gi* zWW0_K4`^zK^*I_@LA{Qi(CyJ|iOnulidr-$HMQUko#i|AhGN{^y5Y~r8nd5DHD5JW zhMOyJaRneDF4i}?%M9uTVeZPXhHRVr!BRWlC?TVCIN>K2^(bufZqAb(h^Ne6X*bbbXqf0jn0j0A2{548yHxEtCc85y8YkcdW^` zzSI50OKDO(-skZ-fzZf=ypLu@q&($+Byu#5|Pic8zoF4pfEV}NyzkdS_DLEM}rwSU8I zV|iQsc~9GtZEKXP&T-QYKde1p@Mi$Oh#H5SMG!Uz1R3Ir*{%JK^MfrEJg@#d(BVR? z)GiWDnZ?LiWavHCWatzCouwnPpbOl}J#@M-r^edmFn#((i)8RA-(({}W?&cb%x$bC z-)Moe$oERCrKKceHh~%l3;F0kd-9n)y~9OMQ)in~d~O zWT!YtJn54izwLvAv;2Z;enE|XJ#0dpNW}MZTf!tQVmhz>v8%Fj+uTLm)fG1$;p{TyGoukEJH3rRA_ZYBaWp#iKMRj#%CMPG7{+Udd%A;WI%Id_sCQ;Nj z`(@$t?TD_^kxY?gKqf794BhNI*tEul zQKjK}rBe{36%Z-umXHz@X`~wjq`PZ?0VG6;L0Vv>ySqmT0qO4U7^ItfSao;r{jKia z{YR1GoH^(H-tW!leLhzQtJPjSrLT1ERITCnz}gxYO$xd4PD79}7qzy~3a`b_5za%! zhVf@)Q5(}7`Ry79^}hs#AUXQ2-VL&p}B_SH-SHqFy0 z%xFxcn>tO4FU}vnA>7Yj`Nay~Y?-tY`{<{c1>n%gudxUCZ$V#q60xj?azylFTu$^s zc{4YJF7^lPlDz=$=|O2{UFEi?W&E)M8J5q=U5W~fe)Aa+AWnT&c@QfEs+n2=aN)Od z`KoRn2t3^ynAnfK7y@Ri8LK>csvjC^G)aOAQpr(+m$Ha?LH$mfjxhdSAgSmjLjKfI$4h8C9duPzD6n9-vKP0>Rcs@RjE1 zl|t#F9W)t)=e%6my~hD^j6B8&ke2RZ;ZxRQ7y<3YRKTsmEu_5Ol& zs|VeT?P#R&(g{%NI-o<)FBF=|4-D!6Y3n_pjT5I6$rxS!g9~8)c!9Alx5hJ1@;4R@ z{q4!sQb$t>>x*D~x|&V3htG^>?64_6J_T?vMA;Hy&T?$LK*eoJOfNDoZ}i5_oK7vs z$xT$$>v%nU1ql8QPCr=WaKVptXaY?Q8JRY-jBZ&a6hspd5;jkYM_QL93dGz=_4WN2 z+ctuPriM_JYmUk;U_kQ=d}UgZ$h$E`CD&%G{1pVSk#8>p%5^W~%T4Zfkw}*P!|V2e z?9<*wgso12g+^7@Uc(GU0Z-mjBZs+#&F+f1v)$_g?W#0*$H*7J-;KruuBfvk@x)+7 zoqmytGdB>{<@zdSu|Ifuk)nb#JY^rUT2?fb%)#v%(`|N8m`@PHM#6c4bJQuDC`AoI=-UEUv}#gv&(X+{igS45Yk#P_`YeK{c zqD3=hyBuja#OCvQ)G!NzLv;>(fk3uH%f`uu5DTaQ)jH>Iu?(|nyn6MD7N%b?W!)7| zR38|2${Pog5Hx*5AQo^tVfG5aVk?Kh^`Wpw#eyKW`#v!|C%i455{iD$eeZ;0i(gR9 zMQ|gB+JAG=jl(=vO-fI+qEaKTAz|H}1esE1P?WVHwo1hw@X@XRVu+Zvk z&Rtre=E)BUj0Ygxjd<(9tR{=JDOwAxsXH7AzZhE*VMS8S*Q60XpTiNeu6e`bid1Iq zPE(w8{*#6glhtdaCi8^ zj@75LUF**4Xo@{sRUw=EAxXRr7|uyS4cO86XIP_xtmCqL;Ey1M)bE)%a-|AM$Ur8lSLs zS;dSk2TAg}F3mgWWK?F-%0i}+kNxvI*mmcut3WqB@NO&4a;4t9_vw9G#Qo)iq(+f~ z>Sals^8(}inA-=$-10R+pj_R^Zadms}LX4#$6*tQs& z+})1seltGK`FQ7+3;*Heb}c*_fWQVYg{%alXnO%86VVAa4ejsDPB4Uh=0y$30AW$e z-C*v@qUqd645pEeZk^l+^Y(1j|86wl4tJn0NT-z(&|1cp(C*aakaJ3O{ev>d*2 z^=M=xT9vnE+6Ce(5~5Il64X*euCIYwb+2M+bvS&KkhP(cYZeqRjTyLF2SZ zr?MIDMLc(|zyUkZkPQ;1h#Ygt6m=|yrcl{t-_3RhZ|95^ON1gZkeT)eGIlO)sj|8k zHk_I#Xyi_mm6xNa!KZ3Rgoe|a&po@iw zUIJyo#HT3~q3bPPYATgLzg5z@fY2di8W`~y%El_5a0hA=qNx|O_yQVMhnu~4<=edO zUYsVn2Fd2!5kLdER^`{VJhZf80AH{n0CIT*I>pigLFsPn*MzCE^a|C&g$glSo~18gjSoaC<~Aj9c}x_X7hk zKkqB^o>!8PSu>3Qi-UUj%Q`gztuson!=LGNiE?C_2a%H2vwh4gG=u z25crZ>{5GuV`ECGy|Xi_7JeCCS`H{{5Xu9KALtjA zb#B)mkpmT9H`swY$Ufo0r-RF*#u=7@=9_AucB}p3Fpx62`|3Tn#fap%5wjy5)L-TdTFYlvYF*Bn{jcK3$~pAvd4@>X0zw#CwqS2uO5d;co^Ek0?wP^0J7|v zamI|Ug|f2psKq0l!or!sY^9~wj0h^+({3ww`(_W6&4D?VcQrMd0%>l0%M)>`z}zHL zJQkb7vP?BFDr7a=sJkO!0r2*)uXsh)9o56%#@fyw4vc9Q)Nb=9?93N{xj%@#C1g_9 ze<%P9$=(rg{;~z>^|+WaT>Ol&=VBX?Z$8J*%0h0Sdz8NXC~)-2T zf;MHjY$s~=Sedc6I=^8zpCR8!te>9Xs<=;}^@u%J@UBaas#Vs*VoHmEu%gU^zDk^D zNx>t$!?%y)<{63aUCx!#IDB@k&M0|mY~|JXW#&pl!!n1g>hMw$HJzzY6o?i|Ljb_* z;#q*C>MKcJUU$(7J@5KQ=S!%Ig)DM8*=_xX8IQG2=0h&0nQy;7_<)3in#+M>*z0S-05zf&FdRcx5(3}{1M@ah z>EZ>`nWJ)uu-+{qIH}A~T&%WboHk|3*o!8yl*lsPGDZ0U%)LF4UR>QA=D%NRp}8c2 zxRyeL=N~gPrByCtO#TTCZY%p}(eJ)W4k zlyKXD*^DEBQ7O&?09Em+mc^}v`oDfxNNli8Cd%;|o{od9i)2w(;@cEYrhcM(XFM555@D~6=dwlyCb-QP2ssu}s>@v@@4f5B`< zHx)n}#9Ndd%+=CtRyUxisHhxj%17SY=k6Cry?7{|U@T`dQ6Vdr^eCdpu>aOCVp+i0 zUSY1f^vVmJq@7rwcF#5&@aMdL|6aeS-is&;f7(e-oE|?P1KtpJQ(2qu@nXCM;rQM`f#Zs>VXNaAXstk}wk}t|ilPMa&6;DH-pTr0GD{zT zO=f;sUr=WE0ru)*XLe`qKJ6tH8%YMaE?t{$wY|!q`s<{d&m%FTS>e3iTM}W33|rX| zQ5-AEiEns{?*SuVG;~7evJs7^YGX&EXGZ-yProijjcIvUqyn`?$*0l52i*9T8w-a4 z{3LJznx$&&-F<=7rQu=~h*mFPqnD(HO9vJ|X2|Y7cNkE8Y2bgLo;}FbEBr|rUwwBf z@YF~>9+(uuUh8Ga05^BD?VLE4s**Kv0)wS#?_;E?Y$cJmDNpN)i=R(>omo|8$;0K} z^IC^xa!zGD9`H5=2q6Z|=+6$fHXQpV%~EgcK-&=`AXor_1}&~QUfHQfP2Ss_fwkOeTrFQ1!2QQ3 zhn1H&Z;i`sTt^^&Pc*LMmV{mn6({-*!n+~mM%fK6ERE;(eQ~_nz17wqIGq5yr&5L> zn&!N_DCq_?2{#)wVIuXI7#NmKHD3BIvrS%O#fF(6aMuX)vu<=$bFhy%)rjJP16-I6U)NI!Bd2!4S{`pg(=%~u`frLiH_6)DXsDXpi!&Lo>Hd42Zq@FrQ7!j&SiB5=WaP7v*a`YPcMXlIG z6$+gQj&a>%L$`WceK=s4X5gV6iM4$N(Z1?!q;_&$13=KYmsss=HbT@$SJPcdw6Y;s-I4`LJOwh4UWo%TihKpbFXR z2;>|nSK0JwrDeeBtVrv~ZgXu9lBiJFHO0CsxW|^eW^EnhyB4PEL9z z#P%9=)U}wCJ+!`E-(o&~^qPP%#d`N_=IY)$zs`pn`^ASY0vnr`?jeKPG=Uiz-SGRM zWHSTNyrYl}r5<3~L3kpwKq`Q=&HU7b(X-;+vkBp&NrwnR7tM@?p#)WJfIp?;%G&XO z-)Y?+`BxPydjtTzmYe@&asrNZaP}F9=F%ol*rC&anO4!P*J?~1#@IjAc`hICRao`n zllxe;gPOdv{J7AzfS}87`3g{={fh5nhFR#`t3vhIRrt|$40EcbztD<(4;_Wm#F?6G ze`J)$a+LCVh(7JLsNS0=xj-{gDSPPbV)r6@U~yWomd2*-riOP5fqlEY7nPdlVy$tk zd&s05+*9-B<~a3=obbIU5}WonA2Jsi3t7YCu-g`yBk8kbBQd=m*_EuaE0$lFcVR-l zrlT&_c%R5A22`Ckux7|EA)wCUED}0KywI;WJmc(QO3zY0Bu{zJ7=FIQFOvs z=MdTN*8KL+8>2BB^|3wJW2{Q5^f_FLC$XLx%SK64dlS zLtk*cDTj^y+!Ik^Hu7^bO4UrC_!s0*xt^_=8+%k*U29R0qpx8zgNQtTUR+IU6CCHMrK)P(=GpPCFl2CEk_Bz1@L}s5=wPur zluw6I`C!p=4E3k6Bp6H!744t?%`7oZ#>7JY=>VL@3{gS^AJOq6_l1!Ac$t|U9qHl7KUEJ~(ET?L^ek<_$9%`bx#hZ~lM;X3gGm^ueSii%wQdu^odVmj0vGpyP zjdAcnLI>)W@kqhZ+c7);sCXkN%t}qiDP8Amx3fN3l=tHc1D1Xgy)X)4>q-E?65#AZf;QG1h8|Z#%qHeigJ6IvXRr8;`n4|?r@H;{^iR0}Ed}6! z@@EW>D)^tyB)wSebKahOU@=lqK2urC?YkS#BK5-!!rpJCr@pVt z)=u{rsEGHzYPwD?qgnN=D>VTGlPYPwcJ4w(G&&7NzF!h8s#MA%eNkQ+qZ-%Uiq1#^9 z!>t9^t6oSh9Po>q%RPce+Ktr6*ZFjYOq>B@aQ*qN^w*n-TR+bsMJQX4x#&Glc3-la z=*c%fSj~fz){UycmIxLy#$Hf(c&JeY$W!<|(?8ueD=}*C59b_iMv$dmUBAfnPIfdX z*%9{xXj2j-JKV2y2PIL;w?>Pn&d1z#=cZei#=1`suWb(H67sI5=Hi7)pwaf45>GH? z(hZAUSjIh?-R4zxv*+cM<9wj~RAV+p5;=RF3*bOSx3AX@e#U3Y>Ke71a2~vTgjwhoPZ`!cAyClUg|OHhZZV3zp?T~2ue)FMV_ z&KE_69?YBrboV7fAprqT-GE6M8SdbKZKrUb{DVjPr)Om+OI(S$$}~Q{EI(fiVg&@! zkklE}wKseGW0`WE?>=YDJX~|ZluyubuEpq9oGI?YMC zkP$h%?x99^YoL))hkNR2E|=+J-%A~g=9;at8GPq*n@1Z?_MBGNqp!)-#Ohd=*F86s z4|VCCB9E4IYh@+$bJTqo>18s3eK;L39^c?Qrd#^##Z^Fv(<*R zNge?2|4HbOoy39x;~-7Y1r91<5)Z&y-nhZScR5t|`j;V4!3lzGfpwI#m_%+mU!fALFTHFBf^6yLfhU%;At! zl`-@?ZQ0)tTKz6U2rEGAyGZ8X-#`TQ6`e_N5dRi(E6O&p_FG?Cgm`F=jq%a?toZ_I zcWm5~o>&c~z~*`ze#^`Sstrq*gJYK(QlX!n+0+Qb$d7=+3L6sB=yl$@oypvoo_jI&jpz2K@zeJUD49MX_o)x{Z5uA%bAMYu zxh862Q*6XNy#TGjdJka40;^-D(#BhphUAWrHVu%im(t}0BU2MO!plu8uD=ujnweT! zmiX@jX`e&ZL>x_p2?V6-8AfQ!+kn@3tcs;E74$#KXRQ5#YE1&V(&OK0ZDj%Xag>i0~J}hl(|| z^j44hg>pZ7{7vt`Flv2#EKi78ceM-W-Hn!4wN1cutdHeHg$jU(QtB?r&eo`~9Af~= zs%3_Ip#n=No!`logQ&u974ItqycYtEZ$~8SQO3m`wt2oISHH&I{LP;DzrRC5Dk(XK z#Kc%6BN^cEx8XkxRT07cu|n}aJ%cQ4SLHN|bwK{(fS4vuFW#Po&CE8qBDfBjfMOuzv| zDMdxS&iTboU0t&6yjY;$IoN?!i$^=QN_ycj|1|f;nLDhnSAmsuu?lp?Ln2hC4HR@H zZD8k`k}rCartEi($_1Y%_s~^WyQLg`-wi0yA^|`k`xs!Qvh3HBY{$(8MpuE2WM(5j zi*pWs)jIYs#6<}ZAai-i(X9;;BU%A8#^J!=cY;J>F3~9V@$cRn5CF<6pBWh|%K}t9 z4^b!)`3XQr3WH{6w<8@UbCo_whP-|q!Qs3~oZ!<-R0H%J>{k_{08Fm>elftBY3b0p z7V^mf>zg8-K7r=vtK1}iL?0EEDxOPx`}XZotwyW>zwZ+H2U&Jt0$L#j@X$r?E*SZI zU-@v)8;z?*ty@--d=Qk~Gk{cMco7AEc7{ns1^yXe0!XW?lL7imhQ4?ABJC#~R=N|? zd>Il(d&fz6E5FEeRiv4VDmJa%zE%;a9ukL)ul`~V5=sB?urXxwW?Whg(*vL`FGWHa zyDnIr;Vy67_$KOKKJGdiK)Cu$Of2=ifQuY}KW6UgVkTO75c)`?xRw5giPpD8JD%YF zMENPEtaQj6AaOXU@D*`zhy*?wFVnVgm;nw=Pk+e)Odnza^YLwly_6kFnQ{pX=uV0{ zpnmORuGo;oCgiuYgvS?S%NZ@CRiD?`IRw73{Kts|oK%lk3;kxwBTSaN#oQ(5GxzT# z4cHTP9m=xM;~JsaW!!I)POJ0LV?{rmFA+gJKgd8wVP=+H9yZ6nag(9|uilK2fq|nP z%`Kxu6kOfI&B?qHmxEYs+}LE<2{houOii<5PEVg!+s@Th>x5r3Wna{L8yOo*sj612 z3V!p#U@!x2{cCWN-7H-l(A%}ZnH+2TdM;|9`$)>t@7J2~`&AKhv@#b?HmG64^yn@B zW}LLvjZXS+J9w4xMk9GveSLmms0rdFCnvX^h@}c5b9tI1s=HlkFhT?bd7k9GZnG%| zzyUQwO=#3oiaGIZ_pnhS8PJieJ_w*C#R`gCrv8N){AT*D6^T+DdjAEbk=+}*VthyhqMvkxQA zog1xHCDz-E4YpI!5j4R*KcJR^_(81gP!muo(Z4daSmZY#m?%9KU2)%(3YTRTN3Y4@ z+g8VYrUw?MCE0l)dfI?Pe2wn?Nl^3SLenh1seCWfr)Es7hNGJ%-^{&_S`#g?>5H^C z&8iZ+O}g=Z*MMLCp>KkHyFFr|2&JRUGhlyF?@&{g~$dr*n8D zP|o}epqL;W=U2(~XFjEyOz=ln({~uuoaEM3D>bL2vIubT@E}b-xB7grXb~Gf(vgSU*KGb3x9PTq6!WaOY|U=!f7XS+dk^4uOz%Vn--bO- zVKyE8D^vD2w<;n=nxB)L^u7wqhk$cPkO)vd%I7DW*SPC2PAJ>x2@4K*9(*mg;{9TL zqC64MmUH!f>+s;r!b>Q$Z?oz@AGDw^gq%Wn!={al4%bUag^%#RN>rr^ z3&ZvIQejl1M| zv_73A+^8tU28r~V`SCw2R8a{s6HJ5~i-83%IL{JY^FQ9krwM~FC{)WGd};VMkNU5? z>um%@Op} zubp7nD?a4E2^ZK#w75fxxBpQtK14yM-uGdswEy{Sia3y&O7$n7 zs2We0eNW5(!@XqCj{A`pqK%sVA&U9MYXTNwohnC91lupl1GD$9)rtR?nBRxge6>r~ zRmfJ}`R^NufC2YltAYWg&y=nD@mZUyEYGGvJI*D7TraMNW{<4N4SQ__oA<_G-ClR^RqK=J zD98W7kj8`zW~-(=*Tz`+!uQYd-X1fsEwp*pFU*c_a-YA4!xvnCJXVtx@&nHz7CN%lsT)q`fSIk~a>C2)h7a1V^_!`A4 z!28Et!F$xWM>DAmC_Eg02ojCbRtV{1GXf}w?k37#)ZoWw{t<8KIzT9h(e>SGvXzof*x-W{qXK6qGM zISxE;>m+pAT@bClferQNkmtLJSfK8(k9rv0KNJdAT?1iGj2-mXxB1yFR1pE7rpnnO zsX0XcaHVYBB1JgH_&4+4^bvj3h6)z57xMX|4pPG(WmWZdgmtjrKgY7_*$7f>^f8^0 z1X!+tHHvVgANQTd4MNF$en=7)vha=<^AF*ImsoIBnbAC^)VH_NL4Qi=CqFeQBS^8J z;bVPt$r^$yXO4&cVTqcmad*&BZV~OJM|HOl*~b()uh0?jP z{OJI82;*577^V=L7(Y2)7%$mjYHjm-z>L$awkPW0>$YOh7n_)xNckz{Hd^6S$|F9x zA7(}My@+<>!Ma+{4$%YworvErCXxS_2mo``j!FMa3;j1zs}9sz)L=wSbplVD$nmFF z{u2_O5HNE*+LsYeUZl37`>Iy>1(?DYU(dh9U3_#p9aQv2@iMSy;T@SB^zG`&!#FH* z64eCDJ=8W!9wtwg*S|ul4NR`6r=d7LG=DWiKhGdk3Egb$fkP`$XI8JUdxYQI!xVN} zmP*p+Jwl)+dGBG^@I#k1@q;#qBJHlUURnqg5&V;m{KZxP?&dbNcLu}7_XJ9mgLz4?hE6=V6!d9xSB=~4Sl zn9%DhoQgh-CB#)q0O~efF_a{F>SMKlk75~xhXt4{f|s|Eay^$2wYFC-O7sPU;Y1tB z(0oxX+6fOfg zJTLa0vbe-XsAJBWY1_-)8`d9uiZMI#nlfWXVsm6uOBkO#Rl8tRXs*~XNPnhXek*H1 z)!St1aQu@Eyb?X*lLMyE#l3T$x!rMi*4Wu1jJm{@cMo79)}$YS zZo6>oO(8#Oq(=0sKNo`u5nMG6)w^-fdB1U!*^f~Q|L<+~|53>6f2zwNNMRJQ=RJka z9#Xz&avxLU0O!AH@s+pAva(>f<=<&ptg3R6TAksCu;004r^XNiGVtNS@H=LVW>R24 zMn{x&DbUDTP}csSewfT3&}~K4;7zr5@7bH3+7l-!@f|(hlf;VV!U|@;RQa+#3YJk` zb?d8~iw3-p&1I^`@N&b?40)bV%K*hH8{6aHt+IOO;UusJ6Dg-5&Fxjrb-b^!A#Dph zt(F=^cd!0*uS_^#N|;Do#(75NqXPQ;e;rKeqoW_sx?mcsJ*tK4%=peS2R5-Ph}1*S zZgUqlBZOETwIjb^J;iYAcT}j>r=s#o*?RHVN9a@1xr!U5I=T3unoTP7)HX4rv%)Uh zkrpNrsAAiIha$ye?q2g^p3F1lak2VtGVE~9OEkfA-kF-aleG47vnkc|$?!V_a7E5H#Fqbrx~BBQ`zAa7>!6I;n%^sRauAJ#I@ z5>X^yi#9!@cV7p0CFVpN*FvpXuW2n!J@5~^SQLxo=?nI{W%REF0W5uYtq;P2m1UlS z{*7b8FS?21`U%MBs2HUqUz%s}@ju1|%Oelw_WR%=d@OcvFhECI3iiJtY(;>noG1c2 zdc9H^e%8K@Joh2jZ@0Y5QLL(l-|XI~kTyP-$X1pdX|KzmHBon9vI_Q52(1g+!`S0T zky*FMl{`-KtwgJsMqTH%X%Cer@`u4!BXoC_Ustq7kIF^1^=eGK;jd8X2Z~*cj`>uRzsO4fJ|A;C7QRTtu57=&@**ssv&{flSR{&80 z5&fJkLJ+!j4nfCqQ_I7j zu!9ruo-m+QXltN+t%6_~9Fn-Si+`kvd~)`twu<3S);w58OUFi5&095@Y~W8P7$Qa~ z6w$xo-IsKZY;X6T%;ZlQ{3N#d^Ru1LM7~Ns-{=#UCS!!Qf0D+ z!ncPLyo=$?N+?~BQto(BK8_>N5A5SlL%5@t%J{>k{7ejHArT6n!4h3AU> ziJIz=7&QmGUU`){$EdO-dWAy5x*~lW)IjMujoER?txfibklDzauaR>JZ#@`OVXTSx z94n9V+}dQTL$s7@Atdk18LT~l5N*rYl2C@`etUBRgMd1bL6+$jOu3Yk( z=nTSGK89$q`eACJ6fP~13^gJBnn*Cp<)dhZc|Lv{op>`;8r;#RFC@xqRPB`w9@A7o zy>teR9c8Kdg3VE+go;k2(pPguvhe&Nx62CU*`CqTLa=tDwZqGbXYq2Z^~Y!%K7w=Z zs8c;wpVJ?AF#2;)7Km7ikPyjy%Vr!-pWOL>l!a7%d?4tS%J75dn0Jn%Fy>7l7@j+) z%{-Cd&G8oo3bQqZ3TzSLP$OU8|AVwgbf< zWf_GRo1?7B^sjLy$SRHLTgQad|JZ6^H+(caEaMKD#LB`2kw2C1pMENuM0!U7h3@KO zoeHSnx+!E+KI2em@y&UJK#@g`lo?n*i<&${fbkkxg#ir@^CLAP4KCYzfg8!{3LsY< zExj-*^;LYVJbTf>5>$p9sSikqpw}k7?Go8Aw9B;w+yQ@P(Z?qT+3bIof7q@N@CmSv(>*TD_^AH1 zB6jMDNFqv+2c1A|LFUs4-Ki#c7*vr1Im)>EzJ*dqCy(0+cGG7|6&&3X3JMfvb8pf6 z=)g8}ltt`eDODf3sUwl1u(f5%vFC;CL`I$sVZBpUV0nd3^+e4v9op|N&w-Ys{Lb=X zRlQq{Cy35~CGMH#N70V*%1j+Ct=2FSX_26o+shdqfj`1JT#;FA%uyTN!;qM$VuSyW zTgbpuDBQ!~Rc$O4_dM(*})%#U%SA!IrvZy^4 zg+Z`B%F9}i1+*|K=*&Ug`5zhTz+cncI+jBD`g#gqHMl8EioAHkVnpXiEZj$-7=r-0 zvHmbjv)osiVb1>KO`&mkCxJFkWW`I#7@1a(ieHwBbgy8h{GUlE_=HGdJnJs^aeAm; z%`!#o{Xav2Kck?({i%oviT0EY;ANeJpmXIY0)Jt6J{G<9Fr=mmMQ-ZZlrfAo#l^mb z>d>SO>F8&;$~0)ge#9C2@|QXt2(QJIcENZz=Iv;(sp%py9JfML^B)^dw?2k#M;a&` z=zG=~9X)HIqr$=otHv)LU@;`X9v?3)NEKWdpD4N3w}o3974P7<-FLqSqlBeEQv*n* zmOrm*e<2EX_@|S?e#EdMv!0lPYD_^-3>xgg@ZUtTesBTg+-}ByQI0@Ef;5CN*kjh~ z08%J!Qe&joz&XH=!q^2CPFV2{E;Qwn z<;}vwP8o7PKevtY##MZlGRp@zFI4#{btwCdhw1z@rrAIR%*uH6z zCAsSJ!7|GABA-^XEHPM;JI|1!Dk{o4jR%&K_s>v|9)RdKnn~+KSD5+i$%~;Fp5T2J@xD3?-b8|Ejf6qS2DW;!HMqCYVob>A_^ho z(v3r7shs_4uK_-ge)w809Gml4KO!%!I^}qd*IH~SwjG=qT613_ zurAp%dSjN6ta)p?_>4Y6rm9TkJ{sP0M>u^prA;tWw9IUzg4CtZgBWRRBWjaQ3~PP; zW*X)X_Y)**Lqqd6w#{9vtVkG0nMTM0oWJ)#n|#sKkr7|wGPa9EVbNYPsD~@fN&oxI zL;nMkXK!Ntsjgc#oK$j z#MPWXauIs?POH8K;GvmZP(4Uz{tcMCk3XX2q>-opEJPlr1$o@@lH)Gn9SWDWP@LKi zbLajq-T3TeD`?)xhR}<)ToT=Uu^Wtc(fu59 z=%_TcE6P(ouTehGCjYSVO=FnqzF-brKWe{H;X4xl-q?U?9Hc{CKf>^z1!aKiYQcVzdW)!(5*{R!A9&*W(S6KDu^6hHcMMo) z!d0E3>sW<&!1Ts!jw&<<#kuOGAT=KQ$XJ}Sjt)so**aod7 zrC0#Mc0ZhVGi7Fxg+`PXZ(p!p4Qw?|4rg~saTLXqIKx|L6Ecl_t5i65QdKpt@`PhR|OoyIR7-EUzl(!{SBlUmSZyGvPb`Q zyAr%aHya78r?S2Z<~-q}LL@}y0d=ins3mOj$p-f{1L2!x<|-}Nv?vfH5$5?XBItk) zN(wuWNx4D54DHbZ#nmWq));77KSRK%E1r8BI5NfdRJp}ZJ#Suii9sSjL_`Jq9d&pS zwVw>F)lt04=OTaK_kfmOmdZ0LwFIrdMu{5`Q@uyEz%MYaV`G!qX{=;?r_vAaep~&w zV}XIiDx<@ks5`Tl)mVe|NVxM&b<J=jqn;@Q4x%X@ec5a$Em8-O@wE}R4sT>QceVzyE*C#&KSOG@@I_f zz)2}!gc&8tjgfLidjR8W3k=y8lkYn)&rr1+^}7$l4^lHiRFMr#dEpW&{`#gYlt)!B zow7>6c*rHuvnfb^+CqA2eIf++?3Xp2Q&rcX%n5cnI##NE&@Q2gd{P8-l&)7AuYYVV zpm#1ocCXr}_Rk3CXRq+x0D)h!LT^6H7j{jS!KEgohDfm#H6vh756|Wjs)u{@xxebs zdVGTblhg*|BwZ2RtQr8VonoN4VcOd`J)_1WT%BIx=jXSI$#Uslk|Jc%vp&FOv=^Xh zS=Ej5rn=>_B;G>9)OSCr$Q&id6gRB8j^@tlw8|4d&jvO=LTTV_ly~jyr5-&ykwS@9 zPGunfYn}c5Eg%tydO$|kKKlk;>0g@>CLjXV)*r%vNMg3CE+JqJsv3x@my3vwRcrUT zd$U%}&Asn@`+z>-HS)nj-^r3Of8;Wv$)+YVX%60(?KfVXc4fR*V?E#6T9*{IID4yw zC()Xd3?I>&Y-ma^S_lcR&)-mF4{-jRu| z@o|pBQe0(m(^F)oKN4@%EFT~|%!|7yhBn^*za3dkJbJ>tL&bFUQY)&6vKaLC_?KV) zvZwyfwkuLVSXfwh9X$P9NsS8pC>$Y=Lsn3C^GzW2!?w-XAiHyrMppFNJhni52$}s_( z0*fX#0bsYHNKFQf3zAo|8>^t(tHPkB1b|^t+KIw`tvUyt#b_yUYTek3k7Dk-Z#YtF z(9UC*Y|B~8ssB3&`uCL84dWQe&#sfXmjaQRgsCS)CillC11~YKvDr?7b|V`{?DrJ2 z-)wB_uDH7o*EBSAZI^WF8rDP7GAFNEh$!szF4pz9@~(CQuO`V!O~|50SdTYNu9~Fg zw+l5qTL=oB9?qQaad&n*379wJwaa`6cSt^NwwXZORO}j;O<-{r-s5akDz(gs`xKb$ zqIdl9YO3hesqjp1k|t(yw8)c>>G-fxcnd4##L2^BRL_9j zT@$?KSbKmm$h~n9zXff4spmRJx7`HJ+(hnX_oi@h$}cD4+?Z^AOH@0QTgf%Cl^1hx zL}5oKcgOa0@W{9{@$icI^eW~6@VWViDJ(p>aAH#amu(X^Z331H&l$Jg@3!@`J3Z?9 zi)Z=YtM712Avv{Ay*Y_fbGDp@AnOR!CBgighi9DuY=mIrKu554WpdOMhEOCew4*6H zMol#Mx-B0VT=VD%i&uTzy0cS6A)P*c#8mDv+?_sPR%t!OUuk|o`jA(>sSoSifivWCqRNc=11i!T%R>w`bo7wOqu%hO--BC9ukv~IOG`h4h=2i zV;ivZN5mrv)P8^1CXQ=!%9}&P^vOax@{e_X$*Pe3j=9PWy5wxGg^UQFAllsZqws`H zISzPCEyc{tQ>2VgJj3x#xT}Xlp+(Z#8bEf)db^d>S#V^_^!Q^9vQ&w}Z+id_ta|D4 z$%?lDEAB2cGLP`pxfr&UiqAoXRbdt%EoY}Ra3IPt#A6m**i-Y|bp&n5;d>WK0zrMDvd6$Jhw+9A`+^(IukT_b5Jd$&Juae7Ct7Yxh zIMHyC^Pm!4ZS{(7yLu&gQr^ox#yf(DrSQ_yVxxkmZienjAG=67)?W%ye>G8Tkw7)# zojz`ugzq8(W?iTTH{vS{f)G(EQ6arDlXHA@6vFU)e?&aY_|6=Y^NNZz3T{CI6-?!N zeOue!Nn<&-pcaGS6P11^M@Mx9kC;y5@yYDV8yjYgiwsN9aq&GHV>3ns(e#_OZCm5i zcy>U}nT7~}Q2A9@>9yu%Y~d3Z!ggI9s!vla;aB4&1hqowje3kTZPzTpzx#?NdxD^x z7q=u1e3#t8W`E*Dn+6f?-_M*%bn*Iv@J^T?I6z0g%d^aIq=1Z6Qe%ortsX4H62fJd?Ub=p8p0=yLDs<@h2(;$)=!^a7*f9f8AsjpU6F zVm;%rJnrTCbdH|&DarNGc8QhQ z$k@zuI3ePni#$pln$9%bpY#b05F)=>jn-lx$1*VdyFXsb|tKKfgwbPzwt$7N;uS2wJ5f0K3 zzw3xzeGzoze=W-B^Pz2y+P#g6-pV(V zDpoHF^lO`f`StJ~e9;pI4z_BWs<2Y4QfAO0wsm zSS|z3q@ty~ew|+9#R^a(n(!QBQhF8O`bc9S37d>1Cr)ph6A`hk#{+-wggseXfg-lh zLp_+oV%X9lhihklKsb-D^78WjcA)S%q;@G9XOPLpX<1#~0R|ZTE}{y+tRTsMOmUE}VJ6%F;Rsm^33ny1Q9pa2P7w zmPqfMq0(({JAUb>t{-n_PPl_+rycp09t_a+ie@^T#r({3AfzeO4KGdeeO$blOJa%{ z5Qn_ZNW5sz=d$?umaw^d#)o^bCJ28(z`MDHDZ0omopgW7>6ETzt=Ee^qD#-XFh&$>-28@d3JY zisT0d8xqcX_8uHqy@#Y|MEO}w=oV)|xHBG|l&arjeaq;iaNy(Vm6mY=oHmj?{^=w% z{$-c(IzDH-73WY%8^u*p{V{2l#?(M*_r*NxW$?k{cS+ipO^CIVjpv;+vfUQ*uZYN# zlzhQCM4MA*tlVuK#hJ*laLu>}~oVn7+C3Bse9tD5kPT3cQ|Y-4My+>n}i>r+7#2~DKk#v{fp z#lx`1Gaa|OEmPBO>*P8zY!^<%aj)2z3r!4c=J}bUfSqjh zPV>k%-aX9Pc}}0@8wkOYI&^rxA6i38S~6BvP47mR^}2WS_)mm%bb`pF*F+f)vPK60 z*|v^}Is7v^8N@8BJgTZ}ICwbKCUi)42rW`5J#7y53t@mkmlxNKyPpUQI@B=W463=h z&b>+=M0&24ES0Y4e0G@aE4o!=F@jx=nX_zPeT$Lce7E@+0@53E_gO1WT4A*%(yhv* zeO6~)*)Dkyug5eTO|rc;HR}=H_f#UZZuSuF-R~YKY=HjThX(aVUf|V+gZ5TPbiV823#G$4!6Eymy2HdC(Hlpv9*?y`1nF+#GY)EjPVyRP$wO-LXo#B)7p!e( z%LL)V|3leZ21MDmTc8RINF!2;gh2=hC@EcvG)gy!baxDml&C1F)PShK(49kyh_o=& z&^5p?^vuw69>4wR`|h*f@9cek!Vj2vp8LLPt!pit?&9D%;TgtJ1Hs3)pOrT8E+t6^ z2Hr1qR-q}OP|eZ)snk9t>ezEL&-$U5s3ZNIVwhtSHHp)LoJ>R8)aYz#HBOl2yeevD zH8|`t)SF8o871YeQ8G&n*zV34!^oYagAii5gg*0Zw=}IG`dOW_1<|l`AER zF=$@&*;>t*8>bOuW!))ll5v$D-lnuWLn_Pc`JDr@;`ndUX9v_=2hwx~D2=Vq zd^5jjhTi!cTZga3SXQ@KHMzI@wd~))O<2#71OHFpv;)5)A$c+l*eiSBHmh*s#pHIP zuFVrCuCvXOro#DJdUXY?$<6MiBn@zqRiG_N(E#roxSyAuZzv;Il9P*{$g1n1mBvd$ zn668iR~6{;jP*HvDRWcoth5ZU#=NyX5u5oC^}8zkJx2Ji>s{_i#0O!gtvO^<`Bi-c;9>TER2<)tEn8OO!EVm>&$l zU3q7)C||lvCMuorgZLi#x54L$WAd-6kZ?PQIU9hmdDkU1y|oF%nPy5)AC=- zm7LihlwAfq7xDHs5#w;TpWfyvbS--+cnQUyVP4d-r!IcTtWcM3`*ZfQzV`032hE3z zx3*@s&vCA(vEISr^rcZn>flZ;(NTj~d*6ENZgX$^4mExNw)?tuk-uU2n{9@$S?XXy zy;kV4Kymk{!Xz6i)}X22RiV~xnVoR_rl@m$!McaBQ9TVQaSXNWxVs~xsk>2U<&pW@ z9&f|NUM=|b+9t3|e~`G4xc|+}%u`)VED%=Yv$BdzF|~?{XYdSl&4gE(*_l*aVqIRSdYhOzP&QC1k@U}#+^2krO8gY|oUd!wXjX{zA zU6g%_pvY5Q)e|0eWHu%vURv!i;ns-$S1~ zIr*THpVVS)-Zgk<-SWBrDA!f(9!nmP-%A~Bsx&|Yo4F**s!wp+<ng<*4@%fB4)!F)l znVoYZC5dEcD{TwHV9Q>-IM#+1fFQg^H(gGOcsdUc-`5n)W%ocTgN;M&ghfSHfvx5> z*3eUrss|2(!wBXn!I_9-EC;Qs@1-dy*2nv{OP{e`L~?H}$L8T3wQG-$Mc)|SjDlX{ zp1kR7@q>rE*c@(aJ@#2=37d&e_F?e(N=ZGgUzWXbBO6ELscJPc6<@T3s7Y zg9M}yzQU3g9E{F$AvNHQLblOj{m&6VF}|=60@Ua&>FC6sS4}$|(jvWdhI0TjU3#$0 zq;7`Gi937&I1x@*9e5d|mg!DGqLFi)KcAYn?h=usQJh@X_Bx6OLOok|WuN@~*c1ziO=i(}+ z`|unmi!5ULG~$9Oy0)s7Ej6Fk^~{59Xb#cTPBM*>SdV&&8JY{7C{&1~SiKKyk{8>G znJH!!HK$Wb`nCLoZTYmWfw$ahTT*NY36+^eb!Zjew(Z)Oj2{vJO&=Ij4 z6a;zXaI zKthg{&u5Efje0?LtpLI7x^p&F)}CJO}6zW3a&XQBT<3H)Q^P z4+D0yjCD7u=e-uc|MI(-8NgZetRM%of3JWf5R}jB-db1Z=V=NHtdUNzuv-cQ6E_WK z5BiyC2RAXZ-Z|tUj!B?sWVG1A!IlB|6n+6p!olcmSl;qTgSQX}%YZu8+s-V%S%+=e zt^JD_vSLWT_FPM8X=zU_G#EAR<__r7Rod;=PR|BA8_uop3SWP4e>ppJ;f18F9_1rt z_&fcb0lD$J*5iD%B@^KED_Hg8d!ZqN(&G~ggU$n9wTO+t^;0;jnXFk8U^hJBGqs5r z86LL5&bXd6YKl3kfVvZ?n}P+5?|&VZw|J)zcg0SKy9XdQ8Ezl4-+CN0w(X@!5~gR0rqXtYhIT;~n%yQ8!A!eix{aC+A!wAf}K z9@m2^S*Dl~(4ka)9DqQC6h%Q|3g5K-hrK4lV}f=s^DdE-J8FDGIU7XSf*F!G$i0U^ zIoF%wEVH@1JY6g0DnB{-Dlki{QAx^nP+d7QVw5dtN1jbRbY5;qexN~`T|xc{xB6O7yN9Yy%N1T|970&mOzGn}EQaN_ zD@WgzL9MuN+(;soF*&2E{X<+yO$>ANojf8Ab>{ng1!?-X{_VZ$JkVfR!7@HM>8Gha z6ccpsW91j!HiH#8y$0o3Xjcs?4D#tp0sP8NO)i`eOuSE0gmZq0~|@&)d+ zOKyhyxRl)^J1zryJgPt%@QB8?#|ch$A+o(Ql7ceJTcGvyz4T`5O;h2Od|L95E#!G5 zta;6O;t~AvM&v1dec4h`8h%4Q<(eo4^Lw*G1az%cCB!p$Ym4z%!2 zPC720;i-Ucxl{3{?K|Z6@zu6mBoBa^*R6(;G0;*5^H$YnrfC+_B+>(#ItIe2H&6!O z-8O;YdXl`f1PjV6wS%V%zhL(NHH|-6u{alkT(}SS)wwG`cTLS+E6tRKRkb;=;Eu>*O7T;j+d;N^!S7;w~57l!kLV2zY3H=%v7n@Ie8`BE_B5UZDsYfG} zhOz&>hxv`1@jhaw<)k-kPB_oEYJL_zG{ze|n@IjhnH*bae(1!D$W~*YyV3$$=he0t zX)qm-h{R$)wq??Qw)sdwgdwPmvw%O9w_xY3y8Fy z=bO?hV}WOLYy3@{_rYvlQB8|4c{hzP*Xs5^!b@RySCX{7%aUExIiF!Q<@MSRBdyX5` zZra`wau2QoE z)>_HxJ+22jdFIp@a_nXRpk#col1@a;p?qDsanKBCh!<=%WXFMtE9`QKYojY>qn{GM z%mZiK8og!|^Z?wI+2WE-m6_{cwwU4iiVT?4<7;7{Tqu4a9j5$9(}eyV-b#8m^pkA> zuMnn(2Yyn(^K~F=d=eAiz-T^!y7Ce_j@-}N0>b>Kvgg{cQ&SDz4~tchGeV01g`OK2 z#ftZS7Uz4A2HO<5jXL-#FlG$ijSt=Ab!gtu+qSPI?fqL;`!^*2s|mBbN?yR_Ly6^{ z!AZ%MYT1zzT?u}f%9%*++3->8{?O^s^=BSMmX>gGVMhtbpd_f(Y4qUe+VZFDV-eAl z*>Zxmc!3uCixx^t@HHjSIfbk@*M;RytVxfMc>>39tuS2 zGAlADI8~K{e3mVH4+XH?0G1HbjT1Ei*r<2tVF#qZTi@HSjJy#pQ%XzAI|Ddg;6WbdfM&3 zn2x~STY8(%IIN#l!F@Im4aDEF8~ZP2gUfP$Kho|e*MA#)PPO~ z!k7U)&qmRG`-X@aHvf5FS!j&EUWN9@_BSl!6Ve`W0x?DCRf$XqxZ#cY2y*^?*tWWl zdWyAqYe*A^`)Dege&siHQsN?gm-LPD(tNv_WRz{wGyAnn71i-nC{gXf#u z@Y~|1p=XkO+~-=?Xqf^1Zgbr6c&PmtK%03!=j`9_H0wmqI%|uhTOQ)|$G?%3vBmAc zL^5P|ze=}|wFT+%s(ha6^MT=w?6ZsSZME!YX+6*zAMz<<-Kt+I%iv^u0oP5=abNyU zPAO|QcQTtlvjI2ZBVB`TbpDOg`#V_vt5xGwXnRV=HxVrL^h4}E>9rD@u4g^3Uq_{o zb5>FfcQ9xENOP-H^}rY3c@gj>8$z}w9Ai!aWi&IE(vsSJq4ja-0V_aQ zgYvfal$g~`x*(>U(6L5QGZ)i(po>ahUmL;WyZm7tzITr18<5#mJRq(!%v6ZqU@ViU&0aCz7Xr#Vp?bD{Zenk-OL`HhbtL zlM^Hw6Wqlc@`Lql-C%t$5X^ARx0(8CSVlxF5w*O*Z6Q9i?cs!4lZpqK(%zaT)Vs0{ z6T#!9D5umE)rY9A761PG{eXyx0duNGou#w0eIq<1D*}$jqfO9n47%WftKZxG@WScBWS5=S=$yFa)fO5NGccOWM~lq8KP3&G75{Kr2DUhn!A(bs*cAZkIOg?s zo=xc~{{ic2tEAUP=BC7nvpqafy8GU^2lV+PraW8VNX{Q5hu}m8$94g|0SD73oqKcE z=WA;PI&Yf@I^mLM&#rcmk=(jujXuUYLi^oZWoiBhbz3b z%ptqjwKxevLgIZHIR~`pxu{qqmJy#&pHTsmHfasB*_sx?3Mx0Ci@Bd@Ag_eFAs`Ma zr97zWTZ)kEO>pv8oxZBBJYre5TeRKOAvBfguh6-@gO2Imz# z{up2C0T4E&pWkPpl&+?x%&OK{JzTEcnCF?1907b;`l{nVuC48?JPD0#r}O04`+0&( zSTc2k&r$i1mO^! z-u(DHO(0}9!HG&z+`q%%)pJ^jZcuqzK3z4yiMxN?Jph~fw$k{q<6Sz?}cVDc!46zgRMX>0UNqWiM56q zs4Wg5`Ldcr%XD?DOb2Os*+kTl^b!d2T$>*wM5Ko<3pxeojQGF}mnm2USs zaTY}mq4fuZarvab|B0s?_N&J|7Y?H7A6qbE`w{xws-~$!9k7TwL`mGR#JrXCkdz(!ZIu za7}X+KYy#vu_^iUob^tc-b{lf`a1&0{lRvE;|eKQYs{8)Av@^L9*3FbsD`_1H>yu|JQAjPpN+wc*mpUz5zh!g+&Olq#=SK6|-lN?Z_`DI^_!P19k z^Cb8o)^bjin5^4AfCWtVi{YEu5&(n~M-)2WmIU-l zwVzX|*twVvij0JwYfBzrL|BV_4ms5nM%(t>=})BlGG)<= zQCMd?UznSm>$eM>P`&-smkmFh+*D%GIs*-o(ya<{->HX`>Hfe94I55=EOOH8$HImB z$3&Wxp*X9**53Yh5H1p>CdhSVYw-lg4H~0mkss;FGgr?FPnTDaF9tVLR}d{;s6GfhQF`1;F}sqJPsE zQbOS=3FzJ8oNP`CYe{*pa^G79JmG3zvR-!5s`K%z87?tFSm}kw`)bjd@ypgJMIUd& z&))ago(@8wjB8UQ$Q)H-#Z*%oFNdP}ca=&+e@_Ho^@Q%y#_`A04*mJ zXn8l6XFj5cl_ZX2K@W6|8x}>)8uU&2Xc?xzFkc$2BjLFm6`&$GQMYY1XRR6B6|+OG ztV}Wku#=*yk{~b`Ggm&Nr-DHF`7Rrt8uj6hf!DR|5L~NYR#tx!@$pH*sB_VWN&U(p znf|SeBra-WH?^kfMl12)W5dqMmX^r}(DBcvu3rP$$!Li>2sb96eM8PeBE@WtO_7dd z$0sJFWKjy}UVgn=LuTivtwk_Nqq!yueH1JXPHj_;PT{ zYjmBk26cskuAcRP2U0b^$9|E$_~X#a*96~uC_u%sKu(aEv^qQXNfoa6G0Wk7sK_1u z@#)nHw5>&ZPF2+i6z;k!zZ1A61+a*Yz4U8{YMkutzZ=919XRudE$;__WxYm8aJ(OG z+LGRYiZ8IlZ^VU8B$RMEe)<;)voY@FrHsupIlHqvVp-I{>hl{xm7GSi<8wj(*7b{= z3>#)q17_ogaa`FuJB#b+k z^G2B(lVF+oxfWy#g26mpiC~fRtuHETnX;&&WELHT zc#Z^^32=yWFWivgGAk=LJHc(^#w+1qu41WNYwicnm%iPVk$(uks{6r8hD3T!%Wx&y zIfLga5h)e)*IFXqk#*kyc$CL~&F;p`&cHL7!AR>rN|#7QcGhJ^rNge(Ap3omzvF=S z!pZsT`vRXi)Wzg=>SQ-0(tNqb-*PBXM7;Al9S+8YjFgzey3mvR(dn##bg>}-o{qLi z*4@s@!B?@2l_196TJ8XI`?{D}x7y17*D!V;KM1KKb*oADdvp#N6;O+*DJFh1^9%04 zJu6#&wXtx1(z+FL*eReVus1Spe!>7|pE2H+rIdt3f`H?)XdbltF8!A5=}ukWzNp%T zwJg)pAD00@7XK@c>R!z&DdEk;K&D*r=Uk4dWo$7E_D5KnFnqLx6)(N z{RXzyaxxR@T{pcKa?&K~ZSp`+AXK!hB8+$y<&_A7unOjG5JCy!3nWyYAO zpx*8$=ujJhYDbIo&rc`QUsCqdQUI2SKsV;)(|@%7c>&jglVzUD-8QLvLlilb^`}1k zZxJyyFD%=O*t(00k^B9uQK%?=k*zkr0VfY5pR;H9bc*iV+F68%W1zFJTUPmXKQ7J8 z_j(cGJWQrRyIl-nt=+R~&(Q&H)7dq~&!TGlrrOo%4$Zg?1x^(Sv9RvqkyJwLrf&`P zV(71tV`BUF@87FqNDZJQ!Jvk1MBSi-sl+;ebNO0h)6a9mJE(T^@ZBm0NVZe=U2Zc{ zI>3%41&k?jJ8)rUOQ;@giN$0Jj1RxN;nxl_IrB&k%Do-c%?j?TG4^0D9?DUo&`|E@ zyB1&n(r3)8F%(Nm{6YPjg!9xUK#ZV8X|H>NZDF%3dmM9Bq4p1E@_D?(i+5s4H)YlxP-!f&NQ9QOiq)ca>L!e@1{NMjYn$hW}hzVWxC z%Vv z+ZEbPImX_eQ)8G$8}4CzR`$m%kM z!UK-vRWcQ~rpw@3dKuas5zw12A`@L@Fok$~0d3#O_ylxIR$~kbQH0jJd+VL}2x1Iw z(Apyn+&QOH@6ExWRUBX+b`30F4L6Sl8gk*HX!fOzA5;qucH{newBM`ThI_lk%UF;f z5@pTHE_o@HpRRcP{3FN$;xc+5_ZwYh~!C0}8(_m|o>%^4T z=EPe!172j_JbvI!ve`CO(N6TbF)`^r;Tt+&Ehz*)i0T1*pVZ0c=(CMg1icG zmHfVryH2g{rdkkA>6 z2dadve0GbimbOXRNz*ud0%(+H(rw^EWJ;kZlh6?YybwGdDGc*L(d(xk33CmSEPpP7Z*&n+3JccI!7$&(Jy|SR3z)~Uj%&_XC<0DdW1M{O}D8~Q>>sl__+-+c9U}Pl(xbK9qq0(aZ zRig__H)!~g|A7>h`XOvvP!~@2L*~~U;azMZB@e@pY3(o%^F(D7pfoS|*d!wSbvhOJ z&|tpli`_N4urf=G;00OQxQ6!JCtzP0XL_PX#WCkXEHlEA`tL1sh{CqEUa^52_4;f3 zX&EGf=W(6Xvd&rLEPL%6dzr462zTkHOU-wI3|{AjDrY~=iP&;Rq?L#5mzMHF=yH6G zcS$8z-@DBfo)2F|Fmf^-U}_rrnVZmNT@qlsw^-yCR=f#IM4LbP%eo&V=~OWdoJ<8T zBcMtL7|dkw)heY|_x$GP!+d0fudxPBX@T&5el~ra=V2jyra7K#!#gyi)|D0^wq#_+$##P(e<}tbu(my5)ZWHVI_F~;geP{) zn*8R5%8Ntf?|=B$GS?C?*0vtY&~%a}y2EsO*X_unB<%w^idqbLG~Nn0lD%(*dtGXM zd~vZX7%lLk%IiX1)T`fG0LRVe$9@xpdwN^UbBFcP6Rb|_Oi4WPGQ@?JO21Olp2X zuguBkIGTBOrRcuY`Qc2-)*`R}G(a>EI|H9gIn6y2=%y0A4O91X=iqEcyRaE~lX8t@ z3H_s(ej(aYiC z^@Lm^vW8NVk%dJMU`$%tNz2;El^`~Pi$S3VZ<)#2;k)pn*_VaPRj?84fB`N5*VbqS_pxVjQy+OB~>qg)HxTpBPG zRgOKUxzRJ<+_3-fZ~2+;>P3*v_H;lNq6wEFf-KG+1t7sEzg7Z)DT#aQ4mrMyd)XMYhi(Cw(x)CBl0V7@8qsU;JTfKkF9MZYA&aE*>s&GJw;kC=J( zytbo%&&q1h{ce1`10HxJ4Maz&w^!T`_GnvZ5G&!0lD_WS5;RJvfKiCTX#v>fT(DM zdc8i89HYi5bj}KRphD6;nK3jz2$$AXe%Jvg#Q*19sQ(X_D{<8vcFny8q2dT%^&^hr zzrl)sD;C2a-kQHcw&@I*dCm@JIWhr+CD6SzXH$w4as@sRtghyBao)#IT`aFppddv> zMNRq(0Byg1G8tk8Y!y*jj6eqjr82$F@|DlT@81u;5ONl-x6AG#J?^x*PDL;#<}&r1 zM*RCA9(+Ukwt&zr=S{O1i+#cpK(N??|$d zKX$W;HIX~tai7Hw8Y2>07|$lZ21KRM>1xQ2EYJW^4TnQi*vT+TBlO{M&Z4Ly%}*mn zVuFT(`I%*XLvHY^wnA$Xl$0yzSr6aW5@wuEDcAV!D8=0XEZ$s>v>V60H9Alqm+stC z%=>}_?~u~^vOMidj5m2mSY$MRCG5GlM5>oZk^9haMLkq!ub$$*zWxGG3qrYXe@~Y0T zsdnOEDm}5cpX$5?cb0D(pKs<1*K>1+e%d+Rm%Z1^h?dAMXJqan?d?BrQT_ZSG)xw; zt@knZTb?qm;p_xbokpLJ4x~DI{_ma1XJpSvHHu594XKeSra4Mc4YgXNH}g`7a-WP;u|({1s}ujMYivy< zm_i`V3fA2LHBsFe`4J(?1rG^HLKB~-BKMyjs1T@9eL!n#cSLb;WL7^X=SZrqQ$}Yg z3>NbW_hG?yq1+FOXMXKQiq| zd~lNiDIy_pKObNYgMh`7@5ueJ@IjAX>uNU+Hn+BX*S)8-OeOh?S(gR276zfuW&ytOfEAY8Xp%MZi&EnThyXZ0?udSqJ86%k_NkabhcpD zTrW4bGPfjx1)GmAuR!|*rKF~JX8IX~S?#6`ShX?X`iRlZ`n@-ruhi~D-@O(GJo>oj z(}}k}0%9XL*I@%8`>}yv{wQzW@yVjj@VfBAi3YCCzRf;os$w)oqU0`~PcHtl{3RmO zIB$-(G&q7r1%ivB-%rEC*zOZgUgF=W;wLbB@#6A>boL|)O>s-G-)p1oQZdc!Y|WIS zkU=DP1EHgnyH z9_;H2?2dR<(+!@4kW?+4HKILRsdZ`}r#rBO9&kPjdLKh9+V^l<4b+Vyf~6pb_LYnC}5SE@7GccRuMgLl&577GL= zDv87t{N~N}Y5ZnnU5A}5=NN)hBY{3q2xV)<=P>yJ@)k7?5F70X))z#vfeBn25ZpXm z&a2Slq0h+9#x4~eQs7ujj9d=yQCh^dnhjJWbpWf@%}YuiYT6h}cf=zfkn zYHUjkQ{=w48UzPr{(#eQYd?ONC79W-$XR4U^}>II8bAAlgvRBo0peT@j#xh{)3YMH zyN*NcApK7gUP}J~<4hQL5^Rp$^FrTl&gU1FuyKL^xzhUYrTxE3Fw0HQ&klR~$Gp$y z7b0dGA;j6smHKy(oltbiK&)&D6|u{<<$TqGn+sOhtx zvg@FRQtRPnSdM$R0`a8tfWCfuZM81-!z1Rc99$UMlRrh(7jRrJcLY}qLoyvFi5E1*w*-{=@Y9A7bZq!;3zGLsGdi_`tw*gJ)}&trV(N18LHhIeLgZhT@_N z7E$v;LPDYeiH6-p$S8Z7vi;Kh6D# z%?COjArvnP;^kpuOocj1Qq&R_6;%<#y){PM>f2$n z;J$k>;BWAv+3z8@Nkj7f;+{=Y&{3rsED)ZWmbRog4(mfo3qL8Gcy~+L+0}JG@`n10 z@|Z>jzPop$&Z><|d~msvt=01|=0>4cQ@J;gH{vRp)0%Z&xO5mTJxRM%GWAA{g6X^M z`~AdPr)K1~XF>hyX+ii^q%)k~w4SDsiDKl= z%`L7L$SN}7P~$C-YvS>qgxM{=~h|6YdctZz8P>4l}u61aEMMU zSdzTZUmJSsD>#HLSKGAI=2>kfS8(bb*!8h)oBxr*Yo)%6H8JBc%^7;3{v|(O+EN?a zri4&r^buHeo7-?;o;BxNmg;-5E2!Kfd7)ZkI~M@=dVui4*eo_JzkPA|WNmn9%-P1- z!KhoLdB41@bLsaj2=BZ(&qC3MztKSg?ey%p`hQJqZRhlBJVx^?W2^!@Z{^)6$FYO= zVyK8^szNH>Vib1Z+DxUBNWFTQzK@d!@EevPAu@EOMQb58pD&L+A=_DUqTf@w#Bg2m zzSW2hhXB7trCoNwRCeG-VQv$ny~T>>B;d|i#UQ9%N8lr?jU(tUm~*8zP%nFS3WWbs zAA4=?Tz#i#pZ8%3*9{VT4ZE5c>GrM`=@~roW!?NlgOhY@V^^Wg$jqczAc&%wK)*!m;Laph|)5;Y*XeQ?%q%$Zd6a2s0gUgFr#c`d@?ClkZetC*HQ} zdbY@+>;gm$&-Xs&LZ{SC_Nzx9K3s*ghfF~dFA)Mr#sX zH#jlvJiJjuFQ6aVBZEI0jEV5^(VwvIv8|H%a@$+49+?f^1oj3h6*3uh|T8g?=ZyYGIs(c z#%VKS$bqda`)5dkD00oL%!(wgFV3Df*%WvnC(}vT!=(fSyvQJCi!Rse)4tDK zFfIz0bWNR)PdAutI19ow4ziLHbN5RY7-JE$!qw6#&DM_E-pqZu_1=`jS;Mt})J3W+( zBHwDZo+a-~m_(bGn{#`kSJEsf79s!^Q{dXt%Wkj5ucY9eb`ta~c$>02|DJ<$-Wvg8 ziZA(gC0k3(HA0HsW9oP^&-VdsmR1Lvmp?!45#}tJ(tj_P3p^3J``TQQRuUkJEoCIs z*d^L0d7nX&k=xWAAFPbt{9qKyX0&s*6C>*k?7=E4rbYXQh&5(rXV=EC267iq=@-oJ zt-#A^1t%USoctaXgqx7BT`3SaS%9#wzuWm^WAMM^vkT#!yg3rt-e16Ow&i6E{RbA@ zxAhN1kn)5e3gJ%tXSFniisNz;X7U}8&Q{y3GJR$-A`0OVm;y!P=tuvkms?fm=>bv9 z%{%5@8_I9gC(Qf?5OD}j7|q9|pylux_ZPO+_dixDvmSVH5|L{{ zWL)<5_ZJ*CehB_Jq$7Iwj%?4)&d%kT=Z{E6GZP~RL#G!Py3(s+$VWftj<`-n3~q+5 z{78A1Ng_!toT0JJ;NIU!Mt+0lC&M{S{D46y7tw1Q_}~Y9ml&@lq-uAG7a#!gbN@ZL z_0UmzCf~%nqqw1l`P!wV^ZIB&s(^eUs1V!^?5oR;9*$njds;YAsFS~WezJ}8@{8H# zbyHIlX{t5!+CF|fyFUEpT!c8hgQ)cco#At^u=8)vUtlP$!A=TUJ0*Pcv*7q`_n$)P z|CRFo;YaYTxBWKiH9uxF#b6Xsy(hOE-tJrT8thrYu~5c=qP5`B4xIR{^I_}mV9~Qw zMyQw@_a%dROUFv44hji!9$kZ+++`3>N9SQiw*JM?2gP1h^u0C+R!&2TEOKBIo_Ye1 zWq3yu$b_Zfq1gF;E8&G6!ef{MpZ7|Dl9*0mx5;)CsB}MnP7xs0{(3gI;W^aMC^6;n z_3Rsa48fHt{qcw=-@JOybfqol&A6T+Nwe5MT0eJG_%nH>>$JZ|?TZMZk&a)Sf7w6l z|4>;o&2euB@ceOXJ9WrVHh8OnhM(z6UPK4TZZMm2A);x!1wnX2*~O;Dno;2M7@73u zBUr1sVmAWo6B-orP3YU7Fj+1Vt`t73{%HM42goFEdGh}@jR0CjXAO4LNGrIujXYJa zvbps~s@|dOlRLk@^`oHvmu2YJsip&x)c(0Aqoc`;>4Ov17NQwNA+YClko1}!Qa8nU zHEwkaF3X$`J6v4*=KG_ypS#FeIqR9oMuGK-gqX=4NHBKtoo$B!F2bPo7>*rMqz>@6 z3Up!0Bc@2ay}Oi7aiV=Wh(FD+WR~jUOY9{U3gWCK4^s?3ai@3@m3sF_>mh${^+r~l zkR$tZ!GfW!=je%H6{i}BcGd7$3<2>-NJzdk(^Kw(ry6E-r4tQa$c~1m_47iIqgM{j z%s#rYEH_tIS2y*_0#jhCB4t1<)oSp%=Upc57jn;V`%%3dp#hSB#jAUKsEgfx2lP9I ziXRfF*u$T%$G{?GuRr?Vi?e^9)V6l|@9)p;hsT)&*XF4Fwt9e8+3u48<3*P` zmx4|X@?~8hXPb7LKr$`|$`nqZka-)D{9%Wl&;M{C=3h~?>u}-WS#JU8D00cEu4xvQ zb5-Akx`{#}A@F*nJPAvh0!iK$7wh(Xz3S%(*j7z`iN4xkgWa=^hM!Jrnd^>3Tj>SyC?6de*?*5c~FarG5%n-Oyc&8U+^8nTxz;>j8L{pAn6#4?x6 zv)Nx&tx#UptuE>2Y0e?=?w>6~!{K@+hQR0JIULQGSplK6rgXHVZPGu4zUT0LS`X}c zC?F%oft^6#ZWg~|XMELppjl{%zIz$malt1VJ*3UYfS#zZwu1X2><%q35q>38tiD%) z<#VRDgGj}g*vUyF-V{}t&QShlZV`=tMZdlo*0&D?)9FEl4n)cV^PVlW(NE61jRxTP0i#CfAGdF zBqZc6Mb1Le8Xl-RfG}Sk|E=sojKnQ_4MoAakXqKV@!_MNMsooV1(KEZ9+%+*!M!H4v=PLP>ATbWh9wcUz#)UjMRN zr0GmhEtAxu3rWUQK-eDGTS7q0V>u2bz&uGk9{^EHAH0RFYq(V^vj%+C%#yI?Eh;G= z3^E5Tk`a$8+-N3Sj0t9;$FfNWdY44X_Yx8p=>e0SU&VRtMo>|h{HA4&CIN6Rhac#t z#TFTqQDKtX!@^5>wFNg%ZnwmeVd(i|v&dP451xScGv=Iue@Dhk$K|}>IAb2!PiZWPfw#Tn9UeQSFUOL5At;g>RZmYIbL>oP6WD6_iWumcGetOqG>zx z3=62aUaStaM#SHEbJ|e0V zLkjVo5%EvYHqtMhM$+s1puq8dDU7wtT^BVu-4LFKs1Yt~5Vm??y9zfX2E<)>K?4@r z1D!@g=DA%#ZD$R&LOHjh#|WlZ>GgAzK4eO7U-7tNx7Fj=(DhWDZP9l-r6KLjH%w|% z7s$G5k~LRZ8H>#{=B@MW>`F2GzM69_VYS|Jt;?cK0xCq`IWAfo*Uiq zoMCO3(N(_uoE0BxKw%Y!7)qckOfSlhTq&a(6<>zEw$R9Xk42>?Fl1 zdC62%=+`?BD-fl31{a#R&{W&#>*)dCi_!YDu&J4?u~IQ=Uy4OH$hh*TRZRjA@=Z1P zaE6l7&Q~R5Guf79cUN^oH2QnSv$jlRuPye)i~IEy=Y7P!RBqGcds{Sm5@TR?l%DtvPb{Y zJI`)1okr5|c&_b*6d53N%9mb0pOd=YyV}3f90I=RVWp;iFgyFMd&{u+QNEp02dawC zSAWo5EVr)_n2+9^V@K0?RpVbNQc}-6MBxtVUEXF*?*U;a$R`?t0@sUm(OWqkj!$ee;aI7W5Wg(rpT;va0IZ7jUW8aad*) zPx!n?>TZh4!{g&~?2G($7-FOfqUKb?1SUap*;k{kA)Fryz7I2x7KbjrA`M{+27hM~ zSS-`6aCE~Fk-64!-qR`q(jenNV#Aa|dN=ilVc8yDXD+{=*`Esuz&T^(L17}?uY z@<*79!QNP;Ib2H|ADDbw7%$I%ROApo)MV5Q9C=^d)vIT0_QV+6hj}c4%xqQpquQmJ zYWLNIFnQX#T=~wC)t#cSva8X3SbbA1sEN1tNECzE^unSBNpRg9x5GvO6~%saQpsFw z1!DKB2}y8L!zBE1#z+Cf#AJl)L6R`)3|b{^^QsaftnmJg>g&Woa(o4U5JNV?scvmi zP#&s3zsKCK{SQQiCe&Cgu*XYw?;0`aOQ%~DG^SPOHQ$Mm`$E4mcy`{I?q5NKyIZ-j zR)OB>T#J?o2c;xD9FU(VyUFY)M4fZh2q;I=B_<|T#ty_uZHIL1G=stJ8{eOV;f-j1 z?;<;&{;?9(6wn#TOS|)KgkF*q;-#oLZ0Yg_v?*5aaTr?-phK-(hObsCmJU;aE|TML+KRl^rb2M zSWIvR@)L`}SVjlir~SMYAb+l#hEFqT2sq^lz?Q`6@jxsVwTv4EO^Ts4v|qZqLQS@R zC>%mEfSyneDCfC%KsYPPv^O8F7Y>(p8x+TP^LnRw_oXD3zP9d^G<3wQj6~uRwqdU} zvcnBa(SWpufbfC_dyck|F^&47L|NzHgzT(FDN4;!|yDgT8ykF zYO4oU@0urW2?R>zfEJ2n67W=96y+E3=s#F>h%fA4*@F~>Y`%|a`tIzfI_{j%uJvM9 z_%O8}k*e+xy1Z|YuW@iFsJ`KnLNQV4;~Y@OaV)N)yZB6e>*kfFoujVnEB~{F?0;QM zxD!>oS$`8tv3;gZx$VaUWBlGVoyXDNiCW_G9rSO4`tRT8)Zq=CRN(T}YB%DQfPRR= z17i61+kmzPE22<(0DX|hC=f|EuL2Z`(SkFAlZM5X)LiQqwnIX4@--9FT4bM7+e1^t zZ*cMQhCLXi=O%?Di8@^XQW|Hy(|bvO_yNwWMr!K;a!nFf^eCWY%M22D8viP28GxZH z@tZUfS2@CaVf6ssjl55+Z%^END~lN$>4E>M2vAy5n1jF{ic7z)$`&cfa4&aNKlRcZ zB$TJeCw*ojomBZtmvZQ}4ZD*((qt+)H~@a6{x&${ULM!6Z}4B$$Nzex$OHc&1YudR3YXg{-Bc~8@A}Ym{G=03FUhu?&fc&=@AfKkTTR^uXQu-kZ1O)H= zh#k5XP>sg328$*cH&mHJN{O@ASCqkGLzzaUQhfYM#t$9Fo3q)RQ~ph;>r;XY+JyDA z&Ct$_g!_s%hqqRmf4Po6#_<|K!;=}H2Or)emO7^orZ(vLQP#BOF%5a^VZMIN)<=uz z>GGG?f=%}6GvUe9^(!6qUjP+$u7+^2+_cfCKZ;7+P~ZW3a3@!BdSH~2ag1{{!wwAr z(S~obwBJYjhQqSaPVLM@AfIR_W9U}vXe^dg2!_N-+Nxok%0yhCy8clpR9TrWBZX*x zzGi+H4-qM3QR*S*l~e)i7voJVXk&(7`J|8)p|{oBXeEDMTT zio9Pm*$Fz|6yRGHe%}yJ8DlgTFRc$F{JeL!Gp~>(fE0(WUSRTBObe6WII_5ritk4A zEq78Mv>cRML%dl2smk}D;R9=&fxv@hh_{W(ny-H zFEkt~XbcV{$y7}tZ$obJh0CAOp&_GlS3iu)EB{e{3&$g1410o^IY&U$;w~TF-6vhY zW79AQ0LRBY`)-_;;-ad0N1eFW|kTatSXRAw>I#<(O8!D$xI5`J5#R4Tx7a*o)gUdf!yvB!DA^4l6Y&hY3kT{vzeNn^j=KS*7G5mV_PkGI zr2D5@<-HlTG83y*I}5mTL=EtQrob~2{tRbQ5Qc53rdK?t4u?xUp87H*+%+7d-||-% ziBu;bI+P0mV659a>n(*lf%{QmKs{>N2WOW`rBBWEDml5-q?mdq&ChyZeIbC2aLB8qR)F*Z!~DfAY_dGXoXiEK$AIaS*R#0sBMV_AXE3ikoD0?W0Qm?smOS z)ZoV+_pF9P!0`Yhjf;WRDmQ+po_IV&=O_z^j*Ngs|5hVeu$GBIfwUo>JN`f`X`MgVdgED!ZlKLIPu^~0O z{Zg{M-!W0d9FmenC0|L5DMPMISLf^pZN?O3e& z=Xr}vDYEAiykQ+qC#e%%+I7{VH=N~BxO7tpZlHLs#e(>^!ai2ck(B``FK00dy4ezg z#-w1AZIw*ACy6cXrfC>*WALW-w_0ZqN>HxUs{pZH$* zJueKV+lRzUa`S(E+a@Akl&W(#;_Ef=kx`>;D=MAqF517SOs^CSagpx&KtPnC{-%CM z8^q+Q7tdQ5+StM|1}=Ny$pGOsm(qT|9U%9q8#XAwv<@}Te%Wc$^qqAp)smB}q^O8e zTvaHM-UGxz8{xh(#1Hrt?-<3LKYWh8jd@rxM?+!T->25b(UwkrmehN(?i-g;>SpF9 zbfPPL#fP0aw+lo{C4@q8sF&(IV7#JZEMVv-qpZRiDPT=SC9awdjGC6T-#H;Uw0*#` z+A%9PEHwOuI5|J?yYI1E{@XfJ#eG>pOuUj}A^MXitNUmWQNoy1{^szMtsFG;$+xSq zbr6I|-7UW+1tP8Hyxo>4{;qJ?!LAc;T=(eQ)vG(RFoSg!l8BbI>CiT}x^q%r-l0L0 zIbQehd^!~HITxABvkWB$>*XuqgU*WqF{;iYb>l@^(@xh=b}4BM{40HfOpxgGj2Z15 zUFno%w;X8x`{l*n)7TPX`^|-AFK*`191lP3EqlCAlV0|!s5ck{U)$4Dx#1n`T9 z*xj7Bly8^SztG5E3;MdNpOXy!Ec!gnTzvDT{}lRt7c)#UWMk;t(slU`IKm1kJ3Z?fsJK;VbBm z{B-r~FW8c2JPM=Yk$=#-;1O2nvd|y-O&NZLIoe{@hMAB3$UiH(X$&773E#0Os5+MK%P;iEAL0z zqos5uQkExv$t`Ko8#;?>XJnt=dxA$0!W$R2Y&@nM7M@Hu*R^`hok#oOhHU3_Nj_KM zzE8vI6h3-(Y68}GpNfg+RmqhGjrFjfnXa;Z;@9zacRYOaaGWp93O-KdyjtZ)~~M`4M?-f*gx$> zE-8W;Pra1L8l)e5lsR@vgJ>3DlyMJVid+Sylp`oD92|ts8w(#?)hh5T_A+fjs#h5S zz`0VIDjp3j^cQy7qt67h2!N_rymBWzU+mPRgPf&2V zb(@a2OpC?rKthEhFP(>xlqSnY&aK?S4n3agkR3?ubD90B`_^JoXZPK(Wrd*cvd21X zGT`(N$PT;`%}h&dd%(c+x6dfCyeuQ$*No+4GT%^dT)LxNl9!Yw-jX}F4UJqP8RP8p zyx6OIKzLX>X(N1KZ26&kVN-er8`;^_<=yM^Df)gZ>I?-PhY{ZqXnCo61X1V>0}2V( zZaWXIuRrb@04k)Rq`@C9u2MkD5Y}?#BhcjlcpxZQr7dAREuB^z(%)=e`r6%=Bld~# zwFku)H~Z3j0wMP$C)4R_+-93d6OVa0WI+w_%#Le{fL8?7&K$U8tG(ew*)0_=H0> z{pf9;<*~~@N{`>ef&0h*aZ`Aek&Kr1{FHAi58Vd;jBB=|+*k_~rCn53c1|2x<~@b) z_9H1b`#4=#M8Yoi&Xr(rRylp9$Eo8?DqIeJ{q(%O$X$WWCd-(x<-cvxS9syJnr8!( zE_szYXHUZM2XLNMsRIJ$WM%m`gA41Q_4?`D05%LrbNDoQr^Rg3tv~QZm>~=FOXue1 zTw(OSPeV{h0wR3?AW1jqUhAPuzY9>`b_dGbYGu+Z21Eoz2_PAFKIj77M%ec7T3ZGqJAkwEPYMW^RN;G;1?aqFspF3{-Vni=emEpUwafxcC#^oxml zZF-{p{}0XhFVA7J2W;kN(rf!1Og?7MzN$TmOhB1UvIg}GuyAJk$Q8bTUuI*pP=DrK zt+zhB-dSKUrq?*R*qi>t;ptcar+L@c%ekUgyuV_xT zsQ|pB8WkZa&yrpND2a8YxO94hN7DL(QDVQx6BOR)E4O;GFyfFr?*)7cNZFE}V~;9- z+wnA^QMQ=H6!1eFl}`GZz34DIZ#(ys;jzEj5x}_VQims#Ilm!n_nDL}Ezz=(rpL;j zg@w~Zsxebrd?=jdzAbL>PTISX`Q(dnxp%S+1?=z9y%W^@n@*>=FGKI?QwyYqz>U%|X#AG=GWi~%ThE*Vg%J2wQIp(hGxdNop>xSxQ7xGM%I<|`* zVN-d4Bz;g&4NV@GRz4~jOwDEGg~SIrec!9QtNc<@R1jc5=oD@hy%d1T~j7v3}YZO4XXkZF3wKAhX1J#p1iUmL!ceR^$ckhw6 zTG~?UF7a|w2G!cg8GUfSltNQrY;2B)hgB$c>+l|Doa9UO@04H67IpY!L{=G@4-$X6 zYN8(i@1>(LtWa2uaYT%9S_EI=1o8D70YEA6XjB$nu=V3#;ZWlevTcpXl^D~^I(weM zJe+2$8C0VxSdTs*cnml2jh~sn7Uu+ojw<9^f2WqZ16HWvw+*hEX`a6gi)H>`hxO)IYO3Rw6!(BI0-TfU#th>Q2BVJZ?R**))9APXmu+ISPgp|GT(IwK1S8{M(>}r3j}eest{J|UH&4Gz&)>^uhy2ELnEmMht-bl6v>@uBdNw$ z1qc9NzMon1%nS;J*$*;;$mY%^{c7?Ct-kGqiNsbV@-Vb!-oZE!B{579VlAxH3c(D z3787@-DlNSdQ;W%hv#nfHlH+LejL=Da)(`+2)SLesn0y9-lX z4TOQLTzmEB>v`jnsnqy@$TltxrCDF|XpgNj8)CD+f*TmHSTq6BHf{d;HB2!}Xq}#| z4J|1>waqBdz@tu`PR%MABEXUb0xGM{w8?BykB>jC0QC40-~}CeM~U(Lp^b;=;XqBU zzqL`uF3BbqaEa~!*bCXV?&?nP~$v+if;fcJSfw)1$dAY4ky{P}546oGW3vT7_~PS!@(WyNUPVfa)2!x3gp5;-EcolYCUH}I z%A&t{ml1q`(8EN5?o!Z}jWSs*G5YjQY~H_5lelfv^lhc=uCk^iUwQ#(xM#|=Au4)C z{@9}K+)0Hru;~?Pu?PH&hJT}cWQ{}!`>R>>C8q9y1{0z+D$DCw5Mvty;ErqR*>MFG zi11NK2FlAkjIU~6ep2?B$$PqUUfd0JCvAVB5nrNRA+?yLWvkTbCfcUg$6NqwP=WSW>}QC8{wlXT z2IMY@@9j2x3Th6c9+VrGS{q2}@@;3$4a%l|*Vg$3i#ngC>x!%Z9)vQztcN9Y6nGi98Y==e;Qwpz-ihp(wot)xh`Ttjl6sFEX6-e~>QXIE=eoQxDgUCY0 ziWBA1*96-ub<=#{@xh7Zwa8j1$D^K!fyv9pK`mLIUm+oCRYu%uYPq^&wKV<9okD7< zDj+6Nk|qKQ#t)87PZ`0Sn%OV&X61lsv((aRqM;|grmT?*{%sO6ETkEfNHF{GFPHV_ zHzI>%N32<9T8GCw8%qW|-ME%KZw6f-Bhx5bt+Y5V9Z}~Y)Wfwo=33!(SBBXl71Jn3 z1`YPx7N>hhmAW50zHJp-Z&3Gft_r;9M>)=ZqzDhJLLvI?%N5!Jbp{BCwuOv(9(l#I zGUxJ~uhugO3A}0O`tVC%vC+2)uE=A`nH>$54b^QXylp7Q&s+Cj0{!#KS&A+@n%)co z7RZ5d0|vfuZ9WYZKVOD;4TnT8N5`|83*;!?6Ctq6%npP~lH5JxU73#{qYsmpMV|>F z)nQehL^Hy09LhcYKJ6`pb};5v6`+V&B^%KUqN2K#n8blKzhv82JgHV^4rTizIkWOi z_MCyp%wtoWEUiory0>_}<#tW2QC4xr zT8kirtSm=X@&nn{rT$B;F>*)(l94FTER!Nh^y8NIp;zuOeCgOa$V3N4srq6sC6iL~ zS#cx*4V5}~L1ZIShpF};x2M20FGRe{D2|B;fQC=c!3SxmGv4DWLri_zI$kI^SP= zz&E~g3O=!5K7R+|8Jy~o9ZJNi8WT$Ds!GNbJi26G?+lAI_=RPXP4*#NDs2Fof}&$88|U`Lx`Y4<{ZZ(~HuiyK`DkHg3gD$2qoyNo6h zd!@gG=J1lza`*uDNuDIlLuwp?DWnWMiU2c`zx^<-_nwiI%auVblho}BNoBS!+)#@h zj9~A7EsG{_yQf)WuQ=aOepwE5XdW6Usv)&`ydQB;8)fVVdcn@i6QtaK%;K_JjudKW5&Fy&WA{IT0sh}t2N6B-GfQa<`EaJtluE6+dw*Az6nf>*)Fcd=KY@NX0PTS6~ zrZ&nAf?FSGzbQ50PtL9%``#lbkvvtuG(|v@j-)@+pwa6s(a&prkYoI)(jm|MP7r~$ zx9n)KF#c&9 z{*PbDYXWL0vL+29kdcMl*2doFEb6tYQs)E*7B`xRSMmRDewIc<1fh96op(n`NGSWQ8y+l zcNKZbVu%R)(^AvPLHo?<+3 zTHWL5$!3vvI-!zdIE9C1&xnq&c791tL_8Vk6#lmrHiIl&$TQ~5*clDqf|86VNO>i~ zM^4<-U);uj#Xj`{#5l*edJ6|+x8lU{lln2myvQa z=zK{XHKkf69ydyyvH+XWOlX%so-LaOFAoT7CieF^zp~B)648sUTozan@Kt}6s=?`* z`6Mv5EDm^bYWu66m?w290FBfw@1`IF=+r*b(22KCIiw2UqI#bDtEp7(J^8)CJTXnS zg|e5^@i(iw%b%*9D!i}@y{uO3(+8eOOc0a#^0x4TC$BrE8KWYSeCxsJ7=1~t>^jq%0Tl)&B;&!3Os^_ z{zK!2sote{Xg$f;>4Vv&nhF})Pv(6EATRXwG)JJ~Du&Q#ltqF=K1k4Q-Ra-o>9~Ay z1%d9@cX^augmR+@1Vne;Rmw4vN841prS2O zTpyck6|XC84;6AJZB>Yj&oeu$)i1Mfw0699%#iyV+9`mN1W<;nTFJy^@8saFx{60N zOi!Ehk1i1k$Xk*~DNUVnV_$URSf7+lgYdOqF`C2+6mpFbal72(7b1V2?^cRJI7{Q^ z$uo8gRFe+T=JP_w~(`vYLn3eeyD&{N;whb*@QKb^}R!GSRLkeQ4}$~ z2^1(B)kiktFD-8yew-nV-o&<~Z!_2}f5mZ##;|d2skYz&CeQ%cz#){%7w|Eu6WGQe z5^F7Z89jUr`Sz4twuVs1>Hf#E+a~-0l+C36K`R3FsGTClos57WnO7%|D?6!nnr-UE zicZar+SBBwfAX{>?@CuGWT0;RYDfYQvFq?7?*#%1uuzL#jT9R}^C4%cgSi`Qq?biw zDbpj2Pc}FIrkNyzBVrRCh@aC*8t?Cb%Xs5Gb4UsSaICvy)=dq>#Lm@h!KaBL4hP&) zHNF5~7xY-lnRqV>#zl7!McM2oP*eGwc2%wl&il(|d|^D=dn4&m5=X ze&-kda7ZQ_NoPyMI%u4UcXq`be}?FU?(&Vb243ESeTBhb_rQ3+zb}~oJQa?7ge7Tb z;wu+S{=UQdCr=6JK#p1Uu8_S;_79-&e+s)M*GbI;fxv&}EH*)N*(YxP9tL;gl#Erg%{IN+AoH17D*UI*PDj-mT zwu1QFdQdp{Q0@3OkBxBRpp{UwdG3Hf{;K<^c(RJ8udnp)`vx23XnW9iXgJ#Eoa5L& z=~S_Vl1&dyqcvvC>ynj@?~V~WNWL+3baiFcrpV#=kHBfPr|h93;4rCH0mB+5YS{!Hf<`TV)v6&s`d&HQAe8Ok6m9V|CwJX z0567_ISo*Bo5aYW*(uU*VA4&_k^Y@q^AhLN*GKz4- zx%B{eH*^{H>n$9*3*S{Jg|byWsFGzoQ%1=%)LGhM^D8gye_WqGj%%X|$%h!YJmJV7 z`ZgBn>2u(RQehy#p43PNsczNXyZWuLnfrP4vbxhxxLKn+_yhBkC6_FGLIA44{C26v zKm2`n79qGoH~H|l-)aC}^vKvpSm|wJd#e~>(KX1n_T}T2ngrEDZ%o?jsZy{G&SDQMV=mlr~FdFbfUP=J1{pF~+;1D*%zc;L8PmsG z_UG$)EPF~Q0laDASyWRD6#tLKMZz0(hzX?gBAbTINKW?R)#-IQw=XIjEq~t}!u_~o z%I&>5fwhGQ4GI>S&aHsf?p5jFT3!U0{{62U`(wW8(ToGe4>$= zDg1xGaQvSOjv)m)edxx(o(d;M^&dVNVDBW2fYhGAcx%8<2lM2J{9N(>`HDOf=;Npv zT&l<)U1d_iyYY7cWdAK@T5+hEfLMAE9{N89BK@D={wL7`ID|!`o^5iXf6)8%r-e9r zf=b2;D5PJM+YgD>QARTSPLKU*3CF*}TexC6%>?F`@WJt64+H=3DgN|jf8$rja8QZ< z{i;byFrVu$_WAg0{@&_}^2h{^enM6LiAewTMSxs20h}cNqN{kA7W~=&@0oRM2gwr? zY~BDU4IMUPg82SEqW@2iOP(H(Nm?Uq|NrBV{_;`b__u4GJw{faSaP5qIzi%EOWIQM z`%5*$9`i}9QpDdf_Uyk+x#K!;pC*~_)j2A)>iQaq?Xtf-d-5^F4~+Pf`8*F(qatQ* z{PvF7Uv?}_kb1Ohf4SA}k6T@oi2wK|xS3h{)yidw!k^9&CCCJrl5-E!Haczk>x2Bo zcYIWoz2>vw@iu7NCkWYQ{w4C5mtvh*m+pkdEPebyvSqawbKyb!B;hIVU1(v`6cnir-FYd!_ZfC z)P~!|eYEyG`S+Ai2{<(({vMuKBR7a9)kv zsLrAhC3N?=Q@)lfX16V7eS)Wfhxezw18%NKk!*azZ2N2LHGgx)K*~lM#`cyKH!6WrW+s;Aa~^Dm!HmQNW3C|5A2g4`lHO@^hy8 zKBLtsmL=d$e*`!(Kj5><^WHughfdlIpkLgSfBCJ?|K7SGR_dAf`6vTQSjrttV9S1i z(YJrEWF;Bcj~;n-EmY%4OZ_SM7;Wl{LHmeJ@4sB`A8!<;5CT=s%269evRy`$zqka$ z9})>uZ3Ix!9lKSp#dg+{eQ!h_TgH`G*@G22%dw%{nMt?bMyYTFty&ce5T&5iu&_+P zyKejGU7rI;kNO(|H1C8he-P9;J{3lVgu8M>2A?)-e!F&NP=B#(!_BAh8_>P6M=vLj z=>pyF1H`(L2C~FKV;a9kL4g7OEVM8VqSGgvaQskz-d;y2Xuk!t;gNN~w9Qvf1r_}F z|G+8$LV3Mz31c9?`4_WO|6 zTm{Iq+DJp1L)+BzHCF-B!E#$+8w$zw#?a^mJbLf}wgKnk*|Thb5%;I9A9 zn`4LCq%8n$x3@Tk*}A)`s-vG?u&+*qF;|pYc8{-IabNm+sn&DDq)JtWy&7GQwcoEg zqK}V@TL}SpmTI$chZ?y9E3YlzJgjwaycpjRVw#YUaK3Ii4k?iwb+`aKvaB+U`d&AD z!6%u3+hfA7k|v@xQHm>xDw*D|8|CA{PD{7+ik+SPu5_ZlhVo8zw;zwB{(_^4iAibg zv=>PvFvp`|3n3sOL0|8H9EBfsRXfjp9>F{~z|DJiR}cH`i@=Y_5yNjAI#K}2%p!v- z$0k^pPcy(w$9NPa;eW8(`KI{~YZCeN6l+kiSS;DU`!e7JyfL0NEL{5m^6it2DXK&# zehC97+@jPN?K4rkT8P`PygMqQ>xzTn&<>R%^&2+!?wEpan)wAoo82(~)$+A^?1NyY zL7|~PlpEX$q6Y7wIP9SaF+Q4iIGX1MGh-QlP^zsn&>#;#r5xPG>4#b9ww5sO_k_v! zPQwn7un?nAQu2xQP?25BQIV*Xbt;(+swpwpUOY@pquq2C0^K;x8Rgd|F>YMr+wC(> zMJgCJ+zO;g3XHxJ$gC5*FZ$rl3kFl7t)T<>8hpZmW~2WX+Bp&qjbOZAZ9Y0 z%)mmcpk>#Pmj9eqDE^jPilk%a&e@bFZty-Xaa@E{(B@lZ zLh22>8<$r zI_wy(WBh1mVyiis*AP=I;g;D9LVLEsbVmsav+dZ#j@?8>el4>8+PpSpZt}7(s)qF9gFH!F)@gU9R}2r@b69#To7V zy^x_J4JVF}y*V-3B{gG++cs?R(MFdS?&lPiAnWF@NnlLsEfL5!p3{%jjLw7g{>6Ye z?F9<8FSl)*;OCU~!_-bN8pwkRyb;ya)ji3w$uNzrya&l3;L!QET3A@vyNT}nAlKW; zpV-f@tTXiBaJ=^At^BA}TANKCC*c6D+jS2NOc+WN^+<1alG0jGor%On_t*s~t$a=& zE%z%8fQvH#Eq3OJ&2vnR@o9ux0JEG7#zp$mO_$XT&L~_aY@Zzq*gmXdinz6{MK4xU zaZUtVTL*(Ba2vvSm(WK?bN5sBH8}8bzz`aHYyo<|;HY+ROf#+c2v#@#79V{S0FT=A z@V7inxtUYsJ%lTCaED2FNe^y9>r_MbJia-#O?IYTlwV1BEAJIDupi$P@Z!l4Y~IrU zG9hSNJH*y3Yx3<*x=X=>os^@kOa)3~$CN`XdP37k#rTe&^pfG0NA*#?I*BYEKSC3C z4%aoXIrA1%OAFeppSKxI>9H7Uzzm#~FD$f|Ka4n%$-^v)z&1rjDS%zwnJCX6P4x2v zu~M%`EIcI6Xp9=~+mFmeKLDvznhr-{YLDvopHA#PUH8yFz_qwD03A#J5xIPPz_P)- zxtF4{Ys}0VI`_qsHs6`bH zH!MNrng4z*8hy_C+#Lee3n5RapT|%Om@^rid%eJ_FwZ)rcyPC{J-06Vi-00)@I5mQ zh39Ffv$HsEZ%<74>1J+9VqT*W>X^#?Z`dSbfOYc-m@zI^xllQHq2%(j2WR`wvL;#$ zhwp|9!-=Q>4_;tN>gM3@}(!L=^I}RgALcV%aoq@^PIKE$IcB zhNJ!EshVlEK&w}`YI45q?igw;s}~2$AIJR@l<1gsi{hzbS;?9#lGnk!SF?0rr*m z2zPA_yucO#Rv&orwBp(0U|>WOZRN_f4d?5vH$L1Y+*Kwg3ior8E&=FIp2v$>avF<~ z6N##^3SXkfk2*Dc9XW5*SbY{@UuA3(5Nh4`9+U~X-YF_F_3hc`%PL7wJ06?N7mL?z z*6}y9#UPVqt-A_BU59Ow9d1)%`nN7Kpt`o{x;^F1q9$?QT)NL-rT{jvAcD)UX&gf@ zj8bj-^L!LF+QLpQoy~<@++onYrrZXJx|VvN`9A25pghR&ubQVC^!AlhZo&wCTc_`33vxyofAa6 zFpV@~53ghs!~HXd5W?<#E3epeJ4SJa)rNknRSGm1y-1qF^wNDY@?_~1WeKnU`v(}8 z!$RsN-JJKJ=iLK$((8kw5K6a%@a~OUIilxTdgw$QQ|To=9VtUK^L5-}%kza)g#7kh z!`k!QS4RMg!Q(cqC->5C{KZ*xSBi{Ge2X(@&_(bw&9hFdYFuCiArZ6o7`1D?wKKzK zDdjFSDh7veq})2l{XFhD^OU8zdqGEgbhmaoEsTjY7qGB-5`=S?5UFVh2@j*dJmy7(7vU?swZ85|q&)*=PF9Iqo=hvDuoKREj8ys&dy zV|F2oQ~72%f_#dl8MV$#Zf2MFWeByEvenzj6U*Yy?vaem8cg&Lgc4sGamf!ZU?Fxt3J#YCCollQXnbCl>Nf9PjL+q4!e8I@$dGoC!dH5G7uOkSIOh&DRR& zqKFTeug*Dn7I{Ph&JWMQ1Sj%TX5pB}gw)7Q#9kM+j(#RMB-y1)tVu3(u2XoF%j{O; z2J|Kg!-J0IrqrIzKBkX6Q8&It?~vK|XFXdU$c>jkWu?p0(v3Gc%5y)C{pgA7h8U;- zd>E1C%dtlh?KQpiBIBN4VYhdx62;w~M_;b$u`BDnTwgFRePN_nxUXvt8{c-TU8S;*e5)a(voVJrq^AZI8+ZyB?FO{j$rWKXocK-R$hA8ASBPd|3uq& zcYUgj-%v0iFmxc`X>|FhNGZ;>%-s(hR ztPJ#X_p**ZrB}HqN~e*lng5CdT6`YgkI;^!h?0W+rWg0@{)g_AN3R#>Np>m601b5Q z`by{Ef~QpY&e_wp*JscaGR;Tm5OBisF1_O_AMw2T>T+?# z)RvDq5!#y*0QRMP*|s1&iUW2n%n6yM5EjE7u;;omR4m7Li;nP>-o>c$>eoKeVvNON z@+Mu~n}O9YyX7OD&Vc9de7Ufwdn3p*Ii!n!L)>=wBmY8|*?QAnsE_zSQuDU`XocM? zRWFNowKARA0ha093xcZJ^k;(v*&Q1$oa(kHe>6ZEXt>|Ozr;Z1DSh$AW!=+AmObx; zAi137d+l|fu}wZ`1msO|c$99L)iV~2uE9ci%mS9F#S6Op1^i`0G=1H7;rw_1Q-W_J z(SScACSjn)?AHd2Q`5AqZ_SR}bZp?CcjjL+44&Q_>Pb^jaQbML<3ayXVAI7}_{@As zv<%O_jPy8_m$Z@I{rL>vQeu8p{;<(f7LB+$2wK*RyV^I4oSDAvt4=s~vf_FvPol{1AQ`Vq9mG8%^T;Q<_o(z?qg-shz+&&U@Q%735eU~7b z_Db?|%4&Lec?}wiu8U5;`mxq5XYYxJ(nzz5P$JED59PE4*jn|1yo=GZ1IY!y#7Ls` zGAy_5Xx}RD(+%lI{aNdkm!hn{M3f<779Q3JKdL>xgU6RKFPkthNbXrgQ^JViw$icb z1PrLrUABPTaogr#4}{~~UEHNF1{GI)FHAQq7o0sksy*!5_t8Mo>Hl%|9Z*fJ+t$*9 zv_zyy=t@zfO79TFf*^uO3B4-4gEZ+ux=3#VDpjQSPH2K4(t9WL4x#7Y-22YabIbqk zyJI*QA(HH!o&BwEtvTnKOQH09K4RLrX2V&!^kP`=aqSxnA?DNamVtH%RIq#I&A%%O}_9t^L94N$8~r0-WE^|=HdNHLXOzL(op4(kC57Svn;aDnLVyq z?E^3op)b7!cQ`)mC+wrs*-rcT660sNk%nPi_fL*IGs1@~2)V*QYC1d83|r(nnbeuB zFHR#%g!na>JK_zg#Qu+E@dQdlp-2A{p#b(&^>7EqWSGDIk0eP0ggH+!#mC~xH-JgF zDWasH{$!PLp~$N61i+2fdL+>BakX{w*$Wb(2{4q%k_{V{akZb7Ig(Yut0zlJoh=RK zE588LlWh2QMjm?ACNMPUDg@4?yO3zihuZ;4htMQ3QOh;<9#x)h){x_#ou3>K&B=aa zz6YQo7bZcU&i(H|Y$4?a2(yO0zPP*9>j1(?pUjkx?P~BvtL&Gqtl=jNWmMm&OG zi_d(U{Gq319|g^Sd}z#nk|Y?FT^cD8d>kf1VCQ|C04JlUguzRgS}j+N12GD?fM5K; zW5#P|S?tHp*flhk=rlgt7y(QJXWsbn#O|^tDsD1lc(h$@gOl5+es&mmoyVYIHUjm!bqXu=EKj*dgm%=Z98+|5f^1_?A4f zdPyHFB{csH)-XW;SA`OTXZg{Iyrv0KMaE6mOnbL$gMapx3=unbZgG@VR21 zp>L_8*@L!tV(*D%)}< zFb^LQl8#)f)Ew2IIM$ivkhUz(Z{t>kyoL$bNZXupcX#z^7n`O2W=qdU5I^hjH0S3S zQ}mT_TP=hbRU}EeL5o$Lh9UexYn|ojGZ)Nx+zGdI-Z6V|YXht`>Pnt&-Dk|T+;?Oe;EP;CJR3>VdXQ_%e)_!!3@%dq+ClmDD77w0xA(T zri^s5oY0Ftva$RA=Ewt3^k>C{YvFSK?uVmhLFJmrb&pdc)UE1!D*eHm%E${iGc>w$ z?r_|OOhtve3h;A^y8rU)L5u@f}*dWMfG;m&1F0JT_ zDF6vH24RI0S9RkUi!Tr4sJaT)0)x4UeKCeR36TMwML?S|dL zY1WP2I&JH!TiqmVX&&~r;j)&!bw10n?%?)dOH=XAu_n0TDA;y}WmgQ%q{+L>o6LX2 z8^S$ae#90vcQ^0qmQ<*Aa?CQBuVouoGp6cFF(A--ps2=ZhZ(CctJVba)Ng8NX#T4wz}Z@?hFN3Faxd-v6Z$plt@#Z z?`VzF*<_g8&6piU123a+gm(R&WcX*{NZxw8E4LnldUU!EYBNVYlGh|+w=Uxc1A$fO zY1(muNIZ(iLC~Au7PH;mjjChn;i-qe+v)LeTKiIgukbLrZeuIK^<0bcuLuJGI6P2p z6r<)uyT=8vKUukuR`RYq{8e25%dc@-PJdVjjaH!*b2YeFQ^7I)p17&&ZuQ{Ez$isD z>7>J$u2v&A1ml~nsTSUi55=6U0rp421ls|A!CI2X3me&-?M&V6lIQy=Ps10r%2sRc zd|mG~Eaa}IMrFp+lgFaEkDI*vj>|C3Zh23a^1e#$>W$FPww2HQ;RR5X@o|s2!2OKs zm^RRf@47hV%&)ILoG!var$!f&Oy+fL61z5edXroIgm2yZU=RZ&8TzPTHr>Srq&UZW zTE34F5hu=i8lUybENs?UmaZ|CghwF6CUv}yn=V3P+zc>4vDeYW82N+ykHp4jFt`z* zN#t(6_Lne4V8Cun^f!N+NX~KPwMatJ7;D)cooB0L`c|5uQd~&q;5|oU;$@4aCeuy^e*n~+Y3AxM8? zTgF8oj`|t%u8`HZCwh{F?W!|Vo8?&POLGS7JGhRBxFV0!7G6*V82zKZi>oGI!&v>> zP1@w(f^a#U;ii*Bc+U`rjnWN-$Ly=XD>3zQ?W2OZsswew2co#^z* zkGBr^4!VLY^FAgs>6}iC_X4=XCA$g52^>6~ccF6_^N!atlazGH#1z!?AbzGhy|+^x z$|sRuyITYsp4CUX9pq%CUhTm{*jBlO-W_IG3bjl9w11ptYCJvyY%k{+93A>L!i~(y ziE-f*Te1biCH6LIB*!vc? z4#UAzg-L}eo;%$N;tk6zN?gKTZTv(4ma`SqonvQI+W=$)2H`+lpq>9Q26kb-`%%(p z$3-{7b^1}Y<*-kYCS_Ym(^OdW8cNfrgeDD6RWr1QqQd(W+{@6}p14QYJNu4$>$dUx z3_9WK+kUnT?Re1K`1u60_!5UA4@@}6!kOUoo@HxQc|-5BSW9K`9hmD@h0B|T^QwY4 zw-*j+LBr{9wj*vuAFBh`0Qns*%L z8cr0F{34_=Lv3tls5?>MySL_))EVQ1)WHC4=A`j09s)l+BCj3a{0L82Ypj73DS@fg zIK6R*^~G6LADHy|Y?r!~L*{`ll(vc8(pd8-0vvgwM7e zGP?1Fao20M2qiNnV$!F2C27fvNoRP#LiOfjW@#~c@Sj2sJRjhvhYI*8?AXp-Y3Cp^ zN!PIFm|L!WRHg><4gZ6FUY2kIOwt3Zfx3z`LdbV8x?9h@;2-I@qkH*A@xdv~Q?)?F zppztM0msq#xk!Df$*I7|pLOl|rZp#=JCI($<0*yF>R3 z1T2P1pR`IoVYKosm;I_-^wx;hoFJSYKAtM!exG?%BPyASCJ%8)!w|~i|B3PwWz=2G zYcr8~G3uTZY?K@+4lUySo-r1u#WC6x4%bHIdqmgr8Kpfgj!}Nusg}5il&aJ=sj4ra z8pz#u27WtT_62AId!6Ha{w-VXL>_Uk{7I=Q(C~cwVu@nIcd!M$+d@?N4M{s&eMz1o z*XADLJKZe8)Cu5NGt$69@8{I$8|dLXUu);4yfNpD_3b|Xpw+Y5qqz_!Y+)KIu(0+5 zM$Kxx%Z%;8qW&9U1{pR|to@i{futt>=viF9qhvQeD!IxKmg`FFFi?e^zY&Pi<&~^> z4;(4!z%xTlOu%0vyYw6iUDpgIzrX8h5H3^s7IBdF3MPlbgw2^My%2YZFNsFCcNJd} z-T_aHS!a*i#IR&7!{yc^9H@G(3h$cG5_LMEs;#Z0K}x0^Q|aN7C(AtT^BQd$pGk~$ znqG!klADIIk^7AcNvQiv%*R9?3h;!rOpH7@l2_srHShr2%8{R`Jaa|?}$EnlBYO~UT{G{Q% z!gIWA?*>CeqC$yqE_I7_UlQWMjBf9!&PrV2i1glfCqQPn10 zm~WT|bWFbhR{)&#=J#Zlw5AB!%CLTy6IERhJA0_(}| z6HNqZHx31?s!Jkr)rY^QoT_RtNL_@@=x=v%OPzv>a5AcI2_{A+A}u2`VtJ^Ewtmh)WwmGn$-EqwD%`+Tro;+-Rm1>2H)NjGO@^b z%%7~;EVRB_yPx!q4lFq3+GWl_G?@35;S0Csu32gRZ|H@F4k*6kPE{SNqO6Dd4d*r* zGyml-*b1yN@CwNeBX;x@vYql#*2wGz`#ZSi6JxXK_K8U{o*STHeLK$knC%++||NK#uc zy^L`DYL%q=i)v+h@bL?-xQ(+fFbOKStqfvD3Aw!VJ&AzrhA_Bl0t)66 zQ6H&#lqb1Kf?EQQu9)@`6OMs9_Q^MKECV$VNfrwcLL_tK_!w50xc-5BI_;&~^Y0H+ zM4hhILiQ3q&=4>s=lvZ0E;J35r&R#MZ}i{^-(a#;7KDE0JmH^j3Uv$R{SI$oQ+jM- z1zHP^Rlezk4C|f+Mg%E@Gyv1V3;6?vFm1Yogc3a>J_3YI)%nHkcWXKcgify zb9bq3K3puYUQ-Y|!>wPvhdcriR)TddfWleQE~eKXFi;1w{`fNXW4os6!A`SWGfNN5 zbX6$zXt4`&+(1dPmZ0&@c%44Bt)$)crkroYZK0U8f*LNwT6;L1HfvP#7m`vc6xEWw zh0y4&%7#u2KL=@mj?D~J9_mp`6TZ%~HUFUsAU0s~wu~8iu>yhJIQwKRMLxuYp+QIP zBnh;YSsmMNRLM6opNuBIx|-9g@qX!`W2ooH@khM?XtbKVMgW%j4btZH49*5&Wp4(% zG!%BTXX>o+vH8!B4;??&;h3#v*3~SYxX7rv{lxC2;OpmU;4SamZJ8#iHJdAxWxZ1T zb-Uhs@cD~dbSYi}!wp7PMZ7&OhsF5JPL;&k+RV(nQKbaTbEOvFt6I8DrR_K@ieef! zW3{ab(R!?G-LJ-V`TIh)zb)=iAE#go4p-=*KMl;?Fx&txG$}lpIM=$hKpHgpXHONxZpEw zp&V~*X{{8s9ykl@3nh@v#n#pjX{}^xGc82@h6$|R|8P@w8)f90T67OZ7PQdwNxc-bw+H8UmrAk-6u~jnu7rTb^%)fIhh%+jV@EgCAhr z6>!}$7TXi}xFENgKfk5L)Fw>b+^k%`j%8(u z1GNzo^ew})OPB;ylHd-uEeW^t{_@BSC;1)XXD?ZXTC&B-!5Zp*ICSNH*bNF~4iJGH z%(Zv9H=pDF2ql8@3a9Rvk>am+4eF;n>PTJN$@#{#&B`op6lP&Vin|la0S#iOCPmn+ zNcGr?m)LH;l`7ddS=^gwaU*7V>sF0YsW!6_wxu}x=BTIPf3RR`oMiT{Yh1jij@E^% z&|a9*j>NTRRzKFdTk}{}@(T&HOXG>x(yXG7DseB}*p)cNIos7)&6u8LGMZ~0h7@UA z9U74wCC>m-sd+CJC8~56_Nmu6V8D#?(cWu~j~A}^pB*>K`J5H2?W?SX2ym9h;Uw+a z)Gbt`Rb$(;Eq?P{MlohsMl;!&;kN}-yQ75CTq@w>k?_rfVLh^57_@k^dX4MFr$;f_ zpe+Gm-kpLT@$WT?<)~P?K7Vl0K>5SSP1-bRN34Nh7=iS%GsYW z;Ek2v<*Hp7+Q^*|=Xo{o6eE9b%aF4#rf2`@uGW4HRS|qMbKi=Fk2!xL`gP9hgT%gY zQ76H$7~dPoRbLtR-Scwua5z{ z!UO36x*7cbv7-m>JJ1Tanc4r5$@Yf}N9+|q5z{5s%B3Vc06PNh_lWOx`+Mf7FU!@R zGx^@Ll6CX|7z8#oT9gktfhXf_VaOO{p-2hYXI#Smxnk;dUJbAt_?jb>Ewo>Thb=gi zNCL1PcqMi5OZnJs#Cr%AldYWEM2*W9R9WU5t8;g)s7F@TaOySs4+=qjblkfY(dnY^X3=w1DKNuiVeY5>E z&9Jt`OArnUjJL7_z7`5{)z4y*gU(1~PO(J%aun|%AZ!ME(noP+=)qtf|f5p&n``H+i>eYk@%W!lRn9O#$O z6H#Wx;yaxW>?cUDHrKWf1VI_D7AZR1fBF5%5-h66Ezm+b@K&;F_h^1(y|HN9m~?{U zhJOD1NXL2eS^VZ`K!zc?W!>qtP^}b;Z3$fTC$?OL^KMJ;Onh8uQUwn4%g$FMXQR9RXT>J}3~$^4RSe*d%n)PZ(+#SXvMH3IW0+jU=7v^wd+%Jxb-=eb zYq%?wB{{x%z0r8JzZ_?8&(jEL%6|}QTlHmC^*0{!!*xO=-p0-=e!^K`a%mq} zLIiTaXvtQcO-M2Cbc;Jln0!Yp;|Z>8XCULXKF;P^pp3@d;hLZ)8?TgXWX}- zM-4#XceG?a%4}Vd4#30)H3w{IYvj-44Sg;?&wmq{`6j^Fj~8p@!H-|*bw=X%1`07N zj_g0_8tE|&7zirCMPHql(iAsE@%u2Y#oqGeB*ox9u4nu5Bw^_z&_PfQG#qfi@0`du zV?#v}g=|s<{W|YfOk6{H1F5DnSdWFc^&wXKC)qH>w;fAJ=Rqh9KPzY)veqX_+pEr{ z%D@r*_IrkWi0}5~Y6mKs_t8DCkPhXWr)#z3R0*I|x1|KY>5ftdYPV_-L`UhLf>7ff zVOC$PYIMlp467nFy9OxSI9knZrmQX(2rZ6kj#@>OGK*u8Fw$VC%S-c2!GQ@ zZTR*S{!|h*S~xBWk0qux1ye~N!aYiCPGA(?Yn&Mx)&%$8{X2*~_Le%?EwEcCClpmC z|FOd8SxlE1Et=IR)h!j(542Up@7ONMZW?hOODelCCg{X}4GxUJftR~rxuchK0_|c} zwUYSpduQHJlcs7^qwgK=gwBpNvcKp$*ov3!u`!BtX>#;f_v#+_3Y4d)M=sNq z82P;p!|#9=FkG48+_997*SqYMK!y`#hoQcpqq$y%zKn`mALZS#V{RJq2F04)Z!I2< zc|)_P*`Tk4L4yT4)0Zsz=G!~;J3UuPzTD>i@emWxo90~*O8@u}uO!VYF)>ocXTzwi zb}oRd{XQW26divX_bsblnu8)V7xu@BoMBLGgxy7KMU%{Gh#JuQZnLGjGDCeM&)z-e zBFu13CJrQ~c?W;~%_*ZVsqs5=M>|nZ0zVs!(tE~-fZ3os?`!=H|0=`{$d|-M4lnqw zz1&v(n*^SF0C5xs)jZRoQK4q`3|-F1S+7E+5LERP?&b2!oH>f1l`Ljt)u>tq4-_gA$&rkcvt+urJ=xhA->V!KloO7(k2tw^xyx;%{gejMiV zK~3q-4k}F|;_>UAg?T&KOPqfsl;z>=lBxiApkP;xF{15tC_aeXX+f@bn%K=X+a4h+ z^$Mz%5+e;b1_eHbPNoTK41U#1d-C$jk4r@i5)UmL{E0taLp@*6YV6~k*kR{XRb%qT z`=QiP+v`dN2s5^D18P)7w{qv=+}e_2TRfx1liII4_B$r4pLIfAXbE=CCy0dYG|Lf3 z^#F<#uD?_WRyS;Lof_eU%_N(*^%|e`Q9Y9xyX9aPo_GoO&sIvd z;)P*hv|mHL&^=<@m8ewrM(<<(DTTOmq(YPjQX%xb=j{o%vikk6xoR&>hH$UWbZif4 z_r7N8z-CBy6k@=#Gr|2Xwk1B?M{qdpjrk-wHs7lI@t)w>*}?EN2AOo zr)qS6$`GrrF|M*2jyOsk!xp;_k}3PrI=au|nTBK8J$!wp!}07hm_k*VmRh_lY(<*j>jt(v?I3> z+Vjk&tCi=6_$+5^8vsHAzn^YY=oPs!J$EbL>G=VCL4`?*;yV`K zJsbIH=IN?_9{>X0R#)za?vDAt;YWX49<9nk|Z`I3`VNu1Qvm7>Z%=`oD223r^SO^ad8nyr-KTe1Sn7Rqgf6GG#U= zm`$y6)$L1TJ}qH$i=KQZVYtvZ3VxxLr!L`gIC@NYd#>F=^N&4R8ux+_7m<70r}p!Pz^fyd!jen}=8sI({LO_x zKjXBFaok`nE6-`Vtd{Ea>!R1cS^#uNsGjr z`|E0>12pT;i{{l^&Cr{ZI4_Vxz{QGX$q^Gr0^txHkRr^i@!k;`6C3l!ogvF7E6r;xiV(L* zjFfmK^mG=`!;)b?;lqynHThG>wQfFzJC6lGrCkq`=JqDXaC)7A+Keqan#O@}O1wq>gdg+jp z-BQMh!L+0@L-=iFB8}Iz^fcjQ#r&5YM+V`wC#!ial`IyxXa+@F{pNW74r>aAtetww zVnrP|S*k#7!>*T4VVVme^ahPX>|~%B>z10wk|A6>6iw#EM-yJU)X`kSixwgMh5_W1 z&0^wP=M!6{kR~ak4R95e?H1N4ZzzHQs`@2HNq23 zO&4uGRA`nqF`Limcb1+-=O(;UU#vaf{+3JpUApp-?P(_)H>0=A$+a<-zeF3%Q*8Gw z&-a*S6ETMKZOlXvLw#y-%)zSFX6ARD^?p+qrK+^Bnk}yfzJ6Fecxweo)F#pPWfsFO z!@6P}3b2~*VGL65o)D@R&1qeP^vKmo&oVPSDQ5r4f_L<+#$x!+1m?n}gvzx0iEv&`FyI81 z)mAXx!Ezr9OhEubGY+w=2Z~@$e5MT`95BQlx4P4{Gj7X3M;g2_`OVC@F3D-;g`n$z ze0MQh5@rXo2bUUvvcL^XuXZ{L5Eo!ANDc!NpA@z41dtNr`B;sBPXl-&A0SIfxOTGV zV5?bHJJ~1DL}hQoEUjB1AjuW7J|~EUmcPAH`1bXvA`?dTQW>^nTUl@)xhB=lbt%Lg zc!tS&J`wIR=_G?7P=*roApPM4UbfCm&njsk_B1a#W!_v8RjAw}K)-GTcCcr-ynSZd zdx&gY83(!tujY`+h(=A=R4vBNT)*eA)a~Ej6uV{(IUskw2m=h+gtr;*mmLSW6BW@b ziQ5t2Bnxsr;|qsT%1kFlfZy%HobR)Dc|)Q?{qg17eB?l{RjI3(V!8xu8<<6}I?Iqpf^YMGX}7*P zf@aPcK)?)yFW#5)hTCc_B>3>-hm$P1c2&iD+wn9RP_dQ6@9HX)8_jJECHtXn8zu4f z)}+z&l9tD{o#HvrlF}NJ&f9?98%iB^yp+oWfvRNWb7@+@8J+6#F%3?w%RI<8Q^v#E zn4x!O;h573n7+y$vXi>_e(dgF*6L--JwvFLJ*i)@=pK z9mlt`+u1cbG=HEv#F@6S@=Z&pGwnE5Su*wDXEw|8y0PC9jl4Tp_1Uv#qs1oHD?dMN zer>q8+Ly50`!eg`Zl(6#()XRHlzKGe{8c+IS12ik&v?*G)g~zl_Li0Gh=tj%MS- z1Yd!fbKA&1F!X=+Ts-A%QAo5}?(Y&h%t&7E%b9aB|1Hb-_O{WFjFRv%cg=cnv8a5) zP>8GdxAz=PRaa!F=8B%b1bssIKf3u0rUsgemS4POMW#uEc=PBZoVoimIVoEj0Tzu_ zl9-D%_%Y;G{BnJQ<@0^E{$u_PKO93Im}()wvsr(hbK8>B=+uyvjv!ZnKj@tn6BcGH zzK=|{ggq-a?}hQ0LXAsg3zW-6A6rO4!f3=momE-D-cHRua5X1lhx7&CbFjdrjGYwz z__Ug8EX%Q-mn!~4j0nf(kN2DL4Mt*U@*X@8heL3xrIm5`5ztQRH-Ft%|AZRT;}80A z#$!5X2;XEXU?atcS+~>V-E_DW)mmj%6;b)3iaY7v%XhX)7JI9^58JTY#L#r%_y`e$ zvH+L18P(Vn=}X;r!gLiGwVd!B%2&p6hH$>ADk z&)rUm#GKxh!%;EN9&WGO7{r@0ON?vKd6O-pkbjGZ%I@wm`4%`KbglhNwj3G`v|l_a zsTYfJzU&~??-E{wf@&Sy^g0I`JPv35+oA1bC^Kt6n={QQWzSo8yBxq~jC^W8NT<%f zH48`7sqWDCR2o{&pB3HC|FP$gY*IC&wKKsLV(~n7-t+nPpvWcF%1DltJjMe(NRUf7 zb)y1W&tOwEuG4c{IY-lK39AE=zaT7j4xqj5$B-EH`r_1$*9OfY56%K^PV%u;cplPB zn}$8E;I5ZQo6nz8YX>I(RrAM`8NHKI9gKprj=z365VZjvnr*>MjI+&s!g&Ab%1&e>|{l;%zCu zw%CHB5MUYp;&>pd_;Pt}E3+~Z_<8RRs*L{+rTpRS+IBh**!6A*6z?1N)dTpiL>l&? z7UH_wStIxPO<$(o+v)(HVPy^ut?XncNV;`CP0@?od7wT--ErBGqm+Nw1VRg`=x+g{X?NHfYTMI8g z&_DcpO6@~=SE~}ja{sz>VfeM*>(bdNdAn=;Bzq^#ytTj%XmHMQ%OKQo?ar&8dTz zy;_S=#a=D{$CBtTD%*cbVJ`ny+U*iGx$TO<7NLHR_W5w}>lo5*H-FTiOMqZ@%i51* zwKDg)#d`(Z)sp}FLEeC1xNrHW)wY%J|B9Hho8hhwj^`&IXiWa%`Tpq&{L3%w@=2e4 z+}kJncm`X=CS5<{e$xNC&;IR8{?|A65l94#sj|Uv;@j%`A%8vH|MFdZ>>ug}ypU0$ z^s|2`o$}A}=>OtvZ7J@!f++5&Id;W$bxP06{I&vqzg_-Y#Qr)OP?D2k13Jx!D_5#T>L+kg0*r}((Hj|cGTwYH2u5aXM?dGY-B3S~iVrnLWL zNfmDL`-NBM#p)7v8a0XgGRME>_;0UZ;S%KO=N|%FiMa~@^EZX8;Ou3OC0`Tk9L!UE zKY>}_T(W=r@_#td|Ie>aK|XJx3wu=Telkq^j-mhA<@}dH?2jk&nQ+yGsfB^2Z8@&& z>c46T|GN_o0E0;Jd%hg8f5fNzYnAuky&rSo7`eu*X5qy1?5750TcM)=pX>9V{}-@@ zFcbJKc1-{c1w?r=3jYX=|8af(_wC@fzsx@bIIhYMvaOH4=@*XaJ#zZ**6m+kb(QUD z6cVq?6CdZFwcWoR`#(KV>El~ZJ8P(puH#eGMmO1;@Ul0|OG{Aw8RUHi!yDh-@~-Zc z@|H5H0R{oD3XbO&wh=@D3epxXZJ@MM!Px z+X5ZdHJT-#gFJz5%U~%qO_dtWw+WBE&dmrZ%D_eI$pYsTF_*5_>;1~pYk)2~CVx?I z($T_YIo+(P+=}dW85%>w|GDzAov)|v;)Hf_Q8B8l>Gq$uX<-{AUedGr(w$-wXvgY5 z{Nl7WvEw}sNAdz0L_XGkODLHD&-teH;;;rBN2$4?K)g{daxM#RrF8ii^zm4zE;UZ zl$;u1{~g3+r`DyB!i?=3#0kI=+XEsE2jBy$v)3F9X`2zdk`Z?CyiP|1uqJ4J7$ zeR4dRQMq z>m0a^t%aqAIjsQ)jbl`u(OUYfXdBu@t1V#;5V_bVk6%i$uC5K{K6e1*$~EJ!^1fKU z*bgR`?oE~O<5wu{<7VsuD15W?)0ZwTN3%igE+%jQTRSp+mg zEcX8J0Fm~h>-TTzUp@xBM&5#7balP>I;j0yZtEiu-e{U+HIMjUbJ)(%aN3dHKT+#e zVig_Xe^M!SI6_}=KkOjWDu64JBHg6xaMqTO`b;(7e(|h8A zOD1`wZ%fLqZcAY$y)S9M@E|B&Dv1eS2!&k?jVyX&egT>}-Cvpi{3K}!&<$g`oF7z) z7$-V3jahu%P!it(W+uEL1|cTxVx>nSmQxw{Gp1M++pDgiLRrFvn;{2YbI4#BXvBk5 zMN&W|Q%?78J3-ldh1_ZcaO;@_Y>?&zr#&3d0O40DH0{A}OfEeU0ZvmSsv4P(kfKi} zbghtFiZ_yd@5Luwd+COC2a#r z)PmRE^E!LLz+3v@0U+L2V5nO;9Lanfd^(UJFUHOI>c!maSkB}AFLj5aw+h;CXRBuU zP;HSE4sHiOT?cF!?19)BOm%QhQ(m|K)4OhD4aRM+C6;dKu?XxD)j$)*jcK*HMZnMr zef}jmx-u8Zri%CHNn)t6FYOF~#HL$;Mb2k?#?Ik8lf9wijUjB75&b&7{kI zywIR!BA(X>s!0KkL>VGFJK==@v5wzYbFQ}rcne)mz60>K;uxjFRFbkGbmdf?yF0-IbGsJqA=Hl= zbE!%JESJc-cQ>~7SNbObWh(=z6e`&PzBcrwh0p2TEi4~#D;8QAF2G~#J~0j7%>kJ< zA0Rr6B~q@kW=NewdGw|AUy7}40XAWiK-)EgKV~gobze8kh=3F?4sQQ&A=1Y|R?r>5 ztYjfj);TLcVjsLVQj{rnFrX?|9tOlEF8j#zC&E-e0xyZWK1@+dl7+IjE#=JXrRF(6 zsY$qKF_cfU+M?NH2?TyZbWfuX&g4v!pPVT^l=0E&>yhJqj{hx5cq&QgPmE7-TP?Ky zh&_#Zz~V2_BBn81Y;#dwco5p`Y`HnXkXhh$FsLAzyZof@B!Fsa4Uo@s%p~xm6c}zD zB%6DqH-(N6+2er+cJsOpazT>dShuwLoi?@%`%%iJp7Tx;sB1{X(MeR2fQ42E>yO+) zNnNC)O1T`-nDX@zAW zOhTC2vTE_L;9<17WbS5FxI@REMcWV@8}R#;0k8JU0V8FTi9)Y5ultcn3L_RF9^{{Z zr0%3#%;TC!n)#l`wJ#0Ulhp-)`NifN98v^xSM>P|u*-uM|0creV5wvi^%8Uk?Cn^v zJj;vM(*!KkZRz!^0EDyk;%gaTI>(fWCHtCrz^ue>zAbVDTP~|@nQidGD};Y#uXed!N5>*6h8`EEY@WPpc%PK{p^YzSDsZ2 zX;}nJhK2y3l`v<8&GeMmU;*u6v=5e%cJZvZ%pnOMxnhc_fISb7b!lJnqjiljH$d4{ ztw8UF>}#*|!y>(BY}N>f66sA=3ngch!GH)}GzSM@LjaohP`h2=?#7w{>Sxw(vF2Z< z>C(qHpLQObf1b_qIMl2A9pcbvA@tbqONw&9(wTgjMXD0vjq&sXACKdQY&O_?+BIJQ z!K6e-w?mL^EXbAPMUwcj5kv6)KI379(Pw4Mm;&AT7|~2UQ8Vkf?pPYYniaZaFK@)& z)xME?vE4EZXwK8TQ)e^lok^?^X;fK$9ICATX+RJgJXk;0dr|hvi97$~wy``S?tG_x zs}8a5-jE}^pbrq~Uu%FCgb{^U9WaGXv2jt-y_J^jy<^nY>4WO?iPvjZ;EiG5KR$J1 zqI@H43pT|jC&Lv;ex+{(5^$;6B_zcM5=;+UN@;zoz#pj~G_1P;=+OjZCxBa=6Hpku zVBZB&f+~P)7DZG#*zr^X6q_7AUS0#>Ln+f?v(}l0SmE`bgY_z#n5DXz=6>g>&>Zq_ z3!}}N=xtja%nS0|Cu!;Q=_VKf(v};N(cXRa!Q^cCsNhOJnfmiDKrNA-xQ=BvTc6U4 zJVh)x6cLiM`Wpg1F}pq4t^Agk{I!8t0yZ_7vE$51Gzs?O_Rg{3__W<6eV&&;Zvt+P zY0JsN)ZM8P_7ktt;Y0s1S&6GxJ0dJN7ozNXv{qz{K+jk&^#?I|i5fU7?q^(%_tgWz?_Zmy(n&GM2o~c4sf!a$e z2Hvtsv>bslJ4@;$K< z@Uvl_d#lrfv4W`hZjINLBqNF&0Js&dUZG#9xpwSJ>Nt1 zI-w_rS%7y^$uzCUIAjRU*xI#_VC*X<58rjQtFRmZ@@1T&TF$nX5~$1ls>Kf?9duHF5^<{YpgctY3*at8n@fAw1jp?jt09|z6ZYrw+QdhYl{GQ;( zln3WP{;i%ZIxML@UNQFSj>WTPv&C;Qa`(K831&cVqVB%oq@W(fdzK&~%DCGe%orVo zH$S9p^F-VD#|N2oZ(8fhbYL6PWT)!YkgjX6v9o0+*UqCqvwyQ)Cv>wc8lonyr3Oy519;DfH*yFiIol%7a zdVhWp3rZ{pu(WwvL=@o_0>4Y2185sYPjdfm>11$VV11yMW-x+Vn$Fv>}A3n+zuc=zMri8K|7_$4@mlRu|^UTvmvSF%rJpcWH zt^>fwa8krdJyRmSjC&BPy!Ygxps(Wab+hZm8u~!Dn7(X`@uR|`_v>&2Jizf0aE%S( zZ(rz)W-*Hb`nv%U@q3nWnT@epy@s3^)<3{<~i(wDg{rc|N*>Hh9ieJbO z$#{uTTv&yd{Xf>;IxOmMT^|++ksL%}kOo1N2Bl$WM5GKtx6TVOx;uw% zrMtU3-!=Pu_tyP;&%X9P*E#=<<1o2CYdz2X+@XiS2{O(r>ZueOSpOA*gQ3zHQNvFm-%x;h1wL17`hizP)^w+PPGWIBa}3loMMDKO_uuqu1-g zr4Zn`u)0cg7;CRvr--t`yzCirMDzpRX0#O<3D#%wJ8e&P0W0)l4sOE3+G|ilSvC3o zxFDrUO2LtgQly!EV4{R{P5l&!YJ{_ufz4XYmZEQ>8R`>QLi2Ac)h*1N6NfC(iuH0n zravB>Z%8m=l&nXtiq!=n1VGC#*RxfAq$3BW;=UhFMN?41l?^CblJ2QxBo`UVhV}p- z;?A~;dakYFSGUxdih2PwC2l|b{S7NqUXk45r{Eigg!I+xnjco{EXIoSTuMJ$HZ6lO zQL3JehDzZ=Z`*qhz1r(5Y*t^j)#m!r@*>n&0{!2YDut*0km^H!1c8KF#F@IYNi6o- za2_RIEW4iMNqW!gQOJm#-DzDD5sNxhuJfTPmX!nBI51zB1V7bQ5wFHFIK!90aklO- z#aq`UE55lsU03G}4o+_?_i$M*>u4>v3RBQ1B+}p6Yn?7gO=KhjGr+r146lIHZ())* zFT7wD03LQ=r~iSppq)f^iiNjl7KAC2o#t*IucU>ZIo5Aaf(|{hM3dtM)k?2E;L}Ns zn1^6|>-fx@3ha*>Mm>dSPLK*+FK^TDd$Fa~6bZamZb*oZRLG_L9GF{80u*ZN!{ORu zDR?0(9#?mOWnEV7<8Of<9~Tc-Ke_()LK8mhz&-5=R)SMj&%#AmE;AeW+RmFQ9(gx4 z1B5DSrcD7fuo`N`8vhQW`r?8F(`{H8D2df-{uCU>3hytOPl6IhD<=qZ64;97&*<0p z?9NZ0kdotMN^F`A=w}&^5`9 zZ)*h=#jKE;6h!YDFbh+lt$Gdux~{2p*Wq0>+m;0_L|`u%LTEUQ(&^u)GQH8b4@}%3 zrL=6zBOQ^9RX}BnAh-Xii02nruDamTk-^z{R{^+v-C=jRJRJ5mrjQD)+Nxx1P}Kn~ zp0%1~jlC6<6F@~>Fbc#b9mdV0bES380r6_vs;BLzL#O(u=jkvcgP8p0GDZ$)H?|UN zd#nLx8gKpMg_mWKAtQNAmEG!G8*~>~7wWR#EzYX`b_QMZ=}Wd}F03GIL?n>oqh%^H zeR`-7Xa0TOX)pA;k$2zRfv-~7OvhtTZjv|7f%_`g^I$#QiE0n#vR`IYf-9<~8e*p0 zYhlFtu5vgiBMIMtQ=+-#!)cCYjiJjg&~~**sZKKJsJVd4=JhbGrs!`>4X|;@&>#l; z-l)1P+k|=ucmU0qW$CD4%6inBN73`jPqP7B;PYzk;!_7W$M4eg60Rm0pHx5zE`eDk zo}UxhIv{!ZBebd)n~0*x--d<@fF>$HoKVa@fKbMQlcEC>om$3q7T2}^>M%PgkoRcnrFktiYv zM9=US@_(Y6ZKDmv!K2^ZAG0yh!p~Mt{>KjXuWl@c3)3Y(8auT->@eE?^-nl~jfghT z#4EzG-(;^!DEw;tu-Nei)YTVf>t@P%Q_mGg4py}uZiGrL$d820KfgRvD{l{n;bp+C zFD`YZWMg(TA>Q}K6|qQ{x=#Cn`2?<_Y~6*ecuo^Dv>e>lREH-ZHh4 z^uF(Y4ej@k?Kh=>`rFodqn~d2-D}OiuPJR@s(jGGk0Jd<(WboY%q2r#g z^1iOpDMVt?6N}MWTLZkgBfH?T%+dUB$fy6$d@Mr#=DkZt%2{kk&jGj&qb7|1` zSRj5mU&{_nwV!H57SzR>Z?Spss&^5DTSIE{yQ0-vY404TD#C#k+4<3UZ|Wwfs{sZ= zRn<^7EeAh}XJZ+IAot&vf~U*(pN#Omb>A#$0Gzle@%5dW%cG)ds*RDI{Rvxq@$=uf zGbjRtp>>lE65Aq3ndXDL^243Lvg4QQg>~2~Lojbh)uoSFu30VWRjRF1@dPnR!{91$ z#Y=H2c_)FFQJR+nlRc0tc57a4KLR+dZ`-k1ncIWtfIRs`zF&fX%pUUflpD;-l$LLX zNc2quQKdpRP~p%2`e-nw-G5NT%XpWc#{{+igxyvJld(Xnno};Gi`lH8uwb%<2yCv~ z`I|@$HxJ>1@wPD9CVDctxlwcqx0Bg=XVBBx0pnAqkqVCv@DhVocpT>GoVl!$$xLF+ zyvqsmNYmLFfpC`zB#;OI(8eXeS$wc9SJ89g$4EkD0pt!jJ?O7>;WFzV(#>N2m?Qp+ z(inJiMvBTa0>}^Yh+9zkpWHcz7;d_rC4|3nA1f7PdyJ$Fo;^!@ihSwD(gtr!e7W1d zvWM-G-OfTn3)LP_1>!Nxibk^-m50$L+xf2-#9Q$7Z&obNYOZLFCtF5@j_~FB7y+xp zr=#TduXl}0b_1=Mcy^n!Q)Nlb6u93eaa)#>3SF=d7cNd|mUEBQ>~*9m65YfCj0dL2 zouV1f*TvTfAJ!5lkhJ~mD>gB8Jm@DrTgh(qyF|JHS6!XWSM%iBex3hOmLxqhp3xbr zDERgtLr#@_%mkZ`M_Y~9tT?IrNGw^yy5*h)(2YD>VYulee&~-V0E=LN%(|^7im{x z0cKAja)+R_s^qm@LL+cynR8of0FW=N4C%#ksINwKb_L8F=a3mykbX)LA>SFwW$e_= zVPMM&JvTd~-(DWGPEyu<-!e;<4_bOD3IF=uk}q}oTF*jODDT0U6*2+nxCPK4o8t*v zdH)&9;ZN{;NEdI08cI z>5?}e%K9O+qb=o;F1*DS7}i?ladJAINY=zjcGLFI}3^kFB;CWHba%hDjw+CR+BV zPJ4SyuUUe*6PTOO9D_Q}?A15-0bdHit9jbGp@6k19X~;h$j85sa8GVG~oY5X}r0Gs$W-DW(KfZ81oRF~tH(+K;miSC*Uo9le{f%ILW z`|BM{1WN7HehFI=7S1Eze{+$Bgl}T@0a@1)Boo&1Zt9Lz z!)p&iVkAgHLx3=!xK~sAS*7Fl7EnpgAVMj(fkhe9wZ-rlzkrerhyY2VU4toJJks+u zCQZ4%INfjJEt_;ua|A%)_}0tI^eHf&907_wQwuQUZQ#|Nv>(QmyG8g=4rh}GtOr6e z{DG$)Lb^yq@kClVWD^XF68M3&hiDiO>Y(=v&b=q&ds}L@YSl$Wi)7%P#2FQA_ z=!#(%nUGHez=J&)-tOZyV0%BK^uy*9zl76m#OQ?-beq81AJnTf@DLdhZTQoMfNvL0 ze)f?Qv+)|>Q!xLl?APD!An4bjdZ#;0`1qX{jUp&n#79VlfCca|z})V$th+3wr9~Zm zQohx0i1*aYa-!UNK^r`!1vp1`VpoYt@X8V3h~r3nb^Z?&|6ko0a=97lzt}>|BmTPZ ztAeRp*)Or*PyisC34i%;cv$nvjdu8}BDP~a%EO9oZq~q=``i3@815GZY?znK;V9cJ ziF}ux%3<){0*2>W4yRyR}{z{TzWG91m<145%=%qg@q)|%?^nK&tOtZy!2s=R zsGG;N17=LRkP+HKZX_eZO5b=eGuXW2>~Rbj!t;3I20Rx>QP(NRtC= zLC;!lHH3fGhj0Sf?@R}se~_AIZ3>Od=;fiEx$sK!CDHrrFbzDz8^TbH@QQ#hn1DJy znTbsS(2h2AgNiviH3fe7jVV{ECs;w`k0tOA($Akaz^GjK<5>JwY4y~Sb5)tICX~;J zhW=b%uX6FER=uOS^C7E|TIjI6YLQE67Ne;>o%@oS(5cgqOj^k6!*}t&`=Oj%G)Tiv zk=ZB*aIJrN3}86k)Fj=k#Gzx$bt3aPz$Bt1x3A6Ca>u4rEHjKPHE90~o8+E;ao}~8 zT#YJjOKI*H&LOD95; zOWa7};7Np~Z=gT4R8fu>ZzwvUBc3&hsO_{|@Vm;J&HP z(A>6B4)#)?>sPbaRVwtPwAXdw`KV8f2T~%-`ctm{niAAcOMMaD#F%RMq67RLY>DZs z{hPI(4KNRyjTd`U z^7#maty+3v-3{9Ix?f9w40e{5H9 zVMUhZ#d~HN|Go$Nm(Tmh%Pf8p26MkU;jp7lAS{jklgIgwm;9gI&_?$Rw2;{ITI`I* z4*b2a|DRUkfACKv0iEF5Yv+~D$1D+E^c0KV)bW2&vi|kt_18s?6dp>1CZrS)CWgmf zsZueOm`0piDvv_Y?Kf+%y=s&d3UX@FU~9S}5@ss-EJqR&chSY~zE*gxV2ytDe(CJv z#6-ep+ws{c$Aixa`W&(EGwI*gk^KGA_;UmJuiKu87hfJ>6N5=t=d}sCH$oi};qb2? z{r~^_|MnhFgzOg+mD>92L2*XtldaERe*ULlz`y=_p1iv$JGnuR;-SQ5{Buz_;5U`= zzkLh;!JWnnXmNbp6ocoT73TyxS z<$0geGm}ZX{xL>TO_*oG|H<;4f6x~Zi5=I&84AA4gwwp&|NEcEUzn=zXP(B4VRr%@ z*?)2w|J%m|#|U#;YRz2ip<5hnjJ|F8LO_g0_Xm{P;aR^~M)?Y_UxDn;UkD3Q4i0Xt zlRlIGY#Do2gb5GQPnFlJ5x13VTXYGw{Gki`^NIgQx8M1DXf@Q668}`t#*+M}mGxb0 zW+lxsyJxZTpJ2kM+arOmYMhUA7x^DK{mXZ5e1cZ|(zvNtFGJz4CtZ@fDeG;Ik_~P9 zKcO~1c?+(x>2+dY3!U9Bs?hkqU%ujB3J7;FFs4rL;ly$M7%|@vj&S>zpYI>N?Z3TY z3`dKr94$(We_F(zsbTUbuj1eS?Z0}!Nqqe@Bh>itW+dkS#XIZ*?~wjpdvf=444Z$u z+W(UW1b-HOwSi^Wo3t4Bi@+LWKC%Nd@r8sc058>^xOY_Uxj!|zW5TW zRat*3fwS;WSB-WqJ(9u9tQs9h0r7c-;x~$b_zgGNxeZ>0BaHait;fwKJn7p-? z8*ig*(!~$jE07ftt)}gXKFPn0V-Gm8xYn8$6)YB`2Ffg*C&LEmhFvF3%j;Rxpr>+x ztGVoExLoBf?K|EZPL=4aga>ZD@u<&AuAT4P@0u}fr{k||AyO->zsL7qYS+HL+o0WR z3MS!1bOYmXi;PI6j)(~@_sd_QyY%G%hdL25D0neERI)tk_H6`-xdJ}x7;|x-Xs+pS z?iOhG9FYWHB>x#udUZ9Vz6}BO?kA8XPGCw8Oav>N)2p&&x7H1bnf~aVm&2zvNP+RZ6ygJ{W1g*)^hy`*W zpjC7MK4qdBz<|WafV1*Lpb1Ftt79$d;wYiWJF7);rJN^0XadLL?}IB5=Oe5XFvLyU zR~0A7xvXm^cWy{l-UMQ*m;})Kt~p@xDk!;~r9)$3XHZ5p;2l|V6vL$rXvnP431o*p zw*5<4tA^nk9W?=4Afj_$tKiav-Mn7i!!FcY{;9+dYr&dbMTTRmA9#<>*5xY!)YS@TQkMOf!WipD$bwH5r z-7FqVIlN0a`CmK#7j;ak0g%xVPM*332DlGi74N_RdjLs3D&%4lR<{{aHL3vEDr>qW zaJ#_8!0_LH#(%Q~fLw;poq3(<zQhuBNRSnB7@gD%9GMkuP1930T!BuGNcCY7Ask{`dM-c#_b# zKUJdqn|V?5OfdHpX3@GmkkfV=*l$I@!Rjj4P7CJ3Dxw;G|6py$H!8Zc+tGAiZ`{Sr zKKBR{aO4R=BAx{{=k=IIj4YwZHImvcUJAv1KyJTN*vXP@N6r}nf?2z8$@!inG%2K1 zhLBJKANUPz9|HV!Ft^8%BtQmf@bA>4&S$+mP6o<^V`TE9Ex?K857WFCW$VYV#+QPA zoEDf1)g8KqaP%-;mitkB_?i>E^e+Bh>WeXQveY;5a!B@22`PvEGe{Fn>J<2{z5Cy2 zw5HT<1LT|a7;p$Mc9C2#jp=@1GI?B}CEx~yK6ye6R*6Y=u+2viNH(#yHXk?7dbC+Q zYtK?^>FLGLF)xlQNuG|`2LPN7IohoqUM=oiD6?Fe)EN3$Bn8~?ohY|4m+2IAi`DM@ zLvj2B0)EP!9aCsIfR{dwirjxz8G-Zrmj;Kj@XY!4L#KJKeMS=EV#~T}HG@dp3!H@g zsscT!$}n2LTX&#T6HfE1I#Kli*8iconm^ZAYyy+A9&y)_(c^@f zP8I4TA3RYyMv!`gr(NH9 z%*~it&EvNz{`MV3jq`R;WaFxku#}zLBTWvYm8t|g60ZxY@C@8PV*6&7LiY#|9$w|dH<>Q3( z!^8!!^^&)mwLm5FKis6@GQ`s|$%wSUfPw7OPreBh&jmzWK;SVZs8`nSi1it$VydX= zjJpiKon%5-)>^$gOXzsvmYS0ZPV71~`7Ut^OGgz!pCglYy67&-XSfL&%uRq|WMa{T z%MBMTzF@RJI%1&O)TdY2(yOxx)iRt3!0zC6g$m7dytx}MOrrFCR)zgC9IQo-oU=1m z@K-)ZP`#TK-_bf|Pk}|};CDN_2b3sEFLdpzPTnbq9hlT#8#bE9)?_?U^|4WbR6q+WldzYuoUL?(0T`X3>N46YgU|2%L(>R+uhG zb6ke?hQP6T-1)jr<)D{J#aNFeq@up0mj`-t4D)b*K2?! z&s0g2^f1xx$GCACd72(m=VhPRuv34(`Rqut`_(LkTX{0j5d<#!(uNk0D}|mcMpI7S zktt?9C1FUm=CXb)A*>RvbLUnEyChded5*z%h4-v(1T%1Kk4)v8cG*WdfW6@xg1E(e9WFf`(0A*QeG+2paURB6uRdcZ{-5i`Pt6Rb1iOwpsrmRzmcgfVciILFBgX0?pe3oSuVULn16A9s;ka`MbTTnJ zW#yi;EeRsk^a18b_eiUstD!cO=aJ4A-{VymN3udq!vXQ^sHwEyHn__j+y} z<~i!oo7O@?iywNcc1zBm;R$v}Y` z4y1?J6QJUO%pI&|ZKL&H+H~4mpKm#TSF`_x71p!RPB@8*uTFpio%7UT=uek^Rd#)q zb?(fv4m{*VftF$3J6e`&bku&c(s80HS;x+cJ7Q&C2qc|Bl(LmTJ{AW^F){&71xS6}0^+m7Y!cTcq;>-~rP7$ET@twMTvY*Du$CI%OTZ+n09UfW2_-11c0z>% zMn}d=OqJVVoE4mEd_`y06tkQ~)tq8<)~gd0Mdz)sD}o-|Sui4Bz`&;xUDNvg1)=DDh+`heXAMz(8z2KXJG8S$fW^7q zn!SB?<%$j~9V>mwb0O>@tCF2t`F;Dk40BoM5X8j1*Bg?U0RDwD%E$LtG4RM%&i5!M z4~LbxIxdhzMfa=yN+JwSI$;!m%rn=TFb^bUGv4@kHz!XrCX!tw%c}r! z^5Z7ZvUx=pKdBFjZG2P(G)x+I?=FUtuvmjq%2;1ro8qhO&#=|OEa#@V=}jwXHKj-O ziWY+%q^sJ89{R4q({NQ`)rJ{h%6iyq(0dEjJ1*|t-T7N<4B4umEXcB%>*Fq3o}nuJ ztOKi!rWn8Y9_UR>BQM(D;>omc^F+Ix@1(k>C7J@3v9akR{0NOPZ_r^1c7#?wXWcC+ zZ3H{J_EpefJS$TN%oTkLxUU-B#dnhjZAcxblh0(|tp~WRE8Jf>i_a5eqDaneul=Y1 zBP7@X_U;j)M~6)8eX2&PnvroIz6(Q+h$M zUMG4fjdfiVF$ysbac4Nr`E&pl8yaOX$wA(@S&^)2eD+lL+G~Lvt8g>F zc6`Jwb?=kV(wG7ab23Sxr>md!>Ruv*h$zo=*C-DC1E4BzurQFpAsIr5mM&MyFVVsNHRpGMsr)#KZ!ly=V0Vpjz@BGAyhV}*qAx%x zuVWU>&Y-uRo|e#O!4_he@Jy|Pr+9?xDT(F~N0W-L5u4I{syqF4&gBc6C6@}JYdYR$ zcjYWtu%F&}F(n|{K8K<<1{;|r-BO*+dfil|JFXLiy0{6>ZJfiP%GM4;XeAJZPF>Z! z|Me!x1lw4~n6|AIok)eMIlk13i*qzdfqv!MaYVzmq`Q^F6l zCKW$+R6VRD#_*62FJN&>y(ZXDQckWk!HhhbP$!`W({mx#tiA9F@6v<<%3ex9e8*aS zQrCVmx~r~+U}wt;%}7kK)ZHir^c&?k4<=vW+r+aUW)<+r9G@p) zN73(I=l1X{I*wAZb!1jzr))apwmYTkfp7A!eZ%WiJ2|NTv{Z--zxqDtkt^dZ)>dI> zcma*thS#7EslsLzs84jiLcOA0LR_J*F)Sm zVsfKfT<(`|*qf-_K;nF=wm#(8rym7@3mUGM7gmrfTDMlJ`4PRmuewZ%?Y0|I0`BZv zBNkO#1x2r%Acb1Z($%$^m-A3WKZp7!x7ffL@M_I5BIZ`ihUzZpuno z>+(g$JuU`(@DDeDNjTR$da&VoaE;F+)=BqVgU>t~PO95QFgCBG~m zGOttZ(MG8_h0G@RdFnvneM1}vq|%#12xy<{MLF66)U^a0i02c4=t(5RNBew{nsfd;RFGQE%UU`;>_c zsfOFm>tc&Lrq2Q=3Y=|!W+DG9$bBRay}_v|q^JZOkr(PV)8YaxC$gIH+uU~uoVwsP8Itr&MO5J22-(G_ z0V&o`XCY5O=NwEe08b_Gj7?)fnzo9Rds>a|RTy*zTC*%tuR@}zo;L$=`B=XR+9D5{ zPen6f4vPX|$eF*`M)(qBWhc6mTD$3)PNMzL?Np-X#;2>0DH`n*oOn-^xw{=W^B>l} z-yW=BUG(Mfr&<9}9(>Q!R;eeD*)L;(`}olUL`5;gY)S2cHdjmq#}p?Fw5R@U^YZc2g%&qYx%TkAZqJ#n_&%mD^YscNR)CJos@P_&iCVMi0e=McRxb}4kU*V95^Fk9 zAGk{w&~4tmq_J*fUrNzR7tF$;?rX-xHqr~+X}WHL`oP9Kz$$PZ21vPP0I`A1NWP8^ zQ%iYjCLCt~;YQTUq(?bmH>}}^u0www!C31~8zWIIJ%!|ex$XJ#y3!upR`N~y#i*lDhd#1i zLC}l8WII`go| z5LyE98v#yDQ)iF&0+*9dpy;_1K?URn?L4t5SsBzMF#e>8v61nlx|R9Uc@3Ni6Vx6g zu4hGD$7QN^hqcK^?EHDM|1NFs^M#5-ncZ{aKj!-P?|T|nM;D4Hi^(Jm`~!;u)RI1{ z+km;w^_+|nTUpI~e#Ozo2uzAj@V`BLfbTaAxQa@2^IoOq{3oixN`Y|f9UrSRFcsL< zO?;T$^{nN6^U6gx%pDuH-tk@Y%l;cWk#kV!-WQ)`e#^9AL@~jaAU0tUqPk8J-YPNg zz*4(NyBo}%q|{#SQCwy=%I9C>hwsj{RiktS==^(+5$F>D&s9TWbjJN0`Ov3piBy%b zPfatcPM0*3`n}wIi|l3<1R9}^F?xpAE@o^~GpwsX_8NB$b+1mAFbYX&vFZG=1sh&K>PJ;!&the453zuSn7 zUnzL>^<+c}3gv7L##YjNPu^=vaJ}myes_zrcVZdVNVWlsah&`7d@EA-pJmgHi%?t{;sp=bVEwAI!x)T$WsqL}-6KmLXq3(r5O zm$LRzYvCijGrI9X-H(bu1e!|IC}tc$eS_u(nkpt5IZ6E(&X4vUvxML!8K9?&y!N)bkwU49A#}1Y5*xa?L5oHuVAv&w zcAuD|xv9j}aIb|5GnaA>VzJqyimTJ}6bb_K`FkKc--cYz_lW+&>ipr~Uqs zo#s0-*FGKJQ%>F3b0#5l)p|GUWAp^gOcU#d=>WC(JS|KY6YavEJ%Ce^9#g!H7){)M zk->3+{3f>eb&jMbCUzKlBRtLq69z^Z^;F1X-S4tPHQrD4?rlnHYG2}|)~)uO3Ct>p z=qE?a7KSwcC9~485ORJcjtAPMl4OUd1T{YvL@rZUXz_xE<*Ss3m}y|~xWv?0MPf8> zQ);P0#I&2b#=D4Omts&3KpqU<;xU}F=j(1|xI^y=J5K!9DscWfL-rKubv{y|Q?uE} zsn*KaM@9SR2X$|Y9;YU0KlnJV7b+;~9QY~r1hD>VL~g`0!pG!TkGsbV^*2F&9j-T- zVQ!1|$Eybx+S)f+bAyBWPh>Sxa6T!UAY@K>!33;vBllr~!mj2`0!p{=D|2+RF%}#_ z;~@46;WimkvA4D)7govTjIBc9CyGZZ-Lt7dELew8XF+LO3pT$V6`APJBxP(kuCv(@h2Uc zJEr*c_VpF(fdrI6x4igoS*9LVnA=FT&}G!^7EmZ$vVCuu@xSsF3Sqy0yfgtOr(!Bg zb$sK+1zL}08v@u#tPOG`HE3|Vd?)j?>ZtUyWF=-O9ZwO@Pde|w5NXAv3#5xUOAC)~ z8X+G2G=ZzmHNM)z+~vIFv=+M|cSRGWpCIGjIMN7zwn}Im3Jn^#*1>6V!c93r=Dhku z!9RXAZ7DB4puSo1LG+6AN}H+u#Iu0bKHMSrDBvhZp`sC%s!6sOah1p+#sB=h(M50r zQL2tDT*RML4uQ*pvAi+K&Z?$`P5L)G>-B$BAf>Q*!3MO~a~Q*(&V zbIPsfa{ulH5MI*tNpfA;$u|wI$o1{II2p5?KoWHLlOhx3q1=m>79Xw{Gho44+_j}XqIna;r379IhvPX$Rdu;iS z%iO*rwVLG~95V6J@qtuHc2*(Gy@p+1lkFlD$COP?-@B#CF2*KZdGg5#1X>FO^9{nue-5wNve21DwgbGnKw zK$Cn6z22LU`Ou~ecZQ?26!(dW_mYknzBUbMy)d7rp-#mI}syvlr0JXlhgD0CT3B|2?ZGtS*N=POt?E`(Ky;sl_omz@($jb>NkD;3LItj5|mU`i-#e))BGkDCe0BoOFO-GdeD zAmU4NQm-=r@Lzr0e_?OfLB7Req zjMD6MrLJF+R3e&MUsT^?h9u1UhnWZDrU*V|If3uaELp)l%B9mAArO>n_${jhF$OfQOa zEZs{YLd}U@kaejgT`ilWb0Azx4Qarn6LQwQ7>k>b@-X7m=48~Xp0IJ>yUTvBXYVe` z3#EqJiwPWlidZx*hCLD^9x90V(#eo`0L;~NmoLPAF01vpL+ zz!D-+2r1$yI~a6{*P?zD>MR$UZ3=bG1Tdf#ymdjSHKwxAVoo6;9CTb6G#1QnkMw}7 z!zp9me%HJ7X8&z?cNh%%EI$szT*4j)2b0s(O-*2+l&$CpFAbBhdOo@|=!1Jovi+0j z?4ScfbI!se)`|gywfH+IlPRaDVP}>xDk)Od0G}dgWsHRzXybGVGKvaA&HB^e)DxQ*}xo+iL1{p)N7w#0SSvkVud=Ov4P|!zt=^<1xTf$jP1q;??OiWG6 zR=5MQc=vp3Jqxf82{7Q_tPY)yDx<<^kWwFV5GO&f=^Ryq+tSVt$ddFs?yoJF3zqoNdg0YcuXq{g8V7rLMZ_ zzN@O3?E#1Rq9)b?ac5Z5L<=}1`=ZoBVpDopm}hX58&>Cnt~V>~`A2&l%EH|}D-*77 z>?pB)r-B+zPCIWC){La;^4g;9btPEh=?E3=EZc&E;QPTq&Cd&RF0-B&1@UHuGWzQE zHOq<7BquCbk|-DSp_=ZO(hk|>a*0aV2=oNwp`7>69482UACa~GD4XKC(tFmq@&tp# zBqVx!+=72uY}hbmR4L7U%HVp3FGcYW4>>J$SFO15hJHM@N8j1gz)E+sZwr zb0j}4sYuLvpnj0dBGRhXV2de0g8NCtZQm<~5nCn(L)zMhI zBD(n(XI>cNCT2CHnN942I!CkM{YJ4i!8g0@DMA0k(-pYbYmaeIs?yGTS(EbKjG=PmHNs@&Hs5UdH64Ss|DMa#VsR*)L(A< zLZsrYQHCKDi&R_wlp!QE1PWAfVobhPzW44!dZ}s)RCVWv4M)q)>+xraPsf0`lI=Xb zd#)!ZwM#O#OTL-T-yCA5q|6jf*JEAhZ}LK&6lP&A@pk;qv2vH&&_xe1y{Lj=QsxV) z0~tQU*)F4qSH!Ebh;Jw1TVehn*?%a&{17F_K6YR1^t`j?Aw zA@0~Sg%Mf414c?^T|~N?iTfp!ejKkVZ{K51@*jaz&Axzi3DMMcvQ#nU95ip2H+^ct zd24)K#Dk*;M$ryGBBe=ftrH5=qJ(h6QY+N;VEoAjrWj2Ad#ZE~x4t&{>#uSTs*kDM zc2}Jfk;AL{UlcqodhZ<+h%W%;N6Ts^Xen6NjGx)g=lY{!Dr#q@)k zR??x-Q9`*T1$OG`?`GLC*moIEHQU0#_{b_JKg`ZYVvK~c2rHHsEw#M7z&}whJ|k(w zKBKe*?*2K11i}7TyAZM_%*(UhIk&6R<=gbk%SIe#w23mG161!H*Mk8YBV3R^WGsnxx|gZEvb|`w$7n;+&~=+S6C~3kf6iq~9qr)Bu;-`nmVtd0R;1p(eV%N_#b%FPJQoKT_45E_MF=Lh!51vd$&L7ISyLM>D52)L`;@ zt7^BOu9JDVrLHZ9%{brNG;i{kgQ+=oR{9K(rCRr2E+yA}1cn_lsnZ)>F}uzg(?B?> z7?V;r&@h5eI5eK}a__ioI`b62-4@O_q>{F_ArO%Qd<6P~NtLPb0-|qKagTGEM+IEx z+&RvO`VPsD&H706_9vM8wzT$LU*?HM=q{U8t)$90>FBq-@FbIoiY{i`90QwE9Pm#} zx^f%5klByE#Bow~Dj0zt9}cJ0K$c9a9&8g~aE*U@|3KaLXx3vI=sX+n&WTUgPxxNx zsOa1p)+iHQ(XK1`tN!`fjc7;J zJ@JbnD8TcD?#7-DUJ%*BM~`H+iH<|d$x!rD_8o8+JuYNyF)v%;B(KtN2DkKDf!_|X z1F%HV^?Pj2KA_E|Jf|NbAOuJ#n?{P`PVe=UWR>RX^KTH`!c&wRGdsofgS=|Q-u)DC zx7}Tw3iCL&{Z#AvOj$oc=g`mG219o3t}dUCU<4_e6ulwiV`_GJ2g)@<`_C6;b~Jc8 znM<$acKVZQ}dhlon&I@*VAF7ky@HA30U*Ol+H@KtarhPu#&()I@tBF=Ieu zanx>#ra+cPp-m;Gntsie_E~o>wiDlFFd_0Gq4%8MhcG+;2G#B~>Z4fIPBS4PX^V_2 zmJEF6*HZJ=?N6Nx189B-+2ZOxCw%>qgdM3Q|DR zmB5xVM;^48LGp|~Pp^wmOT=RzDj2H=N4T>4>Z-wKrgIJAql6lDsyjzKt;}0ePVBkx zimVlo(}?oE)~raz5IvO`yRLWLBQde{gX&QqbceGhlWk4Re`tuE$7OG*)ajTMn?9c; zx{poFXQ{`*8Rh+hgtX5QU?snN+(M?ies=Fe45Ey_tW_3|R^KL8WMQOI(Ng*<_#~+% ziX>YKDr=kf#0cY8ad7%*2b){x=4l=zx%eQ`2F{KjawM?%9-;`-eTOJMaQ@jMI{z(a zGk?)OmkUzhs%|A8n{N}+MyZrzC9Kv0je0|}S5eFn=)NvB@2Xb2i*{V(c((#>o71%z zB)^w%dtttnJ+*gl1Iqo3HVKZslBT0fE_J2%6Vp--V(=?KorPKBr27tx zk+I@TrID5*!eDB5W+P5_{7!Dlbjh(CJZr_sT>ay0{35^G;%|!DmlVPs`2g9*YXPzc z5_GtNyU&yV*rDntWV8X-?vPayhI3o^S<(fA!ix@i+3!xCA=64f9vcS9YYvYE^>xc8 zo_Swm?n%+<@GQSARWA-4f#uvaBp&MH654mKav;z42`qQ_L?=36<;ha!Rep5~lJ*dA zt>0AVEb=s-oiH6s*ImfnCwp*7Rjp-KKv#p(o^JIxX)AqNy)Jz2%t;85H(O2uZSEAC zkmq0xuVZIxU$ha_qsx=NN-|2Cpgj1jgGYIlKumCWz&ZHFpMjaByZR(Kw4unbyIAbo zcyVF!i!=@B@>s=wr2|NGH7-zK6K*egE4rY_{}+<*$?t|Jjk-(bOG3ESgpd8kvdt1@ zzfo@J3YpYGck6Dt@nhb>y2(~U+2ZL8GiD2G9SsgLG&xmVoH;|MQkbcBoqS|GE1YQN$<$??CfDE&h zTfNs|HRYp<$vEdlQ3Vwd60HIZ5I?)vw$>ivs*>{=B#$Kbr5u5C!|hqfMOXPUlJ`~= zgUoaPR`ertGWkQ2(otYy#uMf)5OvN2cq7wqu_Bvv_u@aqMM)CAR8?jEd6iDzL7CHe zuoNg(JO6R7yzhNuCKGL`m{kDPsCeu~JfuHl){jG4@VQXdVvtd;Exnmck~}s)bFwN5 zn$acBxvg`u>buzP)>|x3XP>W%VgFJLBBrr}KORURVW229R+*>nBw`@XLG_dLh@$9o+9 zp@=fynZ4Iud#!VQP5`IKGUU5F&F>l3I&Z!IVo;q|sV0cFvFR6O3H9vYPDxAtau0rf~frK z54Dh0Y}8OPJw3g)cf3`1iPjsTOg+qhid5a=%ev!(D^+KhtfMvCy!QDDrc-b3>_0I~ zK7!&ye=WZIzIB)Alfe9)u-qS|&83T@)+Xi{>q984&ox{dA*b~;rBrM(yuG5Tt;9~e zJk3T#-;lKB(mYQb5*XIQQEO0ct{=r>Ve#QM(@y*3X(^e_!u7`s^Ib6wpH-kNvIDGa zd(a5BhH~-HwGABWb%aa0O+r~7zR`|j_8jG0T70|h@FSvU@J5vr@jN}EHD0XO*Bzco zy}YO-(O?6kMk{6%IO9!HTX*`n{75$zU7t?edTUAe3DWjR!w z)Kq&;9ib?YWG8M{*`;E#s!|<5p2)*aT5@GmIzae@E5@_JV(jbSZYljzAte+^dr_?G z>+%-9B>(4E{uL1Fz87fyM(A-tc-w{gvuiVM>h(tZC-d3`l}kdYn_I?({+hJ66K?@t$BZA z#!!xV#)htqxe&ux=N8#Bnv(5Ne}D#0ngYm-JWS&f4sszIinf4zj@{+;*RP8cUvlei zyT7A0jmvh|6j0OYmTv+JfTbgZK5yrmy|DKA*L)EG^h9Z7V|*Vsbo?Zi+^Sp*kLlgV zh?)fh4|Fo?fadj~H^~eGCYzW^!}E!ysmC2XwbWv|e$QT#TgpInQN` zY*muB$2D|;6RhMd>50d&(wAOWIz~jzP}5pZ}Fl?EE{Qc*t2=9P21-qDA7@*6N1h#6D^k&5MK^id)g2WLo{a zJox38KHkLUn3SzVPHi%%TTrY!s5`mqTtg||7rz2n?)ZV`xR{!)Xg<7GBj9ME^&f$E zwhGXxecdl{g%bTbwraB_sZN?Ta2X;3Q?NXxkD(X(!R=cEP{NP9xHA!A=Vmo;ep?kB zQc@$a0n5CyR^N7TLz*)}b4XqwKqgmnGoqsz(si-5MKfL?p? zb7p+}wdQy$8rY+fu1}6hXH&@Ke6Gx!yxZzuIL1Zqlm%r+Q#SRQ7KPYhhab@LzgyP0 zzwEpD!7f|mhHT+Qw+G%?NNxhz&jU(RNNm_hD5VP76d_50s8{P^^S*Yt=`u?C0hQb1 z@FBj-K92ZpOooZSs+sUGj{R6n8x<6cMQ3@^k0z=Xo>R0Z*rk~^<}Z$DdvJ6kj#sMi z_eDK8wsEo9aSt@fR>6&jOCyzIJG+HTSG0mGM`7DAgd*?+_55b+aPF0=v9_1dB_78U z?N>njRW@l2rMLQfG%~&J_M@cjORtg#*gKloLr1iBGyiA{%cR?pNQj8q&K(i^1LZL+ z*QYUEvckFeyk)N9acHb(!Z2_1^>f9CtER`)B**Q@Gl4tob%rHV_Lg6>@8B&ij*T9A zPLEapI(6~yH5Neb4_EJjW{c@ z8UywqB#mILLL?}ao5VMkbls-?*9@!=<83|d2K+DkBY2g=CY#b`zIs&8qzCu)sfy9) zy_A(MP!kMx4wIHHxH8I>zI!nYRV>!r?PicZ2@T%zc%qC+&Z|= zG7Z0m#S4TzSrkBDb5QaQ4L|6C?)+|TmoZ42=Ez6J2L#O{IhYFrj4b@47id!g=L3?d~u7$l2K>5 z>|^~<{KIS^ESb2^-q*qa_?qKQYIBZl|s)Zi4aeM0~*LM-qgKKWs) z2+F&qNnnZo=2T7~!UqkT6snR{m49^aA<`fs;hB7*SKg=CwnyTc;jQg<=3`_+eZ06K z^v-iWdK!ky_)#3;cI=BHT@X9dfG=d~+KAOIjQNb$r@5+bW+I^vd5$mR`c$Wo=1=NF zt}S5ZuY5~QKWZ-)f(nV0`?u*Ve+;Om-cpzyUr8Uug@{JCb63U-C1EAX?3oM#CAZ$( zd{4juZfx*DjDZ2WyQ$P>%?L&lwX4d!PBE@o=cX>2z}Ha6{p64DN5$?%m|lf>r+KDp z$We*|;}WS_y&yE=ZSzF-vWR8MyJDBb*mg#()LnvhAjWzOS*x!@r|-0Kd7^b!snogl zLTOE{bU`_HRUe6G3oT()r)^31?|kr&;pOyVh}mQdZ{s~-SHVe*y9Mw6=AwAxcF$mH z_~`i<ZPgyc0&e!-BM*_rm;!e9i<4%c~?U6WqlV)-^XrEmwt;2ZvLJMvV zei83nov_zu(eiGHazUMW4@gevY4e*?Ua3tmR8O^pEKd6o9TPNB5(1t-e~g;>oW^vk zIvp7Mdzl?W2ux<;z3vN(?T8Lt4=NTy&sdWMc%BydwggbnL9VhX1!T}Jf0q2>47woF zvdU~$5wXjoezaD;#xD$|fV;buweRK%qF*5aK|JK-KLmK371<4ETysogO^(ayy(N#|1X728F18BCuh$;7J zl>f6dq`N3}Wr03bSubU!Fef4b;xiFABvS#>Ba@AX#0hipK9ANR0Y=21CXRp^6@HC- zmRwfMd)zW2(L>b=fW*WketzKYaV^`O#xgFE{s+ht0=}ST3O{6o%nc!L$%fNVp0OLZ z3q1E6GAX)unT6{sg0e^9zCsulS6LMP}53MNwWci=G#OIqecl!uVsoaN21wzfATuqJa1}*2TY`x-$07ym7*zUO&^DV znef1aB+{)ac(zjT4!5HnXOxLxJ-3HTn6Oca)3q%t+*GKy(SKSROGH`fiYye6snu(wdoW@KppES z1l5PD>8)7!UkGfqn8aBmO{7^TnqoTjl$T(`&32r@Y%~`>+MORA49C*h;_)kIkgHp1rx!6^L^%`D6R+ z;SEq1Xw2l$ExU65D2Es}Rln!E?mE9zr?7iuU9}-7;zAAtG8iw?D25i|%V^7Mdq*4* zggFF{GHu-)Cx8$$4@v<^)1J?2EfZ>Y4${lG(gyiYYoaYQ%yivwI|V)O_MS4snP-52 zCcUC?tjU_yuHwSJsWEyN#c!B(qu{&HHWs)=#tXqbr+|Fx^C8i!aCWeu(%-bwUD$ zjzc#-g{PPJ_%|@j4Aw<=m*z6s-2uW`h|^YaQYB1!C#)Crb}kf3HUY5yS||C3<@-9D zS;H$OlhvBlH2OIL5>5vI<+FWH=ySbOLr-#55RpRbB+}wV^9>Sfcf*=i+e~ZMQeB{4 z_~z=}&#ChWR^27!=m&PS?&kqG{$~{0MQPOV^g@cYw1tA7$NtG+mpad zCQT$jNPS$15}bMRmC@5`*rue&dImDf;;TIxDS+0-+^h+ zmkR;({zAj_( z=P6HW!?SYBQ6rg2yCA^HSF;>S{=VnyTwNWWP*`$kk&pk}Y|GS2KDL<1P~QKen%Clb z)2)b+TekZMsc9AWdezGXPb)9rVn|dItgJk4wFK>0!jVbN{#!x+O zDj4g-C;30%9hXf1i&u_2IN|3(UnX(f{w_w zEQ!U*zSEF$snZI*4{oCbd`6AzeOzrz4ymLMsv}+R+%2E4vv}RGm8WLCNjic$+!v!W zNJHG+*R?7e>3W;5RMVied-z907$Gd$r?H~2{fmu40N+?y&q9Cn5Y;4l`ohzhZ$XfU zQXK!iGj_K7{-t_c!SHH*bud%O^dic-ORXe$_S3mCr751)CeMQB;4x?uAvHTFkd)ne z?M=o%ZmCVAD@~o^ODiOYto3kd;YT8z^YG-7^LxNVeh?D|ZVkVkN=|#P@yvmCY<5JM z9fQ?<%TMew@4WDJw*(PYLg?%Bf`aRi(-(A59M(;!NBs9x3LBe``Ym3op}Ny)+lDVy z+}ch%Qi-=|rcl}gq|0Qv)n++hkJ~=5&@wQ5FzK9HwHV%c2PJ?$g>C;$i<0nT?avQU z$)JDnkG3~x5jAMbrN5~O-$C+NAJG%I;tYt~*2D6PV#@2yFPrnlyP)K-IZ(9Zx|{te z20vVAsT?O0!d%+=L$^M^wT;`ztVxf ze;dq2%aeE?%(jyQ1S1)@OsnwuDI4n z$7R`}Ha^!tmc1rt{NWf$q0Udo{ibqV>EyY1qpEQO#cGnL@k|?Bq}SwHTkDTs&(;Ld z?@%0I-$3Q=sVB}k2NAMg6kYtFuF8(xSkgT>!414kvozUGS94#;MmRs(c3gjTs;}y8 zO(%=+MMQy0fWQlK$XQZmZTZ^~7WmS5sdbb|h=DtHf zpn^}|No?+QI3On})6l(XnrtWgo|0!1pk3_enfR}3TwxUSaS8hn1bPOmNjR^M&U^ib zyYL}i^ES3yQGE0x#Hx&6BqZA9+%Rv%FZZOg_+0#hgKgu<$e&##n5I(Jd=qi(RP1U3Sp*H{Q1C;2G-mYjB!u+jJW?YsN(g-WGTb>vEc=0&(~N=Oli8 ztAAXd%IM(=ULI#3tg8jak&%-16A^?9olouwSDMm7mW&9kl>jCQ_ZaZ5>5m&A9}cu& z^I);u_|a|B8Ctz2{X}@1-Z;|LoM(LKII$yHU`UMdTZ{9@@=uy>luIxxCws>Dt^i$v>BD45*!Fe_?aWsoc0W{bQl~AjlmK@-gx%Mn zjcAFI@#%prP#+S+_3!jM+NOGbI-E1pg$vDzocL~o)kM-IS4)eRdLgpL^2PjjTbB!3$^E75mekO_RGLv{#~J003UiyKpgWGCin zvHIp}73Tz&TU)O7Ek0cYEW{o5?E;Szf7jo@rB1I%j?U2CCzHsZ*J`-9o%_l2KeowU zKT4Tf(!}Dgqc8gVihb!$474BXKGumeNxe$2OpivWk_!G?4TI{>CyyZq%tifg z-O&_oeo3#|_2XFx*AKxdybn5rB_7N}{bifKJt=2@$C%vki+9&~jl5EEksP^yo!O5o zOk*`wq5Hd@rtY`HR;9xGd@(2a-57N-V$9zy6lk8Sy_;u5Ia(KSn>dxyL~nRL&|#CV zye@m))FyMj!2(3v9a`?hyE>o5Dk z6jk&OQmikueJ`LJ>07Rien z*vV*Q-EMaPynOt{ntW_*?Fd{l7}|n!%k*Ue6BlHoxni28iOt^z3^$p=MT$>h=|IU4 z`VAN72`di;PadpE^x76T0mzzY#6yd z=|V~+)5BmT;%SDvl9oQV(C0gVjDkunO9Iztje7_FL(*R|B}CXH+{9!KlmSI>OCY3) zhHbxq8xlYC?RfEqC9!@1m}lPsH|?XvG4%&nt=;JWt0V7s8W@#L6Pq|2GnajtzEvc2 zdz%RT<>Xx%^$mIuyN!qLezkv?sSvQ62D z+9i_4z(K980Wx&{uBpMS2)GIABW;1Ta9}x&emW(T0YA5w2Tx4u`FYfH0{n~)qw)KX zP@&W>KJ7Y$EDTD~+Aa&9&<~>hKrTb^LAM~wAUUWZS}aU6)vA@`vN>+Vz!KXU&yS4u z{BWJ*TpORo3fmgG1t#OJJ!U^Y6YnVV_wm9XuzbuR(|wvbyYxFB-@g%kTQku|^7G*U zKisV&v9$086M`_@$LZ=6RmT!k?=m&r@_u&i?X2NfW z8q&wP4b7R9kv7ni#QpM=Ox-2H(9^LX_T{s}f`y41r(K44lYkh|1r(}&*o~^P_UH81 zk!~uO2T}SNNZ10eqoC_xvD-oO0(~O;PjJ~vPEAEZ2TFQMRXpzPQs(Lx^$AdjAG(wo z>*?*%Xv|~Uxn0s?S@B=4Wqu8H*bXMbmOWGR{aoLqfxK=wSN!EPS)1j9X2qR{t7G58 ztFMGMTe)~fB8}I^9-xibSH$ysh3|~hWRGy^P7`cfL88GuKh$to-F9gera)dpD|ntZ zH3pEm!CM+_{hm-cTesd)#>Tdrocs@|(98@ok)!UArDTe8YJ|XT;SgR_*7)7(iEY8v zX_dic%N6Sh-c@)|gs#12`09a$K68cU6>H(Dld^vlc|rK!dd-Gu1@8!|OIU2YpuI`F zU@)bIogBS~R@uj+)ij<x^ZuYIQZYpYT#w+z2)9>2@(Ge``B2G8Q zfAj4F9V{Ci9J-vRDO;^v^Z_w+LQXof_2UIX?9Y_tF#G}$hGNIEoU><|Uc`klv+cu) zPfMEqN7in8?dR2s9}^7hU|~>+M@{)oxUQ#q$tuw1?oiyv3E9;1x24!y=9cG9*ZS~F z?LJR{{Y`6vZ7f@RY8T424$t%lBS)jbdcG5O#Azg)3ow&qzoF^5U>@H$m>al?2ZDp0 z-LbeCkSVf*G_L$o`)Fmg2kG6!^arfE6H0iQ<>CAIvOguE%IAo8FwX!eJXW?L7=hnM z7mZi&J?y>a42$^JspXgI7TmgTYiP)+)ep#FtlP+CR$mj$F2E*qBqO#jo@cp=QFQ&Z z|1DxR+Rh|Cm&l-PtlCzskV+~|Q{9-)qHg#ly~0F;x3^6wi-IY+r^&!$qYxNmN}I44 z?!mZ>2Xk}J#}LMB9Ck{=0%f5fTcXKZ=NNA7(VKKf4kDZ5LGM)RA5XGf0FEPpA@zA- z^*iKl2a$Kcfie7tutmdD{3T1&(JXZ)XCiBaD}MYW-u78OEcJu zDA31me5(RgF>sGjxzzolU7UeY(#15MRnO}6!C~Y(YwK?uFX*;jhomcU$wzS(?OYCh zq~@D)&4m}7o}J=tAEN`bmrHUM6SKSFE5@~oI?u>m3iP|RI9*(h*+ia%qUe^46KJC%GT?`M5#qvrsEV zc_wV^VH`!RT7olR*^R;DJn~Yw<3XGNQo4%5IL-5;2R@uV!z}(@bQ%nsZTOJh(Qq#mlqOeWQWTfpP*f^gA14b+SAmD zU-!h0t#70IZYV8`@Zoq2vux+qwcC?$oTv}dC6Z-#zv10#RnF>-(gbSj_sB$E0E{hiVpzO zry|o&t{6qG8*`Nu&ANb5hXQ@Iq-p_w!SA7VK_G&I?pnQDhTQU)uMHmp)* zzyCMuJ2bZa zp9O&W4FiVH(dg9ZcaVO9riU(}dKm3R$RgLe(0h#uTKn$g82pa_jruoAN+$gpm!oX> zxi#=yvMsDT|F$_%l8cfape$Tyd9*yiE4CiYdV=DWyhD|{uO2^lBKJXJq8cOZY1(Hb zhY=fVjP@@85MkJ>`vCcIK=nS9_N<;&tHaIVJ-&pWlf8yP)0u9TRT7 zYy&)Qt%1WgaI(67mz$=8AQwGfn_3w)8d0nT?uqLBE(bDPgyuU~Z+~G%$^Vp*;s4L5 zoY^Bx>-wwsNHxs6??zbRz^e2F2*ps)tImf2CegT-e*XCZChB3>l)P8>fzfj{%JM>g zdib+6&RD7WP!mO05biJuTFitidg0XnwC0APXrebGPz9`e=mg;nzz&jZa2P-t`2l?^ z@Chr**ZUX&Ndt~TO@FAU9%jZs@@?~d8!?c8iv7>bdbL+FeRyYGa zcx}s>nfCwsdH;4dSe9*|hU#gnBK-1Aa_?7cJ#+uBJ@i*t_}5ne!|oKQW~PC=`I?a9 z)*9*#@k3#Hyx4H&=K4guVo-rShO`ic2nOX3!EVgoIm$^No7k2!P;6u6csMNIyJ*}X zH0G{MiVnsqUcgzjX1-f8gaioT!l>;7^Q+1dwvp^B0Va5l_T+AT^=pb!|V$4iwcvKElh3z{@& zgXHhm1JV3+xXZzk>d6_M&*f=aqowG}8l69s4his&yaKb6o9#4c@%LZf`*y z$?LaPxL%=YZUVeTxy}!&cS-=Hqhm%JR#bwtdh6m?nx!c#R z$f=UjMu*0N^4-s-pC?(g1>86Gz#xexYu{_${knA94@=U22R15BwEExQ`Qc`RrLXDj zs5t4emHz(A|NU{Nv)tAOo?a-?6bgdRj1%e|R=?pNReJ_#*DFs2<}sZ>aKEQQc69+R zA@-&z4zX?^dk?M4VG$7n*Cv$az;UrXqA+CcEiV$76*tg&91awyq=^BqIvWD?&W&lv zKD7JO8AwqnuvlUtc#%GvCi z_|u)hBdz6&E4cGTari4}u(T8Pm0jTCeq{w68qJC9d2p*B$j2d~(|$P(Xt1qwH$a`l z*5xJW;<}pRG#w>Jx6WC2y3l_OTgwa2>#W-YQ$%;Psb6a)=5aDv`q58SvaeR(jabE^ z(1vV0!WLRyQdo}5rl%8gcV^22J$xrY=AWYr2Y^={REuI9^UP#&URdJigo|H0JAp0} z3J5w8C0D8KVVUFKB4XO_HUl;#>PQ0U<2Rw?4;89O3?xi`t`hC5Dhv9j+k@GPDKjO})cTMEKzs{QRM*hQI_dMe=IJhdt)LN5P<&uK<$m20 zVfE*1q$=?7t$7x!PJlreE4rIA9L?+llMWO>YQ{6W0xL-S?a4BB!PK%53Kk}#?F_3= ztBdvEA1GHGZrk<8beTBUt5}fF~ZvyRSa{0owCMvAz+yH=Xi9Bq#Ep<+UrBWmry{jH|l`MJf*dsfv~sc?M2%>}@`>t}e) zGi+FwV;4&ufCNFOQ}*pqLMm$5XDaPqT-N-)FQgte78HOvEAips4(_s$8GgM6PEM!hB0M!o|Emn(R3t1{^?(Sd)ZwDXP?fY5!Fe7Pya zeo@{-5&sugScny!Aiz7uX^JoU{e9ZM&jQsU%tT(hYpkl9G$J=wO`RcUvedtq+5hE3 zL+t#ghyM*Az0LslEu)|=gI`Mh%|S${$e>+j5?v6{QVSH=^W|Ww?}^8>*pR3u3>|e0 zj()R4JAvybSP91dN&uhLLGEH$(5(`<6W}H8-*e_vSO@HdjngD*S`Py2sK?|978y2R z$^3adeL2pT7V?8?=ie-V*=nKOYHjtbJSTc~9`JaHXHg7r`s`{^Q>!U}D$>s5@BMhv zlf+N7s9cky#+1|Wm?7X6w)N3^{?-(qt~MaOft4#rY{rI}UprO)IZJWk__zLN)2T_{jUN1 zP!=u|?6pTL;#@=xP>-Y=;J~8y-@u`LAE^c4zZr|*xO4&VI-ZpZaL!o)Et)lmSA+(c z9gDNV^zM5;OoZh>n!tHM!%oEkIQXdK`aL+i>fBIa4U`K=@gbwHEgn`3Jr%|>3^CF; zPP#Bql^oA94szuDs^eVcq!l{gbv;Ml zcFIZ*a888}WGMjM@u%BXal1C4s5ZGAY=a}y0VG!D!HTQBDKp~N`w_Oktq*s-ZUB*V z#%Z4Q(+o;kpKzGY!@C;y| zD?tu2?g5TjpZm*cAQ|}d#0k)t1d(viJh7GYRAr4PI|Z&_4(#7cKTZJ$9-0Q2B3yu4R1^xA6xQirb6}wB+j_6lZ#hfw_B_?pMHt9Ol|k z{6TXCdhQOx_FWv?kmXY_yoq;|DkS4E0lM}trg9$eKcz{p1zxb9K3n;sZ8P|mgYTGn zSbuqNd)D6bIg9yFFg4>$jJl3ssX6%APH9w%MFl{1s`xo9kZd{fM{OfE^-^->0}E=> znm472KV3l8v1u2)JfUHXt_N1!%dUCf%kQizn19MhI!ys9Q+VmN74MmRwHi3#`-vcq zfC%~q=&Kjwj3#qEjIt8|3zkXyFDkjCC-BA&nH&RGK=x^(df@SU=aX*~{UQI9bY|lnZ0IiQWHwk66S_BE9w6I(nxs!Ht*`fZhpV6B@0A{=r z3>OQiR;e4BWqC7N{jv79r`E;Ov><2_0y{7an$*v!x}q@>R2R-I{%)zGe{4VuCDs1w z5g4FcWxOTv^Av0vX^$Lh)xsg|`&U@CY);b_AobU;mHG`Y=u+qVuxz@WV>Ps3)eg4y zwzINj2p0$CST|r9e@-#nlBG|6ADiniVajvu0xTe##}B|3AlznHTn5UEhb{b+?b`Jg z-}+3DPcEKl+aBIOR6Ha;M1b+2%~^y%c0~3~Mp~9l7M+Gy;v>dlkqRJwp0K+l+Z-#n zZ<3U)Qd({a2$8nkMtvG#=RM=e*NJ?;&wniawBqO}!SonF$K!xZ@=@nDa>X&}g6ysg zUSO&upC+3WKhp3}F{OiyLfG0Nhi|fxW8FBpn}^5>roC>_i8uMWeB~gFWWU*-O`q0% zuW?@Rqbc=dILgk?md1HRSuu?2n=74AQQV`mejhb^5MfXytj9fIH62sI2mK|{}EAz7`-FIBYxS< zV^qlAL*dkM1`;1*HPWL$FoD#Awa@ffNQzP{J*k<<8ju-7K(v}-Bwx~5Ic4h&a=~my z9et3salvwTf%XI+w2aZ~s|%a~`jbWJ3PB|KX{3raXiX+7WT^c4%l+hqiYV`0ZM)>n z%A03$w9Cgp6Z3~kCNP-!EZA!?j33*}@uLNVF{%zErPUuIPXHJcw+Xfo7Ud)8?~Tej zA!?Hdu}Y@9QVh<(%RxOcg_c-2dEZYO;_dtvAVub{+iC2Tm?hECDUcKpcG$~m5Y!&* z%PvVL0uj_C+b$d~5szfD0U@}qC?dWlat{k_3RqTCWA4o}-VnKX?{O$!hSB#j2beor zy|cKsOcK%UvcXqE^#U-n_BRm%m8+?4(;zC*V>0gBgU+lBB*jx*wlfEM*M|ExO+EuSPmV;&f%%w}se zh!vul`O@%olv`6FMjL9S1sc0rW{lB#{FqJE!ME@>`W z0{FOhf`zd$hmHM%?d0BMax%&D%4r<{7gHQbKB?-g4ul1@(R^EltuP3!e#H2J)GT|< zKTG>?la(-EDI~T0gt#^@fU?C0YXZDUR%C}6PA5-G0Sh5g#AF;6vCh*yaRuB_M)dR~ zMA-OCs{}US#-D0sRFA>L7f?voa7L^2Qf%Or1j@x%(Kw`!mk(S{@TteQ(zL_9e{?xB zOn64!M0;(}HElTG1o>c(+0n%1|GHeM6`bU{?%2)pksPfy(9f~@?vcw86;~>_0=a>a z0>5>p8E_eS^L01J3OHKCNzW+p+{);l25t?XcZ>G&3qgqgfgz5?>g~{Lq$x(5K2))t*6>}M z*`bZVq_A5#j1YPXSCcWLbF!5=rR$?ONJhYvTpZ^or3#{jp0O$A@$gO%nkd^)spIFl z{AS{MDt>inW*Jq8|4Hp~D7W89^#-2bl7N^;xgSpF;^(Iyoi#QcJYhN?xA#W}rm%`~qoEG+BbtR))lYY$r9JdJFa1vut}ERQaxw zw#gq~O1;SuZ<8CIfA<%s4fDTR4Ta>`n7OrkBqS?13tU6ef z2=oe*Pi{983Ujph*xA4^{GM;hTh((Fy?@J&e$)5c<<{$G+BWX022X}%wpcRS0%a{j z&J>XZhzI1u-n`?gkjD~_NiAN=6!YhsK}c&1Zj(z8d>Q8r#N|`9e3sdEHw@8rbJdod z6yt&_twmAGBLW81THQbi~(~+4)fYV4=xVYDfxfC=)`I8)7%!#lx_j2O{PmctJ;!Xkj?xqp*7N%r;HQ@8hki#%vE7OBhPw~jWdO%c9IC=6(nw1bvzlxlezL{ydT6FHz8^((EpfiQd;&%u$AjOi2*|w9 z>5@LzUq#c2l2DB73`@YgD{dryaE~5I3CHxVeGjyW&ITk|(p^4tjj8XX9Q_$e zz`&jBZV=R1Z~B%UZ6?0Rl=K~3EQ2W^?^zEyaNY|LY5wIAYyfd?xSfH9E=h^rcRx3I zp%Y$;gC51F%#c6_3Ja;}7_d8BpY?)RWji2a+V;v@+tIuVuHj+hwo!)+MJq=eiP3ap zuvWvobA0m#k5>yWIx)ou-!=6 zHQ__7rUsl$LV2pvpf^N+e3z6`8Y$kfrxxZaB`iEKhb-?Kgp7?m>J$zf8vIeDaBh@} zKxr*qcgvvDMW1fT@-3g^XVGoe9J;*6KMyMR=?;RCZOhgpKbFFGe2RvETab!p&aQNz zY=lIIKcwX;wkDPVOePK77hN&#)oSqU3@}48;nwTA!#)1TzN&q_mci4gkF zTVH1}MR7Qt4`li0?9%FF>*j*OxzQ75KB?nOc+3-vHVLGQt-(8fYTk=@$|(AtchS4N zsi;K+ZHOF#W0h>&Dg2P|9>@E*9w+DsD&f3t_JCTzV-dFcBHYJtJs(xvUMR+Am4P(* zsw%jRtJr|Qcu%(C{#wLmoGX$aIZ-3gOid>>-z@%ZmQw z2SI9;o{_tU{F@Ius=Ft)XacT3i%U*t_rX~*@7W#{jwLJK=>1Nw|3T-Uta7%7fyC(Q zaOG6~CTeQ9)H;nJ8y(>wV)4YWt7((ZL%=E=%W#E$NB!qc6 z$U%DJ7C8TDIhdH<)z2kl=9aTg?r#5aw2yfmGU{4LE}8MpK!FO|OFxkw7YeHd_Zrtv~%M1-Y9FjZ`Q z{P7Z?-0Vh12j1yV+^3Yii^M$6ow?EJ$5;CFbqhFlyXmrdp5k7To& z@%VI9N)+f)WTvFK<$%=o%g3E%;YA#&nt-75R{7U0zZjieu-GxB3H*!A4C8nC!Us&( zcrj-PI};Egh`U!U_pCVYJ^g*iF;i)1zyAC^v(RluHjk$F**)x$CKLL;XTweL>`KItnJ?2nG%^Ktt);6+;6w2iw_(kw=?k@#xPF}pD^;6D zawOd*!O+lfXjN))NUp_-t5&E+eFu+jd?U7z9TVMi!uP*nK{N{vw`(kA2=EUU;!NpG z-n{4$q|U^L^IfjH;c5(GA4((L;!E~%tu`U_U*}bRu2>#O*9ZN<{390Vn@_C4ZWw7? zJ>Eq@mj_}@WMe!2hQ{usGkX0ydyXs2T38oVfe1+?wnG2};Aepu-Qh^b)Ny{&H|EEy zGQZNQxxFOJ_#4xah&FrN>Yf#>;3ko@qH+_FsU7Bg9K;3#r~j#~PSGPlsZ@Rp-MUO7 z7wk#UbG(}Lc54<)5%~O4h^47?p*Qb4PRVH8>a!s~k;V7|V>&%iY!@m^%`y1N0MV}_ z{SCPb{qdOgwfibwMGi6RPlis`9P!;XSoMSD5)Riz&iR$HFhT(-@3;SMTI`hP@{zY-`_bxZ(ipj2_k)ism$_n!0h$Mj@}a#g|x z7@QZ_S%I^{2i7&>Lg0X>obidAtIA~{JXhgUWeOPw(vYT#j1f;3Ys=GHZtjb!3e#bL zzU%|v;JakFUyeVD;q%y3MS3uVB+cEAtcAtu?dkchx?rLwQc`F@jeUz0#UlBLEimMZ zWU-4*X=*@OtX_&Gn4RB}9>k zY&pgf#Ykb9yx7U7VCGkegb^EuPNPmcg!uXpWbkWW(iD>KTlrO%1!Wf92ouQN0yO8kQxCs=23a)lIh@#*T0Hq9 zH9g&_ZM~^7l&POM?~-lEsKmZgJLw9y@Ms)qNxj(;mP4NPn;&0N24<&Z24z|lm!A4B zuM=&3^H=TrQkTos^8MizLC>jNpVX|6ikqg_oiPAb4m>6Z!>ia{l+jw*p!uy>Jsr*F&E!At==;9K z+Cb^z#OKSWnt-Done55xlNQo0>}NCv)Y#av59R{Ixo%)B2@=;lj4m{G$ZaW0K;zR5ZTfNu2N?SH9SaD8e-&iY;S| z{Vbf-srHE+7SU1Ze7dAxhNPz{!JjWm^%9n=;bum-(~;{9COgwr%I9<~)nEFt59MkH zgIXYy6O&X-q#gHY_O}RJy7oeI+MSs0$u_UqN4Bp|Et#&%Et1hTo1ea#WDO0UFq>JZ zOY$M|2uDz|j?y=#Aq<6(m1_Z&PVgKGDRh-8F*8@zuLQ7V=;!+!tXWpIvvRGDfw$W^ zJV<<|N#(vVcOUvh#UE@i48j3CJ$81&Pb{<-&X^ToD!4N6WHi;hn&OSDR-iAxd54l_ z>$%Kpcl=hRhL6XOZ|pdvLd6X425I_97!Af`0XEH zV?n%$d6f2a?_78C0JdV|FV~k0laHS`*ll9)$b?cS%s~9pFu19PskFu zGz{k`m1UDa*=16_d}(f zm1?M9(lOp@bWt+k2)rvX?X%7(Y!Z09y7lffz=c$hA0uh)r)(Sl8(Mukf*NlmF0$nk3`$trDqLA+iDxES)3VF?mEss=?eAqjZ{n2c=HDt0{*A7 zS1*WGzH-^QkYkCjM4%KFpyxfk$&-rF__KotFYtp4^VhJ9D>NpAo0=jOyXGjR%P)27 z={UTxlKvYA|4-WM)MwULhEDCGrc;SN0`t9*juFcg8>ILHTPK*vbSt_=noOPZ6iR|m zgxI&YGMY;6VPo+E&1O)|Bbt>7OU=Cv^T zwpGcai>Pm9>hjAJ|LZ#buiN|o?5gx-hFhJEpf2~jBr|I9KCO|1{~j=6ZA@dm@^Sv9 zc<^X2h&ZyNStp-0+jI;TCH-Rpv`dqm=UJZ)hFUdQ2Kn|2!^eo3g4|EGy}V%4%uinH zK=i;esI@SVrFOo@hrmCzZsEWS6@Kk5-}Ges9qq@50w{y6u#dN$p5kJ3W4Jnh@2Dbn z+i!z@yx&y1x29zUn%|H^E1vOXB}S*;|K2*{=PQ_mPra-)!w~ zrigD^d3ClZDoWJ-wMHTE9a;?Q&{?=OF-9U@wtOFRq0q&oh>b)V^3yBO@1FuLz$Itu@NNSY1R{lCWL-b++IgQ|LgKXr?e)Nsy_UhV!xIFWA z)brJQjqp~^Xs=jC*=hey>V=PBSg@1iSU=z6kD|Pd#_ZLv(scZS;`WP62 zTK}Hn;S(0Nw)=74_mAKF_cF~|3lEbTjftkM-I}Vq%^gOAEtk3qIDvU3)dF)G+tp6S zL9EXCwbds^!U=wqW+IW#`|DMNqF7ayxNvQlZBS{CnYKUy8)u<{$ly5&>5PfS{uLVee`QBlG&_=_im@D`X1=( zPhX1+=?)5JhUL6^Z=It_r)mRAu3ncmPHuH3BW6?FX0fDdF-U9cez{ENSmkaO$K9cR zs+lw9IyO0xJ5)crnkM*)$;!$|>BR@;B9Fmf+XJJZ;+X1)`I=w0_%R1%a+lRAjagOK z??-j4$2#CncxqpG28UyXQR^d-3%fUTeF2g$Z1r&SK*)-os&rCMfSL^6Ws4Py3&d&W!z7iuJ(tv%Mv*I`H!AAV66a# zmN)q+th_V|&rYhd1`N$&I{X1xVZ5zBxIb%kd|mq8n#K?>wF7MajfBl@4j#HoUT$~) z1Fy;BTzfeK<}PGdbt!CST4|AV zzp~PNy>WK9u`*g6A1fHrE-bzwxfg!o55|EZT`7HnaMKuQ$_!AdN&0tVf0ttd0)*(5?Z%{h}Rw!&<{Mu3zK)%Sd<--EZp2U4@E&52yM}1H(!%Sgve1Hz9tyQ z7&IM7-FgP3-ZGhG@}?qX<|4muPkXX@eLR>_J5F}wdOaISk+|Sch3?7VX}>mmbIZ8N z_ph634d{#TUsSI^s(V|a2y<>ml?RC&lSv0^Hbl)d-%Qvk;+_8I?Z0G5xS7T=iR5?7 zgr242J#cD9OWtC~9%oT!dSwxTHBLSxnqOi-SZ82r6hH#ftf>-P(M$%WObKkuZ^US| zyy=Q;>>V!owqaVW{S(0Mr(h|yqUD`@9L#2X-_+tcA7)RT{V1%P={k2m{Fp!zoh!~5jnwS6-K6}v$pTq{WLMlw@ zmGFjifrlTYeer8BJQ{SFoszcq^9JTD(q_b$#Ae?S<Ff_sib4vB-M< zEtD#J3W7ic4D@YXi|8F!!D1(Ay}o>E`^$J%xNFx6L)-N+D0?7ja_{z;U=FatYb}=F zs$L*-^u*fT0ctzfUm$i!SIZ=s*s7-#ztyuqv~S$h!J_rRz(^|9p-ajtrB#5xxL}l% znC&5tp=VB^;TShqTq+b*6HLn;7YTb}qE`MP0Q91d+FpF*brA$0@*loC35bV^TucY;a!aP5=!{{PFDg7Ucj+Z| zc!TG%Xl6>KuGu||mKwYd!T`0`j`5c7k+}V3KZfGrj{a;Axwh=}+xXt+GtS34t43O(XT^%6J)@!%38`+0ccy{BNLwSPJi8f1*uRI*%fc`Y$jzrf&`a$oVn|65b5z#3d@fR;`DRLB8{8Oo) z=%B0TYlhHs7Hk1Z9>%MHB^Mb&zAMfR4c!&;0YI8J%dL=0_GG;l)eK2DTant|GOo*- z{vosGryVK<&B}YhSRryxA`$^iE57CO#aMXgxo%?^M5!?>3A?7~gIt&b2vulkayv_U z>j>YjaoC%W5=chsO^C)~ycM@y4>;Ow5*~PyBx=9)Elai-nRs=i!QvatRR+wI&MXSA zQX8V^Ru)kJqC0ht&F10$%Os-f9YL-QDWlBf@zYLEHDiYB@2C@&LBOg1Hbpj?`CwEb zI$p&0>>z>SVJf-nqfE^-p|4ZG89Yta*;OsIh$cl)wf*I@#0hatR%Efem)S(Gvje^e zjAEyGtgX{7{$pCkfLl515IsJAZ=l9BGOCXn&`?Vl7j$rV>?lb{HMR3;jFK6VBEyXqXqZbk@uG<%z-wq8*B(t zJZc94yCW&58O}Wu?A*wHuwwnLTr`HPVEh?_=w4T|@j>k)O`mmi|H=~s;r`ZSa> za^@}n>QnKPKi1(rYOqMDiQNk{ioPlR$5kp8*91g_zv`{$ZDiMHp8$4@JIJWqgUOvV zS)e$frNCQ2Qv12sc0$O4@=s*2V(RU+vC_ORk13hzXiL+b`a0qmxAPSK%I8&=;?eVR zM=nGQ)4nX(C5n54V{`S(O7?U5sCh(_|4Az&uc1FsqQ#*-OdBwS`G(2GxIyf;81bPW zK*+SY9qP%*-Wh;>toThN=oX&*BCwWoq|7-7CX4)x4S?|bbkB5)mHGtNjGCo%NtLqv z5WLH^`*nbliGI|Eu!&|dVEMT0(RiLEaO=s~_!p~i<)h2AtKdP1FGYf-PALO}^)T3Y zpLB$v6av+=K`NuUCOfwzybe}XQUtS0?Jx;Twx=&*=TvCgeLj|JFVlSajvdHEwH}>n zek!P#vCALYKpPWhhMy0DW*6Qjw}^8vsx=M@HdVi#5%l9`He4wDPQngL@w`QP&73k! zcGk2uWd|+EsX5%oJbbtfjHyGRX-fCLoG8ZvDs>FU9W&mbE8=TG*Wm^W`9QCVF%(IY zwW*_y$9UQ;eK8xQX*c1F55oxJcXZc~HvGKl#$0nZ-CK;Vp-6DJj6Lj+ad>WBUT08~ z4V<;~9cf97edpckrldPr=~Tb!(<~W$x(>+4b~w07b|YL7gi(@J2*gCLmhIEWfRmt|Z(7`-)hun5;!7I$kOfW+M*e$?MpY$n)%Iwbg=xTZ8>%np#>B?m>Q{XW z>GjODdb8c6eI}h(lip530>kyu(@-HLNj7wl_-#mxZ||(aC#E%UAJ)VKl)Rs1_ef}d ztQ1(-*_aL(_zUa=ti}CNf*26uY~~3Z8K~Dh)coTt{~KBUW7{y{8HnR7(+Kp{Nh*hj z5X--!{t>TUHD*q%&9*3&t+D&9vx2W`vh2bAXyOr&kf|+(ygV3w{9Y>y%~1~~Hj{^- z1T*mm%1um&!MfPAr^WA}OzPG6kIY<@1kFuYL309ryHUCmgH%I{q2h3#NCIrq+zsGy zwJiMt1Jpibo!SqA4?*(}NX5pQsHU38_gIxu0E_#4Ufwi}-a=q6@98vu??ZdBij;gMYsHOfpJ8+F}0 zkudBA^oq%v1Tgu$*TZ)prDxz__wZ~Zrufu>7aHp*2-w#4WDs|H&EZf0Oo6j|l>Ea> z0y*Yz$&n?w=85iSp3Sw zZx}ct`LX-Bt{BSg-dcMn;U&$KQVtr3h^BzRBdw` zs#%YMcx(dnb0M*y!J8TL#h|&MUJvLx&CifvY%fMukxsMK)%=Ja-jgf~a=>CR;aKmaZ69$1H@RmQgoiK3 zEA$4Yz#?rCXdi{)(L1+M7|RM$mtJ9LSC?LKhirPgznW^hLPQCNsvJ$KfRW6p737Sx zUj^!{zW}qD-ipL**4)#Zr`hit3L*s~o?Ny}JjDPo`&=8w*~O`LG#i$ycTi8KOafK>pXUUMsCsvGndi4 z3qzSP1<4~DD@w!+EMi12983!Crkzuq+XuNW-^`Xp;3;dDIV_|lNxZ1wZB$0|*|Hbz z9tRniy?Ooz_HmCGZ$j#J|NEZ_a7kMoowr>7SJVSE+H$@W0d3@KA6-}aN@)bjI$5rk z4wb1NFA^5Kd2iXt7jH2S@t4{xPvofHqs-_BG3$$we?ccbX=KdXAlkKpmJq^*XUY6y zm}pye?Y+u9X+Woz zk=QdGC6A_KN|I0asWww3?u>X7h`mVBj-CCn)!oWSF8_&7aw3>l@jbTNXYm!$Y5{72-?oW!_6z$AExs-KCDWz|TnSzSd9 z^$kD!d&;gVtOZF&$hG~Z+$@{(!~-fj$q z+Grdg6U4M17{HND*}zeB3lQP6yWtGS}V|Wv+=ENku*gOGtlB zt|hUQq^Sb0Nc~bs@7w`U$kYIdrH=UCkSR62yl23`!2P2#eN<1RG7*_srbIT%5!_f; zijqkGk}FfbaBTVz&v{HU`t}*qXL0F>Sy zlsw3`UpfO)8fj-JC1DsA;J9U8dnLW6OJBzEv`HAb@o3+cl;(ymi$K|DX6Wagp?W~M zM+yA^J)z_F8aX}F7x^t7Zd0Y2T^~|>n5mqCI^~2ZkY`P|GNBZogvNi@T?8e`QHUqx zyQc|Y1q>~L{dnB=6xn^>7|o)HRrGG>*|psar1gsR?>47vdj}XIf7i+&8WUTpZJf9L zFvxCNke*L<^0>gaY)CMwp{W{6Ap4-$1!sA-_XI~4Js;#)aiCCh(dx9FJs8%b(nCwnM-t#44}Z4IGVn6!*<6K{m^&07Rog@!3P_p+Q0znMU?uP5MqeK{ z74i}8GfCl?K2!349a|9kiA(t>6EE&kYtzlgfinCoU}-0QqsX#ID@HKMb(oPv4OHzs z@1>6(J>hkA*7d7sFn+EDBstwTLX?(>-C>e2ze;FNXmWkNTmkt&t(-%M#MMO38;!BGM$ix|6A{0WrVUR?If{7WJ1vmb%TDoALBsP^NZaXiA6Y$HK6H zK_F{Rk@$$VkC&L^Rt`b-zZWIUCz|+TU{CwVLk-_^VVQ~pww`~8t492T(}eF#dr)LQ zR{!8yP65s`^z>AuYQV2zMEg6n3rh|%;Ss@-dfiYpEMj&lP4LCBl@mz}go)G4D8S>1 zOvTL-A`e*Pa=4jprnBylk)BAsb%Xt>low0fu9;y|?y8Txf6IpmZNr-*rtv>dzu$RL zDX#}d7K9s*w3ZaCD6fnbtcCBE^_0TyTo+A-?0@P&4N3?)jw8G@CrYEshq8kqs*Mjn zEvyUP;q0lKjGO$Q zZ`AZkX%?`*T@yL9-GTlU4KD9t+Q1!<6zjRY1N}N2twTGNFR;&t^DE(Nk>f!MFkrE1 z_$q(n-;k-!@Bkq79BYv?lJ$6IMI$geuYYglE_Tvw zay5T-RMl96Dcvzzgu)Vc?y`UOAOkm{V^32aPXbx=Byi%|0^atk9t`I|6EmeDP`_vi z27nV)j@w#*on8eP{8gdrpU6bzW`VDz3&CL}x*w^;VSSSL4CLgvxKFK-~QnEqG7zynR##%gBN;c&0=X=5P z?>q4hL<9yCNrj1c#(j+{h$gvHz51UAM%+vRR;ysX;_YZ>S5#wpL$^SS65yE0V1n9z z(d~{teU%7u6TkZIb#W9~bi~@f7z1WC--f^{U&t zay^j~;`m9wjayjHX0DEIgN8e*=G9*YT_zaq`xHe+(H?;BtBR==Rw8#x7M#XhVMj0n;YpUib$ zJqVCXFutF|E9-y@`|N%O_Fo_*n z|LV$<6)|DYo0#0cVON%7?A6tu0)YR$YcUxDiFWr;5IbpigU5gpJBblzQbiBbDWBWw zDeN&fI+29TNfwjg=pSmkx!mV=hAjT5t2`p=Ff*z>MBlt^^>(SB9~YFq?=1Qfcg<;a zPh0j5V#KGi1gd;W4O{4MCZ`@=cYT;W!=EtHZ&q6fCPAb++YN*1i2M3~>>_A*6HZ@+ z>*iHmjII&hVGK*{fn26)7s zm&<)w8^sKub$M$Cm0B~wjJ($jT(j@plmSKuZXaQaVI;dtVM%6tfX{HUixbGo4dn30 zyFe>>lhk%kTHD{w#g$ZGv2eeOBj=a%IS``Q>T$C_CJSV%etdt%_%p{;Bs~`Lgnc+*KLzqqp$bkF(ZZJ zZh#l%CFxCim0Fwdu}?S!=`e3Br~_Yv6xS^OpR;m1V0*h^g!^p;lASXthw!MBhrjiF7(U0z8P|IQdytdTz(5C$m(>zcWrJ}jhc;8rq>uOCd-05$n=sTfSuHi-_SjFo);p>8ojgMQyDb8(FhHR9upTB;wRTrMf;shV=n*bc@7 zZ+J=^B5f`+z3vl}MSCy5t3KSKxckRJk_NRNYc@4*CBu&~Nq$;;|K4!!T{<{For0gKM}=gYDMM5B67a$i0Yu)8V_f`I0E|H>tFdgL8vY*AK8m zd`7;6!@aCwi~YN+Hy-nCk$zggmjwLB7aLfpnJTk^`Fl+C4UA91@q5|J zuEZCFhJb~xn|MnGp9qGWk1-rNgCczGI$T6cJl%Pz8zowq+xjylhN)^mvc^QFvW*++ z%lQD9(QJ4O5fk@2m;$fA_n6=vDIhbMR3PSiKvXGX)`2=FPg9{0$B3Do3e2Jm3p%(+YGf~ z)L+I`d;!t>U1niG1io<_=M9>Xzs?rLem+|OlSvct3|a2xfr-vo8ykH;{rPuq?{AhQ z*WR+(I{j3$|31rZQ0!O2A#nY!!PE+cHOuLtwZo{Dtd$sIAeU9%p7LLM_2@{+%6-`j zC`hM(E$|%B>pZNwJo=e3)bUeNB@jkk&~UbX)u5FnDS`ZI0!%c>%mvo2=E(h>qWEjA z*BV$jFeVpW)mZa~4t1N$etU^ICsQ{%7r;4j5Qgi?rcL=x%DgQ?1)oUWdEcn`-BnlO z_66}*}3~M zY|)0N_t7cT@$dISP-svFo162I0UuUWEODeb(n1mobC+Df+a-z3IMlV$A}V8 z&emaYTji*s#Rl8;oLi9_3RHM|>yL-m+@B?w3LD+a`N+TeYc|NancV+G(PKp4s%9z0 zq#+4A3?C-`7`Sn4fmw%Bn4~Dg+xrnrj^8=~%Aoqa-3M$W2zwz%n z2y<*>1X0LcJ7A}?`*i)s=M+PiE_RKs*_X-Wr*7bYc|N6;?X}Kz40PJnZX^2db@V@U zgBPd0jlBm1?>iwem~xAhLGpWr!fo8vdk<;g+31#IiHNjmvSFx8wuA1D*%r70AfCcrfEQglPg zJ({QL@fUIT@(pE-QxQ6tzH2OU{ye4e;w#29L1rA6OuR`RDcEesZJa^TVx5C_t1K7K zrQ_@XdcBRE??h%qEw?&Y_5c!C2lnx3l|b#Yx3B)%17=bKI+K?D*_#{c^qpBr*q3sb zyVvW0)S()1r&1s}gL?x-JBfc*GS%8GSJX$P693o&A#z zl|Vt0h!jzWp3S!!_HK7|Kbf|w^DXl@wR-;sR6T}Gj33B(4R_CIU*ev&;pl^(2;N%b z^0IM3ZIcRbrco9U=JApEd=S`)EFKnoUFbCO1%rL>sk*r^I!T#T&k#}UW2I}38!%Xj zuskQ#Ex>{mWJ4_A5L@+0f$*IRGTZ`x9*Sko3D`K$Lu9PFj!gAD2J?5ug%D9FaDYAg zQGB6Ao>XtpN4ao7{&ZPC@G(0l-Tn+{b$w-@7B*>-BTb<2Zy>5?a~c@HR*hR`oYn}D zEL?zUU~hj8I2Ub>x`;7CD?t{5*Hn8Aq3b2UsV>egZa1FBQ)y#>8#P=-6Oz~{nDrh5cZ^fF4p4Y) zAUca@ta+9h&P>bucSug!sI*UZyJJ93`mWRq#J2M2AUM(deY_@vohddD**`$<&k??> zY^eUF!IXsSa#H(W*$whWZL!JjZ#!&z%)mNS z{W(x&4cM|xQMInoRP$whmQy{KNY=eNtlCI7-2@+i43aT?yS&)i8P2&X|8A176f3M;8g>gIsio&R^A+1m{W>huF z7Br1%Ek|(pl^~aCuvX>xcN8ms^W|N5`cgD^Y zZ^HzYmOSCbHj9vS0M}e8K7PCxVR*p}S}D1KAUU$Zll(-jy*8XZoQ@B>A+MT^tF7#B zSCle8x>7Tg8@Tp`6C19G9g)Z!NNr9U#vbpEaf;FoA#x353OUw3bLE85%Vp>GGP8x@ zq%DBgeW1iq*LR8G<4J*TWm7kA;beEgcV>O)ZPaZN$&Lpku#z zno!lK?BIBCBah}A4k3+@P#X_b=gw?|oI8=TnU7gMUROPU-(|F>CC@WxuP~tD7Et+G zD`l1oN@Fmf_R?zo*mx9h#WL3pVU-CHiN-=Gz0qn7BenZ3fDn2^KKR$F=zQwyVg#@J z%3w||+x-?mPeT$!c7~MAfHuK6+%)xi!YE?w^|ooXGR?<2LP^3)+*3-6!h1}YW=(-| zEFt1|Y6PFXes<6gFl6*|jp>uObiq^`QSKx`>6xFj#RA(*Ol6+>yrPPp9RkUKbO$;S z;X1guXVaM8h%hagJl{}ld{y*0ZN6k8+FtqGY7IBpZ>W^7NIloB@W>~WnSFXAEm(6v zqFnX43>%W`cez{4Tf;(&=k>668CAs-^{aQIaSDN&U&f{i=~~CgQ_rXr^gfQpJ%=DW;ig(?2Bnz~L4Gxf2!d?60Lp^@Nno-i!6^8PX5v?Yz-vx-vTAoL(n z|G2bBu+$BV@SVcAAhW!C^|e;xpGtrK6e z>{iCUVtt;s)e9ni@aMttuj2F{GjX{HEW8#>J{G zT?a<3=WNqL=SQ0xG0&LZ%2x)lWh;ZUCSBP|L{Q*8oKiMk>V*IqJe}gq#Z5<>H8VuW z97zaU#9iiQq3={sgrX+XYi7?i?F1LM%JU|?TxO}l0egE@q`+VJW)v>6zCduM^0(qgdtQItDrI#G`z2!9gyo3F-o25BM}iN$O$>5my$AyDg*ap5iFCHF z>Z%ogUjrA_@e{c%=0cX;%e#X9-#K`;6Azdtc(s`BE^IOcb{af@MIF2aln`&$Ywg0m zi83lC`M-q-G8TU@rWcdce2Yb`@E{36pyc564iP2qW_Rk7*j6TDhU7={BciC`4{UzZ z4R?&=Mf6unH==0p<#wLHJ9dI3V63zucJaX!&nsx)a$c6cST-=B-7C^MJX8Ac>96;& zAIHGbGF{urTD<7Dj|yIK$$F(ogdTFh_ghhuGxui6HyrS`M|Q}cabS(yT8x{M*Q-Pj z&kq;%%)w?=M(4~X4Kgiy+K|0x0TNYU4(fNCi-e5nTAqKxbJOHKgtjml$S9uwnZiH@ z_*ip}p=>0lnc}ehr%Uz&jsua=>LUnGVFK@=mZo&87i=HheEDXOUMW|PWBk;nXXRz% zWaz>+pHQ}{Bll!QYIYfiOT=^UYoJ8``QK^ zc>%7qCBOGvBkTFE9wOwLs{_z_tZxYP8uNG{3lRCN$Kts`g2XB}Vc&%DY0fdd{wU34 zH$OxEqx`tCX$$*sIEya{fu4Wa@{`BmyJQ>Y?q_nVzmXaHnhYG4Y|47pu!Q%Hi~9Rt zUom?Xrn|z2%>sCyp>hIWqH#q&V1%oG~p)%Y*A!4Gm*a@{_=&qTZ{-u`2@U~LB}&l$bP>Mq!M7C$k9b?-mR5kBzYKvO@nL%9(M z1bJjKzrZvz^E|f9o$G=LIPmVoCtzB5%*H|-4x#f>tK5i(Gs}R59v!AbisuRm@iYqcF*gPpOodxP0WQtgs6BBcB;>9y;?@xC4TKO<-Ff2GPTqbE z8p@odFKb02w;UWm$!`AjRl45`D>b~9>obbY1I%`e-+s=t_~fprKyc~S%@z?LNANNx ziKZ}bjqtfR=a_%KFf0%JRGsPPoLAGkp_8gZ3bF^Fbmz!*attRm&QV=*0KME;%uY z1HxlQ?xq4cWVZsE)AT!gi z53!noqi~wHvaIkd9^)~pP z^V+WGr=)MvAz7F^vmn4Vzcb*7i_6`b2DR=*kvY_lB4R;>w=W@FT6>J%%8q=52HHg~ zK8uy(H#zo6)%T+!ygn)rFUJ<*3&FiLQvZe`un^n+ZiIXwO;);@e~x5 zDK{0*206xkdSaPh$t|f$dq+Bk?+-x_UY>VT63!5UjqjV`mPG^0FAN-fX!)yWti(&V z28{$TP%HADv5oQrb`?Qe;AsVN?w83r5;;p_`I{&S7~ zzu?I61sba6S*$lRY0iO-13LtiMA;&Sb$X0KI5dZXx=i`XYRFY+rzONV2Q$5jeBwD$ z^Z;h3;!|1<8&>(yEBTIjV`r`b$REZNxEZ=yI}KE}xUXFuvlYq86SaT9(jE+>@S>!I z`Szl@!fgOC)5W;ag*2{CCveizYoGtbsLz6k$S)IK)0O{6wBOS~QhBr759wd{u_2la27thzzhhS~%YM2-nakfcn4p7`Di_$P|14rIt)smPZX(p=_){@b@h8pe%Upq~E z^de>G%8tzVti3v-HM=IV>Fzc@(xoS{er6QDHs-~(;T7+#|3%PpjfZ({dZ@zg_t|LU zFWo%WusbT2Raj@l{m_UXKLKK;Gb{=d40hv$b(9s+0WG$t#1VavWC$vIQ!q22dYUpH zT!EX`LC$&)#_FMHy+;`cSyQ~e3z{3t+8Or;IdqsAg!v(@2sX>CKFQ3QTk5OYV*VX8 z3xnYW1TAoF4Eeg!DG$gV|JxSejFa=uRbou&o_PoR|JVQ*kR2hK;&GioO>)6f zBXPDz5vm~4I_x$}(|PVo1@UkuQdE>(d=-;~{6+AN<>G7WX;g#a!3!!@Te_MkaZG7W zc_Wt)Zi`BDWDBTHxtfH`y-yEHY4uX85#yzv{tN7e5l`wEuk7;Yl5XpZ+T&lFLYxCk zpY4CYuRXprL_tZPPt_>{Xo!c#k(=2-V~{c*%JIu*U@~ZB2#0`9X1crxtlrgcZI(Uj9AKHGTiK}=D2P2B+ zuy1IWd?yc1=6_sUZE`VBJ)Ob7SY@5I-_8+dt5GBKh#y^e(8XC)&J&_~ChBVoJQHth zr}kySjsOqjVD{Je7ikJfwDAFY(&quc(f-4WtviFKM6CA=_t|Ki)A+lGlfeZad7EH6@@{Ylyew(8^rxppNRA5O_%sQu^PM0*rlg$C0tdy8R-q0Rmulnv$bC%{s{=K9nL&l548^?NFFsa9u?ZzL56$r}s7G%$2h#_-=}L`zBHiVs4~x%Kx|0sQYsC1ewPX&80g&8Hw>tD2 zW>WB0kk)D{e2n&`tMFJkD#K3s?WC(kwHS9*?CXBLG$!pB9Ya_$Xm1G9AjPv<9_VaH=NG?o({QbBxn zux#8_)#QfIpD&#b;2T0tB@DK_nR$idW2iwk(tb>t_-Um;^G`|#z=RcF`$~=W&2&ZK z)6ibW)$t(w?;Yd6C_M3`*v5Cl>xjo5FHhAPiSIH$l1mS|PU76G#+><+*r85^-uMOB zUhNN0FNZtJ{&J9NzpSKvq>XH2QK4U+MC-X2M~1*D7KS1zzt7Jx@IB!<@d5`xN@Mc@eGaJKZ7P%YU18WbIOMZwrYN6t3zp=UpP}wu` zU=?6vWXu6zrvdL={i_1C0p|6!f~z!e7Yj!cEcq^x+4h36gX z>pfqIvPKuoboZ(*wREZOKfGUlmtex@8X;w1Pfqzw_4LH_cUO%(&NgopH3hB&EbaRW zWZU05n3#CLH_m}?yNrkp8 zu8X&k-k=M&tFc>}s5TN`8*W4(N~{!r4!&SWT+KW1CDGMCR+#L7KztG*qe~zcJ_8OZ zc7{JDcPX5d3=&^`09o@v{1R?Xh1FZxNz}pNi6bF%ZX+*2iCnLL&RLf`INA|Iw<2@8 zNaX=ckk84(eq+Fv8Bu#+4o()e(2wG$87|5D2BgW$+waNqa0h&UB$qoY8QaYL$ZkdO zn@@!dUz>P#ak6{W8XE?iJX-(Jy z?;F1XX^t2t8R6yiTGS5_Q)YZSmv-zCf9KGsJoD@iz9BYqJbB>J{vT3JF7C{OXj*#M(nU2bos}aWpQ9vBYnz&grWjO56UuTLLk=1^Z@@YJxBm`kY0~ zuce`rj7hysh$kGyxg@iPC<6xoh080{Se4zOj6y-+bLtzc)31nEWZIGV_^aUnVw?6p zZKIMojPoiGm6mV(9EK?R0-1iYaG<1i#KNE^t&YP?+FbojE$d35HRl7tgSx)KXuKWc z7kX*C&xv$+?>^%QMre&Owr;4ez);a}>4`)Q=DYGI!50LB>*;nyyX}muD$$%YF-tKy zNsfaXOJ_zkPJ8wmz6ocOAPjs9q>>(FM`HX~Qx-p_RioJ0?y7A6O(S9-4j$YA<{N)+ z7VZ5X9XIPebz zCF+>(f#EWRS{mTa?I}HE%~yP+Tq6!nb7r=FZ0)jg0wm8%AT z`b+{mVrKQGlRVQyZ6Nr|QS9uM3_qh2y6Tcjd8KhPZblua4 z>K7{LDg-gZ@k+XoMEzJVZ4W-Y_bub*Zg+)qjnhz5JXR(`{H=h#Nh^ZE%(vM{McgYw zRLJ53Z34lJ%Lb%mbF?@|fYl;8OKprVth8@}RPhFhTLPQSU2FWWNup=GFDv2_tm5F( zlfbufc690&P9TLq|H3cYb^=|Ay28}iz?>{i#OiC%9pS1SRm6kk@Avoew~h+LC8z~t zfs@CrO+-CSboFuYcIasKqp`Jsn!pN~%bS<#GpZd!S0K~yAdJEJvX`WL0Z}3PFr6Yu z!tr$v80f}nyc-m4<^IQoL3`t#$-iL?F02FDQWF*3M;0Di-`#@$oJ9V)?*Hp=nB=gu zBYYC_jl_@VdT$h00MvnJXZ+ch-aBoy5iIe%kd;trf%aW|J;%T&FWFRXE?kq!j}m7g zRubuCi--JWgUCjx3#lOzlE2y&S^T~JYkp#G3&sR;B`E7ks7)$%7ZFdvtbpPzkQyd| z*K%7ak5^&hfCue7Pb0%^xd^Q{?%&3E?c2I9wban$vMDJ?Jb}TORBi=F>60JaR+#!J)1^FA#>P_%AWU>YJC^`4<%!`VE?!I( zOHn>FWj}RttU3K)ByMBfaOPljs{|2QnYc#1Ebe|ca1nlESbcB<)o6h@0>*Yv8%U=j zS58#(lGlXpLdN$k~d%ho~Q z$=a9K*^u_9>S5894VoIG9JLEJsK_GeaB;I~3j1%-U{f^yrR%`p3{LN}y;6SjV~Z%C-ktFS|+3S`mg8=1#P<%!_Mz$?%PPXTppj3={}2)7v+`HG+tclSB4}w8wD> zemwvVPGOihU3q>cZ!?{e-X;ph=PR>oq3Qlu&OS9?B=t_ai9X z`(fDs_JOwiAKgW2F?1*S+Dutw;D2OFVlxjAL7So&oR=)Z*6c4;3H- zpbk)*dphj6{3QXoon>sUMv6P$XLlMS9`a^^&8eIO!QeO4meuistS3iy>iNo@buxFW z89Cx};xVm5Q11?&c8W93$7h&HM+kf$>)A0vW}b~)P;_9^YY4EhQ#(`z#Le03}2+b5fP&TCu(K#kp@b}D@yo1if&>Ss?@Jt zJ9DkR{y_&1BIyB@Stg5fjl!HR4F9j2to2JVChFt1C`ZH9#93jhK6(!@DnF|sjQgq| zlTl_)EFoPqGjux#n9b#Aejxbr&hWEmdT}}nT~;wu9o_LxL+cJOm#*l`<;bDH!Ah{R5SqDCG z6zk9<-R0clcZI!)%es5Hh0OuZ@`f2!PT6)nt$xWurG2GV^dybB3f@0`7)g2d>aBgF z79aL{KMUu6P8GIRK+yZM?&Vx_mSBJuc@EEK{n$H0Lan)=aS{>aXPT;B=|VK-Ux`2c zcAc?zB-mYhMCO}8Z?@>zHNNX4;TY|ohR`h5Jqk*EdjLe0H5dL*2_xV8)l0!Y|@Te zsfgxL!n~Kf37|sp+Nj}myGQ>A#VdRJ1tzLOA`MKzi1^nOVL**`b(Ih@IzQ?EO zA>cTDfeD+C;dSr`s9qN+X~JPApM_r7@c|M>RX>hy)=LO)|L#JEw-DC!`Xj*a@*hW{ z6t@;FaMG|`@Y`Z4+3erMM3oa{%k-Xqneqn#99{xBP`An%KkquDy;>43B7uuHv!QO^ zKj>s5TVROde9W*l4xfVWj!H24iHek&f%*ytR3;BXJXuW6uRd((^R!%{L|O{BH}yp% zC%yfU{lO}W=DeK2;sTgo*aZnLGC`ikFBUw`6VGvOr-_MBj*niYE~n0Z##~Pax6F6K zFfcJ3TOD1Dy${^FW*ek7xaF0gO?Hg#{1&-nm?n?JgevW&XdVO7$Gg#lzMl#?ZQ@H9 z?0TQnVl`fo?4x9xXSp;+ZE)zJ7PYE!Ca`#CgYIEJ+B7J=_=>=2(non_22fvo^8rtz z%X{Sa3_~9X2&u4TTLqaS{iJZD_|?Ap(^5%lUk5-J6==n^WN4L!BA*+AaXHp(Jk)OdA)ksnH_p9uWE z#C1-}`ofd|YM3Ikdt0vV(<~+<_&v9ETt2@d7qXWq-mDQW-X|3cHG}`P=a(bbPY(u@1A$>_j#Uuyx;!5<98hM$C4Rj&CFW&eO>2uMu?(2kxKW( z$cU=sv+GmZi+8hMUhlg}(!%IwuS%tIt{EiWt^}sPF%9H{HL7V+-F-wG&jXB&_N#*S zdj*5`vfe>OLdC(wR`+U;R(~hmrq6hzwTJjEQP{%XW= zBB)`WmAwE=2zM+G+<=zW(8uw9^|uaYx8F?RuxO2?kGjE#&v=&ZKWoNIVUu^rzwPq57%vGM)&ulv%Wo}*mwD(&OYy?uqCzHU$ zd|AuT*HyzQP&`PJG{m)&Yl$F}-b|sB(_{7ppf&r@_e^OQI@GX{)T|{x5=frV* zUQAt#4RJqyolK8RWBH!rak$qATET@UMk5Rf13pK7FLkOSdeQrUsp)-MFDq@4)>1?f zw~tH2^oT#aI?T3S55?%4{Zku=E|b&U**G#ScUpVtEV-!M`ix&@pl?wxKjg5`O46!2 zE&1~d`Js1#&T$OE`q>xIQ@sk;_78xeeg3r&SsX7G%3oNLH`n@vx`0Pc7*nqolvkG{ zQ-l2|j@1b;Mn&PmK8X+jvbXlvze2H#YVgO9F^P zg@6T6Cxu0+9nJBkz5n{CPw!^$K>2iF>qA2s=>fxDQ~!k9@8%c3+dsa0P#<0J$uPP2 zwXxY!h5?pmcCIa=R8&;TVF&30i5|h}6>O`?#TMhfip@F;B7Q=mcL6cE){$b}w|y9B zD7LVK%^6CaLt_UST{(H;Wer5{6YVtjCOju#wB~1piU+&~FMLyYTDnk(0T5?15$Z(Z zkGMjdtHYy+BZ+&67ha=NmlJG$8ux0@tz|mX7jEFSJrA1B5HMBa7ZbkJ4&|=ND;vYzkwfI-rqjrrW*sLi~;jF z4XG@?@Aue4hqfHsg+ZK2Bv*pW*&U~A#{&&)RP%Qj_S|m9UI0GI;`Q5DrGAFXdn*43$wHKD%om*E* zNfjm?4zG^W#nIbAxv&gfE{eJDNut7m9|?*@)ZjOyJd4+H&HSY}LyW(e5ZtaYScH69 z1v-Ttmem$Nb-mJ2&>fF{VFe{z_Jf1!+_FPe#P{T)2?a0|iy$Eo?|kVo+6F-p;ISxa zT6ma@>Njg*o*f^Pm>|}f_enzu=8|%O6PRCpP=Fr!RhPOGg^_wSU-sSh%?rGNAp}yy zKa>yx9oC&OzKIj)@gO+N3$hX^fNb`NS~fs_vtW~%N}Lh8+selG9t2yRrV;eMVuQxF zh_aCdooeaZQBOZUN_kPi))hl1)J#?QlShnL_)w52V?w`1X5;nspB-t;U#Lc#Fdzr! zm6?&?t4Z<84HJy}?-`-#EXouxq5oIleJF?Hdi_lc(Q*|=fddbv-0chzAsI8@;6Pcc z42Fjs>xZ=mKa*bFn=kgO0$?)Jdczk@PE=HRXkSTR;G>^(X6K~1$wJyZfIRdqwg!m7 zY-VyJvr$RWci^r@Xi^sv$KTX|BGdTgeHq(HXPUr@e=F(emg30@;CyYk^EUN2?8LkJ1!{C6VTx0nHo^QQUhKzdY)F)Q~KC3R#lF0r$CgY=|R4_^+Q zxR;RuiTiJ!E1y#yT_75Q=`IfXow?hzV*jzFE#D^?=PMcfj7c!e$@BJTHlhr;*E#++ zLKSVSlOS$scR>#Iz2zv@y7cW|DjfVT{wX7pu~iIUeSK^++pYD} zL;rTnga2LT4L~fbS3P(V3t(=DnXczK7*3_;+6zHM=4v9fp*M#hD5%KJ(>IPyx5(3o zOJebVB$)dlN15zWXthsf^L0xQ#3XSNX2rL$q|G|*CuFuOv>sfq_mem`d;*mp)W-if z#krmXm%AIAm!N0!RcSgdBKw!#)>rpb&(P0y160sw?8icX*e4aPJQkfU5UOvU;6}|_ zqy%t1MW#C*>fT*^EoRXZ;TIUFR5s%-NU_@*QDNc2YOwv4);#iE?e4;$RnO?!6xVv- z4GdHEi&}QtUm6EDE%`835g6*U5_ZJAX7W_##}d7o+uDZalUaF9E+C}yAlr$|q33N^ zRSYwi;5E7JAAKsxv~S8OF_h-=qb1RwUalOK-gz}pn}m^C>tc$kpC7|TBqv{oA7kTW;i$Qw$8ia=udTtx!vDKdAcIJLE|WY=_6C0Kb3|0Mwj^` z+BCoTm1!=!$~j$uQDq;$=7v{*(c+VzRq;PQkv0X_viFGiS6pG<#y#Cm2Mcz7nNYn+ zheTvoQ-s7o`>T&!c5ec4y+UV5GHpG{WCltQjDi(PuP=f$Nl-rVy*2OSCD7Pn80Cww z6+CI+`d`5XsTQ&8~bWb#MCw68cZN%R}7c3Q6LcC8}9lHB$6a6F8e8l&! zPD5rwc~%lXIKIM(a>g^H@H?NvMrT_#&~)BU5%dEyqeDU8`J~0Fv}>b-Z&)zxG1I6+ zn{3#Jf`WgH9x}?{jieB%vzxc@gGa{S-1^(AS+D^v*g!|uTez9$1)$e{Q7Dput~5&T zE6snMz#{n27A zQt(Dray-PQT;8pN&u_Ix-6p0HbPQ-tjkJw45OC-YXpVQfcL2@M@n25j0d>IMN|a=X z7TeXy*viUy6_k~}@BUl)TdGJ<8`xAEn$%U9!6#a{cAemVAawt)f3Pv)fy$uXRE$Zr zN7)EK367vWat679m0*UOG2zfce%{vvlFs9jg-k8a48S24|mq(BS4+|`+(p25TTkEZlLEtmd}CwWcL2x~=Xnc^6VO^Ngd z^1CU(k@tPPIZ@&MPnGe&qH8+#Yswgd#irT*;e3Sq*Z&uIOc(fPb9tdVZ|$$M`%hr< z?=Q>hJ_O*AqR}yb!#Y-{5SOjVu@@e5ud%WZcOVT(n<+B_jv&|+=0_8SwKgB$Gy(|j zNelH&0zFc^LFex|IZxI9dczst+578_F?a%-<6XlU-|rNxas2=Liew{r6Gy1(CN!W$WH!y>|oAn=Jx0O|Lz#p9~Kp2hv^T>kw|W!4pDvHo{} z=7f?NH0`smH6`*Z0{C>21ZJaq59y|D#=pba1acy{RtG=`IL z_xV?`N)@Go&IPdwHD8ePmyERYgw}U@gY^uz<55&SXpviClUervor7V4- z`F#Jus1#T^w-pmRu_>2WJ&y2{^7Xykf_=;7Xl%MRHpu)H=nC9kRJ%9=%)#MvDb}X* z3uQIcgD+IoSh0$EiHFMt5E`#yHTqbUlr$~Y*skYkOv1I*U`ioB0k?XzfX6>Ji&0X_(s012ZcFPae=XKWv_705&H4So%sB* z`L$%1D8C1+N}cHkx+#z9v7#y|q+eR8n`vFg-I)5ukL9O2Vn6)yUl%2OqVTcOZoggQ z`$&Cc>>#dEDB-;rrX9$fdh!Hgqb0U<*4O$yWTXO6U0`6sykN1c>r~U#mY;ZnlO2tH_RbC2VFgubQpQ za#P*Zu77`I2Dt`8t}B9#2;Snshk!6?yBtImd>cWQVhzC$u_hEj6225BWY?vY6x7HRgK_VUnSz8q#EY$o~7@S%eCm+BvO#f2V{872j z&Bsqr0LGmoQLNHZLgC-b$GZ=}+DBZ~vo8m-6$7v?6RCg&da(wkQD|c6m51$GnpHsf zIcXYmZ`odYHUNJTNSIT(xjS>g6mEx*+EL60T&V6~z!rnm^eqIP-|375N_K1RODhHB zla+p;w7bLbv}79_n=1(fT6K=Ni5tN3wctx2?g_4J$M9(#)}?PWACpn&5p`j7)@k|a zHH{4o{`=*=hQ~Vk-p3Kc(htM9anOukFgm z+JO-7Hba{~2oQ=)7I(~)MvoDmEi8UCjo!U}`D&_Kq7NH)-zRgmG%{+D?4OXW<}q{PQ%^m{T2N!cVIUAVU|p5(pLR!6`Wj9%Qv^hWm2~|w zKRSXre*o0!l#)e@oetnewp$whC-1P*ULU4NmAKld`GIoZ({0fo<@;I6kqzIt-(LdQ zoc9Jckn;f{;o*#bL(2+j;ULsPh`{6nA!G*1&2BaC`Ulvo>?ucDuvNcqu7m0dJ!K<@ z*g^$iNOS1(FgATrCQ1x0TVC3 z`jzRr8mu7v$JEm{ou8@xInS&&mjoXB4^6rC#wmeqA))q1d-2|c(56&`X-8=#O}n~@ z#q**r&g4qqsXa_VLGf;a`rVDeV0K>2Akac@ zxNjNXqen-vaA4(E{c#7%Zr5Z0{L3$W_}V!leki)N#97jbPn9>C`Q5yE9R;Ae+@ELJ zY4k?0t~G_ZinRZ*mR#($UuP(4t_-xK9YN52n72-^S7`7AmDV}Y0{(~!Vq!RHTVC4q zrv-}lz0fV-lHsy?741k!xZxmk%0c&f`0>TwhX#+Azkfx!3Mr*U%AYV0@_G#CQc4{R zKiR@YaXG$oBPnqj470CZ}IzksAMab7UixB{wj9(&Gimvi8+k^n|2X{=~$ zOq4>Gd4ld|&0=gAsK%lRLN>c4@1{YreBj~(KRRle*2uWqLNYk-h*&%t8To|x*XL5N z;c*9bSk+FdVT;If$j7a6(*%ZRPiUXol3OiRnCjholfNpoq43+4B)DJg3NuCVVTbgE zqoV54_lP;u4&FpVpu_ePgU<`k6utWiDzdSa5p1y~j!d3;^r@7Z`4Xv!P$1i6gft0 z3v7-2m^fGIN8ar}8L3iiYfoVA$q9yq($lrJ-N~Y8sY?mOwOzVxnpTN$`KNJ)9B`k? zSe$+x<{18u66XI@uzM}t9XFvzZaQ|v6jnFNlt5KR%rrS5%G_yE0FHR-A z{`k+-CQcCKeRK9J<) zrE-_nfiH-ATzFosciWV;{(=ZbUw*n(Q{lvKB<;(&8TY6AJgF^8ir9HB*SB99&W4wo zB%{Y_@LeWqgOuS85%1$@z2*HVUJ)Pq%a5ZwQ<*G0dNk<837f-q+#OJQmJE#;`ujQ) zJ^+6Qif)v>p{!#lam7(I+N*fZCtwp0GmJZ9*^NPKQ|!5UcRk-U$ZFXGasbw@&wJ)+ zC=aRmQy+aP3BYBdGE8^Uo2uzN1ydG_KB9aloC>V5!j=nTVgO2P+|*zpPj~k`Xj{&@ zy%xExtdsNX%3#5FbHmzknelTUmYNYg+eCSC9-dkqy{_xlethr?V4=X~S!tXOTJ6XB zS7Np;@;T#{pEv%r(hzSFoXMWSCSvO?1vXykMY&HpDm%mNUF8Cq6(>FxiZ&i9jjIl( zoYLsOG!ApvP#N-WafO!{b6i1D0IuNDqylC3Udb-bZ9_$lKqYoF}Td0X>9qKD|WrZ<^-&VbTfhElo;6Qq-SeJS@ z6uv*L*Biuk49#G3dpUm%t`Wx?@*Lv-d&CwI0XQsUt#!z=ck@N7L%GSbAI=d1Q|peTxUfOATRcoy{OV#RMFc+co29*T~&!qwqxavqu}659O70h;JR z0-pE5UhkTkr4rztWoXy$UK*4ZP zHD8%V1%;;}YZr*5X9hnu&r|GqsM}Dxd}w%3Gje|tl>gr82b4Tslc22Dy2Oh1WEL;~ zh^7&t2e13(+XX+j* z4IM1J)U^(g3h@3+TsrT(?u!y{rVBH=mc@Tn*8MfL7KHy=%K$D>r1j9}E19@YSXb;} z%jb(+(%hDTAYE%!snu4?t|>7{xQd-A8Tcucsh+sBKWqO9ydQEoRSq!od`!^KafW*V z!9;ROt@+kLzmN3%F9F>(o>>(t=XHu%u+~3eKVcrYqGoiKY0JT3!)4t)%Pm}E z^?Kz%QrSQ}qYu))O|qvV3-*2AN_JkI+!1lBMH0ht7}E4zrCk z3pMDO3hU#TLq~%&=fto9`{Qrq!_;f+=cINS3BvCv$EDA2E~)%E7bxb~IBGH1v>cS+uySKQ(@4yt@;~ zIkK4NTOW7bq|Gxe#$)DL5(;gfnOhl>0tJee>hNCO&xr(k{ToTY=P*ic3vBBch!m!7 zCRI}>HAdpb%u?bdFThh$OxizgI1iRDZXNcNnESvR7Sk`H>jSFdFYj?B5}Fdv;CmEA ziu4jC>JM1%oeTWj>$My#;E?V;bue14!kkAos20VC2SAYj^^nnq_qUAleKDV(h?n`A z|G%wU;OAv9nfED?0pUfAxGBm>T;>E!5L_r6nkseimTrL6ggGp{WcBnwmJFp9!FmeN^ZBv1xcUM>=AQknW8xMz=|XGx3) z0CHs~ouFN^bxU=9L? zJ2p>`B_54d60++j1>+8=N<=rdFq7GMPN&7F>1zdNu&@id$U{OpX-AMzhrr6?$4Z6n z(hULrt7?DT!7i7KpcNAIY=e$G6B+LWE|8BmOFy$TfR=jG56iv&C7~cL{*cWoQ@t(7 z6GeyT6DhjkIvkT@2Uz*VKVt8BGQsGA#MU6IIc5F@^rA0y_69|dBa1{?790!~+SaHR zW9}lH7CV1bruu#GEtNlcv4$H>f94m)kyh9*V*x{%0yNQgtO;k}&b+=@I}NM0H7&3o zf6miE9deMH;-n^%zoFzGX$56x&OHAe-hv9R7}kfMz_*lsYpFW08iu`NUf}nI*^RGD zqjy-Ec$ZpsTm4(icryywuL@;KER#InHYFUb2eh*}pvoZ^pEla1>p6#-uz0O}DxWzO zl`P(;to2}DbS1)HCO{~+FN-q>qV|9t1mtwPp+UmbgW)B8m~J9Rl^6K|6+80+)xx8+ zQ(EpAbl{2n_pFz#V~X0v1uev}{XS-IZ*H=~C#F8s z@+aM*QmWFIhZivJb}g4PWZ}bljX!f;3%lrltv9%ThI>jS_?J2~Ia#=1UqzOmi1pn& zocz&Wt|D=h>aa(oePFxeoHcUl|g(?2!A?kh70gZH_grMYz;lC=BPquVG5 zd#!z0WRlIzzw3RsVr&Udc537slcF=V65EF@(xM-ncr8yC2jgPySE$WsoTrpe3pW_6 zZ>dvG#vHSHTE1#igB9G7)FfApF@{PAc4gmqvjFav9h7KQEdHuJ=@P+;OEgx|RFyb?2`I=&u7AAv}lz z6u&+6Bh4JF59cfv6*H$WCLbGSWDI(L++s6chR8zueeYHm?AYQ)L=p5Y;ad@y3!v$J z;tjHD_2qh)WG1c0frlmk@R3Xd)Z>-h7tr)I`kA5AxKdpnKdi{RaV~;F45g4lIp90n zPu>WJ>s&LYLCpc4k(lOhJW}3APtqzO1Ke_C1Qv_1PegDRvM`bmm|yfJ?|BLE0ZKyR zIc@-LicOF(T$75A(U?ogKw^0rCKUesKE2KWPB9+rYWRb2HlaeCk)a0@@HcF5cxZpz z&9Gq(c<0qA1{h@ETKImV1ybrJZ6A-qyprJP19?Q`kpm#@mRqGF9l|+L7$xzDn_=-} zHh26J6w}vHf!mGcW6DlRH7`YG)E;`QVYlB+noNM|_F2Dx}+_$!aiqMo;iCzdUx?Xm;td-H5HiSBtZZpB!3nR>-JTI{%}>Ll(t? zjwU?ZLE!#r)ogGgeWGJX9pDEQx^1p(q^R(ezz(wO;3lu4an0?d8?btMPm1IzBwBws zfbw(f4g0V^8T+-qD+=fvd?ym!y_F{bS{iSy-N)3Y+k(kJivwu9^s~L&twF6h;K3Q$ zmK~1#7RNz)&a8ela`kx(TmBdJN#z~2`mY@OzYy{vtqT2I8u@RajPnX1OAz-&WwusV z4ixey9ph}fxcr5KMU!!mW0V9@bQqIqt>OcuJbu1orc)EYwXin3Krb=H-4!;ft+y=a zFjT@ieG9$hR6*4;gEPNTZF6Fv(?G{#{@;TQSEmxS%do4;%uGdZPA8-9G2r>7-CrTo zU!z^X=OH)}5ACOSyrFKD9kIhtDZMxN1--Pi$LAXJD*;M5*yngRL?Dk(^^Mk16^zl7~v9 zt$Q86PDGL-h_r5f^3QnKI)W5l=#|mWeK8oiYP-t#k!R4&SZ+quaM_pBvs0g@&z!gC zG&STnUvlHI0EPjhB)0rv-?ler78yIT{v*AGrnrQ(dciyAp7wHguO{;7#m~WlLbr!? z9mfU86$Za8ndkON2hV3<%XcDS;$*wb_+j!X8?YGKuQ3OLoz*m4s!Vk&wvNv+ZV#nf zKFYuNY;QrKRA(-Qt6?t>EFetnxLpnSth)<|5)6kP`DOQ1QTM<{0WxO6EG)d zfH!z&EBTcwzYh?{-M#wOKK${%=y>(L*mANwu#dkRO83s?<2h@)HT5E%L9e&4_$ z6@x$I5LFDoq3x3`(ztFwX3Rg3Xd1ymPf0JFt$14>z6`gRFp1!Mu%Adhhfo(-ubUw< z=GAn9-MgMjP)U10oE!fen#SI*pz>PgYFLN`hC6R!zK%rhJ(dp7Pwa?8S3};|ViY9%oGHg&Z-+SA;Z^*pH%9LGs+H zqkw{at>B4ptH*vtq~z|MG=9x@5&JdBinvU7jh>3dm=DSkpSRy!$wnF!1HR^`S~Uvz zV}cAwC$xOX5dKloia~i@iI+uEz>_uliDHUCH#S9fLXC4LcRTyL5yT$m%w8+G{LwVu z-(1==dy9?VzxcY+=T|3pnB22wCaYLJ&M_hs4#B`E=ocYL0$UHBag`PzjBwOF-pfodxa=Fh)#dKru3;Y*-}n7MN00G)0u2QrWQRW2G>p7n z*|hheP+wMRBYhaNAzu?SnfNp;a{J7O)r||Uopd?ahq8@0A^yu59Yu*ay})qYh<3zxpZs7=akV-XXF7@#b~~I^=(BN0)_v27`a`4bdqDC z_4RqJ+22dXf1)z|2s~>O1;5%U;Fj?(WF+&@LY!`AK~h=R28j31hh$Rf}XdTOjfZA%Luf z<3&9RfOPWv$s*IwKCu{c%nOFVAmqq5^byf2F|}3f<+Ds=j@%uv*tdju${}wRT+RSZ zRi8%Vq)f5Gp|O%HNOUi{@!9})(6z1L{&)xy!eqJ|Q%D!MKoXSpN3b=snC>Sg04K^T zpy;y!&q*!M6s65@5}R)H4m_%;XxsvkZTF3Ox@Fm_miSP3UL7A55>*oPm0Cl**}e(^#@} zt4^R_J72>SJ2?@z;cpgeRrQQ2zC{y_uH%&wpjY-m#dHMdNHehvtSCQRQA) zyO}pw^oGzi#u0)JF1_0fx(`e##;d30c^1+c*Bm2(i((csLAVLgaJ*V#iqT=leA%z( zOQYRvO(i{>j;!bvTXClAIC{Q)G-q9LP(D%)FcAKpNs@&zF7jLkg^pqClQx8_V4_l% z^r*hY_*IH7oh0$3YMH99_`NSoiGr0rv<*dc7^IJ$7OUx>SfBWe)1JHDXbBAcb=PMy zlhVL#%$(=NAb0eD{elrR=9y!=Y5A_7zjVz{+ncmAd=9q(gkaE8`GC=aX}Rr|qWE^v z5ABWq$lzyhw{0UGt?fF;+V$HF`jmSgvYbiUJznX%(_3Zb&*V&mU(n>>W5Z)gwzF-c zIL>~&yZc>F@?~DFWloRB1J))?7m_p(Z-MDg54^C4tB^pZJX;h@)&PJXJYaa++~j?8~q#oF`G zxs3YnLVqkgK!WZ)9)r$P{1`bQN$N-Du)m)CkAoEtf}=SpZk_$-)iR&?vItM=e#6b0 zpaSsL2OGX8$7xlO7CE=WxC^Z zRr6XXu-3XGL}WfI9*QB8vkVzkh((zq-+)Qd;M!AyMr5>&5L^V_sggum$F0r5yNyxW zm&@MF))WJ*;EErn#L;-FLZybmkA!-fGIW;?YOhUs`9luH$E^lj<}oE9;(ipGWsJti zmk1j^-*D1um1I#_X*vD2#G7t{GIS3vgJo{hz}h_Jc$e&c9u8f=QZ4E6L}`oJi{w?J z@o_z`7a}L2{8%|54em!5kN_!Z`%c%I^RVU%(rq(n`iLndx|Xl)bm353C02~d3##Vb zaDS$!q{$dw$j-mNGFxQ)()j+q!C=g((x5`h+UZ&KVjZD*{wvwid7#_>Re(N*FKdXL zG-MZ($O{L#CE&0GN|_4JpJxZ-HdtP*ldz7=(n+v-D@Cb%Jp_Yg_U`RzrGK@h^Nk+e zT~sZ7aU$?>!Dv?9!Mcy-Iq9}|x0i6;k#pUWF|V3l*>1?6H?c7ibOT=6fMh_$HAs_4 zdgID@*Zz=H#V^dBpGZ9y=E@rVvGSwvW09|}XUHLxmtmCci0kf!-ng7k-6-w2xnAq5 zKMSS5Zm!=nx2W%Mw&dT;yWeKMNcYFYS}{RMr|ejb*W&Y~T3)X8v60VSmG($C5tHSX z53tz({f!(F?l>ORF;ZG8*(2o+MQU$^W2T>>??4JX`{)+LoQbsfox z@@^qS8$*akVPuU+><-&m~Dm3+LwMtL9lsy&JJ_iN4#W_AIRezVvWe zBmM7PFrx&zGVpyuTbix2Dx(A;y!7PX`{Q35<-ZT^O5)pV5;h#st%qgnydOsaW9?ggB` zMu)%=fBwiTGM*cH%t6>fA$2sX)x{pvNE~39aNMB;D!K+Gi7C9HESx@ca9l=%SoL8JU=yybrTq>y**Y-(<={Fi6`8_dt)Ih$__6 zxke%2SNH1KJU4-uD1Fi#_5eoxEYJP9%1P}Cr8sNxJvc%kQo-M?gLQjGZz{i=f*{ZO zAmJh}Y3`}wr5i{9O-7~(1=7Mj;3%h*i(4^oDeycBE`dYsaL_|0$6rHxjxi_*ZNzT? zk=x`_Stm(BLQUHvt>YCKK9o9+OnBrGs7ZRbLGWQu+m#5$%+l{O?|WS%^;uZ=prm9X z8w}~}a-Jf_MbjDDad}4jyD8IICg+l$mRV0Iy$_=%iqo<~$Yyljk}RbP2}kO98Y7&U z&K-_0ZYd9>H=XtG3DCB3ZYMHztT9W+t>*d`wBOlGTC4|mRZ8gSJtm76Pgz;*_fMlA zS+vVU{(1cH!NZ0~9LX{FYfF#q>YJJ3?{4Rf+3f4XsCww_aS- zeYKLfJARB{q;<3O-8Ol!vW8(ubHBVe-)s|E^lryOz0O~;qL7q}l~ellTR#&^()_30 ze%4|D@vA}t>I`*fYozCUWlBKN2n*eo>7AlOd5%PqBInnOZ7^gfPu(B)db4)VJBO?J zI!*8IrG0Rh3a7fYWWf?F;a*SM(Qa9zLOSKm9+O2c3( z2_F4j_iGo^bM5YkdVJ1Hx2Gr{&OF11%imQz?=_6S`5TwAaG<(`mSYr0+9uFjV3!NpA;;w>-9h1CU2w)IQF1vyrtcW*^XL=0ADuwODR# za_LF>HUpn>lXH0%N8uo01*OuM+eE=?hqjBwz^i*GE-Tt1JOOH}c?g)k(?tOH{$L+- zL{5Zn;Q8}P&hGJ0u11Al#Ft&&w<%xoky)$Sec}sb`kO(BfsSDtaYJ%C!Hi!^y3Odt z@X}pCQ%nj-mikan3*$a#6(GnJ7knm?lK%>jVb*D3>9DEd6&UG>6|!!(QW1I6x^gM6Yv z(WXlmYA^az8ZB7($=>pr#2Wt0l^>B_jomUng^dG*=mU>CHTmm5{-EtfeTa-NTE(Np z)3#$i7P2j^E;#%=3J>POFkPmh4hz*lyIDV2K8^@Jro@;T==!^>eAc+P-$2~j*U*Jw zIG5P=iIZTF#koo4TQ3Q{UL~U3LZ9Y&T_9%1aNGUZ=G?GsL8t<5N{#U`JP)T{zbSy> zPhSUSw4xrY3^Q3H#}B59GgUknd{*oJ#(!Nn@p2BH)r?)Hau0Rq{r&U*9!&lFjzY?y zIc0_=2u4+L$#a~Fo%BMwdD*j-G5N3GC=(x?e$LTUtxR$A8Iq z0Eq)>c;{vB#q7te(ctzsy1*i*@P4hU6>JFk=ONFiq;jY7G*6K!5k+M34k^^Xm}D;j z2N$NZ$>t`QVX)vLQ>D9#PZX%8H1VgNT`I;)iB(Y&o0)s-Zhs{Ph9?}88DUk8e1|`; z%+xwB#nY$p_K?3GgGM5gcjrKEH7S-c_#2QJ^QAl0-mTP%(;8u?ae34hH!TNM`#M-! zt;L1eZa!czkzta*nJ2Q40w}WIYBR~UvBvwra-a71Q2-`EKj+T|y6E79Y8!JX^#?xt z&0@bq94`3k?e=Xh<}@*wLoq^~)B)}vDX@F%Zv0;J9mt+%4*fv#S4?CDka1g&bC(zL zb;~y^wo|q1q;UwG$fuAYuWCp?pmzf{FuiBmlKoms_iOA$+GF6)hxR(_y(WSxY}@4& zYV*aZ8Bwu+)O_1vJe~+CG1O`FQ;TuYpd}kql{BYklDXqPuh$cmhx|ph2Ew$H?S(HF zo|AQmq+jmRD;u8ZET;e_Md9~bN~eiay^81iQwARkdpGm*YlbxHVwaifWjtH|eCNV0M^;wl{}y zwJL3f-9!I%BUziHO18mJtY}DQij*iX+p|t%>kwskC*3-4&#V5QU01YBhNPjo+T{lh z8<&s=+?4+psG~$0w-sWoblvPFAd&L2E_di}M2St`+{TCjT7>48>kfY~KgvOTT(LZo z(g4UYv~t-;*lY|qdfQADk{?i^%!sdIrfU-Rw?W=l(NEEd5Rf`lT1}qW2kw}jKODbX zXMF*+p4JQI_{$DBLM0I5(S*D~1`7S*c<+jNh70}plZiCo}5z z_5w=EQ#}oZY`~_DOa97I<}AdZRWG2y(7EJa41)&1xX<<2N$cKh3gT@~4{g~TqrE>Q zeJF)H&1bKxw+8Jyok;BC+o&xp!?fWlR8OessAqP1lv2CB&TT*Kot^3q+}4x6#5%Fz z{STj$hPL5|s8i)Qx$KxHG@&c+r7Ge) z>$u_sqxDpSiRSftQ!SQ(*4nwnOdp7U36*D1MEyQ%5Fc_HJk3fnF+}I`a<3bMi)R>ug{?JBT&u zS-nLx>lIk3c-?gQtSgE+Oz*nENx-9XpaiTqetqcM<(zb0H7zXScXaD^{^vN0Ve>VR zxtujbQPCyEwCce5x#5%jgLUb%_Q+LnX#b2O`P*L8tcNCHOioCNm17?fj4z91^EQSWs__+liV`u2NA>^YVU;ijZW&U4(QjMfD$)P+jOE`0%Kv~S zpn-q5WI~n~zu_WnU^wt17Z{_2Ycaw6&TnFz;>AkGh3>aAw%pXxrQSdqCdJ>+#y8ji z*!AB?5SZ!F*F6f6O8Lx;K}SI2!#@4&$d_-GYLi-%syVK7Wru&>9akV|8OSN9y{eAZ zu>m%UnhGiYfFCt6lS7FeU44O*xxuKfDBncmi7T|JI*tHN01ej2+;q6X|5BJIL|0)+ z5vuld@3%)ea$OLvOto3dG64t>n@;e)n#$oJ4u6PhF-YX>a(C~x<84(}l25&D{aBax zJ@50k=+s)#<3z7Fj|kaWc#Mij-Y{k+g1nG=ChA{@qt(FMu521rnAPX);(wBPTN7?a z{WhEQi*>}bIwIAp0s^nn$f5P+up3;*A8_Rv1EdM2G5VBWsfFazjso97@ZMPFjGzaox> zhuCw*uwKwh-tazabQ|8l%KLBjt33CFzo$n+c7QWYS&a1Q80uDm%G_wt!5{h49jk7? zl#{!T^9rZPmWYVHG1+^qCIvnguL;L#qghy9B%cFf#WK-idhw{Dw?Zh_WB!hJrgu@^ zfNSS=4*18``WIc*{@<6lxt_N$DqNQOb|*8rbH6KOoA0BI-!t6&^YfOWNJor~d4Wsq zbh%83b2=sL7~$tvdniH0lQ1hd2+N-qrc#``axC5}%!(w}yaj*0R$ACc&1#=_xIZCv zcnV@0t(>QCqgD1^2Ny<+!|r&eYfN`aV@$^xc^F*?dL)&5&e)}z_UsX&fI*2~k-^e_>Jai+VTss06FHMs*wK8#`d zx^PSkxiadB#=Sd55B2ykiDnEZy#E-{LFHl!Gvj-&lK$`aA}-8|0hb9<)D%oaL;!`* z0nM8=2)5$b13nc{D0vlozOGT=l?Ra$K1VxFt*;aoA@OQ#hg5RJNUj@?@!=|>;QWai6Q2NmcX4_D~Z&Jn9ymE7trVMaYey|Q9wHS1L4LF z)u;^EN|(~MYcbJ^<($$;*z=o;7eo|HAI0u3VW4kcfNae_o`5^U8=(dJ0@&!c*+}X^ zwT_P`)cx}Ubn@d`5^VN>)#5KB)8q%2_P*w_7K)B)?P6{AS6C6}jOFAZpMBowx`@B~ zQ|ff%NuU0Ad+5VL5G=;|XW6qECWH?tosk|SfogYlUB4gN1D^=kSA7U_PR-1b?kX`$ z69r6ej8=aD&1{%_z`}k4G&;_<>j>!(;o&D*k7P0;IuU$9=2~95r?%YoT6&6ySWaF$ zbvZ=AG47K(d#FVYO^6xN$NF6zc)hK0zink?NoY84b&vbC4Z}WFZM-zPzngVr^UFDi(Uh-4Xfh%PB0f9nWY`2}Aixd1`wYvdQlvr5q6LpC;rnLm1j`A*#B$`f}fA+vg z#jxG6Ko>ydcC~O5!GV|b^6Een;Z0NLeOO-J_)+P275!CGoM5h2*>kmH8)z{Yz3C4D z*_Y3DG#mB18zTW|A90B)p0#26VQtKbq*(Cos&AJ;xue8KGdCMA;%_ zWBM5ru*E93Av*}TD|_)pS={dWkPG_SG7QXmGJlDPvs-1Q&SlGvIS?$;vzeJ9jBk*x z-E>7o)kAVg(_lfbPPo!2?OyMavvZh^Ve_IsyiYZaJ1i_iEQQ#5;7c=c(3yUv&97}a zi#U-#9@9uQZP2HYmQE|Pvp7z=<7XCs2X&!T`WmbDI)N~~1SpwNp6x!f_}jq`gRBnf z%Ee0W6CJ5?;Y=k~-utTW-=V}y2Mos0&RZ7osXhbJMRzHEulPzGn>;ruP}4V|cn#A{ zxe#5g1>7wmKRdu`{3Er_Iz9(jck!;3#;2G*7+u)p$K+={($2Uio8^Mbi?z4tF`>Yv zsH6pujd)C{?Gle^W~_Chf*s#VTwP!|2&-;8Ll%=OKM?C%_?4i9gOhTFuA-RtQw=MI znkX^&n5myXe~)rAxx63H>z&W?oV+4hN=XS;2(AavZ$@s%6@7{x)DWz1f@V#*4gVso zHQM^!WVzg+>#UQ)>R99rN|?>Tqq`b;gXJt+@q^!&=w@;fdFIWU4`0^f3+I}q-9OLT z5<;1#wK2V~dH@y=y}i%2|2^9Skfo6uSN}pDo?G%%&)2=bsf>ShjQ>7xVZ#%rW9wY# z@FQ^DVrrypMs~l;)NR#7T8M|rkbDve6(p901U^MX>AeZ>#F=YX2rMUX* z$N$ILS3pIX_I*nTgXDlnw}f=4fV7k%f`N2*cSwWOASEq0gb0GtEl7iOcXxMpeAnzg zuKPaE?tagE&U=pQnZ?nW`@XO1fBoYZz_%MF0xObBl|vmy_#qh(eMHek^DS12Nm0Pp zA=9Bv@uI~+EB+kDmsmi1egG-$3RrDB5|P8m*Dnf=@dmh<-6$n~C7wY9yR7{*l`2P7LZ zTKrR_25p!El(0Y-nYLt@|BGt8N>fl2FH4B(;mg=BrI6IX>C2e_s(3FnXb4%I?QX!M ze4!4y@;TltK&sJ)5AcobnR5eIL>dp?@(#O1I^i^M(SJqW)| zXFLEhW9&w-1WgnBSi6CXHG3qqb3Razmh{lRQ--mBVi<27>Of@lb{NodpAcjr$bH^K zOEv!aP%!~rNBN*bj6NE1|M#NMa6$K*OLS6md~?itR9(GvYjz@V)z=J=Z@a_~?R}54 z-iVVeBszy=jPrTXz=J7#zwsUjZm1~9d@#e)(o|WEyc0Y0GDpm~nYdkAN>jX%8k^r}`cMwnZZE!g8d z|Lwi)yIg#oUCtq8N=DqL;)|#INx-+Ttm6dwq%{5Hb$$T_ zQ3dreW+v^FCWEHQNQEEQwWT+zi#)~iPltXrW@^^ulE;vP4w433Td?b>Jb3yq-!FJ} z@3LJhm~3j=g%cztxoK_K!G)K~2}hC~a?+#6ZwZMw3nh_-OR1KRGXBZ~5~8npuFw4l zqhys2=JbLT4NuoKk!#m|Q` z^+T>fhiS8nqqs!qEj(b-seaRWP~8RnOIVR~+#Sq1+E(ZlThH}J5XjrNEM-dBD+Cw> zT%%y9Wl(n=AOYF?BLei})=t`w&?TBAs?LEKGOG)B`|NUt$qGS8L`JTlyo4d2IrU8o zOdoz{iT$8Qey)UpvlF+RO@r=23mY<}@3ubwWUP6j8Q6{bF%PrX8td!3zl2LHF?DI~Rj#>Cun0`%u3fOtA?vBf_Y84b_EtY*;5~gzjx{Ys)o@J6BipyZOkc4-#G(xZcH#B`C0n9PD{O+(~9_pzcE; zXB&O$d3v)^SQ+o52>)TE2x?tw3s*zU{$6zO-7h}D;``BjSPUa)2Lqd0MS_Wz*=nl< zI7Itmf&{cQu9Y%R3RN%rasrR;6}rtAlgvr0SIKORePx?&|G^`1+*VkRk@-nkEjsRg zyL$T?Yi0^H_Xb4jN`|Tq9<}vA_$usdCG?&A!p9xdj4;77m&JRqSsQk3*^gJVuGo5H z2gZ&`M7t6m2bo$bWj5BCO~h?+MBVb;3~^-Jt2eOBW(Juyi^l~vNEZ*=>))fy-6i!L zGBj_>58d)_Pn&q#X>?wGIE?RxQg8Am-}{6?k8kVbvTnHc99~WK!&AUCtm02tGK~Py zQcXVMeH9Ve$^}lAVtEO-w$7}hoqWNih9$-+r8DyMt};u>L!*Q>6Z%rgE_uzaC8^Z# zn4H63XOE~6eGS#=>zx20eq#H<^bEJ4KMtW+$QBFQ-6YPmo7AM9P`Yw$Rx~!->`n^- zWXLw&H6jv37+bqq(d*X=LuqYQ;fdqD}PgZW23+!D&96_i$)=zJ$@s_yQ1lneFLPToKN~ zemOlY2T+%8IpHCJrVIB)I^m? zjwIj%7U&ky=|EmIJ2E!a&OmEiU}*1!<*)sooDJD$`VnT4Srnb~_kCe6NP7$_tb+N2 z5Cq|i;vJhcM=%WBlIy{LMl3fG{;v?gOu?pd+ZIC*!0Y?uMJQYjRtbRv*}x8F3i2RjhADp?2h^kB^>GpYlOE3luu#CXL>y*WU#g7xc;E#E+OdG;shOQpm*@l=AlxvY&^vxl^ZurFDo3+8>94^p=W#cxb%)!js=- zv&jh%<8x!i?ec8Ib@x9`_Pn}u_?+BkMnk<>{H*WZuMQvQ8Faa%X7<8}?OOwy&MKQ0 zTgL=YEo4cvI(c^>EF7~0KRySb)TFt6{-NyV%Pc#g?D>-Ala{rUaoFA7-T~o1T~QXQ zwdDdrHo+fgcF>*!^)O7JpjJAIMd@Z^#1^y5_A6d%ys7cUKv(9M4kaI;j5K5UlbL+)^On?9|@Qtn~X=rtk-M8E20v3i|VNyxO17vO#u4z9|#yx9K-JAeFXyMXqS-3Z#uu)}4W5g^^CUyfdU`r9q{2TvHg)N^eOhO;`T$B~cFz-s zQx$kq-=NLboI!szI35h zz10BYF`g4$?)cC=-6kTb(;GKZ?=vXZt9me$xQ&1$eLYB@L3 zR%T)2JJ$OltAJmc=;E1Rw4S8V+FtnhgSfsB4;7V-c{5Lv%o89Da}w6kLX7_YS=}y@N844N!l0RBNlU=pM3d%PHR+m_u+sVdM( zcST;wEgn?$J{!>6=9>%VsRP7V0y(}J)F)pbk$}eEC_-7+515nPH3w4{wt_b=TR=Ou zLnZl#cdp3vI``}CX-@4LFU0_`Z)Z6HYC!R9jsk+ABTD)>Aly)$YRLff;&njB9}BYc zg#%%%VMx1sTv4%QgT*)hPJG>-9LwWkO)DT#$W^hDJpEc{TF%^f_}y=;z&v3F_|RuF zbppSbrh4G;{Di=kp>KK*wALsN!Km0P@=+m{Q2=ne=10iFIzI8OfJFq20+m)B6KY!v z7RF>5=LevBQa1%o66@73>GAc_X?6l*T;#9}C%aDmbpF)40#_UES1xU1BYRp;PFO-{ zR95bN<)FTh3P}$k0mD8j*wLd?^Zlw!XU_CDn7*gNn zVDn78XQudG*u9+p>r86R>w;n3AU~?}X>=XHmM|NzqF*zrG+;84u=?X5{PT+kgx(Q8 zV!Umfp6VG(P33a0Obz}BHb0>;zuuoLj!!MK29Q-|&fh^LGiI>hjf3%7<}+zW2i^Kv zN$W-%^kgqli>Mu!c(R8xkowL~(0AimiY z6>@(x<5gv|tKMoGR};A&iwU)I^u5p;5WKTIC;+kcOQ?9r_m?g*;EC?5FHC`FnpB;7 zbtOwB;C6NureAHQp!Lo@U{+cX5LTn!B+ZS8OHztxsJ;9(<$BE~GS-q_UDrIXsnw>BXIx2-dN1hU?Tw>=6td2D`l+$2(m7>WV} zp6;9~;3&5R2<57b?FPEg{Z(A&R3ljC3R=LF5k|9Rf1jOHc;ion$glAK6DC}S@hv0x z)$QH)NlRmbLpOztz!6u{yp&j)GSsx>D(v3I<+(Km4p~?5gvq6so8A&CS9@H@W+g5k zQ6K%(0=RiK_e|6m1g^`Y8PG@VBW6^8PF3K9_QwK(`Hv!k-+U zkwG5wK(l(%Wi4&8dLV@Kn@>UhETjY^RiiiXBt~*>M#tF+aSO{q(JAbotuj*}kam2V z-{#uIP@sJ4k)2QoC)A?g>-D9)7ZT=RRvVKI_lDWEzvuFXbamu;UhXA1lF=&csT+U` zPDt_!qp0e5nId&~J%m(V2s|4F9B?(!ode0Z$J0y4G4()<=}ST}kpBAcNvyZb z%Lg_Z$SJFG{NWtfsISLYTy3ilYPxRZt>t_lrI$$K&^^%9n%9)l#j z(zYug$})W8x{3)+mHsQpIuJ0IabTY&#=)Fx4B<)l2HZyu1a4=Yoh(I`sDRSC1}Phk z$rrxdQ#IRw$d4|8x>|IuRU0p#kT%%BR%(+{CZJZh8~)p)uv`1vM}gNxBiPkq(Q|Th zsOvq~r*(Bs{pNR^-~>?Yybf=Y5&t9|hJ%R9IyYor1w8;)~499W>{j<(rY59Ld#0Pi1IjYZl zQRRTFAtuNK$}wV3_g4r&Pd57&v<6?3%G6_k9NuV3)+WFm%z*r`q&Z7s`?4p@ zLqV9)!w%#vYN)ofiC5F;A~4)ym#}ZH0NgYa$e0KLNF?>&vJOyfu!)4=oc}w5M9-tu-TUK8%lmw19U=3~V&z89f=Zns&6;>?Akiq0X$v%sxIPQYx0V1cxQ3QtSB_Y# z5tURdj|3}dlbt6P)P){LkN}RQ+%gU3S=fj{#(N-xwLV&Lg*a**S3$7f@)}M!RclzS ztZJ^@O>_nH>CrD_7DeINtJfG;AshApLu?U^WpNCI&hsvSHnHle4Bn1p(c0z3SpXOT z4oSSUWFQJ@I@wi@PC+?Dtcl3Mz&9AVvt2ubOtbP3 zlTH83IyjlF=l(LCwdqHz382tuzGfo-o|6W&k;x8sfZjG1k%oPEv>o_DhcAN5a3?7mG18+xvbtHi=5uR z*zy$VK6>CP_n9hf<9i{7Nv#f$8)G|7P;Der-2b*wGFAstH_L@jLfhsDvA6D0E3G!O z$+IOk+&~XNE1CgdLf!zN@Hj&MTSW-O5yWe_z-io>f3|oM;Kp;GtFya_1Bm|5041G| z1DIP>nF~pTPvMLPj9P+vjp(%7-xnxY_>;;nK1`iAlKa0-3??eNw<-m^I_tquh0No$ zFKN_9USzW14VH7V`u-=d*j;MAtONU{q9TOUG$$x`n_^R|j`HhEzc9L27OHA>FYnxy zpV&K(@YKANb@v<{Y+D^GvUAfaY-@L4OAvoO*;mqeXG3{Zc=drl-8FZUdwOzWBBv)y zNdaKNvLmJ}ju?B)!TB_ld*((fREvEGJBN-An}WTQViCG2TaO;@W1*s7`23%FE*=te zxdPQC&l1UVd>(g+`>(eD&-WVNM)EZUjyHG1Z?E8Ak9LRMVw6ub*L_UuzjySQHoOTs z0-Z%acYaeK`ZPm1R2!}$_G6>SJmt&~P}1?h7f=UrjgyAuS@8!-o7 z6`HjRs*pyNn^$hwvV_n=eQW^0Wn#-?2zTUG?Ixmn*X44o!S?2ym4f4h3ZEJinAv9G zmk!rn^Iis8;qA5FYn%-q1kq_5w}4}z*2ej%RzuliZ_6Np6kN&91#Z;vsDO;^SasV# z$(*BkyeEfBDag(S6%VIFX=DP@ z$Q<4i$vxd1R%m-IJ|PUm1I^+4MI*HS>FTh66_MTX>PODs0)}uUnjlL+s(skYM?J;| zW9aq<*c&`X*A96Y`s8Pt1M06ioF31G;ez3-{J{BKMeRLUmQ4gr>jVG#Ahq!P2(wAg zD|c7JsE}7;83HyJ3n$?W4iP&oA&*Y`9jpS@m&Org7SOI4Z{%4Ol0$bU$8uZW&Yohl zP|M~po_`%*y6G(3;+e>8U6r(?CQoNE*3QjqiW9DgGo|E9fMeC}ln40zJh6LdIH-26R?cN3`8${D?@kQcer-{mEt(X$$A@rWI4M ztY=+v1AqfXJUv1B(#n08wy9m{1HB@a6icFfms}3p+=`{%!(}2E<)#B3Bff7HUoABp zsK5PCyDj~}!AD$3>TGrrmJfO*ZUi`mU(qift7RESFy=x=R(Oo3Age%hlET{8+6dy? z14|2Rke}Fm`F1;W4zfYw&ASm$MHqgUMQHk)cv8I)>b{NZf_g74sX+L-i5=wS3L}5x ztpFt2s_#8j)<7-DUS7hvcTsp>i_cRX9FmKuGefsa=MUBkyY8bipK6RMKz%Te-qZq| znh6#RE}!JZgCqxq)vb8yeF{svtO>Y8&gVxHIhFP;Ne%oKd%vTsh(G1++}&DJw0$Bz z<~&uDqZtngXn+o@Y_35CjZh=n>iKl7PqtNR7T@!kelg0755M);x#)=B;jW5U)UIi` z$&I=m*JCsV18vF9M$%KJQ^!WPMsbOg{zB7}qy0O)?yOzD{HSw8iuPIi`@=6pJa>Y$ zh@~4<;K<7PZyf#VvFEr?ob=8c%DlLUn#dKKYPr0H-F8;FE>R!RvpAOS3l({0jm{UsUD7*2e?ET-1t?orsypOsP?-*~~_g}`Kx${QW zR|8e)@gsXIuFGcH70Z5L|~(u zbMwu1&K`uFBf1%qg@C@A$n!>WSF*@bk@`^(m^aXl?qc(fYePMtLFLbgYx$s~OQ7ht z?tRQSvWG~^vo>wm-YEH2=M&yR>7uQgyzb3j9^99`Ae8y^b&+K?Wj^Pb@k_{NJ_2Eh zTRJ@GD)hWD^2o}@rxzX0TObkCVwdS&g^-T9DY0tVe?5^dlMJx7g>(S4{!qMxzLm#+ znkXPV)n)>GYTUTSW$+`xTO%*!@%HE#j1Dk0iMwvnJiy_E+!GqLoDbfV+vz49|rzR*ev?~<|K64O}7)k>y{0Zj*< zS$)WPcg$|qdAMwVTlb<0eSke@Wdq%+WIiqrGT<(nSb3$}SgZM9>i2N{75(oLpM z(VPmSx$^A=lTZ;0ET^w%z3vIq;S3rX-whA}wNi;Yjv7HrQeI%T%1G0Kt)E-j(t5Uvpv^aF6xwnwUB)woAfauw$ z^Bst$zW2HbWqf0a`aLVYMre;TWqG&zwpn7N~y_mOah=LS+ut3bHRLD1uJ_id@rDV~)%h88LLEqx* zj3r>s?gg@kUZX&N8$jj3mzCd0x-;Wn>15*^^DcKeq?sj`^^?##&=`z6sGM9wNKV#d zM$qV*`#zttxu4QW@NqoE!@Inb$I#D5%m*#nuLeFxD@)XH26DOai#DyxUXhYfd`ThA zk0?tF5__OR&nfuj8ZqTwBRyzIMQbCDuj#+ilM)!6jdQ9>J-E=WU%IT4% z7T0z{qff(SUV0(KERpUvR%o*tt@F00o|>Fxz475ea(~fly{cn?0e2YfTcwaEQ#p$N z@o|#dDT-gBJ;>3AE9p^A6@F5z8&$5MLN+^hfc_86#iactgxqLHbcD%j;a?3uM28r( zS%`f%CsZ$Jip}(%ulz%cfK=?77(-7!w08EH7an;&HAhMk5mcUr_($!vT4PpK$w$FZ zHvSG1YIbyJHWzJ)i|_6+-={;2C7jK8o~PLnL?%bXtjTWQe|i1=~fYd#Z*A=I!b=4SV4K2WT# zo1~q+09g>XpA}^bm5#>f-fd_@BfG8@3p&cCSkxLVtsRHiXp9lQ^ur@NV;+fo>316s zl|^n@tyNOW*(jXyS$HOun0isM6dVj-E)!(5NxXBSOW{U-hI%QnZbXR0OXOt4--s9P zJn%~CpwHro>zDbWH+DhN^Ph1=-2$J*3kR&>jZ6VK@kKm)Fd2welB3@ByeDP^hg#JG zW^stqm@DeY&MI-X9MeV($+Z9ww6=2FclYG*s!?V0h5E z87|wTv_3sryrPIOndb9zPBI0Gp8+L5-d@Y6 zS-k+NfEM4CYpFY|A)i8Dgei;FuW65#0gPycP02V*2i_>-k3*BC0X52$)514my%|TF z>iAT84iu*p@N?qynb19SIn5&RQC^mT>Frnjc!!J~NoLu4^me#f{ETuRJW%R){Dr;B z*N<9BbCmK+LO8^M#@~2g9Zy3wRcCK%?BZMtvz0 zQ{hR|k5zR$Al+Q}#hCrRWS&}BnU@F~w#XvXOk;Wpxv_j zK-N0^aukp&=tPr$Jv4V1&+q#j>N*Qas1zj2IluQtCJA2UB`C%)i~1f%GWY@cg{}zE zb*-SZVgg0M7QKF4ayh)Oy*LP%x$BI%Px6OX*t>@sVDONGAqP#EWtu}nIVH0)s+zh! zwBO_mR)8v?+A8h~fQf;9-%}lcf!(h!=@<*(3`NW%*>VnW*-H+q2964!+DYtj&)oIO z5bPM1pOO{u1O$;jxjS26nThpp($2VyX;m)FjHKJV1~>NQnNuSjR?~05PCb&T-gXM;$aZF5Z3@~vO(sjL>)iS z3w$jgja<9xEBrK^jmji+EUVuVo}H#!O;uf%%%~CZh=9_2@!8x-YdLg78?ZVYiFIBp z6(c5>?Esaeh~0w!_9cc#2Z{u zlx4FqSt4!Da=Xq)YW;>i85zdA*|AW@L_K4PWMPIGIY zf0a=Bt4!}_)(5|aEF=-Yj?DOiC1n7l;2a2pcO5{XVZp3Ck1t}YlOo5u1Ym)9>cQ); zfaQ>fHB@`lVO=~p41)h$w~+vr7!k(NG{t+FFn%httQ;yV1(bS$j9%-P#M@>dQDn zIB(KRRsrjec;=drEeEi@$E0_)TD)ni3?1D(L10kMHy#2sX9-g%)V@!I8jw}>{P`oT zbrF-gjX0)bl~5#`6v%d8uyOCcq{MD+46yNbXT>1O+e7*&IJ;LNh3eFB<~;T|&0b{! z#fFsw3mpbPiPzzGtl=4p+M-uaRA7Q(kb7nL4G3rB)kDgb3q*UJTwcmYI;-6jx9ACZ z?d%*v4L)15{=!<5It2J!u)sY|R~Dwe>>knpXu41Q5@TnE0CGbp)6UMk>z1p{Yn|(U zMHwf2MP=Gar%ElR6jqO7xlo=9Kb%hu2LM4BOyvu08>t3mbr-2w){IrA<(Ih%1W2H! zu>554L&uJn<1r}1R1z}dA2niV3RAK4%9-^muguvEekIIGiEvmw)E6+cWd@! zd0jYLum5BDzs&u+9Wd-Ueu(G8m?#O;)>5ARQ@kR5d~Js6p=v`d@GiMhy&Y1MWIRu- zD;G9DHJciR3tLrEHAxed7zC`XXu1+hFcY|AR64mZtDWMSPNJ*S#q;J7mJu52jI$QI z>HfYAt#y9pmR=B3c=O!*pm-tAdAc?(B(A%M^;DPLB?%`~Deu$cq(`$Ea2z!S={z-U zT!4RzGx1&HcS0|H%Pb58MTlN&ffIQKq{&?sgeS?Hx*IDu!{cfhC|-lA7P+S*A7s;< zdpSj*bE-8Nity51*t5=|aS=h2ml%o;F842d7Vj*SBJ_FS(=n;<6fyEM-c_^7OYgnj zQxtiYu9&kP`FwoQUSl4FCGtkj?W)5yJbFDaiZNtaLOyhLcHUad^rkK`B8*SXe^Un< z?o>GdwCsfa(s4gEVU!c+@=7NbXnk-9yl*(!xfGlnqTH(VVAx7<60}g5crsbdhEN{LmEI5vc*MP% zzX5a`Ih)|~JI6eBkKyB-jjbTRsB{~q=rH!oGNxO4!%bTGmr6X%V#xx}am%A)!gFq2 zP)n;mko>3k(~1fc4ucSLvDHLxDG?Sp8%3Zy$tnoOA8hP2Z+TOcOC&-Mn@?ah;LwUWD+Z0wqDMr~P2eCh{_tCH z{dE?;X(sPHrxyCyBC}yzE95$A;wNttt^k4|ZaTJlX%i$d3up5)io#_ml{9bMU$_Nn zpCD*-3;0k6`Z3eYY}uON$W~xGIx?&9t#I@Qf;|U=C6VEv24ZaTI>rC_fJvUMW#;fBY>=_}T-T*w=7HCEU6W<4^!ncbE!t6hj7fM$#*Qsiy>~eZu^m#oK<`mjE^s zM4{%q5Z$&!4o<$ZGxSsZl=2}xbzCjq4wLY{N~;48Ki7lxkv_{n9;NZz?kiB%n6w6M z-#6JWyEr=n?Cc1<^rka#A%mekv9C@yOhyc1*#t&p!F(>-b$7C*3$_ud>p;6uxQfLx zIPV}#r-8antoMZbsqhpK9dd+M#R?B~G`-cY{9;fs0w{DLBz4ZYW*$`JRK%s$WZ8^!&VhwM(32AhxUVDIT!x{g z2g=(Pd;HIW$ku%R>Nu=17XwpgB%fZb;c7VBjZY8%oPPb=YkO8?2rG1hfS(Y$1=>Uw zDYGE{3j&NoJ@&?2zirLhZ1T6&gk%k`u6-Vad2Uge9P(as2VC8mbz|3n0HC zyx!4>*8%>{%@}1}41$$O&|X}`%13}=0FEvl9urj2DsZDpEcgrn^w3+&TA4GIRq!_O z<6>YVVC3o)bTjZ;2oshOa%(6G@~l+vH^2aUx?BOe`@VeTo|Kksmc3%a&n|&lZ~)cC zvh?A&^XHf8a`%ufL3*eLGwv&pjk0`=aG65rMdTCGWQb&`UlU3B;5kP&1(Bw3P#9gn zo{-kW3qy>26vJLSuB(}TNt4Bs)x;atl^_uY5{as?D6;rCN7-OoC2qyrqN!^*G(}Cy zSqYA8asn_`oA!?hmH;{CNIL7#5DmCZx*%`hts?<7Cp&NgA>g31m)Z`YCSzo5i0v;1 z=z))~6g$Yz}evgw6ur2k`5JO>LE2(pl1dF zdcetn`zuCF9N}9w4at+=Yv5`#+VxckU`QmU16~v4RFoF}QkWQThBW>9X)*$RG(C=F zrzlrDb1j`pk;V&pu@5q3e1uj|9->ieM;v-XqNCBK;ghuzGxO3j9K{Ph1e6TWa}-wg z`}GiXZBs~b&!OX@e`$KMioRB&?qxp_0Js)X^FgJz#)smtg?P0Y^BKQeFhf3 z(Z$`BygFI7IqXh4(C)FQu|Y|H51@B#t27SVz{smuy^y&LjKdY!#Rf0T*yQ8- z+!|Sj+z7`zQZ2qvUe(2-ICpZVD5iW!(V*pn1aQ9 zW0s6qc_^!(@b|M_Z!{?N16F7uRMSPlMgA0l5gi5|U9He8_bbGJL$?88OsL2-4F@CF ze5&w#Xc}!6$E#X&MpZ$H$Z1xr_K@s+rAJ~i~~@P1wngl5sCluZ#nx?0EDpTuC5iY#AZK-@03aS z{zb)z`;&gFu!1d?2nA*yT?f=LdBGjuK(>imFEc!~-V$ro8s}?_p`b_7ubH@bgC$G* zjSXA~ua^!@p0sNdASxgd4NKpuXZOA(x)NZQS7IC8Iz^FKs?zmZ!r0+YIRh}>Q+Bml zFAtwXe@Id^wKXRK2>Vp9!<1@!!S7&mV(gS!Vi%VFr3o%R)&Smzxs;!;*QDxlDOh&P z2!)&qZ%eVz%JXc@kv)_j(r071O~~?9ix!U13*)pSG>FfPkf-B7=F&^BpPXo|3@N8xA z>e~0gJeX2cQ<{UYog(82v)qDHce3Y;p?3qeZS&KpK3yf_Hrj-qpoU6SjPnHu!*{3? z8P9CCx-RU}*fKAgf8is4Rx5~~P&0H}c>g%-TAeWRvEJ&aH?I~TIgUwC*_zXH?hNdb zugX2-mrJsnc)Q;9V5m>VGAJ>rBC#vv5gnVx#-9YlJ7v76vR=D`bnli;5G3j!QR!NN z$WTGTdnsA8&2%YTo;>1$kA1hnVa$8)4r;aprnH+(!(J-%F|bkFrF(RI@Vx&-vN zsbHE<70hTq>p>JU^B=cu0c0Ij5CircfYOq3&~lf?K4+l)SPiB~4Cmqy`O4f|+0~W1 z0s`Z)4@5uEeC4x1@)mHoreh7&qsQ*udG%u12aNflnJ*=KO&ZJkIT|jqdPO}SQ|K+k zW_cioGe3N-Xd#-nDMi(>ioJhNVnzP&J7=2w8>3w(++KY@Lf<26RiMctG;)80`~I}3 zsIVJ7R$~kTRHVqDXa;Lje8Mo@vPzVt>h&(cww||bT8h$mYG3OydI~_%^y(90v|_%5 z_b!k1W{qA1#V~GAN*?xH;?35BZmDqoc^|rA@ek9JT>C8$@MKnA2}o($z~P>kCvEAL zpa#7k`ZWITmminA7#7E$*&6$39dfaQV&d%8qRKvX&_wuog4Erd@~Nl%RV6@2DZ9!X zHnpt%nrtN7;b|AMngiwKLyb^pk*VBcO=)fHDy?k|pM0%3&!yL&ThsoPFtp>Kx-ik! zu5S~+Li^kBwmgiAC%)5aCSf2M{N4bZ=%p08e!i+9(Rj)lUP^_*fM%qyBXhLSq=%YT zv8#H|(z(y%&>7}!bL&gf@eG9yS8k|wR3OtLWlII!yoqBMio-P;zFZfqaKYS8ZP2$+ zo{k=}E`Ow^;&mBEC{mF1!c*2Ii@7h+Kco6qQ)-sroOZZK}tidmWJG*Be1p z4g$LOqZxmGZ|@P`8qfo=A;0D>`Zo-BY7*8zo9 z(o>l%-9Ns|zrPTL2wAf)4`zRdV=9pS!#4xqMu6R?+l~kG-FmR?Nd^Hg3MWC!K<;Oy zl)Oh!Q)}aW{T3vWQNAQL))-U?m>`MLAqLJI2m}U|;%bDQcg)SLh%PO^TmSK)f4dj{_MLRyLc?{}Cw#?! zKKB3Od;IOPO2#Burrc(G=P5>%gUnq1>!$s2_x`spe7h&8+Y1b^8vbv-Ul9IrYpo~? zv3*ZduI^v9!vA+)uto{Bd~Ei5+I6g|^W7(0f7y%p-#(M&6jT>fMULe`Hv6s10bMkW zD4(}~qNve!BSB=}TZ^JM`xX3o@bfGLK{)%Gkb>AR|IM$2ccM<`m~Ythx-sl>S^p1i z27r0{isC*=D|%C#6%i>`+N=0K`*$0X+S}7XV{3!uxqn(2qBzJ^v;EECbawFUmw&sm zL{XWc-7+7emzUrF{JWyA&}HGa&GDz5*EbGO?X~`PC;s;jVEGzqd29?jlYw4Lwstqt z?kCp&-E#ODBmV7g6`^=WBDs;dDrUUzzwvC@|Kq5Ohx2q zwf}?dTVCkmT}Isg8!7j1uH@e??4SNuROxnif&-><17f@VXv*dOKUiUi?dDl*S)0ZA zgoQXm?w>yXzq|m^Sb8w*kBZ^wzJaDuawB8U+HZLU;D&7cs4NRtS}kDc$x*7&Z7Ln+9#&=wmTLH|TE;^^G~k^AoaW0h); zN}-SkegOgLuUkXNcw2!CM4EEG?nv)G@IS*RBV#$)TZ%Ou_&VZhv&qHBr~FkhJAU>e zpWwGo`gCUK6EZ))@Wm z+YK9g6HZobb$)&8jytny3-!20B4XC!^z{{-}u)OthX@rF*CqKo9QHflps1q?t{{Gzl`c85`p*FcQ zl&oDqq#wgH_phr1H&UI`d!}A1`f=oC?Ci}E1i$L|k>`W*o(!_)Zr$iL+>Tw@FH(4?0aI*7u4V11ajpHq9I(&ZrHp4s5H3HvPIFF&b| zk;w$?gFkE3PE9<%{@0fR)+XW)rm5)g;@`h#ig+!xFT?~>K)ZU+*cS4~m0ekTzsg*6 zy-pOxq4kRNt})%K%=_;y&gMGwGyJ&SPmRxnj@CyC9sMrAs8^$|9`mx^fZM}0{<`kw zxK;#qp6xB=*;vh1y>}(q4_K*9%pkonh`(WN6WY#b6c8F0eHXYe<$QmA2 zb_Ss3dC)K{?c#ij(u?uW_bCDjd3uAH+NYL&ui@J>#Mb`({VaKIC*(>g3SW$!4+f~( z-)5Cfl$2NqJT5lHUicK|GFGD3gfkYsw>D(8ak!IBF66>gj|6$ZFLL{~!W$nS_kfP= zL%*s-Kg{&N2PQq$jLR3sUS4R%?QwgBr1xF^WgKn`&Fy?ToZOO@*-EJTB8%JV8TE~;1thjJXmI->iL>FklfVMzv< zc~N%de3s7wjAP6aHl>{L-qNih!yi|Vxy=UoREmuKK>_Fl#`;>Vp%i51R1|AvOa3k) zAIShACrKc@TCPpqME=W60DTzTc#%E25Fy|stWxpX-=fb|*38RW zpm{1toYaQ_ zY6b=d5-^N7r&$}!j`YVSlTlEJItO#aUC>f(`TX>Q#9687K&zY6cfk>xQS13;D8Vvc zi<^?#?VX(+#{&02e0m8VviN&uhE?MJCqkAT@%Ik-+(qn{-$_VFJOVVkj-!uc$dsQh zfP}1GSFy#|eF2(k5aMhB$NN|)z%VKS)bp%bRpa_@svIsF#b!e>jUi-XdnZE8@}JO9 zjC<^y(TMmo5UhPNZR^$kJ8SBNhOJY$15bj`2#gnzyI!O|g7)l41rzJ!UOYr6PCas# zgY)&EX{m$S^2KLal0A(JA~JH&+r$YB4UGXSLuPI866KxK#;8Hk($`m+<~0@x4;
+A9>LfypJR0`Ny9kp|VGb2I3oxzhqOp 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 DXWY50K-ZYO_ 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π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 + +ENV AUTO_RUN_DIR /docker-entrypoint-initdb.d + +ENV INSTALL_DB_SQL schema.sql + +COPY ./$INSTALL_DB_SQL $AUTO_RUN_DIR/ + +RUN chmod a+x $AUTO_RUN_DIR/$INSTALL_DB_SQL diff --git a/phpshe/1.1/mysql/schema.sql b/phpshe/1.1/mysql/schema.sql new file mode 100644 index 000000000..04e929084 --- /dev/null +++ b/phpshe/1.1/mysql/schema.sql @@ -0,0 +1,531 @@ +-- MySQL dump 10.13 Distrib 5.7.24, for Linux (x86_64) +-- +-- Host: localhost Database: phpshe +-- ------------------------------------------------------ +-- Server version 5.7.24 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `pe_ad` +-- + +CREATE DATABASE IF NOT EXISTS `phpshe` default charset utf8 COLLATE utf8_general_ci; + +use phpshe; + +DROP TABLE IF EXISTS `pe_ad`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_ad` ( + `ad_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `ad_logo` varchar(100) NOT NULL, + `ad_url` varchar(100) NOT NULL, + `ad_position` varchar(15) NOT NULL, + `ad_order` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`ad_id`) +) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_ad` +-- + +LOCK TABLES `pe_ad` WRITE; +/*!40000 ALTER TABLE `pe_ad` DISABLE KEYS */; +INSERT INTO `pe_ad` VALUES (1,'data/attachment/2012-11/jdt1.jpg','','index_jdt',0),(2,'data/attachment/2012-11/jdt2.jpg','','index_jdt',0),(3,'data/attachment/2012-11/ad1.jpg','','header',0),(4,'data/attachment/2012-11/ad2.jpg','','footer',0); +/*!40000 ALTER TABLE `pe_ad` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_admin` +-- + +DROP TABLE IF EXISTS `pe_admin`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_admin` ( + `admin_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '管理id', + `admin_name` varchar(20) NOT NULL COMMENT '管理名', + `admin_pw` varchar(32) NOT NULL COMMENT '管理密码', + `admin_atime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '管理注册时间', + `admin_ltime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '管理上次登录时间', + PRIMARY KEY (`admin_id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_admin` +-- + +LOCK TABLES `pe_admin` WRITE; +/*!40000 ALTER TABLE `pe_admin` DISABLE KEYS */; +INSERT INTO `pe_admin` VALUES (1,'admin','e10adc3949ba59abbe56e057f20f883e',1269059337,1357002345); +/*!40000 ALTER TABLE `pe_admin` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_article` +-- + +DROP TABLE IF EXISTS `pe_article`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_article` ( + `article_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `article_name` varchar(100) NOT NULL, + `article_text` text NOT NULL, + `article_atime` int(10) unsigned NOT NULL DEFAULT '0', + `article_clicknum` int(10) unsigned NOT NULL DEFAULT '0', + `class_id` smallint(5) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`article_id`), + KEY `class_id` (`class_id`) +) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_article` +-- + +LOCK TABLES `pe_article` WRITE; +/*!40000 ALTER TABLE `pe_article` DISABLE KEYS */; +INSERT INTO `pe_article` VALUES (1,'关于简好技术','

\r\n 简好技术,优秀的互联网平台与服务提供商,专业从事互联网软件开发等网络服务。自2008年成立至今,简好技术始终秉承“产品简单好用,用心服务客户”的核心经营理念,在自主研发的创新之路稳健前行。\r\n

\r\n

\r\n
\r\n

\r\n

\r\n 严谨的程序开发人员、专业的美工设计、良好的服务让我们在竞争激烈的互联网行业中蓬勃发展。通过我们多年在上百个不同行业领域的项目历练,加之对各行业、各类型客户需求的理解,抛开炒作与虚夸,以一贯低调、踏实、诚信的风格为企、事业单位提供更好更实用的一站式网站建设服务!\r\n

\r\n

\r\n
\r\n

\r\n

\r\n 简好技术坚信质量和信誉是我们存在的基石。我们注重客户提出的每个要求并充分考虑每一个细节,我们积极的做好服务,不断地完善自己,通过不懈的努力, 我们把每一位客户都做成了朋友,感谢你们对简好技术的信任与支持,这种信任与支持激励着我们提供更优质的服务。在所有新老客户面前,我们都很乐意朴实的跟您接触,深入的了解您的企业,每一次倾心的合作,都是一个全新的体会和挑战, 我们随时与您同在。\r\n

\r\n
',1335834720,905,1),(2,'PHPSHE商城系统1.1版演示站上线','PHPSHE商城系统主要包括商品分类、商品列表、商品咨询、商品评价、订单列表、文章分类、文章列表、单页列表、会员列表、管理列表、基本信息、支付方式、缓存管理、数据安全、友情链接、广告列表等功能模块。操作简单好用,会上网者就可以操作。
\r\n

\r\n
\r\n

\r\n

\r\n 【安装说明】:\r\n

\r\n1.用FTP工具(如flashfxp)把程序上传到服务器;
\r\n2.给./data 目录及其子目录 777 权限(windows服务器可忽略此步);
\r\n3.访问http://您的网址/install进行安装。
\r\n
\r\n【PHPSHE商城功能概述】:
\r\n软件适用于于各行业产品销售的商家,主要包括有以下功能:
\r\n(1)管理员发布、修改,删除商品信息,商品多级分类检索、关键词模糊搜索等;
\r\n(2)管理员对商品咨询管理,商品评价管理;
\r\n(3)订单流程清晰,可及时便捷查询和修改订单信息;
\r\n(4)管理员对文章分类管理、文章管理、单页信息管理;
\r\n(5)管理员对会员信息管理,管理帐号管理;
\r\n(6)管理员对网站整体基本信息的系统设置;
\r\n(7)订单支付方式集成支付宝即时到帐,担保交易,双功能收款等接口方便用户支付;
\r\n(8)数据缓存处理,提高系统的运行效率;
\r\n(9)一键对网站进行备份恢复,保障数据安全;
\r\n(10)支持友情链接、首页广告图管理;
\r\n(11)会员注册、登录,查询历史订单,咨询,评价以及商品收藏等。
\r\n

\r\n 详情请访问:PHPSHE商城系统简介 \r\n

',1335856260,687,1),(3,'请购买正版PHPSHE商城系统','\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n 购买授权 \r\n
\r\n 商业授权许可 \r\n \r\n 单年授权:600RMB \r\n (一次性购买两年可升级为终身授权,永久免费使用)\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n 购买服务 \r\n
\r\n 服务价格 \r\n \r\n 980RMB \r\n
\r\n 服务年限 \r\n \r\n 1年\r\n
\r\n 商业授权 \r\n \r\n 1年\r\n
\r\n 网站数量 \r\n \r\n 1个\r\n
\r\n 站点迁移 \r\n \r\n 1次\r\n
\r\n 在线文档 \r\n \r\n \r\n
\r\n 软件安装指导 \r\n \r\n \r\n
\r\n 软件使用指导 \r\n \r\n \r\n
\r\n 软件升级指导 \r\n \r\n \r\n
\r\n 二次开发咨询 \r\n \r\n \r\n
\r\n 版权信息去除 \r\n \r\n \r\n
\r\n 技术支持 \r\n \r\n 如网站打不开、出现乱码、页面显示不正确、黑客入侵、程序出错等,都会及时给予维护服务,对于软件操作不明白的,也可负责培训。\r\n
\r\n
\r\n

\r\n 注意:简好技术未授权任何公司或个人代理销售! 请注意鉴别,以免上当。\r\n

\r\n

\r\n 说明: \r\n

\r\n

\r\n ①商业授权\r\n

\r\n1、企业、政府单位、教育机构、协会团体、厂矿、工作室等所有以营利为目的的用户必须购买软件授权后方可使用。\r\n

\r\n ②以下情况不属于服务范围\r\n

\r\n1、自行修改或使用非原始PHPSHE商城系统程序代码产生的问题;
\r\n2、自行对PHPSHE商城系统数据库进行直接操作导致数据库出错或者崩溃;
\r\n3、非PHPSHE商城系统官方的模块/插件的安装以及由于安装模块/插件造成的故障;
\r\n4、服务器、虚拟主机原因造成的系统故障;
\r\n5、二次开发或定制及其它可能产生问题的情况。
\r\n
\r\n
\r\n

\r\n 详情请访问:PHPSHE商城系统购买 \r\n

',1335863100,680,1); +/*!40000 ALTER TABLE `pe_article` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_ask` +-- + +DROP TABLE IF EXISTS `pe_ask`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_ask` ( + `ask_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `ask_text` text NOT NULL, + `ask_atime` int(10) unsigned NOT NULL DEFAULT '0', + `ask_replytext` text NOT NULL, + `ask_replytime` int(10) unsigned NOT NULL DEFAULT '0', + `ask_state` tinyint(1) unsigned NOT NULL DEFAULT '0', + `product_id` int(10) unsigned NOT NULL, + `user_id` int(10) unsigned NOT NULL DEFAULT '0', + `user_name` varchar(20) NOT NULL, + `user_ip` char(15) NOT NULL DEFAULT '0.0.0.0', + PRIMARY KEY (`ask_id`), + KEY `product_id` (`product_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_ask` +-- + +LOCK TABLES `pe_ask` WRITE; +/*!40000 ALTER TABLE `pe_ask` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_ask` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_cart` +-- + +DROP TABLE IF EXISTS `pe_cart`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_cart` ( + `cart_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `cart_atime` int(10) unsigned NOT NULL DEFAULT '0', + `product_id` int(10) unsigned NOT NULL DEFAULT '0', + `product_num` smallint(5) unsigned NOT NULL DEFAULT '1', + `user_id` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`cart_id`), + KEY `product_id` (`product_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_cart` +-- + +LOCK TABLES `pe_cart` WRITE; +/*!40000 ALTER TABLE `pe_cart` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_cart` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_category` +-- + +DROP TABLE IF EXISTS `pe_category`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_category` ( + `category_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `category_pid` smallint(5) unsigned NOT NULL DEFAULT '0', + `category_name` varchar(30) NOT NULL, + `category_order` smallint(5) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`category_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_category` +-- + +LOCK TABLES `pe_category` WRITE; +/*!40000 ALTER TABLE `pe_category` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_category` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_class` +-- + +DROP TABLE IF EXISTS `pe_class`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_class` ( + `class_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `class_name` varchar(30) NOT NULL, + `class_order` smallint(5) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`class_id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_class` +-- + +LOCK TABLES `pe_class` WRITE; +/*!40000 ALTER TABLE `pe_class` DISABLE KEYS */; +INSERT INTO `pe_class` VALUES (1,'网站公告',0); +/*!40000 ALTER TABLE `pe_class` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_collect` +-- + +DROP TABLE IF EXISTS `pe_collect`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_collect` ( + `collect_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `collect_atime` int(10) unsigned NOT NULL DEFAULT '0', + `product_id` int(10) unsigned NOT NULL DEFAULT '0', + `user_id` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`collect_id`), + KEY `product_id` (`product_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_collect` +-- + +LOCK TABLES `pe_collect` WRITE; +/*!40000 ALTER TABLE `pe_collect` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_collect` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_comment` +-- + +DROP TABLE IF EXISTS `pe_comment`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_comment` ( + `comment_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '留言id', + `comment_text` text NOT NULL COMMENT '留言内容', + `comment_atime` int(10) NOT NULL DEFAULT '0' COMMENT '留言时间', + `product_id` int(10) unsigned NOT NULL, + `user_id` int(10) unsigned NOT NULL COMMENT '接受方用户id', + `user_name` varchar(20) NOT NULL, + `user_ip` char(15) NOT NULL DEFAULT '0.0.0.0', + PRIMARY KEY (`comment_id`), + KEY `product_id` (`product_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_comment` +-- + +LOCK TABLES `pe_comment` WRITE; +/*!40000 ALTER TABLE `pe_comment` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_comment` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_link` +-- + +DROP TABLE IF EXISTS `pe_link`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_link` ( + `link_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '友情链接id', + `link_name` varchar(50) NOT NULL COMMENT '友情链接名称', + `link_url` varchar(100) NOT NULL COMMENT '友情链接url', + `link_order` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '友情链接排序', + PRIMARY KEY (`link_id`) +) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_link` +-- + +LOCK TABLES `pe_link` WRITE; +/*!40000 ALTER TABLE `pe_link` DISABLE KEYS */; +INSERT INTO `pe_link` VALUES (1,'简好技术官方网站','http://www.phpshe.com',1),(2,'PHPSHE商城系统','http://www.phpshe.com/phpshe',2); +/*!40000 ALTER TABLE `pe_link` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_order` +-- + +DROP TABLE IF EXISTS `pe_order`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_order` ( + `order_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单id', + `order_money` decimal(10,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '订单金额', + `order_productmoney` decimal(10,1) unsigned NOT NULL DEFAULT '0.0', + `order_state` varchar(10) NOT NULL DEFAULT 'notpay', + `order_payway` varchar(10) NOT NULL DEFAULT 'alipay_js', + `order_text` varchar(255) NOT NULL COMMENT '订单留言', + `order_atime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '下单时间', + `order_ptime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '付款时间', + `order_stime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '发货时间', + `order_wlname` varchar(20) NOT NULL, + `order_wlid` varchar(20) NOT NULL, + `order_wlmoney` decimal(5,1) NOT NULL, + `order_outid` bigint(15) unsigned NOT NULL DEFAULT '0', + `user_id` int(10) unsigned NOT NULL, + `user_name` varchar(20) NOT NULL, + `user_tname` varchar(10) NOT NULL, + `user_phone` char(11) NOT NULL COMMENT '用户手机', + `user_tel` varchar(20) NOT NULL, + `user_address` varchar(255) NOT NULL COMMENT '用户地址', + PRIMARY KEY (`order_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_order` +-- + +LOCK TABLES `pe_order` WRITE; +/*!40000 ALTER TABLE `pe_order` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_order` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_orderdata` +-- + +DROP TABLE IF EXISTS `pe_orderdata`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_orderdata` ( + `orderdata_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单数据id', + `order_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '订单id', + `product_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品id', + `product_name` varchar(50) NOT NULL COMMENT '订单名称', + `product_smoney` decimal(10,1) NOT NULL DEFAULT '0.0', + `product_num` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`orderdata_id`), + KEY `order_id` (`order_id`), + KEY `product_id` (`product_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_orderdata` +-- + +LOCK TABLES `pe_orderdata` WRITE; +/*!40000 ALTER TABLE `pe_orderdata` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_orderdata` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_page` +-- + +DROP TABLE IF EXISTS `pe_page`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_page` ( + `page_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `page_name` varchar(20) NOT NULL, + `page_text` text NOT NULL, + PRIMARY KEY (`page_id`) +) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_page` +-- + +LOCK TABLES `pe_page` WRITE; +/*!40000 ALTER TABLE `pe_page` DISABLE KEYS */; +INSERT INTO `pe_page` VALUES (1,'购物指南','请在此填写相关内容'),(2,'支付方式','请在此填写相关内容'),(3,'常见问题','请在此填写相关内容'),(4,'配送时间及运费','请在此填写相关内容'),(5,'验货与签收','请在此填写相关内容'),(6,'订单查询','请在此填写相关内容'),(7,'退换货流程','请在此填写相关内容'),(8,'退换货条款','请在此填写相关内容'),(9,'用户协议','请在此填写相关内容'),(10,'公司简介','请在此填写相关内容'),(11,'联系我们','请在此填写相关内容'),(12,'诚聘英才','请在此填写相关内容'); +/*!40000 ALTER TABLE `pe_page` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_payway` +-- + +DROP TABLE IF EXISTS `pe_payway`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_payway` ( + `payway_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `payway_name` varchar(10) NOT NULL, + `payway_mark` varchar(15) NOT NULL, + `payway_logo` varchar(100) NOT NULL, + `payway_model` text NOT NULL, + `payway_config` text NOT NULL, + `payway_text` varchar(255) NOT NULL, + `payway_order` tinyint(3) unsigned NOT NULL DEFAULT '0', + `payway_state` tinyint(1) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`payway_id`) +) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_payway` +-- + +LOCK TABLES `pe_payway` WRITE; +/*!40000 ALTER TABLE `pe_payway` DISABLE KEYS */; +INSERT INTO `pe_payway` VALUES (1,'支付宝','alipay','include/plugin/payway/alipay/logo.gif','a:4:{s:12:\"alipay_class\";a:3:{s:4:\"name\";s:15:\"支付宝接口\";s:9:\"form_type\";s:6:\"select\";s:10:\"form_value\";a:3:{s:9:\"alipay_js\";s:18:\"即时到账收款\";s:9:\"alipay_db\";s:18:\"担保交易收款\";s:10:\"alipay_sgn\";s:15:\"双功能收款\";}}s:11:\"alipay_name\";a:2:{s:4:\"name\";s:15:\"支付宝账户\";s:9:\"form_type\";s:4:\"text\";}s:10:\"alipay_pid\";a:2:{s:4:\"name\";s:18:\"合作者身份Pid\";s:9:\"form_type\";s:4:\"text\";}s:10:\"alipay_key\";a:2:{s:4:\"name\";s:18:\"安全校验码Key\";s:9:\"form_type\";s:4:\"text\";}}','a:4:{s:12:\"alipay_class\";s:10:\"alipay_sgn\";s:11:\"alipay_name\";s:16:\"koyshe@gmail.com\";s:10:\"alipay_pid\";s:16:\"2088102457797916\";s:10:\"alipay_key\";s:32:\"esfsclzgahxncgzi3bbe7giwa2ywxyv3\";}','国内领先的第三方支付平台,为电子商务提供“简单、安全、快速”的在线支付解决方案。',0,1),(2,'银行转账/汇款','bank','include/plugin/payway/bank/logo.gif','a:1:{s:9:\"bank_text\";a:2:{s:4:\"name\";s:12:\"收款信息\";s:9:\"form_type\";s:8:\"textarea\";}}','a:1:{s:9:\"bank_text\";s:130:\"建设银行 621700254000005xxxx 刘某某\r\n工商银行 621700254000005xxxx 刘某某\r\n农业银行 621700254000005xxxx 刘某某\";}','当您提交订单后,请到银行汇款所购商品款项,待款项到达后我们安排发货。',0,1); +/*!40000 ALTER TABLE `pe_payway` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_product` +-- + +DROP TABLE IF EXISTS `pe_product`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_product` ( + `product_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '商品id', + `product_name` varchar(50) NOT NULL COMMENT '商品名称', + `product_text` text NOT NULL COMMENT '商品描述', + `product_logo` varchar(200) NOT NULL COMMENT '商品logo', + `product_mmoney` decimal(10,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '商品市场价', + `product_smoney` decimal(10,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '商品商城价', + `product_wlmoney` decimal(5,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '商品物流价', + `product_mark` varchar(10) NOT NULL COMMENT '商品货号', + `product_weight` decimal(7,2) NOT NULL COMMENT '商品尺寸', + `product_state` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '商品状态', + `product_atime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品发布时间', + `product_num` smallint(5) unsigned NOT NULL COMMENT '商品库存数', + `product_sellnum` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品销售数', + `product_clicknum` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品点击数', + `product_collectnum` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品收藏数', + `product_asknum` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品咨询数', + `product_commentnum` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商品评价数', + `product_istuijian` tinyint(1) unsigned NOT NULL DEFAULT '0', + `category_id` smallint(5) unsigned NOT NULL COMMENT '商品分类id', + PRIMARY KEY (`product_id`), + KEY `category_id` (`category_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_product` +-- + +LOCK TABLES `pe_product` WRITE; +/*!40000 ALTER TABLE `pe_product` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_product` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_setting` +-- + +DROP TABLE IF EXISTS `pe_setting`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_setting` ( + `setting_key` varchar(50) NOT NULL, + `setting_value` text NOT NULL, + KEY `setting_key` (`setting_key`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_setting` +-- + +LOCK TABLES `pe_setting` WRITE; +/*!40000 ALTER TABLE `pe_setting` DISABLE KEYS */; +INSERT INTO `pe_setting` VALUES ('web_title','欢迎使用PHPSHE商城系统'),('web_keywords','phpshe,php,shop,php商城系统,b2c商城系统,php商城源码,b2c商城源码,开源免费网上商城系统'),('web_description','phpshe,php,shop,php商城系统,b2c商城系统,php商城源码,b2c商城源码,开源免费网上商城系统'),('web_copyright','2008-2013 简好技术'),('web_tpl','default'),('web_phone','15839823500'),('web_icp',''),('web_weibo',''),('web_tongji',''),('web_logo','data/attachment/2012-11/20121231231911x.gif'),('web_qq','1318321,1517735'); +/*!40000 ALTER TABLE `pe_setting` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `pe_user` +-- + +DROP TABLE IF EXISTS `pe_user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pe_user` ( + `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户id', + `user_name` varchar(20) NOT NULL COMMENT '用户名', + `user_pw` varchar(32) NOT NULL COMMENT '用户密码', + `user_tname` varchar(10) NOT NULL COMMENT '用户姓名', + `user_phone` char(11) NOT NULL COMMENT '用户手机', + `user_tel` varchar(20) NOT NULL COMMENT '固定电话', + `user_qq` varchar(10) NOT NULL COMMENT '用户QQ', + `user_email` varchar(30) NOT NULL COMMENT '用户email', + `user_atime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户注册时间', + `user_ltime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户上次登录时间', + `user_address` varchar(255) NOT NULL COMMENT '用户地址', + PRIMARY KEY (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `pe_user` +-- + +LOCK TABLES `pe_user` WRITE; +/*!40000 ALTER TABLE `pe_user` DISABLE KEYS */; +/*!40000 ALTER TABLE `pe_user` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2018-10-31 12:01:19 diff --git a/phpshe/1.1/php-fpm/.DS_Store b/phpshe/1.1/php-fpm/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..326091947b5f64a328d0825d8c9fdafe48bd9573 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8ZYyFBf<5lVTMsQQ77s$G_25m2=s~4TOtFEQlqR)kjN~=+jeG)M z$C=%YSnR=*h@FAmZ)Rs^H}gUEhcU*xGq1^5l`$ruA#zlf2o5iG6-+Q9$2p>jI}Tm2 z-rR}t{dK@^FS3YD*^N8@`u$@+iW`l0UMQB<);ENxh{{&w+8%{-J9gq()ODtpXq`Io z$Tj*|7>+-6$36Fl^L};bC=6o94~A2f?0Z89xw`NJFPwM7S>Q!#9$PzvD2sBxT1%4l zL8C6)?N(ZsNvDH)Yd=lPVt223crv(qcubzs=NHW{2l|z48_eMq6jR>4Jq^ZTa0?@O zbRI=W3=jjv05Pyq447j;Y_3$*R4g$-4E%%v+#e(~M9W~NQEeU2;q@8)B}5d^@hyQU z4O#{>jo<;{Iu%f-a`VLCIvvKPiL(r58g)A3YGs(mteihyxLO^?r3z=<(nviqKnyH0 zP}F7>&;MiiWtKkj7gNY028e-w#sDw%>|Pg&GH2_z^6;#c&<4;@FfKy{1oVYV02sKB g)Ra^ECF&4o8O$`|EI6*x0qG*32%(M`_yq<&0RKl%+W-In literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/Dockerfile b/phpshe/1.1/php-fpm/Dockerfile new file mode 100644 index 000000000..df6dbdfe4 --- /dev/null +++ b/phpshe/1.1/php-fpm/Dockerfile @@ -0,0 +1,13 @@ +FROM php:5.6-apache + +MAINTAINER s1riu5 + + + +COPY src/ /var/www/html + + +RUN set -x \ + && chmod -R 777 /var/www/html \ + && a2enmod rewrite \ + && docker-php-ext-install mysql mysqli diff --git a/phpshe/1.1/php-fpm/src/.DS_Store b/phpshe/1.1/php-fpm/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 +RewriteEngine on +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteCond $1 !^(.*\.php|data|hook|include|template|module) +RewriteRule ^(.*)$ index.php/$1 [L] + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/.idea/misc.xml b/phpshe/1.1/php-fpm/src/.idea/misc.xml new file mode 100644 index 000000000..28a804d89 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/.idea/modules.xml b/phpshe/1.1/php-fpm/src/.idea/modules.xml new file mode 100644 index 000000000..f669a0e59 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/.idea/src.iml b/phpshe/1.1/php-fpm/src/.idea/src.iml new file mode 100644 index 000000000..c956989b2 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/.idea/src.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/.idea/vcs.xml b/phpshe/1.1/php-fpm/src/.idea/vcs.xml new file mode 100644 index 000000000..4fce1d86b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/.idea/workspace.xml b/phpshe/1.1/php-fpm/src/.idea/workspace.xml new file mode 100644 index 000000000..cc6f6b827 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/.idea/workspace.xml @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + zc_che + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ + + + + +
+ + + + +
+ + + + + +
+ + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/data/cache/template/index/index.php b/phpshe/1.1/php-fpm/src/data/cache/template/index/index.php new file mode 100755 index 000000000..e1c1b812b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/data/cache/template/index/index.php @@ -0,0 +1,92 @@ + +
+
+
+ + + +
+
+

+
    + +
  • + +
+
+
+
+
+
+
+

商品推荐

+
+
+ $v):?> +
style="background:none"> +

+

+

¥ ¥

+
+ +
+
+
+ + $v):?> +
+
+

+ 更多>> +
+
+
+ +
+

+

+

¥ ¥

+
+ +
+
+

热销排行

+
    + +
  • + + + + + + 商城价:¥ + +
    +
  • + +
+
+
+
+
+ + +
+
+ \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/data/cache/template/index/page.php b/phpshe/1.1/php-fpm/src/data/cache/template/index/page.php new file mode 100755 index 000000000..78f16e70d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/data/cache/template/index/page.php @@ -0,0 +1,63 @@ + +
+
您现在的位置:首页
+
+
+
资讯中心
+
+
    + +
  • + +
+
+
+
+
帮助中心
+
+

用户指南

+
    +
  • +
  • +
  • +
+

配送方式

+
    +
  • +
  • +
  • +
+

售后服务

+
    +
  • +
  • +
  • +
+

关于我们

+
    +
  • +
  • +
  • +
+
+
+
+
+ +

+
+ +
    + +
  • (浏览量:)
  • + +
+
page->html ?>
+ +

+

发布日期: 浏览量:

+
+ +
+
+ \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/hook/cache.hook.php b/phpshe/1.1/php-fpm/src/hook/cache.hook.php new file mode 100755 index 000000000..bb8ae7f6a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/hook/cache.hook.php @@ -0,0 +1,51 @@ +index('category_id')->pe_selectall('category', array('order by'=>'`category_order` asc, `category_id` asc'))); + cache::write('category_arr', $db->index('category_pid|category_id')->pe_selectall('category', array('order by'=>'`category_order` asc, `category_id` asc'))); + break; + case 'class': + cache::write('class', $db->index('class_id')->pe_selectall('class', array('order by'=>'`class_order` asc, `class_id` asc'))); + break; + case 'setting': + cache::write('setting', 'setting_key'); + break; + case 'payway': + cache::write('payway', $db->index('payway_mark')->pe_selectall('payway', array('order by'=>'`payway_order` asc, `payway_id` asc'))); + break; + case 'link': + cache::write('link', $db->pe_selectall('link', array('order by'=>'`link_order` asc, `link_id` asc'))); + break; + case 'page': + cache::write('page', $db->index('page_id')->pe_selectall('page', '', '`page_id`, `page_name`')); + break; + case 'ad': + cache::write('ad', $db->index('ad_position|ad_id')->pe_selectall('ad', array('order by'=>'`ad_order` asc, `ad_id` asc'))); + break; + case 'template': + pe_dirdel("{$pe['path_root']}data/cache/template"); + break; + case 'attachment': + pe_dirdel("{$pe['path_root']}data/cache/attachment"); + break; + case 'thumb': + pe_dirdel("{$pe['path_root']}data/cache/thumb"); + break; + default: + cache::write('category', $db->index('category_id')->pe_selectall('category', array('order by'=>'`category_order` asc, `category_id` asc'))); + cache::write('category_arr', $db->index('category_pid|category_id')->pe_selectall('category', array('order by'=>'`category_order` asc, `category_id` asc'))); + cache::write('class', $db->index('class_id')->pe_selectall('class', array('order by'=>'`class_order` asc, `class_id` asc'))); + cache::write('setting', 'setting_key'); + cache::write('payway', $db->index('payway_mark')->pe_selectall('payway', array('order by'=>'`payway_order` asc, `payway_id` asc'))); + cache::write('link', $db->pe_selectall('link', array('order by'=>'link_order asc'))); + cache::write('page', $db->index('page_id')->pe_selectall('page', '', '`page_id`, `page_name`')); + cache::write('ad', $db->index('ad_position|ad_id')->pe_selectall('ad', array('order by'=>'`ad_order` asc, `ad_id` asc'))); + pe_dirdel("{$pe['path_root']}data/cache/template"); + pe_dirdel("{$pe['path_root']}data/cache/attachment"); + pe_dirdel("{$pe['path_root']}data/cache/thumb"); + break; + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/hook/category.hook.php b/phpshe/1.1/php-fpm/src/hook/category.hook.php new file mode 100755 index 000000000..2ee7492d6 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/hook/category.hook.php @@ -0,0 +1,38 @@ +gettree($db->pe_selectall('category', array('order by'=> 'category_order asc, category_id asc'))); +} +function category_path($id, $other = null) +{ + global $pe; + $category_list = cache::get('category'); + pe_lead('include/class/categorytree.class.php'); + $category = new category(); + $pid_arr = $category->getpid_arr($category_list, $id); + $path = "您现在的位置:首页"; + + foreach ($pid_arr as $v) { + $path .= " > {$category_list[$v]['category_name']}"; + } + $path .= " > {$category_list[$id]['category_name']}"; + $other && $path .= " > {$other}"; + return $path; +} +function category_cidarr($id) { + $category_list = cache::get('category'); + pe_lead('include/class/categorytree.class.php'); + $category = new category(); + $cid_arr = $category->getcid_arr($category_list, $id); + if ($cid_arr) { + $cid_arr[] = $id; + return $cid_arr; + } + else { + return $id; + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/hook/payway.hook.php b/phpshe/1.1/php-fpm/src/hook/payway.hook.php new file mode 100755 index 000000000..1f2b1063a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/hook/payway.hook.php @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/hook/product.hook.php b/phpshe/1.1/php-fpm/src/hook/product.hook.php new file mode 100755 index 000000000..b79ebe27a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/hook/product.hook.php @@ -0,0 +1,48 @@ +pe_selectall('product', array('order by'=>'`product_clicknum` desc'), '*', array($num)); +} +//侧栏商品列表 +function product_selllist($num) { + global $pe,$db; + return $db->pe_selectall('product', array('order by'=>'`product_sellnum` desc'), '*', array($num)); +} +//商品统计更新 +function product_num($type, $id) { + global $db; + $id = intval($id); + switch ($type) { + case 'addnum': + case 'delnum': + $orderdata_list = $db->pe_selectall('orderdata', array('order_id'=>$id)); + if ($type == 'addnum') { + foreach ($orderdata_list as $v) { + $db->pe_update('product', array('product_id'=>$v['product_id']), "`product_num`=`product_num`+{$v['product_num']}"); + } + } + else { + foreach ($orderdata_list as $v) { + $db->pe_update('product', array('product_id'=>$v['product_id']), "`product_num`=`product_num`-{$v['product_num']}"); + } + } + break; + case 'sellnum': + $orderdata_list = $db->pe_selectall('orderdata', array('order_id'=>$id)); + foreach ($orderdata_list as $v) { + $db->pe_update('product', array('product_id' => $v['product_id']), "`product_sellnum` = `product_sellnum` + {$v['product_num']}"); + } + break; + case 'clicknum': + $db->pe_update('product', array('product_id' => $id), "`product_clicknum` = `product_clicknum` + 1"); + break; + default: + if (in_array($type, array('collectnum', 'asknum', 'commentnum'))) { + $num = $db->pe_num(substr($type, 0, -3), array('product_id' => $id)); + return $db->pe_update('product', array('product_id' => $id), array("product_{$type}" => $num)); + } + break; + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/httpd.ini b/phpshe/1.1/php-fpm/src/httpd.ini new file mode 100755 index 000000000..ac2f52725 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/httpd.ini @@ -0,0 +1,2 @@ +[ISAPI_Rewrite] +RewriteRule ^(?!/.*\.php)(?!/data)(?!/hook)(?!/include)(?!/template)(?!/module)(.*)$ /index\.php/$1 [I] \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/authcode.class.php b/phpshe/1.1/php-fpm/src/include/class/authcode.class.php new file mode 100755 index 000000000..d25e81cd1 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/authcode.class.php @@ -0,0 +1,85 @@ +width = $width; + $this->height = $height; + $this->codenum = $codenum; + } + function get() + { + //产生验证码 + $this->docode(); + //产生图片 + $this->doimage(); + //设置干扰像素 + $this->dodisturb(); + //往图片上写验证码 + $this->writeCheckCodeToImage(); + ob_clean(); + header("Content-type:image/png"); + imagepng($this->checkimage); + imagedestroy($this->checkimage); + } + /** + * 产生验证码 + */ + private function docode() + { + $this->checkcode = strtoupper(substr(md5(rand()),0,$this->codenum)); + session_start(); + //$_SESSION['authcode'] = strtolower($this->checkcode); + $_SESSION['authcode'] = $this->checkcode; + } + /** + * 产生验证码图片 + */ + private function doimage() + { + $this->checkimage = @imagecreate($this->width, $this->height); + $back = imagecolorallocate($this->checkimage,255,255,255); + $border = imagecolorallocate($this->checkimage,0,0,0); + imagefilledrectangle($this->checkimage,0,0,$this->width - 1,$this->height - 1,$back); // 白色底 + imagerectangle($this->checkimage,0,0,$this->width - 1,$this->height - 1,$border); // 黑色边框 + } + /** + * 设置图片的干扰像素 + */ + private function dodisturb() + { + for ($i=0;$i<=200;$i++) + { + $this->disturbColor = imagecolorallocate($this->checkimage, rand(0,255), rand(0,255), rand(0,255)); + imagesetpixel($this->checkimage,rand(2,128),rand(2,38),$this->disturbColor); + } + } + /** + * + * 在验证码图片上逐个画上验证码 + * + */ + private function writeCheckCodeToImage() + { + for ($i=0;$i<=$this->codenum;$i++) + { + $bg_color = imagecolorallocate ($this->checkimage, rand(0,255), rand(0,128), rand(0,255)); + $x = floor($this->width/$this->codenum)*$i + 10; + $y = rand(0,$this->height-20); + imagechar ($this->checkimage, rand(5,8), $x, $y, $this->checkcode[$i], $bg_color); + } + } + function __destruct() + { + unset($this->width,$this->height,$this->codenum); + } +} +$authcode = new authcode(); +echo $authcode->get(); +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/cache.class.php b/phpshe/1.1/php-fpm/src/include/class/cache.class.php new file mode 100755 index 000000000..d96a4035d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/cache.class.php @@ -0,0 +1,85 @@ +pe_selectall($cachename); + $cache_arr = array(); + //默认是主键为索引 + if (!$index) { + foreach ($rows as $v) { + $cache_arr[$v[$cachename.'_id']] = $v; + } + } + //自定义索引 + elseif ($index && stripos($index, '|') === false) { + foreach ($rows as $v) { + $cache_arr[$v[$index]] = $v; + } + } + //父子二级索引(最多只支持二级索引) + elseif ($index && stripos($index, '|') !== false) { + $indexarr = explode('|', $index); + foreach ($rows as $v) { + $cache_arr[$v[$indexarr[0]]][$v[$indexarr[1]]] = $v; + } + } + self::write_diy($cachename, $cache_arr, 0); + if ($js == 1) { + $cache = "var {$cachename}=".json_encode($cache_arr); + file_put_contents("{$pe['path_root']}data/cache/{$cachename}.cache.js", $cache); + } + } + /** + * 生成自定义缓存操作 + * + * @param string $cachename 缓存文件名 + * @param string $index 缓存索引 + * @param int $js 是否同时生成js缓存 + */ + public static function write_diy($cachename, $index_arr, $js) + { + global $pe; + $cache = ""; + file_put_contents("{$pe['path_root']}data/cache/{$cachename}.cache.php", $cache); + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/categorytree.class.php b/phpshe/1.1/php-fpm/src/include/class/categorytree.class.php new file mode 100755 index 000000000..fcc37e8e3 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/categorytree.class.php @@ -0,0 +1,91 @@ +field['id'] = isset($category_id) ? $category_id : 'category_id'; + $this->field['pid'] = isset($category_pid) ? $category_pid : 'category_pid'; + $this->field['name'] = isset($category_name) ? $category_name : 'category_name'; + $this->field['showname'] = isset($category_showname) ? $category_showname : 'category_showname'; + } + public function gettree($data, $pid = 0, $level = 1) + { + $newdata = array(); + foreach ($data as $v) { + if ($v[$this->field['pid']] == $pid) { + //前三级前导符号 + $level == 1 && $v[$this->field['showname']] = "{$v[$this->field['name']]}"; + $level == 2 && $v[$this->field['showname']] = "  ┝ {$v[$this->field['name']]}"; + $level >= 3 && $v[$this->field['showname']] = '  '.str_repeat('  ', $level - 2)."┝ {$v[$this->field['name']]}"; + $this->tree[] = $v; + $this->gettree($data, $v[$this->field['id']], $level+1); + } + else { + continue; + } + } + return $this->tree; + } + + public function getpid_arr($data, $id, $init = 1) + { + $init == 1 && $this->tempvar = array(); + !$this->tempvar && $this->tempvar = array(); + foreach ($data as $v) { + if ($v[$this->field['id']] == $id) { + if ($v[$this->field['pid']] == 0) { + krsort($this->tempvar); + } + else { + $this->tempvar[] = $v[$this->field['pid']]; + $this->getpid_arr($data, $v[$this->field['pid']], 0); + } + break; + } + else { + continue; + } + } + return $this->tempvar; + } + + public function getcid_arr($data, $pid = 0, $init = 1) + { + $init == 1 && $this->tempvar = array(); + !$this->tempvar && $this->tempvar = array(); + foreach ($data as $v) { + if ($v[$this->field['pid']] == $pid) { + $this->tempvar[] = $v[$this->field['id']]; + $this->getcid_arr($data, $v[$this->field['id']], 0); + } + else { + continue; + } + } + return $this->tempvar; + } + + public function gettid($data, $id) + { + $this->tempvar = ''; + foreach ($data as $v) { + if ($v[$this->field['id']] == $id) { + if ($v[$this->field['pid']] == 0) { + $this->tempvar = $id; + } + else { + $this->gettid($data, $v[$this->field['pid']]); + } + break; + } + else { + continue; + } + } + return $this->tempvar; + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/db.class.php b/phpshe/1.1/php-fpm/src/include/class/db.class.php new file mode 100755 index 000000000..263b995c2 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/db.class.php @@ -0,0 +1,214 @@ + + * @creatdate 2010-1001 koyshe + */ +class db { + var $pconnect = FALSE; + var $dbconn; + var $page; + var $table_index; + var $sql; + public function __construct($db_host, $db_user, $db_pw, $db_name, $db_coding) + { + $this->connect($db_host, $db_user, $db_pw, $db_name, $db_coding); + } + public function connect($db_host, $db_user, $db_pw, $db_name, $db_coding) + { + if ($this->pconnect) { + $this->dbconn = @mysql_pconnect($db_host, $db_user, $db_pw); + } + else { + $this->dbconn = @mysql_connect($db_host, $db_user, $db_pw); + } + if (!$this->dbconn) pe_bug('数据库连接失败...数据库ip,用户名,密码对吗?', __LINE__); + if (!mysql_select_db($db_name, $this->dbconn)) pe_bug('数据库选择失败...数据库名对吗?', __LINE__); + $this->query("SET NAMES {$db_coding}"); + $this->query("SET sql_mode = ''"); + } + public function query($sql) + { + $this->sql[] = $sql; + return mysql_query($sql, $this->dbconn); + } + public function fetch_assoc($result = null) + { + return mysql_fetch_assoc($result); + } + public function fetch_row($result = null) + { + return mysql_fetch_row($result); + } + public function num_rows($result = null) + { + return mysql_num_rows($result); + } + public function insert_id() + { + return mysql_insert_id(); + } + public function index($table_index) + { + $this->table_index = $table_index; + return $this; + } + /* ====================== 原始mysql处理函数 ====================== */ + public function sql_insert($sql) + { + $this->query($sql); + if ($insert_id = mysql_insert_id()) { + return $insert_id; + } + else { + $result = mysql_affected_rows(); + return $result > 0 ? $result : 0; + } + } + public function sql_delete($sql) + { + $this->query($sql); + $result = mysql_affected_rows(); + return $result > 0 ? $result : 0; + } + public function sql_update($sql) + { + if ($this->query($sql) == true) { + $result = mysql_affected_rows(); + return $result == 0 ? 1 : $result; + } + return 0; + } + public function sql_selectall($sql, $limit_page = array()) + { + //每页数量显示+分页 or 每页数量显示+不分页 + if (count($limit_page)==2) { + $allnum = $this->sql_num(preg_replace('/select [\s\S]+?(?!from) from/', 'select count(1) from', $sql, 1)); + $this->page = new page($allnum, $limit_page[1], $limit_page[0]); + $sqllimit = $this->page->limit; + } + elseif (count($limit_page)==1) { + $sqllimit = " limit {$limit_page[0]}"; + } + + $result = $this->query($sql.$sqllimit); + $rows = array(); + //自定义索引 + if ($this->table_index) { + $table_index = explode('|', $this->table_index); + $table_index_num = count($table_index); + unset($this->table_index); + } + else { + $table_index_num = 0; + } + while ($row = $this->fetch_assoc($result)) { + if ($table_index_num == 0) { + $rows[] = $row; + } + elseif ($table_index_num == 1) { + $rows[$row[$table_index[0]]] = $row; + } + elseif ($table_index_num == 2) { + $rows[$row[$table_index[0]]][$row[$table_index[1]]] = $row; + } + } + return $rows; + } + public function sql_select($sql) + { + $row = array(); + return $row = $this->fetch_assoc($this->query($sql)); + } + //可以用于判断符合sql条件的总行数(但sql必须遵循 "select count(1) from table where条件")合适,也可以用户判断某行是否存在 + public function sql_num($sql) + { + $rows = $this->fetch_row($this->query($sql)); + return intval($rows[0]); + } + /* ====================== 快速mysql处理函数 ====================== */ + public function pe_selectall($table, $where = '', $field = '*', $limit_page = array()) + { + //处理条件语句 + $sqlwhere = $this->_dowhere($where); + return $this->sql_selectall("select {$field} from `".dbpre."{$table}` {$sqlwhere}", $limit_page); + } + public function pe_select($table, $where = '', $field = '*') + { + //处理条件语句 + $sqlwhere = $this->_dowhere($where); + return $this->sql_select("select {$field} from `".dbpre."{$table}` {$sqlwhere} limit 1"); + } + public function pe_insert($table, $set) + { + //处理设置语句 + $sqlset = $this->_doset($set); + return $this->sql_insert("insert into `".dbpre."{$table}` {$sqlset}"); + } + public function pe_update($table, $where, $set) + { + //处理设置语句 + $sqlset = $this->_doset($set); + //处理条件语句 + $sqlwhere = $this->_dowhere($where); + return $this->sql_update("update `".dbpre."{$table}` {$sqlset} {$sqlwhere}"); + } + public function pe_delete($table, $where = '') + { + //处理条件语句 + $sqlwhere = $this->_dowhere($where); + return $this->sql_delete("delete from `".dbpre."{$table}` {$sqlwhere}"); + } + public function pe_num($table, $where = '') + { + //处理条件语句 + $sqlwhere = $this->_dowhere($where); + return $this->sql_num("select count(1) from `".dbpre."{$table}` {$sqlwhere}"); + } + public function sql() + { + $i = 1; + foreach ((array)$this->sql as $k => $v) { + if ($k <=1) { + continue; + } + else { + echo "

[".($i++)."] => {$v}

"; + } + } + } + /* ====================== 仅供内部调用 ====================== */ + //处理条件语句 + protected function _dowhere($where) + { + if (is_array($where)) { + foreach ($where as $k => $v) { + if (is_array($v)) { + $where_arr[] = "`{$k}` in('".implode("','", $v)."')"; + } + else { + in_array($k, array('order by', 'group by')) ? ($sqlby = " {$k} {$v}") : ($where_arr[] = "`{$k}` = '{$v}'"); + } + } + $sqlwhere = is_array($where_arr) ? 'where '.implode($where_arr, ' and ').$sqlby : $sqlby; + } + else { + $where && $sqlwhere = (stripos(trim($where), 'order by') === 0 or stripos(trim($where), 'group by') === 0) ? "{$where}" : "where 1 {$where}"; + } + return $sqlwhere; + } + //处理设置语句 + protected function _doset($set) + { + if (is_array($set)) { + foreach ($set as $k => $v) { + $set_arr[] = "`{$k}` = '{$v}'"; + } + $sqlset = 'set '.implode($set_arr, ' , '); + } + else { + $sqlset = "set {$set}"; + } + return $sqlset; + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/excel.class.php b/phpshe/1.1/php-fpm/src/include/class/excel.class.php new file mode 100755 index 000000000..9ed49a039 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/excel.class.php @@ -0,0 +1,196 @@ + + * @version 1.0 + */ + +/** + * Generating excel documents on-the-fly from PHP5 + * + * Uses the excel XML-specification to generate a native + * XML document, readable/processable by excel. + * + * @package Utilities + * @subpackage Excel + * @author Oliver Schwarz + * @version 1.0 + * + * @todo Add error handling (array corruption etc.) + * @todo Write a wrapper method to do everything on-the-fly + */ +class excel +{ + + /** + * Header of excel document (prepended to the rows) + * + * Copied from the excel xml-specs. + * + * @access private + * @var string + */ + private $header = " +"; + + /** + * Footer of excel document (appended to the rows) + * + * Copied from the excel xml-specs. + * + * @access private + * @var string + */ + private $footer = ""; + + /** + * Document lines (rows in an array) + * + * @access private + * @var array + */ + private $lines = array (); + + /** + * Worksheet title + * + * Contains the title of a single worksheet + * + * @access private + * @var string + */ + private $worksheet_title = "Table1"; + + /** + * Add a single row to the $document string + * + * @access private + * @param array 1-dimensional array + * @todo Row-creation should be done by $this->addArray + */ + private function addRow ($array) + { + + // initialize all cells for this row + $cells = ""; + + // foreach key -> write value into cells + foreach ($array as $k => $v): + + $cells .= "" . $v . "\n"; + + endforeach; + + // transform $cells content into one row + $this->lines[] = "\n" . $cells . "\n"; + + } + + /** + * Add an array to the document + * + * This should be the only method needed to generate an excel + * document. + * + * @access public + * @param array 2-dimensional array + * @todo Can be transfered to __construct() later on + */ + public function addArray ($array) + { + + // run through the array and add them into rows + foreach ($array as $k => $v): + $this->addRow ($v); + endforeach; + + } + + /** + * Set the worksheet title + * + * Checks the string for not allowed characters (:\/?*), + * cuts it to maximum 31 characters and set the title. Damn + * why are not-allowed chars nowhere to be found? Windows + * help's no help... + * + * @access public + * @param string $title Designed title + */ + public function setWorksheetTitle ($title) + { + + // strip out special chars first + $title = preg_replace ("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title); + + // now cut it to the allowed length + $title = substr ($title, 0, 31); + + // set title + $this->worksheet_title = $title; + + } + + /** + * Generate the excel file + * + * Finally generates the excel file and uses the header() function + * to deliver it to the browser. + * + * @access public + * @param string $filename Name of excel file to generate (...xls) + */ + function generateXML ($filename) + { + + // deliver header (as recommended in php manual) + header("Content-Type: application/vnd.ms-excel; charset=utf-8"); + header("Content-Disposition: inline; filename=\"" . $filename . ".xls\""); + + // print out document to the browser + // need to use stripslashes for the damn ">" + echo stripslashes ($this->header); + echo "\nworksheet_title . "\">\n\n"; + echo "\n"; + echo implode ("\n", $this->lines); + echo "
\n
\n"; + echo $this->footer; + + } + +} + +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/mail.class.php b/phpshe/1.1/php-fpm/src/include/class/mail.class.php new file mode 100755 index 000000000..c46897547 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/mail.class.php @@ -0,0 +1,230 @@ +debug = false; + $this->smtp_port = $smtp_port; + $this->relay_host = $relay_host; + $this->time_out = 30; //is used in fsockopen() + $this->auth = $auth;//auth + $this->user = $user; + $this->pass = $pass; + $this->host_name = "localhost"; //is used in HELO command + $this->log_file = ""; + $this->sock = false; + } + function sendmail($to, $from, $subject="", $body="", $mailtype, $cc="", $bcc="", $additional_headers="") { + $mail_from = $this->get_address($this->strip_comment($from)); + echo $body = preg_replace("/(^|(\r\n))(\.)/", "\1.\3", $body); + $header = ""; + $header .= "MIME-Version:1.0\r\n"; + if ($mailtype == "HTML") { + $header .= "Content-Type:text/html\r\n"; + } + $header .= "To: ".$to."\r\n"; + if ($cc != "") { + $header .= "Cc: ".$cc."\r\n"; + } + $header .= "From: $from<".$from.">\r\n"; + $header .= "Subject: ".$subject."\r\n"; + $header .= $additional_headers; + $header .= "Date: ".date("r")."\r\n"; + $header .= "X-Mailer:By Redhat (PHP/".phpversion().")\r\n"; + list($msec, $sec) = explode(" ", microtime()); + $header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*1000000).".".$mail_from.">\r\n"; + $TO = explode(",", $this->strip_comment($to)); + if ($cc!="") { + $TO = array_merge($TO, explode(",", $this->strip_comment($cc))); + } + if ($bcc != "") { + $TO=array_merge($TO, explode(",", $this->strip_comment($bcc))); + } + $sent = TRUE; + foreach ($TO as $rcpt_to) { + $rcpt_to = $this->get_address($rcpt_to); + if (!$this->smtp_sockopen($rcpt_to)) { + $this->log_write("Error: Cannot send email to ".$rcpt_to."\n"); + $sent = FALSE; + continue; + } + if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $header, $body)) { + $this->log_write("E-mail has been sent to <".$rcpt_to.">\n"); + } else { + $this->log_write("Error: Cannot send email to <".$rcpt_to.">\n"); + $sent = FALSE; + } + fclose($this->sock); + $this->log_write("Disconnected from remote host\n"); + } + return $sent; + } + function smtp_send($helo, $from, $to, $header, $body="") { + if (!$this->smtp_putcmd("HELO", $helo)) { + return $this->smtp_error("sending HELO command"); + } + if($this->auth){ + if (!$this->smtp_putcmd("AUTH LOGIN", base64_encode($this->user))) { + return $this->smtp_error("sending HELO command"); + } + if (!$this->smtp_putcmd("", base64_encode($this->pass))) { + return $this->smtp_error("sending HELO command"); + } + } + if (!$this->smtp_putcmd("MAIL", "FROM:<".$from.">")) { + return $this->smtp_error("sending MAIL FROM command"); + } + if (!$this->smtp_putcmd("RCPT", "TO:<".$to.">")) { + return $this->smtp_error("sending RCPT TO command"); + } + if (!$this->smtp_putcmd("DATA")) { + return $this->smtp_error("sending DATA command"); + } + if (!$this->smtp_message($header, $body)) { + return $this->smtp_error("sending message"); + } + if (!$this->smtp_eom()) { + return $this->smtp_error("sending . [EOM]"); + } + if (!$this->smtp_putcmd("QUIT")) { + return $this->smtp_error("sending QUIT command"); + } + return true; + } + function smtp_sockopen($address) { + if ($this->relay_host == "") { + return $this->smtp_sockopen_mx($address); + } + else { + return $this->smtp_sockopen_relay(); + } + } + function smtp_sockopen_relay() { + $this->log_write("Trying to ".$this->relay_host.":".$this->smtp_port."\n"); + $this->sock = @fsockopen($this->relay_host, $this->smtp_port, $errno, $errstr, $this->time_out); + if (!($this->sock && $this->smtp_ok())) { + $this->log_write("Error: Cannot connenct to relay host ".$this->relay_host."\n"); + $this->log_write("Error: ".$errstr." (".$errno.")\n"); + return false; + } + $this->log_write("Connected to relay host ".$this->relay_host."\n"); + return true; + } + function smtp_sockopen_mx($address) { + echo $domain = preg_replace("/^.+@([^@]+)$/", "\1", $address); + if (!@getmxrr($domain, $MXHOSTS)) { + $this->log_write("Error: Cannot resolve MX \"".$domain."\"\n"); + return false; + } + foreach ($MXHOSTS as $host) { + $this->log_write("Trying to ".$host.":".$this->smtp_port."\n"); + $this->sock = @fsockopen($host, $this->smtp_port, $errno, $errstr, $this->time_out); + if (!($this->sock && $this->smtp_ok())) { + $this->log_write("Warning: Cannot connect to mx host ".$host."\n"); + $this->log_write("Error: ".$errstr." (".$errno.")\n"); + continue; + } + $this->log_write("Connected to mx host ".$host."\n"); + return true; + } + $this->log_write("Error: Cannot connect to any mx hosts (".implode(", ", $MXHOSTS).")\n"); + return false; + } + function smtp_message($header, $body) { + fputs($this->sock, $header."\r\n".$body); + $this->smtp_debug("> ".str_replace("\r\n", "\n"."> ", $header."\n> ".$body."\n> ")); + return true; + } + function smtp_eom() { + fputs($this->sock, "\r\n.\r\n"); + $this->smtp_debug(". [EOM]\n"); + return $this->smtp_ok(); + } + function smtp_ok() { + $response = str_replace("\r\n", "", fgets($this->sock, 512)); + $this->smtp_debug($response."\n"); + if (!preg_match("/^[23]/", $response)) { + fputs($this->sock, "QUIT\r\n"); + fgets($this->sock, 512); + $this->log_write("Error: Remote host returned \"".$response."\"\n"); + return false; + } + return true; + } + function smtp_putcmd($cmd, $arg="") { + if ($arg != "") { + if($cmd=="") $cmd=$arg; + else $cmd=$cmd." ".$arg; + } + fputs($this->sock, $cmd."\r\n"); + $this->smtp_debug("> ".$cmd."\n"); + return $this->smtp_ok(); + } + function smtp_error($string) { + $this->log_write("Error: Error occurred while ".$string.".\n"); + return false; + } + function log_write($message) { + $this->smtp_debug($message); + if ($this->log_file == "") { + return true; + } + $message = date("M d H:i:s ").get_current_user()."[".getmypid()."]: ".$message; + if (!@file_exists($this->log_file) || !($fp=@fopen($this->log_file, "a"))) { + $this->smtp_debug("Warning: Cannot open log file \"".$this->log_file."\"\n"); + return false; + } + flock($fp, LOCK_EX); + fputs($fp, $message); + fclose($fp); + return true; + } + function strip_comment($address) { + $comment = "/\([^()]*\)/"; + while (preg_match($comment, $address)) { + $address = preg_replace($comment, "", $address); + } + return $address; + } + function get_address($address) { + $address = preg_replace("/([ \t\r\n])+/", "", $address); + $address = preg_replace("/^.*<(.+)>.*$/", "\1", $address); + return $address; + } + function smtp_debug($message) { + if ($this->debug) { + echo $message; + } + } +} + +/* +这是一个测试程序!!! +请按照说明设置好以下的参数,以下是以tom.com的用户为例设置好的. +*/ + +$smtpserver = 'smtp.163.com';//SMTP服务器 +$smtpserverport = 25;//SMTP服务器端口 +$smtpuser = 'koyshe@163.com';//SMTP服务器的用户帐号 +$smtppass = 'yongyuan511218';//SMTP服务器的用户密码 +$smtp = new smtp($smtpserver, $smtpserverport, true, $smtpuser, $smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证. + +/* +$email_touser = "3110914@qq.com";//发送给谁 +$email_user = "koyshe@163.net";//发送人 +$email_name = "欢迎注册为 '爱上灵宝网(23lb.com)' 会员";//邮件主题 +$email_text = "

以下是23lb的注册激活链接,有效期为7天

点此激活";//邮件内容 +$email_type = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件 + +//$smtp->debug = TRUE;//是否显示发送的调试信息 +$smtp->sendmail($email_touser, $email_user, $email_name, $email_text, $email_type); +*/ +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/mail/class.pop3.php b/phpshe/1.1/php-fpm/src/include/class/mail/class.pop3.php new file mode 100755 index 000000000..f9fd3b2ed --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/mail/class.pop3.php @@ -0,0 +1,407 @@ +pop_conn = 0; + $this->connected = false; + $this->error = null; + } + + /** + * Combination of public events - connect, login, disconnect + * @access public + * @param string $host + * @param integer $port + * @param integer $tval + * @param string $username + * @param string $password + */ + public function Authorise ($host, $port = false, $tval = false, $username, $password, $debug_level = 0) { + $this->host = $host; + + // If no port value is passed, retrieve it + if ($port == false) { + $this->port = $this->POP3_PORT; + } else { + $this->port = $port; + } + + // If no port value is passed, retrieve it + if ($tval == false) { + $this->tval = $this->POP3_TIMEOUT; + } else { + $this->tval = $tval; + } + + $this->do_debug = $debug_level; + $this->username = $username; + $this->password = $password; + + // Refresh the error log + $this->error = null; + + // Connect + $result = $this->Connect($this->host, $this->port, $this->tval); + + if ($result) { + $login_result = $this->Login($this->username, $this->password); + + if ($login_result) { + $this->Disconnect(); + + return true; + } + + } + + // We need to disconnect regardless if the login succeeded + $this->Disconnect(); + + return false; + } + + /** + * Connect to the POP3 server + * @access public + * @param string $host + * @param integer $port + * @param integer $tval + * @return boolean + */ + public function Connect ($host, $port = false, $tval = 30) { + // Are we already connected? + if ($this->connected) { + return true; + } + + /* + On Windows this will raise a PHP Warning error if the hostname doesn't exist. + Rather than supress it with @fsockopen, let's capture it cleanly instead + */ + + set_error_handler(array(&$this, 'catchWarning')); + + // Connect to the POP3 server + $this->pop_conn = fsockopen($host, // POP3 Host + $port, // Port # + $errno, // Error Number + $errstr, // Error Message + $tval); // Timeout (seconds) + + // Restore the error handler + restore_error_handler(); + + // Does the Error Log now contain anything? + if ($this->error && $this->do_debug >= 1) { + $this->displayErrors(); + } + + // Did we connect? + if ($this->pop_conn == false) { + // It would appear not... + $this->error = array( + 'error' => "Failed to connect to server $host on port $port", + 'errno' => $errno, + 'errstr' => $errstr + ); + + if ($this->do_debug >= 1) { + $this->displayErrors(); + } + + return false; + } + + // Increase the stream time-out + + // Check for PHP 4.3.0 or later + if (version_compare(phpversion(), '5.0.0', 'ge')) { + stream_set_timeout($this->pop_conn, $tval, 0); + } else { + // Does not work on Windows + if (substr(PHP_OS, 0, 3) !== 'WIN') { + socket_set_timeout($this->pop_conn, $tval, 0); + } + } + + // Get the POP3 server response + $pop3_response = $this->getResponse(); + + // Check for the +OK + if ($this->checkResponse($pop3_response)) { + // The connection is established and the POP3 server is talking + $this->connected = true; + return true; + } + + } + + /** + * Login to the POP3 server (does not support APOP yet) + * @access public + * @param string $username + * @param string $password + * @return boolean + */ + public function Login ($username = '', $password = '') { + if ($this->connected == false) { + $this->error = 'Not connected to POP3 server'; + + if ($this->do_debug >= 1) { + $this->displayErrors(); + } + } + + if (empty($username)) { + $username = $this->username; + } + + if (empty($password)) { + $password = $this->password; + } + + $pop_username = "USER $username" . $this->CRLF; + $pop_password = "PASS $password" . $this->CRLF; + + // Send the Username + $this->sendString($pop_username); + $pop3_response = $this->getResponse(); + + if ($this->checkResponse($pop3_response)) { + // Send the Password + $this->sendString($pop_password); + $pop3_response = $this->getResponse(); + + if ($this->checkResponse($pop3_response)) { + return true; + } else { + return false; + } + } else { + return false; + } + } + + /** + * Disconnect from the POP3 server + * @access public + */ + public function Disconnect () { + $this->sendString('QUIT'); + + fclose($this->pop_conn); + } + + ///////////////////////////////////////////////// + // Private Methods + ///////////////////////////////////////////////// + + /** + * Get the socket response back. + * $size is the maximum number of bytes to retrieve + * @access private + * @param integer $size + * @return string + */ + private function getResponse ($size = 128) { + $pop3_response = fgets($this->pop_conn, $size); + + return $pop3_response; + } + + /** + * Send a string down the open socket connection to the POP3 server + * @access private + * @param string $string + * @return integer + */ + private function sendString ($string) { + $bytes_sent = fwrite($this->pop_conn, $string, strlen($string)); + + return $bytes_sent; + } + + /** + * Checks the POP3 server response for +OK or -ERR + * @access private + * @param string $string + * @return boolean + */ + private function checkResponse ($string) { + if (substr($string, 0, 3) !== '+OK') { + $this->error = array( + 'error' => "Server reported an error: $string", + 'errno' => 0, + 'errstr' => '' + ); + + if ($this->do_debug >= 1) { + $this->displayErrors(); + } + + return false; + } else { + return true; + } + + } + + /** + * If debug is enabled, display the error message array + * @access private + */ + private function displayErrors () { + echo '
';
+
+    foreach ($this->error as $single_error) {
+      print_r($single_error);
+    }
+
+    echo '
'; + } + + /** + * Takes over from PHP for the socket warning handler + * @access private + * @param integer $errno + * @param string $errstr + * @param string $errfile + * @param integer $errline + */ + private function catchWarning ($errno, $errstr, $errfile, $errline) { + $this->error[] = array( + 'error' => "Connecting to the POP3 server raised a PHP warning: ", + 'errno' => $errno, + 'errstr' => $errstr + ); + } + + // End of class +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/mail/class.smtp.php b/phpshe/1.1/php-fpm/src/include/class/mail/class.smtp.php new file mode 100755 index 000000000..c2ca1cb3b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/mail/class.smtp.php @@ -0,0 +1,814 @@ +smtp_conn = 0; + $this->error = null; + $this->helo_rply = null; + + $this->do_debug = 0; + } + + ///////////////////////////////////////////////// + // CONNECTION FUNCTIONS + ///////////////////////////////////////////////// + + /** + * Connect to the server specified on the port specified. + * If the port is not specified use the default SMTP_PORT. + * If tval is specified then a connection will try and be + * established with the server for that number of seconds. + * If tval is not specified the default is 30 seconds to + * try on the connection. + * + * SMTP CODE SUCCESS: 220 + * SMTP CODE FAILURE: 421 + * @access public + * @return bool + */ + public function Connect($host, $port = 0, $tval = 30) { + // set the error val to null so there is no confusion + $this->error = null; + + // make sure we are __not__ connected + if($this->connected()) { + // already connected, generate error + $this->error = array("error" => "Already connected to a server"); + return false; + } + + if(empty($port)) { + $port = $this->SMTP_PORT; + } + + // connect to the smtp server + $this->smtp_conn = @fsockopen($host, // the host of the server + $port, // the port to use + $errno, // error number if any + $errstr, // error message if any + $tval); // give up after ? secs + // verify we connected properly + if(empty($this->smtp_conn)) { + $this->error = array("error" => "Failed to connect to server", + "errno" => $errno, + "errstr" => $errstr); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": $errstr ($errno)" . $this->CRLF . '
'; + } + return false; + } + + // SMTP server can take longer to respond, give longer timeout for first read + // Windows does not have support for this timeout function + if(substr(PHP_OS, 0, 3) != "WIN") + socket_set_timeout($this->smtp_conn, $tval, 0); + + // get any announcement + $announce = $this->get_lines(); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $announce . $this->CRLF . '
'; + } + + return true; + } + + /** + * Initiate a TLS communication with the server. + * + * SMTP CODE 220 Ready to start TLS + * SMTP CODE 501 Syntax error (no parameters allowed) + * SMTP CODE 454 TLS not available due to temporary reason + * @access public + * @return bool success + */ + public function StartTLS() { + $this->error = null; # to avoid confusion + + if(!$this->connected()) { + $this->error = array("error" => "Called StartTLS() without being connected"); + return false; + } + + fputs($this->smtp_conn,"STARTTLS" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '
'; + } + + if($code != 220) { + $this->error = + array("error" => "STARTTLS not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + + // Begin encrypted connection + if(!stream_socket_enable_crypto($this->smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { + return false; + } + + return true; + } + + /** + * Performs SMTP authentication. Must be run after running the + * Hello() method. Returns true if successfully authenticated. + * @access public + * @return bool + */ + public function Authenticate($username, $password) { + // Start authentication + fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 334) { + $this->error = + array("error" => "AUTH not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + + // Send encoded username + fputs($this->smtp_conn, base64_encode($username) . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 334) { + $this->error = + array("error" => "Username not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + + // Send encoded password + fputs($this->smtp_conn, base64_encode($password) . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 235) { + $this->error = + array("error" => "Password not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + + return true; + } + + /** + * Returns true if connected to a server otherwise false + * @access public + * @return bool + */ + public function Connected() { + if(!empty($this->smtp_conn)) { + $sock_status = socket_get_status($this->smtp_conn); + if($sock_status["eof"]) { + // the socket is valid but we are not connected + if($this->do_debug >= 1) { + echo "SMTP -> NOTICE:" . $this->CRLF . "EOF caught while checking if connected"; + } + $this->Close(); + return false; + } + return true; // everything looks good + } + return false; + } + + /** + * Closes the socket and cleans up the state of the class. + * It is not considered good to use this function without + * first trying to use QUIT. + * @access public + * @return void + */ + public function Close() { + $this->error = null; // so there is no confusion + $this->helo_rply = null; + if(!empty($this->smtp_conn)) { + // close the connection and cleanup + fclose($this->smtp_conn); + $this->smtp_conn = 0; + } + } + + ///////////////////////////////////////////////// + // SMTP COMMANDS + ///////////////////////////////////////////////// + + /** + * Issues a data command and sends the msg_data to the server + * finializing the mail transaction. $msg_data is the message + * that is to be send with the headers. Each header needs to be + * on a single line followed by a with the message headers + * and the message body being seperated by and additional . + * + * Implements rfc 821: DATA + * + * SMTP CODE INTERMEDIATE: 354 + * [data] + * . + * SMTP CODE SUCCESS: 250 + * SMTP CODE FAILURE: 552,554,451,452 + * SMTP CODE FAILURE: 451,554 + * SMTP CODE ERROR : 500,501,503,421 + * @access public + * @return bool + */ + public function Data($msg_data) { + $this->error = null; // so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Data() without being connected"); + return false; + } + + fputs($this->smtp_conn,"DATA" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '
'; + } + + if($code != 354) { + $this->error = + array("error" => "DATA command not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + + /* the server is ready to accept data! + * according to rfc 821 we should not send more than 1000 + * including the CRLF + * characters on a single line so we will break the data up + * into lines by \r and/or \n then if needed we will break + * each of those into smaller lines to fit within the limit. + * in addition we will be looking for lines that start with + * a period '.' and append and additional period '.' to that + * line. NOTE: this does not count towards limit. + */ + + // normalize the line breaks so we know the explode works + $msg_data = str_replace("\r\n","\n",$msg_data); + $msg_data = str_replace("\r","\n",$msg_data); + $lines = explode("\n",$msg_data); + + /* we need to find a good way to determine is headers are + * in the msg_data or if it is a straight msg body + * currently I am assuming rfc 822 definitions of msg headers + * and if the first field of the first line (':' sperated) + * does not contain a space then it _should_ be a header + * and we can process all lines before a blank "" line as + * headers. + */ + + $field = substr($lines[0],0,strpos($lines[0],":")); + $in_headers = false; + if(!empty($field) && !strstr($field," ")) { + $in_headers = true; + } + + $max_line_length = 998; // used below; set here for ease in change + + while(list(,$line) = @each($lines)) { + $lines_out = null; + if($line == "" && $in_headers) { + $in_headers = false; + } + // ok we need to break this line up into several smaller lines + while(strlen($line) > $max_line_length) { + $pos = strrpos(substr($line,0,$max_line_length)," "); + + // Patch to fix DOS attack + if(!$pos) { + $pos = $max_line_length - 1; + $lines_out[] = substr($line,0,$pos); + $line = substr($line,$pos); + } else { + $lines_out[] = substr($line,0,$pos); + $line = substr($line,$pos + 1); + } + + /* if processing headers add a LWSP-char to the front of new line + * rfc 822 on long msg headers + */ + if($in_headers) { + $line = "\t" . $line; + } + } + $lines_out[] = $line; + + // send the lines to the server + while(list(,$line_out) = @each($lines_out)) { + if(strlen($line_out) > 0) + { + if(substr($line_out, 0, 1) == ".") { + $line_out = "." . $line_out; + } + } + fputs($this->smtp_conn,$line_out . $this->CRLF); + } + } + + // message data has been sent + fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '
'; + } + + if($code != 250) { + $this->error = + array("error" => "DATA not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + return true; + } + + /** + * Sends the HELO command to the smtp server. + * This makes sure that we and the server are in + * the same known state. + * + * Implements from rfc 821: HELO + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE ERROR : 500, 501, 504, 421 + * @access public + * @return bool + */ + public function Hello($host = '') { + $this->error = null; // so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Hello() without being connected"); + return false; + } + + // if hostname for HELO was not specified send default + if(empty($host)) { + // determine appropriate default to send to server + $host = "localhost"; + } + + // Send extended hello first (RFC 2821) + if(!$this->SendHello("EHLO", $host)) { + if(!$this->SendHello("HELO", $host)) { + return false; + } + } + + return true; + } + + /** + * Sends a HELO/EHLO command. + * @access private + * @return bool + */ + private function SendHello($hello, $host) { + fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER: " . $rply . $this->CRLF . '
'; + } + + if($code != 250) { + $this->error = + array("error" => $hello . " not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + + $this->helo_rply = $rply; + + return true; + } + + /** + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. + * + * Implements rfc 821: MAIL FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,421 + * @access public + * @return bool + */ + public function Mail($from) { + $this->error = null; // so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Mail() without being connected"); + return false; + } + + $useVerp = ($this->do_verp ? "XVERP" : ""); + fputs($this->smtp_conn,"MAIL FROM:<" . $from . ">" . $useVerp . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '
'; + } + + if($code != 250) { + $this->error = + array("error" => "MAIL not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + return true; + } + + /** + * Sends the quit command to the server and then closes the socket + * if there is no error or the $close_on_error argument is true. + * + * Implements from rfc 821: QUIT + * + * SMTP CODE SUCCESS: 221 + * SMTP CODE ERROR : 500 + * @access public + * @return bool + */ + public function Quit($close_on_error = true) { + $this->error = null; // so there is no confusion + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Quit() without being connected"); + return false; + } + + // send the quit command to the server + fputs($this->smtp_conn,"quit" . $this->CRLF); + + // get any good-bye messages + $byemsg = $this->get_lines(); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $byemsg . $this->CRLF . '
'; + } + + $rval = true; + $e = null; + + $code = substr($byemsg,0,3); + if($code != 221) { + // use e as a tmp var cause Close will overwrite $this->error + $e = array("error" => "SMTP server rejected quit command", + "smtp_code" => $code, + "smtp_rply" => substr($byemsg,4)); + $rval = false; + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $e["error"] . ": " . $byemsg . $this->CRLF . '
'; + } + } + + if(empty($e) || $close_on_error) { + $this->Close(); + } + + return $rval; + } + + /** + * Sends the command RCPT to the SMTP server with the TO: argument of $to. + * Returns true if the recipient was accepted false if it was rejected. + * + * Implements from rfc 821: RCPT TO: + * + * SMTP CODE SUCCESS: 250,251 + * SMTP CODE FAILURE: 550,551,552,553,450,451,452 + * SMTP CODE ERROR : 500,501,503,421 + * @access public + * @return bool + */ + public function Recipient($to) { + $this->error = null; // so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Recipient() without being connected"); + return false; + } + + fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '
'; + } + + if($code != 250 && $code != 251) { + $this->error = + array("error" => "RCPT not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + return true; + } + + /** + * Sends the RSET command to abort and transaction that is + * currently in progress. Returns true if successful false + * otherwise. + * + * Implements rfc 821: RSET + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE ERROR : 500,501,504,421 + * @access public + * @return bool + */ + public function Reset() { + $this->error = null; // so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Reset() without being connected"); + return false; + } + + fputs($this->smtp_conn,"RSET" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '
'; + } + + if($code != 250) { + $this->error = + array("error" => "RSET failed", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + + return true; + } + + /** + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. This command + * will send the message to the users terminal if they are logged + * in and send them an email. + * + * Implements rfc 821: SAML FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,502,421 + * @access public + * @return bool + */ + public function SendAndMail($from) { + $this->error = null; // so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called SendAndMail() without being connected"); + return false; + } + + fputs($this->smtp_conn,"SAML FROM:" . $from . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '
'; + } + + if($code != 250) { + $this->error = + array("error" => "SAML not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '
'; + } + return false; + } + return true; + } + + /** + * This is an optional command for SMTP that this class does not + * support. This method is here to make the RFC821 Definition + * complete for this class and __may__ be implimented in the future + * + * Implements from rfc 821: TURN + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE FAILURE: 502 + * SMTP CODE ERROR : 500, 503 + * @access public + * @return bool + */ + public function Turn() { + $this->error = array("error" => "This method, TURN, of the SMTP ". + "is not implemented"); + if($this->do_debug >= 1) { + echo "SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF . '
'; + } + return false; + } + + /** + * Get the current error + * @access public + * @return array + */ + public function getError() { + return $this->error; + } + + ///////////////////////////////////////////////// + // INTERNAL FUNCTIONS + ///////////////////////////////////////////////// + + /** + * Read in as many lines as possible + * either before eof or socket timeout occurs on the operation. + * With SMTP we can tell if we have more lines to read if the + * 4th character is '-' symbol. If it is a space then we don't + * need to read anything else. + * @access private + * @return string + */ + private function get_lines() { + $data = ""; + while($str = @fgets($this->smtp_conn,515)) { + if($this->do_debug >= 4) { + echo "SMTP -> get_lines(): \$data was \"$data\"" . $this->CRLF . '
'; + echo "SMTP -> get_lines(): \$str is \"$str\"" . $this->CRLF . '
'; + } + $data .= $str; + if($this->do_debug >= 4) { + echo "SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF . '
'; + } + // if 4th character is a space, we are done reading, break the loop + if(substr($str,3,1) == " ") { break; } + } + return $data; + } + +} + +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/mail/mail.class.php b/phpshe/1.1/php-fpm/src/include/class/mail/mail.class.php new file mode 100755 index 000000000..09479239b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/mail/mail.class.php @@ -0,0 +1,2320 @@ +exceptions = ($exceptions == true); + } + + /** + * Sets message type to HTML. + * @param bool $ishtml + * @return void + */ + public function IsHTML($ishtml = true) { + if ($ishtml) { + $this->ContentType = 'text/html'; + } else { + $this->ContentType = 'text/plain'; + } + } + + /** + * Sets Mailer to send message using SMTP. + * @return void + */ + public function IsSMTP() { + $this->Mailer = 'smtp'; + } + + /** + * Sets Mailer to send message using PHP mail() function. + * @return void + */ + public function IsMail() { + $this->Mailer = 'mail'; + } + + /** + * Sets Mailer to send message using the $Sendmail program. + * @return void + */ + public function IsSendmail() { + if (!stristr(ini_get('sendmail_path'), 'sendmail')) { + $this->Sendmail = '/var/qmail/bin/sendmail'; + } + $this->Mailer = 'sendmail'; + } + + /** + * Sets Mailer to send message using the qmail MTA. + * @return void + */ + public function IsQmail() { + if (stristr(ini_get('sendmail_path'), 'qmail')) { + $this->Sendmail = '/var/qmail/bin/sendmail'; + } + $this->Mailer = 'sendmail'; + } + + ///////////////////////////////////////////////// + // METHODS, RECIPIENTS + ///////////////////////////////////////////////// + + /** + * Adds a "To" address. + * @param string $address + * @param string $name + * @return boolean true on success, false if address already used + */ + public function AddAddress($address, $name = '') { + return $this->AddAnAddress('to', $address, $name); + } + + /** + * Adds a "Cc" address. + * Note: this function works with the SMTP mailer on win32, not with the "mail" mailer. + * @param string $address + * @param string $name + * @return boolean true on success, false if address already used + */ + public function AddCC($address, $name = '') { + return $this->AddAnAddress('cc', $address, $name); + } + + /** + * Adds a "Bcc" address. + * Note: this function works with the SMTP mailer on win32, not with the "mail" mailer. + * @param string $address + * @param string $name + * @return boolean true on success, false if address already used + */ + public function AddBCC($address, $name = '') { + return $this->AddAnAddress('bcc', $address, $name); + } + + /** + * Adds a "Reply-to" address. + * @param string $address + * @param string $name + * @return boolean + */ + public function AddReplyTo($address, $name = '') { + return $this->AddAnAddress('ReplyTo', $address, $name); + } + + /** + * Adds an address to one of the recipient arrays + * Addresses that have been added already return false, but do not throw exceptions + * @param string $kind One of 'to', 'cc', 'bcc', 'ReplyTo' + * @param string $address The email address to send to + * @param string $name + * @return boolean true on success, false if address already used or invalid in some way + * @access private + */ + private function AddAnAddress($kind, $address, $name = '') { + if (!preg_match('/^(to|cc|bcc|ReplyTo)$/', $kind)) { + echo 'Invalid recipient array: ' . kind; + return false; + } + $address = trim($address); + $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim + if (!self::ValidateAddress($address)) { + $this->SetError($this->Lang('invalid_address').': '. $address); + if ($this->exceptions) { + throw new phpmailerException($this->Lang('invalid_address').': '.$address); + } + echo $this->Lang('invalid_address').': '.$address; + return false; + } + if ($kind != 'ReplyTo') { + if (!isset($this->all_recipients[strtolower($address)])) { + array_push($this->$kind, array($address, $name)); + $this->all_recipients[strtolower($address)] = true; + return true; + } + } else { + if (!array_key_exists(strtolower($address), $this->ReplyTo)) { + $this->ReplyTo[strtolower($address)] = array($address, $name); + return true; + } + } + return false; +} + +/** + * Set the From and FromName properties + * @param string $address + * @param string $name + * @return boolean + */ + public function SetFrom($address, $name = '',$auto=1) { + $address = trim($address); + $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim + if (!self::ValidateAddress($address)) { + $this->SetError($this->Lang('invalid_address').': '. $address); + if ($this->exceptions) { + throw new phpmailerException($this->Lang('invalid_address').': '.$address); + } + echo $this->Lang('invalid_address').': '.$address; + return false; + } + $this->From = $address; + $this->FromName = $name; + if ($auto) { + if (empty($this->ReplyTo)) { + $this->AddAnAddress('ReplyTo', $address, $name); + } + if (empty($this->Sender)) { + $this->Sender = $address; + } + } + return true; + } + + /** + * Check that a string looks roughly like an email address should + * Static so it can be used without instantiation + * Tries to use PHP built-in validator in the filter extension (from PHP 5.2), falls back to a reasonably competent regex validator + * Conforms approximately to RFC2822 + * @link http://www.hexillion.com/samples/#Regex Original pattern found here + * @param string $address The email address to check + * @return boolean + * @static + * @access public + */ + public static function ValidateAddress($address) { + if (function_exists('filter_var')) { //Introduced in PHP 5.2 + if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) { + return false; + } else { + return true; + } + } else { + return preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $address); + } + } + + ///////////////////////////////////////////////// + // METHODS, MAIL SENDING + ///////////////////////////////////////////////// + + /** + * Creates message and assigns Mailer. If the message is + * not sent successfully then it returns false. Use the ErrorInfo + * variable to view description of the error. + * @return bool + */ + public function Send() { + try { + if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) { + throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL); + } + + // Set whether the message is multipart/alternative + if(!empty($this->AltBody)) { + $this->ContentType = 'multipart/alternative'; + } + + $this->error_count = 0; // reset errors + $this->SetMessageType(); + $header = $this->CreateHeader(); + $body = $this->CreateBody(); + + if (empty($this->Body)) { + throw new phpmailerException($this->Lang('empty_message'), self::STOP_CRITICAL); + } + + // digitally sign with DKIM if enabled + if ($this->DKIM_domain && $this->DKIM_private) { + $header_dkim = $this->DKIM_Add($header,$this->Subject,$body); + $header = str_replace("\r\n","\n",$header_dkim) . $header; + } + + // Choose the mailer and send through it + switch($this->Mailer) { + case 'sendmail': + return $this->SendmailSend($header, $body); + case 'smtp': + return $this->SmtpSend($header, $body); + default: + return $this->MailSend($header, $body); + } + + } catch (phpmailerException $e) { + $this->SetError($e->getMessage()); + if ($this->exceptions) { + throw $e; + } + echo $e->getMessage()."\n"; + return false; + } + } + + /** + * Sends mail using the $Sendmail program. + * @param string $header The message headers + * @param string $body The message body + * @access protected + * @return bool + */ + protected function SendmailSend($header, $body) { + if ($this->Sender != '') { + $sendmail = sprintf("%s -oi -f %s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender)); + } else { + $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail)); + } + if ($this->SingleTo === true) { + foreach ($this->SingleToArray as $key => $val) { + if(!@$mail = popen($sendmail, 'w')) { + throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + fputs($mail, "To: " . $val . "\n"); + fputs($mail, $header); + fputs($mail, $body); + $result = pclose($mail); + // implement call back function if it exists + $isSent = ($result == 0) ? 1 : 0; + $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body); + if($result != 0) { + throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + } + } else { + if(!@$mail = popen($sendmail, 'w')) { + throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + fputs($mail, $header); + fputs($mail, $body); + $result = pclose($mail); + // implement call back function if it exists + $isSent = ($result == 0) ? 1 : 0; + $this->doCallback($isSent,$this->to,$this->cc,$this->bcc,$this->Subject,$body); + if($result != 0) { + throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + } + return true; + } + + /** + * Sends mail using the PHP mail() function. + * @param string $header The message headers + * @param string $body The message body + * @access protected + * @return bool + */ + protected function MailSend($header, $body) { + $toArr = array(); + foreach($this->to as $t) { + $toArr[] = $this->AddrFormat($t); + } + $to = implode(', ', $toArr); + + $params = sprintf("-oi -f %s", $this->Sender); + if ($this->Sender != '' && strlen(ini_get('safe_mode'))< 1) { + $old_from = ini_get('sendmail_from'); + ini_set('sendmail_from', $this->Sender); + if ($this->SingleTo === true && count($toArr) > 1) { + foreach ($toArr as $key => $val) { + $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params); + // implement call back function if it exists + $isSent = ($rt == 1) ? 1 : 0; + $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body); + } + } else { + $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params); + // implement call back function if it exists + $isSent = ($rt == 1) ? 1 : 0; + $this->doCallback($isSent,$to,$this->cc,$this->bcc,$this->Subject,$body); + } + } else { + if ($this->SingleTo === true && count($toArr) > 1) { + foreach ($toArr as $key => $val) { + $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params); + // implement call back function if it exists + $isSent = ($rt == 1) ? 1 : 0; + $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body); + } + } else { + $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header); + // implement call back function if it exists + $isSent = ($rt == 1) ? 1 : 0; + $this->doCallback($isSent,$to,$this->cc,$this->bcc,$this->Subject,$body); + } + } + if (isset($old_from)) { + ini_set('sendmail_from', $old_from); + } + if(!$rt) { + throw new phpmailerException($this->Lang('instantiate'), self::STOP_CRITICAL); + } + return true; + } + + /** + * Sends mail via SMTP using PhpSMTP + * Returns false if there is a bad MAIL FROM, RCPT, or DATA input. + * @param string $header The message headers + * @param string $body The message body + * @uses SMTP + * @access protected + * @return bool + */ + protected function SmtpSend($header, $body) { + require_once $this->PluginDir . 'class.smtp.php'; + $bad_rcpt = array(); + + if(!$this->SmtpConnect()) { + throw new phpmailerException($this->Lang('smtp_connect_failed'), self::STOP_CRITICAL); + } + $smtp_from = ($this->Sender == '') ? $this->From : $this->Sender; + if(!$this->smtp->Mail($smtp_from)) { + throw new phpmailerException($this->Lang('from_failed') . $smtp_from, self::STOP_CRITICAL); + } + + // Attempt to send attach all recipients + foreach($this->to as $to) { + if (!$this->smtp->Recipient($to[0])) { + $bad_rcpt[] = $to[0]; + // implement call back function if it exists + $isSent = 0; + $this->doCallback($isSent,$to[0],'','',$this->Subject,$body); + } else { + // implement call back function if it exists + $isSent = 1; + $this->doCallback($isSent,$to[0],'','',$this->Subject,$body); + } + } + foreach($this->cc as $cc) { + if (!$this->smtp->Recipient($cc[0])) { + $bad_rcpt[] = $cc[0]; + // implement call back function if it exists + $isSent = 0; + $this->doCallback($isSent,'',$cc[0],'',$this->Subject,$body); + } else { + // implement call back function if it exists + $isSent = 1; + $this->doCallback($isSent,'',$cc[0],'',$this->Subject,$body); + } + } + foreach($this->bcc as $bcc) { + if (!$this->smtp->Recipient($bcc[0])) { + $bad_rcpt[] = $bcc[0]; + // implement call back function if it exists + $isSent = 0; + $this->doCallback($isSent,'','',$bcc[0],$this->Subject,$body); + } else { + // implement call back function if it exists + $isSent = 1; + $this->doCallback($isSent,'','',$bcc[0],$this->Subject,$body); + } + } + + + if (count($bad_rcpt) > 0 ) { //Create error message for any bad addresses + $badaddresses = implode(', ', $bad_rcpt); + throw new phpmailerException($this->Lang('recipients_failed') . $badaddresses); + } + if(!$this->smtp->Data($header . $body)) { + throw new phpmailerException($this->Lang('data_not_accepted'), self::STOP_CRITICAL); + } + if($this->SMTPKeepAlive == true) { + $this->smtp->Reset(); + } + return true; + } + + /** + * Initiates a connection to an SMTP server. + * Returns false if the operation failed. + * @uses SMTP + * @access public + * @return bool + */ + public function SmtpConnect() { + if(is_null($this->smtp)) { + $this->smtp = new SMTP(); + } + + $this->smtp->do_debug = $this->SMTPDebug; + $hosts = explode(';', $this->Host); + $index = 0; + $connection = $this->smtp->Connected(); + + // Retry while there is no connection + try { + while($index < count($hosts) && !$connection) { + $hostinfo = array(); + if (preg_match('/^(.+):([0-9]+)$/', $hosts[$index], $hostinfo)) { + $host = $hostinfo[1]; + $port = $hostinfo[2]; + } else { + $host = $hosts[$index]; + $port = $this->Port; + } + + $tls = ($this->SMTPSecure == 'tls'); + $ssl = ($this->SMTPSecure == 'ssl'); + + if ($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) { + + $hello = ($this->Helo != '' ? $this->Helo : $this->ServerHostname()); + $this->smtp->Hello($hello); + + if ($tls) { + if (!$this->smtp->StartTLS()) { + throw new phpmailerException($this->Lang('tls')); + } + + //We must resend HELO after tls negotiation + $this->smtp->Hello($hello); + } + + $connection = true; + if ($this->SMTPAuth) { + if (!$this->smtp->Authenticate($this->Username, $this->Password)) { + throw new phpmailerException($this->Lang('authenticate')); + } + } + } + $index++; + if (!$connection) { + throw new phpmailerException($this->Lang('connect_host')); + } + } + } catch (phpmailerException $e) { + $this->smtp->Reset(); + throw $e; + } + return true; + } + + /** + * Closes the active SMTP session if one exists. + * @return void + */ + public function SmtpClose() { + if(!is_null($this->smtp)) { + if($this->smtp->Connected()) { + $this->smtp->Quit(); + $this->smtp->Close(); + } + } + } + + /** + * Sets the language for all class error messages. + * Returns false if it cannot load the language file. The default language is English. + * @param string $langcode ISO 639-1 2-character language code (e.g. Portuguese: "br") + * @param string $lang_path Path to the language file directory + * @access public + */ + function SetLanguage($langcode = 'en', $lang_path = 'language/') { + //Define full set of translatable strings + $PHPMAILER_LANG = array( + 'provide_address' => 'You must provide at least one recipient email address.', + 'mailer_not_supported' => ' mailer is not supported.', + 'execute' => 'Could not execute: ', + 'instantiate' => 'Could not instantiate mail function.', + 'authenticate' => 'SMTP Error: Could not authenticate.', + 'from_failed' => 'The following From address failed: ', + 'recipients_failed' => 'SMTP Error: The following recipients failed: ', + 'data_not_accepted' => 'SMTP Error: Data not accepted.', + 'connect_host' => 'SMTP Error: Could not connect to SMTP host.', + 'file_access' => 'Could not access file: ', + 'file_open' => 'File Error: Could not open file: ', + 'encoding' => 'Unknown encoding: ', + 'signing' => 'Signing Error: ', + 'smtp_error' => 'SMTP server error: ', + 'empty_message' => 'Message body empty', + 'invalid_address' => 'Invalid address', + 'variable_set' => 'Cannot set or reset variable: ' + ); + //Overwrite language-specific strings. This way we'll never have missing translations - no more "language string failed to load"! + $l = true; + if ($langcode != 'en') { //There is no English translation file + $l = @include $lang_path.'phpmailer.lang-'.$langcode.'.php'; + } + $this->language = $PHPMAILER_LANG; + return ($l == true); //Returns false if language not found + } + + /** + * Return the current array of language strings + * @return array + */ + public function GetTranslations() { + return $this->language; + } + + ///////////////////////////////////////////////// + // METHODS, MESSAGE CREATION + ///////////////////////////////////////////////// + + /** + * Creates recipient headers. + * @access public + * @return string + */ + public function AddrAppend($type, $addr) { + $addr_str = $type . ': '; + $addresses = array(); + foreach ($addr as $a) { + $addresses[] = $this->AddrFormat($a); + } + $addr_str .= implode(', ', $addresses); + $addr_str .= $this->LE; + + return $addr_str; + } + + /** + * Formats an address correctly. + * @access public + * @return string + */ + public function AddrFormat($addr) { + if (empty($addr[1])) { + return $this->SecureHeader($addr[0]); + } else { + return $this->EncodeHeader($this->SecureHeader($addr[1]), 'phrase') . " <" . $this->SecureHeader($addr[0]) . ">"; + } + } + + /** + * Wraps message for use with mailers that do not + * automatically perform wrapping and for quoted-printable. + * Original written by philippe. + * @param string $message The message to wrap + * @param integer $length The line length to wrap to + * @param boolean $qp_mode Whether to run in Quoted-Printable mode + * @access public + * @return string + */ + public function WrapText($message, $length, $qp_mode = false) { + $soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $this->LE; + // If utf-8 encoding is used, we will need to make sure we don't + // split multibyte characters when we wrap + $is_utf8 = (strtolower($this->CharSet) == "utf-8"); + + $message = $this->FixEOL($message); + if (substr($message, -1) == $this->LE) { + $message = substr($message, 0, -1); + } + + $line = explode($this->LE, $message); + $message = ''; + for ($i=0 ;$i < count($line); $i++) { + $line_part = explode(' ', $line[$i]); + $buf = ''; + for ($e = 0; $e $length)) { + $space_left = $length - strlen($buf) - 1; + if ($e != 0) { + if ($space_left > 20) { + $len = $space_left; + if ($is_utf8) { + $len = $this->UTF8CharBoundary($word, $len); + } elseif (substr($word, $len - 1, 1) == "=") { + $len--; + } elseif (substr($word, $len - 2, 1) == "=") { + $len -= 2; + } + $part = substr($word, 0, $len); + $word = substr($word, $len); + $buf .= ' ' . $part; + $message .= $buf . sprintf("=%s", $this->LE); + } else { + $message .= $buf . $soft_break; + } + $buf = ''; + } + while (strlen($word) > 0) { + $len = $length; + if ($is_utf8) { + $len = $this->UTF8CharBoundary($word, $len); + } elseif (substr($word, $len - 1, 1) == "=") { + $len--; + } elseif (substr($word, $len - 2, 1) == "=") { + $len -= 2; + } + $part = substr($word, 0, $len); + $word = substr($word, $len); + + if (strlen($word) > 0) { + $message .= $part . sprintf("=%s", $this->LE); + } else { + $buf = $part; + } + } + } else { + $buf_o = $buf; + $buf .= ($e == 0) ? $word : (' ' . $word); + + if (strlen($buf) > $length and $buf_o != '') { + $message .= $buf_o . $soft_break; + $buf = $word; + } + } + } + $message .= $buf . $this->LE; + } + + return $message; + } + + /** + * Finds last character boundary prior to maxLength in a utf-8 + * quoted (printable) encoded string. + * Original written by Colin Brown. + * @access public + * @param string $encodedText utf-8 QP text + * @param int $maxLength find last character boundary prior to this length + * @return int + */ + public function UTF8CharBoundary($encodedText, $maxLength) { + $foundSplitPos = false; + $lookBack = 3; + while (!$foundSplitPos) { + $lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack); + $encodedCharPos = strpos($lastChunk, "="); + if ($encodedCharPos !== false) { + // Found start of encoded character byte within $lookBack block. + // Check the encoded byte value (the 2 chars after the '=') + $hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2); + $dec = hexdec($hex); + if ($dec < 128) { // Single byte character. + // If the encoded char was found at pos 0, it will fit + // otherwise reduce maxLength to start of the encoded char + $maxLength = ($encodedCharPos == 0) ? $maxLength : + $maxLength - ($lookBack - $encodedCharPos); + $foundSplitPos = true; + } elseif ($dec >= 192) { // First byte of a multi byte character + // Reduce maxLength to split at start of character + $maxLength = $maxLength - ($lookBack - $encodedCharPos); + $foundSplitPos = true; + } elseif ($dec < 192) { // Middle byte of a multi byte character, look further back + $lookBack += 3; + } + } else { + // No encoded character found + $foundSplitPos = true; + } + } + return $maxLength; + } + + + /** + * Set the body wrapping. + * @access public + * @return void + */ + public function SetWordWrap() { + if($this->WordWrap < 1) { + return; + } + + switch($this->message_type) { + case 'alt': + case 'alt_attachments': + $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap); + break; + default: + $this->Body = $this->WrapText($this->Body, $this->WordWrap); + break; + } + } + + /** + * Assembles message header. + * @access public + * @return string The assembled header + */ + public function CreateHeader() { + $result = ''; + + // Set the boundaries + $uniq_id = md5(uniqid(time())); + $this->boundary[1] = 'b1_' . $uniq_id; + $this->boundary[2] = 'b2_' . $uniq_id; + + $result .= $this->HeaderLine('Date', self::RFCDate()); + if($this->Sender == '') { + $result .= $this->HeaderLine('Return-Path', trim($this->From)); + } else { + $result .= $this->HeaderLine('Return-Path', trim($this->Sender)); + } + + // To be created automatically by mail() + if($this->Mailer != 'mail') { + if ($this->SingleTo === true) { + foreach($this->to as $t) { + $this->SingleToArray[] = $this->AddrFormat($t); + } + } else { + if(count($this->to) > 0) { + $result .= $this->AddrAppend('To', $this->to); + } elseif (count($this->cc) == 0) { + $result .= $this->HeaderLine('To', 'undisclosed-recipients:;'); + } + } + } + + $from = array(); + $from[0][0] = trim($this->From); + $from[0][1] = $this->FromName; + $result .= $this->AddrAppend('From', $from); + + // sendmail and mail() extract Cc from the header before sending + if(count($this->cc) > 0) { + $result .= $this->AddrAppend('Cc', $this->cc); + } + + // sendmail and mail() extract Bcc from the header before sending + if((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->bcc) > 0)) { + $result .= $this->AddrAppend('Bcc', $this->bcc); + } + + if(count($this->ReplyTo) > 0) { + $result .= $this->AddrAppend('Reply-to', $this->ReplyTo); + } + + // mail() sets the subject itself + if($this->Mailer != 'mail') { + $result .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader($this->Subject))); + } + + if($this->MessageID != '') { + $result .= $this->HeaderLine('Message-ID',$this->MessageID); + } else { + $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE); + } + $result .= $this->HeaderLine('X-Priority', $this->Priority); + $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (phpmailer.sourceforge.net)'); + + if($this->ConfirmReadingTo != '') { + $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>'); + } + + // Add custom headers + for($index = 0; $index < count($this->CustomHeader); $index++) { + $result .= $this->HeaderLine(trim($this->CustomHeader[$index][0]), $this->EncodeHeader(trim($this->CustomHeader[$index][1]))); + } + if (!$this->sign_key_file) { + $result .= $this->HeaderLine('MIME-Version', '1.0'); + $result .= $this->GetMailMIME(); + } + + return $result; + } + + /** + * Returns the message MIME. + * @access public + * @return string + */ + public function GetMailMIME() { + $result = ''; + switch($this->message_type) { + case 'plain': + $result .= $this->HeaderLine('Content-Transfer-Encoding', $this->Encoding); + $result .= sprintf("Content-Type: %s; charset=\"%s\"", $this->ContentType, $this->CharSet); + break; + case 'attachments': + case 'alt_attachments': + if($this->InlineImageExists()){ + $result .= sprintf("Content-Type: %s;%s\ttype=\"text/html\";%s\tboundary=\"%s\"%s", 'multipart/related', $this->LE, $this->LE, $this->boundary[1], $this->LE); + } else { + $result .= $this->HeaderLine('Content-Type', 'multipart/mixed;'); + $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"'); + } + break; + case 'alt': + $result .= $this->HeaderLine('Content-Type', 'multipart/alternative;'); + $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"'); + break; + } + + if($this->Mailer != 'mail') { + $result .= $this->LE.$this->LE; + } + + return $result; + } + + /** + * Assembles the message body. Returns an empty string on failure. + * @access public + * @return string The assembled message body + */ + public function CreateBody() { + $body = ''; + + if ($this->sign_key_file) { + $body .= $this->GetMailMIME(); + } + + $this->SetWordWrap(); + + switch($this->message_type) { + case 'alt': + $body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', ''); + $body .= $this->EncodeString($this->AltBody, $this->Encoding); + $body .= $this->LE.$this->LE; + $body .= $this->GetBoundary($this->boundary[1], '', 'text/html', ''); + $body .= $this->EncodeString($this->Body, $this->Encoding); + $body .= $this->LE.$this->LE; + $body .= $this->EndBoundary($this->boundary[1]); + break; + case 'plain': + $body .= $this->EncodeString($this->Body, $this->Encoding); + break; + case 'attachments': + $body .= $this->GetBoundary($this->boundary[1], '', '', ''); + $body .= $this->EncodeString($this->Body, $this->Encoding); + $body .= $this->LE; + $body .= $this->AttachAll(); + break; + case 'alt_attachments': + $body .= sprintf("--%s%s", $this->boundary[1], $this->LE); + $body .= sprintf("Content-Type: %s;%s" . "\tboundary=\"%s\"%s", 'multipart/alternative', $this->LE, $this->boundary[2], $this->LE.$this->LE); + $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '') . $this->LE; // Create text body + $body .= $this->EncodeString($this->AltBody, $this->Encoding); + $body .= $this->LE.$this->LE; + $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '') . $this->LE; // Create the HTML body + $body .= $this->EncodeString($this->Body, $this->Encoding); + $body .= $this->LE.$this->LE; + $body .= $this->EndBoundary($this->boundary[2]); + $body .= $this->AttachAll(); + break; + } + + if ($this->IsError()) { + $body = ''; + } elseif ($this->sign_key_file) { + try { + $file = tempnam('', 'mail'); + file_put_contents($file, $body); //TODO check this worked + $signed = tempnam("", "signed"); + if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) { + @unlink($file); + @unlink($signed); + $body = file_get_contents($signed); + } else { + @unlink($file); + @unlink($signed); + throw new phpmailerException($this->Lang("signing").openssl_error_string()); + } + } catch (phpmailerException $e) { + $body = ''; + if ($this->exceptions) { + throw $e; + } + } + } + + return $body; + } + + /** + * Returns the start of a message boundary. + * @access private + */ + private function GetBoundary($boundary, $charSet, $contentType, $encoding) { + $result = ''; + if($charSet == '') { + $charSet = $this->CharSet; + } + if($contentType == '') { + $contentType = $this->ContentType; + } + if($encoding == '') { + $encoding = $this->Encoding; + } + $result .= $this->TextLine('--' . $boundary); + $result .= sprintf("Content-Type: %s; charset = \"%s\"", $contentType, $charSet); + $result .= $this->LE; + $result .= $this->HeaderLine('Content-Transfer-Encoding', $encoding); + $result .= $this->LE; + + return $result; + } + + /** + * Returns the end of a message boundary. + * @access private + */ + private function EndBoundary($boundary) { + return $this->LE . '--' . $boundary . '--' . $this->LE; + } + + /** + * Sets the message type. + * @access private + * @return void + */ + private function SetMessageType() { + if(count($this->attachment) < 1 && strlen($this->AltBody) < 1) { + $this->message_type = 'plain'; + } else { + if(count($this->attachment) > 0) { + $this->message_type = 'attachments'; + } + if(strlen($this->AltBody) > 0 && count($this->attachment) < 1) { + $this->message_type = 'alt'; + } + if(strlen($this->AltBody) > 0 && count($this->attachment) > 0) { + $this->message_type = 'alt_attachments'; + } + } + } + + /** + * Returns a formatted header line. + * @access public + * @return string + */ + public function HeaderLine($name, $value) { + return $name . ': ' . $value . $this->LE; + } + + /** + * Returns a formatted mail line. + * @access public + * @return string + */ + public function TextLine($value) { + return $value . $this->LE; + } + + ///////////////////////////////////////////////// + // CLASS METHODS, ATTACHMENTS + ///////////////////////////////////////////////// + + /** + * Adds an attachment from a path on the filesystem. + * Returns false if the file could not be found + * or accessed. + * @param string $path Path to the attachment. + * @param string $name Overrides the attachment name. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File extension (MIME) type. + * @return bool + */ + public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream') { + try { + if ( !@is_file($path) ) { + throw new phpmailerException($this->Lang('file_access') . $path, self::STOP_CONTINUE); + } + $filename = basename($path); + if ( $name == '' ) { + $name = $filename; + } + + $this->attachment[] = array( + 0 => $path, + 1 => $filename, + 2 => $name, + 3 => $encoding, + 4 => $type, + 5 => false, // isStringAttachment + 6 => 'attachment', + 7 => 0 + ); + + } catch (phpmailerException $e) { + $this->SetError($e->getMessage()); + if ($this->exceptions) { + throw $e; + } + echo $e->getMessage()."\n"; + if ( $e->getCode() == self::STOP_CRITICAL ) { + return false; + } + } + return true; + } + + /** + * Return the current array of attachments + * @return array + */ + public function GetAttachments() { + return $this->attachment; + } + + /** + * Attaches all fs, string, and binary attachments to the message. + * Returns an empty string on failure. + * @access private + * @return string + */ + private function AttachAll() { + // Return text of body + $mime = array(); + $cidUniq = array(); + $incl = array(); + + // Add all attachments + foreach ($this->attachment as $attachment) { + // Check for string attachment + $bString = $attachment[5]; + if ($bString) { + $string = $attachment[0]; + } else { + $path = $attachment[0]; + } + + if (in_array($attachment[0], $incl)) { continue; } + $filename = $attachment[1]; + $name = $attachment[2]; + $encoding = $attachment[3]; + $type = $attachment[4]; + $disposition = $attachment[6]; + $cid = $attachment[7]; + $incl[] = $attachment[0]; + if ( $disposition == 'inline' && isset($cidUniq[$cid]) ) { continue; } + $cidUniq[$cid] = true; + + $mime[] = sprintf("--%s%s", $this->boundary[1], $this->LE); + $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE); + $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE); + + if($disposition == 'inline') { + $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE); + } + + $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE); + + // Encode as string attachment + if($bString) { + $mime[] = $this->EncodeString($string, $encoding); + if($this->IsError()) { + return ''; + } + $mime[] = $this->LE.$this->LE; + } else { + $mime[] = $this->EncodeFile($path, $encoding); + if($this->IsError()) { + return ''; + } + $mime[] = $this->LE.$this->LE; + } + } + + $mime[] = sprintf("--%s--%s", $this->boundary[1], $this->LE); + + return join('', $mime); + } + + /** + * Encodes attachment in requested format. + * Returns an empty string on failure. + * @param string $path The full path to the file + * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' + * @see EncodeFile() + * @access private + * @return string + */ + private function EncodeFile($path, $encoding = 'base64') { + try { + if (!is_readable($path)) { + throw new phpmailerException($this->Lang('file_open') . $path, self::STOP_CONTINUE); + } + if (function_exists('get_magic_quotes')) { + function get_magic_quotes() { + return false; + } + } + if (PHP_VERSION < 6) { + $magic_quotes = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + } + $file_buffer = file_get_contents($path); + $file_buffer = $this->EncodeString($file_buffer, $encoding); + if (PHP_VERSION < 6) { set_magic_quotes_runtime($magic_quotes); } + return $file_buffer; + } catch (Exception $e) { + $this->SetError($e->getMessage()); + return ''; + } + } + + /** + * Encodes string to requested format. + * Returns an empty string on failure. + * @param string $str The text to encode + * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' + * @access public + * @return string + */ + public function EncodeString ($str, $encoding = 'base64') { + $encoded = ''; + switch(strtolower($encoding)) { + case 'base64': + $encoded = chunk_split(base64_encode($str), 76, $this->LE); + break; + case '7bit': + case '8bit': + $encoded = $this->FixEOL($str); + //Make sure it ends with a line break + if (substr($encoded, -(strlen($this->LE))) != $this->LE) + $encoded .= $this->LE; + break; + case 'binary': + $encoded = $str; + break; + case 'quoted-printable': + $encoded = $this->EncodeQP($str); + break; + default: + $this->SetError($this->Lang('encoding') . $encoding); + break; + } + return $encoded; + } + + /** + * Encode a header string to best (shortest) of Q, B, quoted or none. + * @access public + * @return string + */ + public function EncodeHeader($str, $position = 'text') { + $x = 0; + + switch (strtolower($position)) { + case 'phrase': + if (!preg_match('/[\200-\377]/', $str)) { + // Can't use addslashes as we don't know what value has magic_quotes_sybase + $encoded = addcslashes($str, "\0..\37\177\\\""); + if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) { + return ($encoded); + } else { + return ("\"$encoded\""); + } + } + $x = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches); + break; + case 'comment': + $x = preg_match_all('/[()"]/', $str, $matches); + // Fall-through + case 'text': + default: + $x += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches); + break; + } + + if ($x == 0) { + return ($str); + } + + $maxlen = 75 - 7 - strlen($this->CharSet); + // Try to select the encoding which should produce the shortest output + if (strlen($str)/3 < $x) { + $encoding = 'B'; + if (function_exists('mb_strlen') && $this->HasMultiBytes($str)) { + // Use a custom function which correctly encodes and wraps long + // multibyte strings without breaking lines within a character + $encoded = $this->Base64EncodeWrapMB($str); + } else { + $encoded = base64_encode($str); + $maxlen -= $maxlen % 4; + $encoded = trim(chunk_split($encoded, $maxlen, "\n")); + } + } else { + $encoding = 'Q'; + $encoded = $this->EncodeQ($str, $position); + $encoded = $this->WrapText($encoded, $maxlen, true); + $encoded = str_replace('='.$this->LE, "\n", trim($encoded)); + } + + $encoded = preg_replace('/^(.*)$/m', " =?".$this->CharSet."?$encoding?\\1?=", $encoded); + $encoded = trim(str_replace("\n", $this->LE, $encoded)); + + return $encoded; + } + + /** + * Checks if a string contains multibyte characters. + * @access public + * @param string $str multi-byte text to wrap encode + * @return bool + */ + public function HasMultiBytes($str) { + if (function_exists('mb_strlen')) { + return (strlen($str) > mb_strlen($str, $this->CharSet)); + } else { // Assume no multibytes (we can't handle without mbstring functions anyway) + return false; + } + } + + /** + * Correctly encodes and wraps long multibyte strings for mail headers + * without breaking lines within a character. + * Adapted from a function by paravoid at http://uk.php.net/manual/en/function.mb-encode-mimeheader.php + * @access public + * @param string $str multi-byte text to wrap encode + * @return string + */ + public function Base64EncodeWrapMB($str) { + $start = "=?".$this->CharSet."?B?"; + $end = "?="; + $encoded = ""; + + $mb_length = mb_strlen($str, $this->CharSet); + // Each line must have length <= 75, including $start and $end + $length = 75 - strlen($start) - strlen($end); + // Average multi-byte ratio + $ratio = $mb_length / strlen($str); + // Base64 has a 4:3 ratio + $offset = $avgLength = floor($length * $ratio * .75); + + for ($i = 0; $i < $mb_length; $i += $offset) { + $lookBack = 0; + + do { + $offset = $avgLength - $lookBack; + $chunk = mb_substr($str, $i, $offset, $this->CharSet); + $chunk = base64_encode($chunk); + $lookBack++; + } + while (strlen($chunk) > $length); + + $encoded .= $chunk . $this->LE; + } + + // Chomp the last linefeed + $encoded = substr($encoded, 0, -strlen($this->LE)); + return $encoded; + } + + /** + * Encode string to quoted-printable. + * Only uses standard PHP, slow, but will always work + * @access public + * @param string $string the text to encode + * @param integer $line_max Number of chars allowed on a line before wrapping + * @return string + */ + public function EncodeQPphp( $input = '', $line_max = 76, $space_conv = false) { + $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); + $lines = preg_split('/(?:\r\n|\r|\n)/', $input); + $eol = "\r\n"; + $escape = '='; + $output = ''; + while( list(, $line) = each($lines) ) { + $linlen = strlen($line); + $newline = ''; + for($i = 0; $i < $linlen; $i++) { + $c = substr( $line, $i, 1 ); + $dec = ord( $c ); + if ( ( $i == 0 ) && ( $dec == 46 ) ) { // convert first point in the line into =2E + $c = '=2E'; + } + if ( $dec == 32 ) { + if ( $i == ( $linlen - 1 ) ) { // convert space at eol only + $c = '=20'; + } else if ( $space_conv ) { + $c = '=20'; + } + } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required + $h2 = floor($dec/16); + $h1 = floor($dec%16); + $c = $escape.$hex[$h2].$hex[$h1]; + } + if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted + $output .= $newline.$escape.$eol; // soft line break; " =\r\n" is okay + $newline = ''; + // check if newline first character will be point or not + if ( $dec == 46 ) { + $c = '=2E'; + } + } + $newline .= $c; + } // end of for + $output .= $newline.$eol; + } // end of while + return $output; + } + + /** + * Encode string to RFC2045 (6.7) quoted-printable format + * Uses a PHP5 stream filter to do the encoding about 64x faster than the old version + * Also results in same content as you started with after decoding + * @see EncodeQPphp() + * @access public + * @param string $string the text to encode + * @param integer $line_max Number of chars allowed on a line before wrapping + * @param boolean $space_conv Dummy param for compatibility with existing EncodeQP function + * @return string + * @author Marcus Bointon + */ + public function EncodeQP($string, $line_max = 76, $space_conv = false) { + if (function_exists('quoted_printable_encode')) { //Use native function if it's available (>= PHP5.3) + return quoted_printable_encode($string); + } + $filters = stream_get_filters(); + if (!in_array('convert.*', $filters)) { //Got convert stream filter? + return $this->EncodeQPphp($string, $line_max, $space_conv); //Fall back to old implementation + } + $fp = fopen('php://temp/', 'r+'); + $string = preg_replace('/\r\n?/', $this->LE, $string); //Normalise line breaks + $params = array('line-length' => $line_max, 'line-break-chars' => $this->LE); + $s = stream_filter_append($fp, 'convert.quoted-printable-encode', STREAM_FILTER_READ, $params); + fputs($fp, $string); + rewind($fp); + $out = stream_get_contents($fp); + stream_filter_remove($s); + $out = preg_replace('/^\./m', '=2E', $out); //Encode . if it is first char on a line, workaround for bug in Exchange + fclose($fp); + return $out; + } + + /** + * Encode string to q encoding. + * @link http://tools.ietf.org/html/rfc2047 + * @param string $str the text to encode + * @param string $position Where the text is going to be used, see the RFC for what that means + * @access public + * @return string + */ + public function EncodeQ ($str, $position = 'text') { + // There should not be any EOL in the string + $encoded = preg_replace('/[\r\n]*/', '', $str); + + switch (strtolower($position)) { + case 'phrase': + $encoded = preg_replace("/([^A-Za-z0-9!*+\/ -])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); + break; + case 'comment': + $encoded = preg_replace("/([\(\)\"])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); + case 'text': + default: + // Replace every high ascii, control =, ? and _ characters + //TODO using /e (equivalent to eval()) is probably not a good idea + $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e', + "'='.sprintf('%02X', ord('\\1'))", $encoded); + break; + } + + // Replace every spaces to _ (more readable than =20) + $encoded = str_replace(' ', '_', $encoded); + + return $encoded; + } + + /** + * Adds a string or binary attachment (non-filesystem) to the list. + * This method can be used to attach ascii or binary data, + * such as a BLOB record from a database. + * @param string $string String attachment data. + * @param string $filename Name of the attachment. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File extension (MIME) type. + * @return void + */ + public function AddStringAttachment($string, $filename, $encoding = 'base64', $type = 'application/octet-stream') { + // Append to $attachment array + $this->attachment[] = array( + 0 => $string, + 1 => $filename, + 2 => basename($filename), + 3 => $encoding, + 4 => $type, + 5 => true, // isStringAttachment + 6 => 'attachment', + 7 => 0 + ); + } + + /** + * Adds an embedded attachment. This can include images, sounds, and + * just about any other document. Make sure to set the $type to an + * image type. For JPEG images use "image/jpeg" and for GIF images + * use "image/gif". + * @param string $path Path to the attachment. + * @param string $cid Content ID of the attachment. Use this to identify + * the Id for accessing the image in an HTML form. + * @param string $name Overrides the attachment name. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File extension (MIME) type. + * @return bool + */ + public function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') { + + if ( !@is_file($path) ) { + $this->SetError($this->Lang('file_access') . $path); + return false; + } + + $filename = basename($path); + if ( $name == '' ) { + $name = $filename; + } + + // Append to $attachment array + $this->attachment[] = array( + 0 => $path, + 1 => $filename, + 2 => $name, + 3 => $encoding, + 4 => $type, + 5 => false, // isStringAttachment + 6 => 'inline', + 7 => $cid + ); + + return true; + } + + /** + * Returns true if an inline attachment is present. + * @access public + * @return bool + */ + public function InlineImageExists() { + foreach($this->attachment as $attachment) { + if ($attachment[6] == 'inline') { + return true; + } + } + return false; + } + + ///////////////////////////////////////////////// + // CLASS METHODS, MESSAGE RESET + ///////////////////////////////////////////////// + + /** + * Clears all recipients assigned in the TO array. Returns void. + * @return void + */ + public function ClearAddresses() { + foreach($this->to as $to) { + unset($this->all_recipients[strtolower($to[0])]); + } + $this->to = array(); + } + + /** + * Clears all recipients assigned in the CC array. Returns void. + * @return void + */ + public function ClearCCs() { + foreach($this->cc as $cc) { + unset($this->all_recipients[strtolower($cc[0])]); + } + $this->cc = array(); + } + + /** + * Clears all recipients assigned in the BCC array. Returns void. + * @return void + */ + public function ClearBCCs() { + foreach($this->bcc as $bcc) { + unset($this->all_recipients[strtolower($bcc[0])]); + } + $this->bcc = array(); + } + + /** + * Clears all recipients assigned in the ReplyTo array. Returns void. + * @return void + */ + public function ClearReplyTos() { + $this->ReplyTo = array(); + } + + /** + * Clears all recipients assigned in the TO, CC and BCC + * array. Returns void. + * @return void + */ + public function ClearAllRecipients() { + $this->to = array(); + $this->cc = array(); + $this->bcc = array(); + $this->all_recipients = array(); + } + + /** + * Clears all previously set filesystem, string, and binary + * attachments. Returns void. + * @return void + */ + public function ClearAttachments() { + $this->attachment = array(); + } + + /** + * Clears all custom headers. Returns void. + * @return void + */ + public function ClearCustomHeaders() { + $this->CustomHeader = array(); + } + + ///////////////////////////////////////////////// + // CLASS METHODS, MISCELLANEOUS + ///////////////////////////////////////////////// + + /** + * Adds the error message to the error container. + * @access protected + * @return void + */ + protected function SetError($msg) { + $this->error_count++; + if ($this->Mailer == 'smtp' and !is_null($this->smtp)) { + $lasterror = $this->smtp->getError(); + if (!empty($lasterror) and array_key_exists('smtp_msg', $lasterror)) { + $msg .= '

' . $this->Lang('smtp_error') . $lasterror['smtp_msg'] . "

\n"; + } + } + $this->ErrorInfo = $msg; + } + + /** + * Returns the proper RFC 822 formatted date. + * @access public + * @return string + * @static + */ + public static function RFCDate() { + $tz = date('Z'); + $tzs = ($tz < 0) ? '-' : '+'; + $tz = abs($tz); + $tz = (int)($tz/3600)*100 + ($tz%3600)/60; + $result = sprintf("%s %s%04d", date('D, j M Y H:i:s'), $tzs, $tz); + + return $result; + } + + /** + * Returns the server hostname or 'localhost.localdomain' if unknown. + * @access private + * @return string + */ + private function ServerHostname() { + if (!empty($this->Hostname)) { + $result = $this->Hostname; + } elseif (isset($_SERVER['SERVER_NAME'])) { + $result = $_SERVER['SERVER_NAME']; + } else { + $result = 'localhost.localdomain'; + } + + return $result; + } + + /** + * Returns a message in the appropriate language. + * @access private + * @return string + */ + private function Lang($key) { + if(count($this->language) < 1) { + $this->SetLanguage('en'); // set the default language + } + + if(isset($this->language[$key])) { + return $this->language[$key]; + } else { + return 'Language string failed to load: ' . $key; + } + } + + /** + * Returns true if an error occurred. + * @access public + * @return bool + */ + public function IsError() { + return ($this->error_count > 0); + } + + /** + * Changes every end of line from CR or LF to CRLF. + * @access private + * @return string + */ + private function FixEOL($str) { + $str = str_replace("\r\n", "\n", $str); + $str = str_replace("\r", "\n", $str); + $str = str_replace("\n", $this->LE, $str); + return $str; + } + + /** + * Adds a custom header. + * @access public + * @return void + */ + public function AddCustomHeader($custom_header) { + $this->CustomHeader[] = explode(':', $custom_header, 2); + } + + /** + * Evaluates the message and returns modifications for inline images and backgrounds + * @access public + * @return $message + */ + public function MsgHTML($message, $basedir = '') { + preg_match_all("/(src|background)=\"(.*)\"/Ui", $message, $images); + if(isset($images[2])) { + foreach($images[2] as $i => $url) { + // do not change urls for absolute images (thanks to corvuscorax) + if (!preg_match('#^[A-z]+://#',$url)) { + $filename = basename($url); + $directory = dirname($url); + ($directory == '.')?$directory='':''; + $cid = 'cid:' . md5($filename); + $ext = pathinfo($filename, PATHINFO_EXTENSION); + $mimeType = self::_mime_types($ext); + if ( strlen($basedir) > 1 && substr($basedir,-1) != '/') { $basedir .= '/'; } + if ( strlen($directory) > 1 && substr($directory,-1) != '/') { $directory .= '/'; } + if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($filename), $filename, 'base64',$mimeType) ) { + $message = preg_replace("/".$images[1][$i]."=\"".preg_quote($url, '/')."\"/Ui", $images[1][$i]."=\"".$cid."\"", $message); + } + } + } + } + $this->IsHTML(true); + $this->Body = $message; + $textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s','',$message))); + if (!empty($textMsg) && empty($this->AltBody)) { + $this->AltBody = html_entity_decode($textMsg); + } + if (empty($this->AltBody)) { + $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n"; + } + } + + /** + * Gets the MIME type of the embedded or inline image + * @param string File extension + * @access public + * @return string MIME type of ext + * @static + */ + public static function _mime_types($ext = '') { + $mimes = array( + 'hqx' => 'application/mac-binhex40', + 'cpt' => 'application/mac-compactpro', + 'doc' => 'application/msword', + 'bin' => 'application/macbinary', + 'dms' => 'application/octet-stream', + 'lha' => 'application/octet-stream', + 'lzh' => 'application/octet-stream', + 'exe' => 'application/octet-stream', + 'class' => 'application/octet-stream', + 'psd' => 'application/octet-stream', + 'so' => 'application/octet-stream', + 'sea' => 'application/octet-stream', + 'dll' => 'application/octet-stream', + 'oda' => 'application/oda', + 'pdf' => 'application/pdf', + 'ai' => 'application/postscript', + 'eps' => 'application/postscript', + 'ps' => 'application/postscript', + 'smi' => 'application/smil', + 'smil' => 'application/smil', + 'mif' => 'application/vnd.mif', + 'xls' => 'application/vnd.ms-excel', + 'ppt' => 'application/vnd.ms-powerpoint', + 'wbxml' => 'application/vnd.wap.wbxml', + 'wmlc' => 'application/vnd.wap.wmlc', + 'dcr' => 'application/x-director', + 'dir' => 'application/x-director', + 'dxr' => 'application/x-director', + 'dvi' => 'application/x-dvi', + 'gtar' => 'application/x-gtar', + 'php' => 'application/x-httpd-php', + 'php4' => 'application/x-httpd-php', + 'php3' => 'application/x-httpd-php', + 'phtml' => 'application/x-httpd-php', + 'phps' => 'application/x-httpd-php-source', + 'js' => 'application/x-javascript', + 'swf' => 'application/x-shockwave-flash', + 'sit' => 'application/x-stuffit', + 'tar' => 'application/x-tar', + 'tgz' => 'application/x-tar', + 'xhtml' => 'application/xhtml+xml', + 'xht' => 'application/xhtml+xml', + 'zip' => 'application/zip', + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mpga' => 'audio/mpeg', + 'mp2' => 'audio/mpeg', + 'mp3' => 'audio/mpeg', + 'aif' => 'audio/x-aiff', + 'aiff' => 'audio/x-aiff', + 'aifc' => 'audio/x-aiff', + 'ram' => 'audio/x-pn-realaudio', + 'rm' => 'audio/x-pn-realaudio', + 'rpm' => 'audio/x-pn-realaudio-plugin', + 'ra' => 'audio/x-realaudio', + 'rv' => 'video/vnd.rn-realvideo', + 'wav' => 'audio/x-wav', + 'bmp' => 'image/bmp', + 'gif' => 'image/gif', + 'jpeg' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'jpe' => 'image/jpeg', + 'png' => 'image/png', + 'tiff' => 'image/tiff', + 'tif' => 'image/tiff', + 'css' => 'text/css', + 'html' => 'text/html', + 'htm' => 'text/html', + 'shtml' => 'text/html', + 'txt' => 'text/plain', + 'text' => 'text/plain', + 'log' => 'text/plain', + 'rtx' => 'text/richtext', + 'rtf' => 'text/rtf', + 'xml' => 'text/xml', + 'xsl' => 'text/xml', + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mpe' => 'video/mpeg', + 'qt' => 'video/quicktime', + 'mov' => 'video/quicktime', + 'avi' => 'video/x-msvideo', + 'movie' => 'video/x-sgi-movie', + 'doc' => 'application/msword', + 'word' => 'application/msword', + 'xl' => 'application/excel', + 'eml' => 'message/rfc822' + ); + return (!isset($mimes[strtolower($ext)])) ? 'application/octet-stream' : $mimes[strtolower($ext)]; + } + + /** + * Set (or reset) Class Objects (variables) + * + * Usage Example: + * $page->set('X-Priority', '3'); + * + * @access public + * @param string $name Parameter Name + * @param mixed $value Parameter Value + * NOTE: will not work with arrays, there are no arrays to set/reset + * @todo Should this not be using __set() magic function? + */ + public function set($name, $value = '') { + try { + if (isset($this->$name) ) { + $this->$name = $value; + } else { + throw new phpmailerException($this->Lang('variable_set') . $name, self::STOP_CRITICAL); + } + } catch (Exception $e) { + $this->SetError($e->getMessage()); + if ($e->getCode() == self::STOP_CRITICAL) { + return false; + } + } + return true; + } + + /** + * Strips newlines to prevent header injection. + * @access public + * @param string $str String + * @return string + */ + public function SecureHeader($str) { + $str = str_replace("\r", '', $str); + $str = str_replace("\n", '', $str); + return trim($str); + } + + /** + * Set the private key file and password to sign the message. + * + * @access public + * @param string $key_filename Parameter File Name + * @param string $key_pass Password for private key + */ + public function Sign($cert_filename, $key_filename, $key_pass) { + $this->sign_cert_file = $cert_filename; + $this->sign_key_file = $key_filename; + $this->sign_key_pass = $key_pass; + } + + /** + * Set the private key file and password to sign the message. + * + * @access public + * @param string $key_filename Parameter File Name + * @param string $key_pass Password for private key + */ + public function DKIM_QP($txt) { + $tmp=""; + $line=""; + for ($i=0;$iDKIM_private); + if ($this->DKIM_passphrase!='') { + $privKey = openssl_pkey_get_private($privKeyStr,$this->DKIM_passphrase); + } else { + $privKey = $privKeyStr; + } + if (openssl_sign($s, $signature, $privKey)) { + return base64_encode($signature); + } + } + + /** + * Generate DKIM Canonicalization Header + * + * @access public + * @param string $s Header + */ + public function DKIM_HeaderC($s) { + $s=preg_replace("/\r\n\s+/"," ",$s); + $lines=explode("\r\n",$s); + foreach ($lines as $key=>$line) { + list($heading,$value)=explode(":",$line,2); + $heading=strtolower($heading); + $value=preg_replace("/\s+/"," ",$value) ; // Compress useless spaces + $lines[$key]=$heading.":".trim($value) ; // Don't forget to remove WSP around the value + } + $s=implode("\r\n",$lines); + return $s; + } + + /** + * Generate DKIM Canonicalization Body + * + * @access public + * @param string $body Message Body + */ + public function DKIM_BodyC($body) { + if ($body == '') return "\r\n"; + // stabilize line endings + $body=str_replace("\r\n","\n",$body); + $body=str_replace("\n","\r\n",$body); + // END stabilize line endings + while (substr($body,strlen($body)-4,4) == "\r\n\r\n") { + $body=substr($body,0,strlen($body)-2); + } + return $body; + } + + /** + * Create the DKIM header, body, as new header + * + * @access public + * @param string $headers_line Header lines + * @param string $subject Subject + * @param string $body Body + */ + public function DKIM_Add($headers_line,$subject,$body) { + $DKIMsignatureType = 'rsa-sha1'; // Signature & hash algorithms + $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body + $DKIMquery = 'dns/txt'; // Query method + $DKIMtime = time() ; // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone) + $subject_header = "Subject: $subject"; + $headers = explode("\r\n",$headers_line); + foreach($headers as $header) { + if (strpos($header,'From:') === 0) { + $from_header=$header; + } elseif (strpos($header,'To:') === 0) { + $to_header=$header; + } + } + $from = str_replace('|','=7C',$this->DKIM_QP($from_header)); + $to = str_replace('|','=7C',$this->DKIM_QP($to_header)); + $subject = str_replace('|','=7C',$this->DKIM_QP($subject_header)) ; // Copied header fields (dkim-quoted-printable + $body = $this->DKIM_BodyC($body); + $DKIMlen = strlen($body) ; // Length of body + $DKIMb64 = base64_encode(pack("H*", sha1($body))) ; // Base64 of packed binary SHA-1 hash of body + $ident = ($this->DKIM_identity == '')? '' : " i=" . $this->DKIM_identity . ";"; + $dkimhdrs = "DKIM-Signature: v=1; a=" . $DKIMsignatureType . "; q=" . $DKIMquery . "; l=" . $DKIMlen . "; s=" . $this->DKIM_selector . ";\r\n". + "\tt=" . $DKIMtime . "; c=" . $DKIMcanonicalization . ";\r\n". + "\th=From:To:Subject;\r\n". + "\td=" . $this->DKIM_domain . ";" . $ident . "\r\n". + "\tz=$from\r\n". + "\t|$to\r\n". + "\t|$subject;\r\n". + "\tbh=" . $DKIMb64 . ";\r\n". + "\tb="; + $toSign = $this->DKIM_HeaderC($from_header . "\r\n" . $to_header . "\r\n" . $subject_header . "\r\n" . $dkimhdrs); + $signed = $this->DKIM_Sign($toSign); + return "X-PHPMAILER-DKIM: phpmailer.worxware.com\r\n".$dkimhdrs.$signed."\r\n"; + } + + protected function doCallback($isSent,$to,$cc,$bcc,$subject,$body) { + if (!empty($this->action_function) && function_exists($this->action_function)) { + $params = array($isSent,$to,$cc,$bcc,$subject,$body); + call_user_func_array($this->action_function,$params); + } + } +} + +class phpmailerException extends Exception { + public function errorMessage() { + $errorMsg = '' . $this->getMessage() . "
\n"; + return $errorMsg; + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/page.class.php b/phpshe/1.1/php-fpm/src/include/class/page.class.php new file mode 100755 index 000000000..4c7a5f9d7 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/page.class.php @@ -0,0 +1,95 @@ + + * @creatdate 2010-1001 koyshe + */ +//分页类 +class page { + public $page;//当前是第几页 + public $pagenum;//翻页栏显示数 + public $pagenums;//总页数 + public $listnum;//每页文章数 + public $listnums;//文章总数 + + public $limit;//生成sql中limit数据 + public $html;//生成page翻页html模板 + //构造函数初始化类设置 + function __construct($allnum, $page = null, $listnum = null, $pagenum = null) + { + $this->listnums = $allnum; + $this->page = $page === null ? 1 : $page; + $this->listnum = $listnum === null ? 20 : $listnum; + $this->pagenum = $pagenum === null ? 10 : $pagenum; + + $this->pagenums = ceil($this->listnums / $this->listnum); + + $this->limit = $this->get_limit(); + $this->html = $this->getpagelisthtml(); + } + //获取sql中limit函数的开始指针位置 + function get_limit() + { + empty($this->page) && $this->page = 1; + $limit = ($this->page - 1) * $this->listnum; + return " limit {$limit}, {$this->listnum}"; + } + //获取翻页栏列表 + function get_pagelist() + { + //获取当前翻页栏左右指针理论位置 + if (floor($this->pagenum / 2) == ceil($this->pagenum / 2)) { + $left = $this->page - ($this->pagenum / 2); + $right = $this->page + ($this->pagenum / 2); + } + else { + $left = $this->page - floor($this->pagenum / 2); + $right = $this->page + floor($this->pagenum / 2); + } + //获取当前翻页栏起始指针位置 + if ($this->pagenums <= $this->pagenum) { + $pagenumstart = 1; + $pagenumend = $this->pagenums; + } + elseif ($left <= 1) { + $pagenumstart = 1; + $pagenumend = $this->pagenum; + } + elseif ($right >= $this->pagenums) { + $pagenumstart = $this->pagenums - $this->pagenum + 1; + $pagenumend = $this->pagenums; + } + else { + $pagenumstart = $left; + $pagenumend = $right; + } + for ($i = $pagenumstart; $i <= $pagenumend; $i++) { + $pagelist[] = $i; + } + return $pagelist; + } + //获取翻页块带html的列表 + function getpagelisthtml() + { + global $phpshe; + if (count($this->get_pagelist()) > 1) { + $url = pe_updateurl('page',1); + $pagelisthtml = "
  • 首页
  • "; + foreach ($this->get_pagelist() as $k => $v) { + $url = pe_updateurl('page', $v); + $pagelisthtml .= ($this->page == $v) ? "
  • {$v}
  • " : "
  • {$v}
  • "; + } + $url = pe_updateurl('page', $this->pagenums); + $pagelisthtml .= "
  • 末页
"; +$pagelisthtml .=<< +.fenye li{float:left; font-family:Arial, Helvetica, sans-serif; margin-left:6px; display:inline; line-height:24px;} +.fenye a{border:1px #C2D5E3 solid; padding:0 8px; color:#0066CC; background:#fff; float:left; height:24px;} +.fenye a:hover{background:#fff5f5; border:1px #76a5c8 solid;} +.fenye .sel{background:#E5EDF2; color:#333; font-weight:bold; border:1px #C2D5E3 solid; padding:0 8px;} + +html; + return $pagelisthtml; + } + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/pinyin.class.php b/phpshe/1.1/php-fpm/src/include/class/pinyin.class.php new file mode 100755 index 000000000..9287f8058 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/pinyin.class.php @@ -0,0 +1,524 @@ +iconvStr('utf-8', 'gbk', $str) : $str; + $num = strlen($str); + + $pinyin = ''; + for ($i=0; $i<$num; $i++) { + $temp = ord(substr($str, $i, 1)); + if ($temp>160) { + $temp2=ord(substr($str,++$i,1)); + $temp=$temp*256+$temp2-65536; + } + $pinyin .= $this->num2str($temp); + } + + //输出的拼音编码转换. + return ($utf8==true) ? $this->iconvStr('gbk', 'utf-8', $pinyin) : $pinyin; + } + /** + * 将ASCII编码转化为字符串. + * + * @param integer $num + * @return string + */ + protected function num2str($num) { + + if (!$this->lib) { + $this->parse_lib(); + } + + if ($num>0&&$num<160) { + + return chr($num); + } elseif($num<-20319||$num>-10247) { + + return ''; + } else{ + $total =sizeof($this->lib)-1; + for($i=$total; $i>=0; $i--) { + if($this->lib[$i][1]<=$num) { + break; + } + } + + return $this->lib[$i][0]; + } + } + + /** + * 返回汉字编码库 + * + * @return array + */ + protected function parse_lib() { + + return $this->lib = array( + array("a",-20319), + array("ai",-20317), + array("an",-20304), + array("ang",-20295), + array("ao",-20292), + array("ba",-20283), + array("bai",-20265), + array("ban",-20257), + array("bang",-20242), + array("bao",-20230), + array("bei",-20051), + array("ben",-20036), + array("beng",-20032), + array("bi",-20026), + array("bian",-20002), + array("biao",-19990), + array("bie",-19986), + array("bin",-19982), + array("bing",-19976), + array("bo",-19805), + array("bu",-19784), + array("ca",-19775), + array("cai",-19774), + array("can",-19763), + array("cang",-19756), + array("cao",-19751), + array("ce",-19746), + array("ceng",-19741), + array("cha",-19739), + array("chai",-19728), + array("chan",-19725), + array("chang",-19715), + array("chao",-19540), + array("che",-19531), + array("chen",-19525), + array("cheng",-19515), + array("chi",-19500), + array("chong",-19484), + array("chou",-19479), + array("chu",-19467), + array("chuai",-19289), + array("chuan",-19288), + array("chuang",-19281), + array("chui",-19275), + array("chun",-19270), + array("chuo",-19263), + array("ci",-19261), + array("cong",-19249), + array("cou",-19243), + array("cu",-19242), + array("cuan",-19238), + array("cui",-19235), + array("cun",-19227), + array("cuo",-19224), + array("da",-19218), + array("dai",-19212), + array("dan",-19038), + array("dang",-19023), + array("dao",-19018), + array("de",-19006), + array("deng",-19003), + array("di",-18996), + array("dian",-18977), + array("diao",-18961), + array("die",-18952), + array("ding",-18783), + array("diu",-18774), + array("dong",-18773), + array("dou",-18763), + array("du",-18756), + array("duan",-18741), + array("dui",-18735), + array("dun",-18731), + array("duo",-18722), + array("e",-18710), + array("en",-18697), + array("er",-18696), + array("fa",-18526), + array("fan",-18518), + array("fang",-18501), + array("fei",-18490), + array("fen",-18478), + array("feng",-18463), + array("fo",-18448), + array("fou",-18447), + array("fu",-18446), + array("ga",-18239), + array("gai",-18237), + array("gan",-18231), + array("gang",-18220), + array("gao",-18211), + array("ge",-18201), + array("gei",-18184), + array("gen",-18183), + array("geng",-18181), + array("gong",-18012), + array("gou",-17997), + array("gu",-17988), + array("gua",-17970), + array("guai",-17964), + array("guan",-17961), + array("guang",-17950), + array("gui",-17947), + array("gun",-17931), + array("guo",-17928), + array("ha",-17922), + array("hai",-17759), + array("han",-17752), + array("hang",-17733), + array("hao",-17730), + array("he",-17721), + array("hei",-17703), + array("hen",-17701), + array("heng",-17697), + array("hong",-17692), + array("hou",-17683), + array("hu",-17676), + array("hua",-17496), + array("huai",-17487), + array("huan",-17482), + array("huang",-17468), + array("hui",-17454), + array("hun",-17433), + array("huo",-17427), + array("ji",-17417), + array("jia",-17202), + array("jian",-17185), + array("jiang",-16983), + array("jiao",-16970), + array("jie",-16942), + array("jin",-16915), + array("jing",-16733), + array("jiong",-16708), + array("jiu",-16706), + array("ju",-16689), + array("juan",-16664), + array("jue",-16657), + array("jun",-16647), + array("ka",-16474), + array("kai",-16470), + array("kan",-16465), + array("kang",-16459), + array("kao",-16452), + array("ke",-16448), + array("ken",-16433), + array("keng",-16429), + array("kong",-16427), + array("kou",-16423), + array("ku",-16419), + array("kua",-16412), + array("kuai",-16407), + array("kuan",-16403), + array("kuang",-16401), + array("kui",-16393), + array("kun",-16220), + array("kuo",-16216), + array("la",-16212), + array("lai",-16205), + array("lan",-16202), + array("lang",-16187), + array("lao",-16180), + array("le",-16171), + array("lei",-16169), + array("leng",-16158), + array("li",-16155), + array("lia",-15959), + array("lian",-15958), + array("liang",-15944), + array("liao",-15933), + array("lie",-15920), + array("lin",-15915), + array("ling",-15903), + array("liu",-15889), + array("long",-15878), + array("lou",-15707), + array("lu",-15701), + array("lv",-15681), + array("luan",-15667), + array("lue",-15661), + array("lun",-15659), + array("luo",-15652), + array("ma",-15640), + array("mai",-15631), + array("man",-15625), + array("mang",-15454), + array("mao",-15448), + array("me",-15436), + array("mei",-15435), + array("men",-15419), + array("meng",-15416), + array("mi",-15408), + array("mian",-15394), + array("miao",-15385), + array("mie",-15377), + array("min",-15375), + array("ming",-15369), + array("miu",-15363), + array("mo",-15362), + array("mou",-15183), + array("mu",-15180), + array("na",-15165), + array("nai",-15158), + array("nan",-15153), + array("nang",-15150), + array("nao",-15149), + array("ne",-15144), + array("nei",-15143), + array("nen",-15141), + array("neng",-15140), + array("ni",-15139), + array("nian",-15128), + array("niang",-15121), + array("niao",-15119), + array("nie",-15117), + array("nin",-15110), + array("ning",-15109), + array("niu",-14941), + array("nong",-14937), + array("nu",-14933), + array("nv",-14930), + array("nuan",-14929), + array("nue",-14928), + array("nuo",-14926), + array("o",-14922), + array("ou",-14921), + array("pa",-14914), + array("pai",-14908), + array("pan",-14902), + array("pang",-14894), + array("pao",-14889), + array("pei",-14882), + array("pen",-14873), + array("peng",-14871), + array("pi",-14857), + array("pian",-14678), + array("piao",-14674), + array("pie",-14670), + array("pin",-14668), + array("ping",-14663), + array("po",-14654), + array("pu",-14645), + array("qi",-14630), + array("qia",-14594), + array("qian",-14429), + array("qiang",-14407), + array("qiao",-14399), + array("qie",-14384), + array("qin",-14379), + array("qing",-14368), + array("qiong",-14355), + array("qiu",-14353), + array("qu",-14345), + array("quan",-14170), + array("que",-14159), + array("qun",-14151), + array("ran",-14149), + array("rang",-14145), + array("rao",-14140), + array("re",-14137), + array("ren",-14135), + array("reng",-14125), + array("ri",-14123), + array("rong",-14122), + array("rou",-14112), + array("ru",-14109), + array("ruan",-14099), + array("rui",-14097), + array("run",-14094), + array("ruo",-14092), + array("sa",-14090), + array("sai",-14087), + array("san",-14083), + array("sang",-13917), + array("sao",-13914), + array("se",-13910), + array("sen",-13907), + array("seng",-13906), + array("sha",-13905), + array("shai",-13896), + array("shan",-13894), + array("shang",-13878), + array("shao",-13870), + array("she",-13859), + array("shen",-13847), + array("sheng",-13831), + array("shi",-13658), + array("shou",-13611), + array("shu",-13601), + array("shua",-13406), + array("shuai",-13404), + array("shuan",-13400), + array("shuang",-13398), + array("shui",-13395), + array("shun",-13391), + array("shuo",-13387), + array("si",-13383), + array("song",-13367), + array("sou",-13359), + array("su",-13356), + array("suan",-13343), + array("sui",-13340), + array("sun",-13329), + array("suo",-13326), + array("ta",-13318), + array("tai",-13147), + array("tan",-13138), + array("tang",-13120), + array("tao",-13107), + array("te",-13096), + array("teng",-13095), + array("ti",-13091), + array("tian",-13076), + array("tiao",-13068), + array("tie",-13063), + array("ting",-13060), + array("tong",-12888), + array("tou",-12875), + array("tu",-12871), + array("tuan",-12860), + array("tui",-12858), + array("tun",-12852), + array("tuo",-12849), + array("wa",-12838), + array("wai",-12831), + array("wan",-12829), + array("wang",-12812), + array("wei",-12802), + array("wen",-12607), + array("weng",-12597), + array("wo",-12594), + array("wu",-12585), + array("xi",-12556), + array("xia",-12359), + array("xian",-12346), + array("xiang",-12320), + array("xiao",-12300), + array("xie",-12120), + array("xin",-12099), + array("xing",-12089), + array("xiong",-12074), + array("xiu",-12067), + array("xu",-12058), + array("xuan",-12039), + array("xue",-11867), + array("xun",-11861), + array("ya",-11847), + array("yan",-11831), + array("yang",-11798), + array("yao",-11781), + array("ye",-11604), + array("yi",-11589), + array("yin",-11536), + array("ying",-11358), + array("yo",-11340), + array("yo",-11340), + array("yong",-11339), + array("you",-11324), + array("yu",-11303), + array("yuan",-11097), + array("yue",-11077), + array("yun",-11067), + array("za",-11055), + array("zai",-11052), + array("zan",-11045), + array("zang",-11041), + array("zao",-11038), + array("ze",-11024), + array("zei",-11020), + array("zen",-11019), + array("zeng",-11018), + array("zha",-11014), + array("zhai",-10838), + array("zhan",-10832), + array("zhang",-10815), + array("zhao",-10800), + array("zhe",-10790), + array("zhen",-10780), + array("zheng",-10764), + array("zhi",-10587), + array("zhong",-10544), + array("zhou",-10533), + array("zhu",-10519), + array("zhua",-10331), + array("zhuai",-10329), + array("zhuan",-10328), + array("zhuang",-10322), + array("zhui",-10315), + array("zhun",-10309), + array("zhuo",-10307), + array("zi",-10296), + array("zong",-10281), + array("zou",-10274), + array("zu",-10270), + array("zuan",-10262), + array("zui",-10260), + array("zun",-10256), + array("zuo",-10254), + ); + } + + //编码转换 + protected function iconvStr($from,$to,$fContents) + { + if(is_string($fContents) ) + { + if(function_exists('mb_convert_encoding')) + { + return mb_convert_encoding ($fContents, $to, $from); + } + else if(function_exists('iconv')) + { + return iconv($from,$to,$fContents); + } + else + { + return $fContents; + } + } + } + /** + * 析构函数 + * + * @access public + * @return void + */ + public function __destruct() + { + if (isset($this->lib)) { + unset($this->lib); + } + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/thumb.class.php b/phpshe/1.1/php-fpm/src/include/class/thumb.class.php new file mode 100755 index 000000000..217878778 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/thumb.class.php @@ -0,0 +1,249 @@ + resizeImage(150, 100, 0); +# $resizeObj -> saveImage('images/cars/large/output.jpg', 100); +# +# +# ========================================================================# + +Class thumb +{ + // *** Class variables + private $image; + private $width; + private $height; + private $imageResized; + + function __construct($fileName, $new_path, $new_width, $new_height) + { + if ($new_width == 'auto') { + $type = 'auto_width'; + } + elseif ($new_height == 'auto') { + $type = 'auto_height'; + } + else { + $type = 'diy'; + } + // *** Open up the file + $this->image = $this->openImage($fileName); + + // *** Get width and height + $this->width = imagesx($this->image); + $this->height = imagesy($this->image); + + $this->resizeImage($new_width, $new_height, $type); + $this->saveImage($new_path, 100); + } + + ## -------------------------------------------------------- + + private function openImage($file) + { + // *** Get extension + $extension = strtolower(strrchr($file, '.')); + + switch($extension) + { + case '.jpg': + case '.jpeg': + $img = @imagecreatefromjpeg($file); + break; + case '.gif': + $img = @imagecreatefromgif($file); + break; + case '.png': + $img = @imagecreatefrompng($file); + break; + default: + $img = false; + break; + } + return $img; + } + + ## -------------------------------------------------------- + + public function resizeImage($newWidth, $newHeight, $option="auto") + { + // *** Get optimal width and height - based on $option + $optionArray = $this->getDimensions($newWidth, $newHeight, $option); + + $optimalWidth = $optionArray['optimalWidth']; + $optimalHeight = $optionArray['optimalHeight']; + + + // *** Resample - create image canvas of x, y size + $this->imageResized = imagecreatetruecolor($optimalWidth, $optimalHeight); + imagecopyresampled($this->imageResized, $this->image, 0, 0, 0, 0, $optimalWidth, $optimalHeight, $this->width, $this->height); + + + // *** if option is 'crop', then crop too + if ($option == 'crop') { + $this->crop($optimalWidth, $optimalHeight, $newWidth, $newHeight); + } + } + + ## -------------------------------------------------------- + + private function getDimensions($newWidth, $newHeight, $option) + { + switch ($option) + { + case 'diy': + $optimalWidth = $newWidth; + $optimalHeight= $newHeight; + break; + case 'auto_width'://portrait + $optimalWidth = $this->getSizeByFixedHeight($newHeight); + $optimalHeight= $newHeight; + break; + case 'auto_height'://'landscape' + $optimalWidth = $newWidth; + $optimalHeight= $this->getSizeByFixedWidth($newWidth); + break; + case 'auto': + $optionArray = $this->getSizeByAuto($newWidth, $newHeight); + $optimalWidth = $optionArray['optimalWidth']; + $optimalHeight = $optionArray['optimalHeight']; + break; + case 'crop': + $optionArray = $this->getOptimalCrop($newWidth, $newHeight); + $optimalWidth = $optionArray['optimalWidth']; + $optimalHeight = $optionArray['optimalHeight']; + break; + } + return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight); + } + + ## -------------------------------------------------------- + + private function getSizeByFixedHeight($newHeight) + { + $ratio = $this->width / $this->height; + $newWidth = $newHeight * $ratio; + return $newWidth; + } + + private function getSizeByFixedWidth($newWidth) + { + $ratio = $this->height / $this->width; + $newHeight = $newWidth * $ratio; + return $newHeight; + } + + private function getSizeByAuto($newWidth, $newHeight) + { + if ($this->height < $this->width) + // *** Image to be resized is wider (landscape) + { + $optimalWidth = $newWidth; + $optimalHeight= $this->getSizeByFixedWidth($newWidth); + } + elseif ($this->height > $this->width) + // *** Image to be resized is taller (portrait) + { + $optimalWidth = $this->getSizeByFixedHeight($newHeight); + $optimalHeight= $newHeight; + } + else + // *** Image to be resizerd is a square + { + if ($newHeight < $newWidth) { + $optimalWidth = $newWidth; + $optimalHeight= $this->getSizeByFixedWidth($newWidth); + } else if ($newHeight > $newWidth) { + $optimalWidth = $this->getSizeByFixedHeight($newHeight); + $optimalHeight= $newHeight; + } else { + // *** Sqaure being resized to a square + $optimalWidth = $newWidth; + $optimalHeight= $newHeight; + } + } + + return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight); + } + + ## -------------------------------------------------------- + + private function getOptimalCrop($newWidth, $newHeight) + { + + $heightRatio = $this->height / $newHeight; + $widthRatio = $this->width / $newWidth; + + if ($heightRatio < $widthRatio) { + $optimalRatio = $heightRatio; + } else { + $optimalRatio = $widthRatio; + } + + $optimalHeight = $this->height / $optimalRatio; + $optimalWidth = $this->width / $optimalRatio; + + return array('optimalWidth' => $optimalWidth, 'optimalHeight' => $optimalHeight); + } + + ## -------------------------------------------------------- + + private function crop($optimalWidth, $optimalHeight, $newWidth, $newHeight) + { + // *** Find center - this will be used for the crop + $cropStartX = ( $optimalWidth / 2) - ( $newWidth /2 ); + $cropStartY = ( $optimalHeight/ 2) - ( $newHeight/2 ); + + $crop = $this->imageResized; + //imagedestroy($this->imageResized); + + // *** Now crop from center to exact requested size + $this->imageResized = imagecreatetruecolor($newWidth , $newHeight); + imagecopyresampled($this->imageResized, $crop , 0, 0, $cropStartX, $cropStartY, $newWidth, $newHeight , $newWidth, $newHeight); + } + + ## -------------------------------------------------------- + + public function saveImage($savePath, $imageQuality="100") + { + $Path = substr($savePath, 0, strripos($savePath, '/')); + !is_dir($Path) && mkdir($Path , 0777 ,true); + // *** Get extension + $extension = strrchr($savePath, '.'); + $extension = strtolower($extension); + + switch ($extension) { + case '.jpg': + case '.jpeg': + if (imagetypes() & IMG_JPG) { + imagejpeg($this->imageResized, $savePath, $imageQuality); + } + break; + case '.gif': + if (imagetypes() & IMG_GIF) { + imagegif($this->imageResized, $savePath); + } + break; + case '.png': + // *** Scale quality from 0-100 to 0-9 + $scaleQuality = round(($imageQuality/100) * 9); + // *** Invert quality setting as 0 is best, not 9 + $invertScaleQuality = 9 - $scaleQuality; + if (imagetypes() & IMG_PNG) { + imagepng($this->imageResized, $savePath, $invertScaleQuality); + } + break; + } + imagedestroy($this->imageResized); + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/class/upload.class.php b/phpshe/1.1/php-fpm/src/include/class/upload.class.php new file mode 100755 index 000000000..a674a8f8e --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/class/upload.class.php @@ -0,0 +1,86 @@ + + * @creatdate 2010-1001 koyshe + */ +class upload { + public $file; + public $host;//url全路径 + public $path;//path全路径 + public $filehost;//url相对路径+文件 + public $filepath;//path相对路径+文件 + public $filehost_full;//url全路径+文件 + public $filepath_full;//path全路径+文件 + //上传的文件名 + public $filename = ''; + //允许上传的文件类型 + public $filetype = array('jpg','jpeg','gif','png','psd','wps','doc','xls','ppt','pdf','zip','rar','tar','txt','text'); + //文件上传大小控制(默认是2000kb) + public $filesize = 2000000; + function __construct($file, $path_save = null, $ext_arr = array()) + { + global $pe; + $this->file = $file; + //配置存储路径(支持两种模式1:默认上传到默认附件目录里2:上传到自定义目录里) + !$path_save && $path_save = 'data/attachment/'.date('Y-m').'/'; + + $this->host = "{$pe['host_root']}{$path_save}"; + $this->path = "{$pe['path_root']}{$path_save}"; + $this->filename = $this->_filename($ext_arr['filename']); + + $this->filehost = $this->filepath = "{$path_save}{$this->filename}"; + $this->filehost_full = "{$this->host}{$this->filename}"; + $this->filepath_full = "{$this->path}{$this->filename}"; + + $ext_arr['filetype'] && $this->filetype = $ext_arr['filetype']; + $ext_arr['filesize'] && $this->filesize = $ext_arr['filesize']; + //检测文件合法性 + $this->_filecheck(); + //上传移动 + $this->_filemove(); + } + //检测文件的合法性 + function _filecheck() + { + if (!$this->file['name']) { + $this->_alert("请选择文件"); + } + if (@is_dir($this->path) === false) { + mkdir($this->path, 0777, true); + } + if ($this->file['file_size'] > $this->filesize) { + $this->_alert("上传文件大小超过限制"); + } + if (!in_array($this->_filetail(), $this->filetype)) { + $this->_alert("上传文件类型不被允许"); + } + } + //上传文件重命名 + function _filename($filename) + { + if ($filename) { + return $filename . '.' . $this->_filetail(); + } + else { + $nametmp = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','d','u','v','w','x','y','z'); + return date("YmdHis") . $nametmp[array_rand($nametmp, 1)] . '.' . $this->_filetail(); + } + } + //获取文件扩展名 + function _filetail() + { + $filearr = explode('.', $this->file['name']); + return strtolower($filearr[count($filearr) - 1]); + } + //上传文件移动到存储目录 + function _filemove() + { + if (move_uploaded_file($this->file['tmp_name'], $this->filepath_full) === false) { + $this->_alert('上传失败...'); + } + } + function _alert($msg) { + echo ""; + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/function/global.func.php b/phpshe/1.1/php-fpm/src/include/function/global.func.php new file mode 100755 index 000000000..52d9e1872 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/function/global.func.php @@ -0,0 +1,424 @@ + + * @creatdate 2011-0501 koyshe + */ +//#####################@ 系统核心函数 @#####################// +//模板函数 +function pe_tpl($tplname, $tplpath = '') +{ + global $pe, $module; + $tplnamearr = explode('.', $tplname); + $tplpathcache = "{$pe['path_root']}data/cache/template/{$module}/"; + + $tplpathcache_name = "{$tplpathcache}{$tplnamearr[0]}.php"; + $tplpath_name = $pe['path_tpl'] . $tplname; + !is_dir($tplpathcache) && mkdir($tplpathcache, 0777, true); + if (!is_file($tplpathcache_name) or @filemtime($tplpath_name) > @filemtime($tplpathcache_name)) { + if (!is_file($tplpath_name)) { + pe_bug("模板文件丢失,路径:./template/default/{$module}/{$tplname}", __LINE__); + } + $html = file_get_contents($tplpath_name); + $html = preg_replace('/<\!\-\-\{/', '/', '?>', $html); + $html = preg_replace('/\{\$([^\}]*)\}/', '', $html); + $html = preg_replace('/\{(\w+\([^\}]*\))\}/', '', $html); + file_put_contents($tplpathcache_name, $html); + } + return $tplpathcache_name; +} +//数据库安全 +function pe_dbhold($str, $exc=array()) +{ + if (is_array($str)) { + foreach($str as $k => $v) { + $str[$k] = in_array($k, $exc) ? pe_dbhold($v, 'all') : pe_dbhold($v); + } + } + else { + $str = $exc == 'all' ? mysql_real_escape_string($str) : mysql_real_escape_string(htmlspecialchars($str)); + } + return $str; +} +//导入hook +function pe_lead($leadname) +{ + global $pe; + include_once($pe['path_root'].$leadname); +} +//前台url +function pe_url($modact, $argstr=null) +{ + global $pe; + $modact = explode('-', $modact); + switch ($pe['url_model']) { + case 'php': + $url = "{$pe['host_root']}index.php"; + $modact[0] && $url .= "?mod={$modact[0]}"; + $modact[1] && $url .= "&act={$modact[1]}"; + $modact[2] && $url .= "&id={$modact[2]}"; + //$modact[3] && $url .= "&urlarg[2]={$modact[3]}"; + //$modact[4] && $url .= "&urlarg[3]={$modact[4]}"; + $argstr && $url = "{$url}&{$argstr}"; + break; + default: + $url = $pe['url_model'] == 'pathinfo_safe' ? "{$pe['host_root']}index.php/" : $pe['host_root']; + $modact[0] && $url .= $modact[0]; + $modact[1] && $url .= "/{$modact[1]}"; + $modact[2] && $url .= "-{$modact[2]}"; + $modact[3] && $url .= "-{$modact[3]}"; + $modact[4] && $url .= "-{$modact[4]}"; + $argstr && $url .= "?{$argstr}"; + break; + } + return $url; +} +//获取当前网址为下个地址的fromto +function pe_fromto() +{ + $host = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; + stripos($host, 'fromto') !== false && $host = substr($host, 0, stripos($host, 'fromto')-1); + return 'fromto='.urlencode($host); + //return 'fromto='.urlencode(basename($_SERVER['SCRIPT_FILENAME'])."?{$_SERVER['QUERY_STRING']}"); +} +//图片缩略图 +function pe_thumb($img = '', $w = null, $h = null, $thumbtype = null) +{ + global $pe; + static $sington = false; +// $img = str_ireplace($pe['host_root'], $pe['path_root'], $img); + //$img = $pe['path_root'] . strstr($img, 'data/attachment/'); + $img = "{$pe['path_root']}$img"; + switch ($thumbtype) { + case 'avatar': + $img_new = is_file($img) ? $img : "{$pe['path_root']}include/image/noavatar.gif"; + break; + default : + $img_new = is_file($img) ? $img : "{$pe['path_root']}include/image/nopic.gif"; + break; + } + if ($w or $h) { + $img_thumb = "{$pe['path_root']}data/cache/thumb/".date('Y-m')."/thumb_{$w}x{$h}_".pe_filename($img_new); + if (!is_file($img_thumb)) { + if ($sington == false) { + include_once("{$pe['path_root']}include/class/thumb.class.php"); + } + new thumb($img_new, $img_thumb, $w, $h); + } + return str_ireplace($pe['path_root'], $pe['host_root'], $img_thumb); + } + return str_ireplace($pe['path_root'], $pe['host_root'], $img_new); +} +//seo信息 +function pe_seo($title='', $keywords='', $description='', $type = 'index') +{ + if ($type == 'admin') { + $seo['title'] = $title ? "{$title} - 欢迎使用PHPSHE商城系统": '欢迎使用PHPSHE商城系统'; + } + else { + $setting = cache::get('setting'); + $seo['title'] = $title ? "{$title} - {$setting['web_title']['setting_value']} - Powered by phpshe" : "{$setting['web_title']['setting_value']} - Powered by phpshe"; + $seo['keywords'] = $keywords ? $keywords : $setting['web_keywords']['setting_value']; + $seo['description'] = $description ? $description : $setting['web_description']['setting_value']; + } + return $seo; +} +//#####################@ 处理结果展示 @#####################// +function pe_success($msg, $url=null, $type=null) +{ + $_SESSION['msg_show'] = $msg; + $_SESSION['msg_result'] = 'success'; + pe_goto($url, $type); +} +function pe_error($msg, $url=null, $type=null) { + $_SESSION['msg_show'] = $msg; + $_SESSION['msg_result'] = 'error'; + pe_goto($url, $type); +} +function pe_result() { + global $pe; + if (isset($_SESSION['msg_show']) && $_SESSION['msg_show']) { + isset($_SESSION['msg_show']) && $show = $_SESSION['msg_show']; + unset($_SESSION['msg_show']); + if ($_SESSION['msg_result'] == 'success') { +print<< + #msgshow{top:250px; left:40%; position:absolute;} + #msgshow_l{background:url({$pe['host_root']}include/image/dui_l.gif) no-repeat; width:38px; height:50px; float:left;} + #msgshow_r{background:url({$pe['host_root']}include/image/dui_r.gif) no-repeat; width:7px; height:50px; float:left;} + #msgshow_m{background:url({$pe['host_root']}include/image/dui_m.gif) repeat-x; height:33px; float:left; padding:17px 8px 0 5px; font-size:14px; font-weight:bold; color:#53663A; display:inline-block; min-width:200px; _width:200px;} + +html; + } + else { +print<< + #msgshow{top:250px; left:40%; position:absolute;} + #msgshow_l{background:url({$pe['host_root']}include/image/cuo_l.gif) no-repeat; width:38px; height:50px; float:left;} + #msgshow_r{background:url({$pe['host_root']}include/image/cuo_r.gif) no-repeat; width:7px; height:50px; float:left;} + #msgshow_m{background:url({$pe['host_root']}include/image/cuo_m.gif) repeat-x; height:33px; float:left; padding:17px 8px 0 4px; font-size:14px; font-weight:bold; color:#5E2C2C; display:inline-block; min-width:200px; _width:200px;} + +html; + } +print<< + $("#msgshow").remove(); + $("body").append('
{$show}
'); + $("#msgshow").show(); + setTimeout(function(){ $("#msgshow").fadeOut(2000) }, 2000); + +html; + } +} +//跳转函数 +function pe_goto($url = '', $type = 'default') +{ + global $pe; + if ($type == 'dialog') { + $url = $url ? "top.location.href = '{$url}'" : "top.location.reload()"; + } + else { + $url = $url ? $url : (stripos($_SERVER['HTTP_REFERER'], $pe['host_root']) === false ? $pe['host_root'] : $_SERVER['HTTP_REFERER']); + $url = "window.location.href='{$url}'"; + } + echo ""; + die(); +} +//#####################@ 文件相关函数 @#####################// +//文件夹大小 +function pe_dirsize($dir_path) +{ + $size = 0; + if (is_file($dir_path)) { + $size = filesize($dir_path); + } + else { + $dir_arr = glob(trim($dir_path).'/*'); + if (is_array($dir_arr)) { + foreach ($dir_arr as $k => $v) { + $size += pe_dirsize($v); + } + } + } + return $size; +} +//删除文件夹 +function pe_dirdel($dir_path) +{ + if (is_file($dir_path)) { + unlink($dir_path); + } + else { + $dir_arr = glob(trim($dir_path).'/*'); + if (is_array($dir_arr)) { + foreach ($dir_arr as $k => $v) { + pe_dirdel($v, $type); + } + } + @rmdir($dir_path); + } +} +//文件夹列表 +function pe_dirlist($dir_path) { + $dir_arr = glob($dir_path); + foreach ($dir_arr as $k => $v) { + $tpl_arr[$k] = trim(strrchr(trim($v, '/'), '/'), '/'); + } + return $tpl_arr; +} +//获取文件名 +function pe_filename($path, $type = '') +{ + $patharr = explode('/', $path); + $pathkey = count($patharr) - 1; + $filename = $patharr[$pathkey]; + switch ($type) { + case 'name': + $arr = explode('.', $filename); + return $arr[0]; + break; + case 'ext': + $arr = explode('.', $filename); + return $arr[1]; + break; + default: + return $filename; + break; + } +} + +//#####################@ 杂项函数 @#####################// +function pe_bug($notice, $line = null) +{ + $html = "

错误提示:{$notice}
错误定位:{$_SERVER[SCRIPT_FILENAME]}(第{$line}行)

"; + die($html); +} +//获取text +function pe_text($str) +{ + $str = str_ireplace(array('\t','\r','\n','\rn',' ',' '), '', strip_tags($str)); + return trim($str); +} +//针对文本保留html显示格式 +function pe_texthtml($str) +{ + return nl2br(str_replace(' ', ' ', $str)); +} +//获取适合js输出的html +function pe_jshtml($str, $isshow = 1) { + $str = addslashes(str_replace(array("\r", "\n", "\t"), array('', '', ''), $str)); + return $isshow ? 'document.write("'.$str.'");' : $str; +} +//截取字符串 +function pe_cut($str, $len, $tail = '') +{ + $str_len = strlen($str);//字符串总偏移量 + $i = 0;//截取汉字时字符偏移量 + $l = 0;//已截取了的汉字长度 + while (true) { + if (ord(substr($str, $i, 1)) > 0xa0) {//中文 + $cnstr .= substr($str, $i, 3); + $i += 3; + $l++; + } + else {//字母,字符,数字 + $cnstr .= substr($str, $i, 1); + $i++; + $l += 0.5; + } + if ($l == $len or ($l+0.5) == $len) { + return $str_len <= $i ? $cnstr : $cnstr . $tail; + } + } +} +//js弹框 +function pe_alert($msg) +{ + echo ""; + pe_goto(); +} +//增加反斜杠 +function pe_addslashes($arr) +{ + if (empty($arr)) { + return $arr; + } + else { + return is_array($arr) ? array_map('pe_addslashes', $arr) : addslashes($arr); + } +} +//移除反斜杠 +function pe_stripslashes($arr) +{ + if (empty($arr)) { + return $arr; + } + else { + return is_array($arr) ? array_map('pe_stripslashes', $arr) : stripslashes($arr); + } +} +//移除字符串左右空格 +function pe_trim($str) +{ + if (is_array($str)) { + foreach($str as $k => $v) { + $str[$k] = pe_trim($v); + } + } + else { + $str = trim($str); + } + return $str; +} +//获取ip +function pe_ip() +{ + if (isset($_SERVER)){ + if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ + $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; + } else if (isset($_SERVER["HTTP_CLIENT_IP"])) { + $realip = $_SERVER["HTTP_CLIENT_IP"]; + } else { + $realip = $_SERVER["REMOTE_ADDR"]; + } + } else { + if (getenv("HTTP_X_FORWARDED_FOR")){ + $realip = getenv("HTTP_X_FORWARDED_FOR"); + } else if (getenv("HTTP_CLIENT_IP")) { + $realip = getenv("HTTP_CLIENT_IP"); + } else { + $realip = getenv("REMOTE_ADDR"); + } + } + return $realip; +} +//转换日期 +function pe_date($time, $type = 'Y-m-d H:i') +{ + return $time ? date($type, $time) : ''; +} +//url处理函数 +function pe_updateurl($k, $v='') +{ + $querystr = $_SERVER['QUERY_STRING']; + $url = $v === '' + ? preg_replace('/'.$k.'=[^&]*/', '', $querystr) + : ((stripos($querystr, "&{$k}=") === false && stripos($querystr, "{$k}=") === false) ? "{$querystr}&{$k}={$v}" : preg_replace('/'.$k.'=[^&]*/', "$k=$v", $querystr)); + $url = trim($url, '&'); + return $url ? "?{$url}" : '?'; +} +//url批量处理函数 +function pe_updateurl_arr($arr) +{ + $querystr = $_SERVER['QUERY_STRING']; + foreach ($arr as $val) { + $k = $val[0]; + $v = $val[1]; + $querystr = $v === '' + ? preg_replace('/'.$k.'=[^&]*/', "", $querystr) + : (stripos($querystr, $k.'=') === false ? "{$querystr}&{$k}={$v}" : preg_replace('/'.$k.'=[^&]*/', "$k=$v", $querystr)); + $querystr = trim($querystr, '&'); + } + return $querystr ? '?'.$querystr : ''; +} +//sql段函数。如时间段,但必须符合money=50-100的格式 +function pe_sqlrange($fieldname, $rangeval, $misc = '-') +{ + if (stripos($rangeval, $misc) === false) { + $sqlwhere = "{$fieldname} = '$rangeval'"; + } + else { + $rangarr = explode($misc, $rangeval); + if ($rangarr[0] == 0 or !$rangarr[0]) { + $sqlwhere = "{$fieldname} <= '$rangarr[1]'"; + } + elseif ($rangarr[1] == 0 or !$rangarr[1]) { + $sqlwhere = "{$fieldname} >= '$rangarr[0]'"; + } + else { + $sqlwhere = "{$fieldname} >= '$rangarr[0]' and {$fieldname} <= '$rangarr[1]'"; + } + } + return $sqlwhere; +} +//#####################@ 安全函数 @#####################// +function pe_csrf_set() { + $csrf_token = md5("{$_SERVER['REMOTE_ADDR']}koyshe+andrea=phpshe".time().rand(1,100)); + setcookie("csrf_token", $csrf_token); + return ""; +} +function pe_csrf_match() { + global $pe; + $referer = parse_url($_SERVER['HTTP_REFERER']); + if (@stripos($pe['host_root'], $referer['host']) === false or $_POST['csrf_token'] != $_COOKIE['csrf_token'] or $_POST['csrf_token'] == '' or $_COOKIE['csrf_token'] == '') { + unset($_COOKIE['csrf_token'], $_POST['csrf_token']); + pe_error('请勿csrf或重复提交数据'); + } + unset($_COOKIE['csrf_token'], $_POST['csrf_token']); +} +//#####################@ 用户权限函数 @#####################// +function pe_login($utype){ + global $pe; + return (md5($_SESSION["{$utype}_id"].$pe['host_root']) == $_SESSION["{$utype}_idtoken"]) ? 1 : 0; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/image/cuo_l.gif b/phpshe/1.1/php-fpm/src/include/image/cuo_l.gif new file mode 100755 index 0000000000000000000000000000000000000000..d1de57522ce307e5fd417ae8adb37152ef4b1993 GIT binary patch literal 1020 zcmVsMFmiiFaWlkH<;;)8w3ZEdPe zOWbyG*G5LOTw3apirI#M(`IDym5$0jKHG0>^_Y>VI5^T=TDCPc+;VQHG&IysPNOj~ z_xJw$`tvl9Jq$lbA3ttTZ&xfqTzbSlwl1%wAi> zaBJRvdD3fW*=uN*FfinVf5Kp0+)q!yQ&GWLSHxah)^u>~XlS!zU*l6#;$~*PIy%Qc zKiF4S-CbSumXE(#R?2p9>swpyUthyLJ41ejE#ywNi2?&l#Wu8m6@3%nw^v@o}r9~qNR<0sHv)} ztgWhyuCcPKu(P(VwYR#dxx2c(zP7-w6lMz;7z+q>v%{-I6JKot)B*=|WCgL#s1yru z0wv<(;&~ioAg$aW5N!nS@bT|>7BZ~P6c7hG{Qds^1S~|LwWt*a4mc7jT*wf|8wdmy zu_7`DfJFc=E^5T6QG=OR1y^-I!=R*wCPzxDWN@U329+-?fRw0;!k!;Ee|X_>WZ;5u7oF2Q7ps zVu)K*V22D8+%s7>4k+=!19vDe#TI3F07D2<)Sy5ZFDl_cipt>@#1ap5!2}j6xM71? z0t(pBfC^YJ(ZvHx1OcREUu_sc5Dqv{gb-i~QAC$PL~vz;!R*3Knkr_=<~A$7sZN}7 qX6Rs@xX_6wDx{ba3MhVt!bzZ>Tta9kkYI8sC4vxQ$fAw}0suSeujEbu literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/image/cuo_m.gif b/phpshe/1.1/php-fpm/src/include/image/cuo_m.gif new file mode 100755 index 0000000000000000000000000000000000000000..db5dcca61ee428b40c7557d41c57bcff5891e7fa GIT binary patch literal 49 ycmZ?wbhEHbWMnX6XkcJCm!JQA<|M_REDRu^10p~&3``s?@+(ijoqtY~!5RQ9ybOi_ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/image/cuo_r.gif b/phpshe/1.1/php-fpm/src/include/image/cuo_r.gif new file mode 100755 index 0000000000000000000000000000000000000000..c7e575997caeda20f45941d4f3601180df02add2 GIT binary patch literal 150 zcmZ?wbhEHbWM?p9*v!Cip|tdRSJ%z{{#OSN{`&CY-|yf5{`|R6R(8F+`_-XCH~ad& z&z$uC|NnFO`3zv7_>%=p>wrj*84N7W8yHP_l6AK`Y`AxHI&YHll;c6Glz#7&nsbsj xcYVd|{ndBQ?~nShO#4%hol1aaictTBl$XpJb6uABD=cv=QE6&v6=Y%oDbC$^fmeBxUoB^240G-Vf;P#W$>zTXbhW7jEmdyZ_!X}5e8p-0R zp2st#%tfWvBzLR}YMdnh|NofO0QvT)h_y(V$^e+s0FJp@s?bK5#{iJOBdy(QVVM%O z+D**rYwPsQn#c>7&;YvJRk`7G!r7vAs4Hci8Tk9|o6!`f)hevgDw)A)!rh;+*+rtm zdaBbQm&^*m;a>Xv^kkk2lF0z|`sTaRox0pzW}gJF(S>lEKilxWlg66&&ji=Kx z#oeW#x_`^$tIXu9W0xRqnl^o~6PeNktiq6tsb{FrIK$qd{r>xSpGstwC}EcrZKM*4 zxH*~20lL~~u+WLn>~(;yLz2BurOzjnyS?O(*>d~KsDaHKM@&xyd~ zNzmqyX`u_e;b5}YL$%vAUYQZV<7&41ejERCXjggX#BaoAqmrj_Ql9rsGiH4w~jDM!5sHv)} zsEe$xu&J)Gw5+qWxTm+dxVyZxzQ3@+!nTUEJOOEMHa2*8HYWi*#)+{>BximOWiCN7 z3RXi4Nvp)C01I;zYj-~a@H%!1A2tB0=YKmS6nj4e1PTZoD4>CcAvC~Y73k(dISVaL9%4Y0u!`+fU`vx$5T^IgmLlDq)ixTV5AVB0Lh6d zrh@S>(?QOI5=fIGeL%p$iv~v2<8A8M_o0zgMb2?-J=w3u+1h=U6ugfy8TL5u_x5$;)C z`v(A$78oRyXi=mBk*{GxRA7wwa^}E@Q~`*90`Y?)Aym7;Yq~XJ%$kGwIG}(*3=EHR z=a!5^LX77z7;rcMc(Y(s0YGTT@!W1|)i|I-&!GW?M(eRt(J+vp0Rs~;n6SB#mq`p0 z`0+DnkiY;9*oUaH0Rk+jki!-DF;PbzI6#meeplq60t*Oi0H7bLNMQtf9C#pt2qr+_ z;D;oN-~k5-C}D&Y7p}6w08}K(RHfO5JeRSSdoDiJ!IK~78zJ^KowE^_hfpkKruiTUVMQ>0&FIL#1~#X)Gk{cIGSP*KgiUa}xJGIL3^#A|> literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/image/dui_m.gif b/phpshe/1.1/php-fpm/src/include/image/dui_m.gif new file mode 100755 index 0000000000000000000000000000000000000000..4d04d879ae7f2e26190b5bfcb9931d95d348200b GIT binary patch literal 49 ycmZ?wbhEHbWMnX6XkcJic{}awvo(r8Sr|Y-2Sk8m7??O(b`1dl literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/image/dui_r.gif b/phpshe/1.1/php-fpm/src/include/image/dui_r.gif new file mode 100755 index 0000000000000000000000000000000000000000..0656e20b6e85ef46ec8e5501be50712149d655f9 GIT binary patch literal 204 zcmZ?wbhEHbWM?p9IKsg2|NsBr-&d`@oB8+O?;Q_{*WS(D^SI;Zw-vWP?A!IQWY?qS zosXKo{eFMrRqyVHrJuemzV%_>jn}IRR1TPCksqzzXpSJUuwVzM=vSN+VT0fl-?WaNOALP6Z YT_Kqza5L#ckO9NwCPqUB1}6q<0I%Rwi~s-t literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/image/nopic.gif b/phpshe/1.1/php-fpm/src/include/image/nopic.gif new file mode 100755 index 0000000000000000000000000000000000000000..e3323bbb156ef0d0a7a77c763c4a06b5dac820b1 GIT binary patch literal 2256 zcmXw&SyWSZ0*C)M>rDu717T4DBoJbZh;bQ)3hE6;L<$%vMOv|q=yB|+wiyd$(XlrH zZE(S;xIxs2ND+02f~_b+FEmPk012`wpb^X0!R>!-smkzNV&Tbad2avw^?o{}=q#0w^~0l04jh;R!?G zzPdfDFPn;!BW`_J+IjQGhF2NCTXboW0r|~C&mSF&X`9uHkQLUk_zQNeo)NC@hJZ^1k@92E;w5z-4*>lT_-j{v- z1A{}uBco$+_MB28n|Rz4I4+dBu)hunh**lmrT_Z{(K#c0p)|;>cv#>9k#M4hkIst|VKNpcgva9Xct*`IZHKiM2kqyhRK>4dljvQbs1By~NUV0YitYvoA9Q2*>Jnm_)x%OfaaSaTUT1VtnP~ zyope&`NbWPVd1nP(Jmxg!4)}@?|X|rVPax}ufHouK-khux{E*rB{{px*TZyPF}`*g z$JNV~w~7q8ygc(yJqGPLe3r)S(b~-W$CuwGfJx8g3NY_iKme=*m>6j3 ziIKqA@z}UdH*(7LxE6aVB2(Ch;;D|#!7OP3b5T*6Y7H>q>lycNiEwGC3C115DiI8o zrq%6Wt)+AM03!M6frzc!DvPN9jYNv>O_1bPe_r&jhkRV~+w&55boYA*l89#KH+%qcj{S*t@KUrzE5 zO_DSzua4(iJ8A%y42u;fY>@5Jyb z_?=cs7K-L8SP=yi!o1e1^h)5t?#QKAIG*fkt6Z0^rzQLZG54Cp*t_J9?FQdV#jnlV8bOIEX_fYjJq~F7zQJ zjAEBapb7wRNw!&X()2qRG6eGoA4P-+Aam{l-=&2yszjhxW!CTw`06$x=5|pA)XM?% zQ(rZRIDgueR!eraR8P69NJl@IU^@i8hQ!nnIoN7$xNFL;O&9G<*C@vm3D)F47OahF zrdY2g*}sji;tCvSD@;*>lOilG;Pe^&&KkUmcW9#*prnrbu?$Jvs8BiV9aL?vOEdZ& zTLM(Up)1K&<9c^a-lrD0zQB?{M-%7ANzk?|d>yM*rdq06KxG#{_{>#7j=oV%?syWt zzVaOi25QM7q1nDqk{zjyr3;jseUeeCN$FYQvjwmd94PME%WdJ`koJd!(QJ&*C4MyB zjl8E5MLE@i??`@7R!TDLr9-FYrM#d)AP@M?_ip>P z>**NpT3r~;yAz`wr*~BKJ%kuLind)z$CCKf2UkaFxTjN_TN}UKz(B-u!yUlAUC861 zI6Y8zin=NueljvFj;)AD9au{8GTizuHGk_l<4T&~UN{I;ci49e$$Y7rkf>AkxAM=2 zqz!Vo8+t}Ug=As4IOSVpqpu~KpgFS#n%uYL{xKPGDC&J_hIte;MKNifYTytpihJ{; zo-p0G?BEakFt=mB7H?KRhmVLbBmq=L@8%!XeyT#9WF;F#Vh0$By(pGJ)Nq9**P=-9 z8U4e%sfihfWq!Zu3cpLU$*@Vr3+3l3l&l-d zvY}~o;%+hQ-<87;o~e`O+{yhVvR}A$raqzR&e`9L{Q>)D8e|S-=W8PeR^-nZcSo1y zbr=T%AIvn$bILS>k%OzdW}4EP$}UYA2iMNcG-D3sT58l#sK=~H6 + * @creatdate 2010-1001 koyshe + */ +(function($){ +//定制常用正则 +var rule_phone = /^((1[0-9]{10})|(029[0-9]{8}))$/; +var rule_qq = /^[0-9]{5,10}$/; +var rule_email = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[a-z]{2,3}$/; +var rule_zh = /^[\u4e00-\u9fa5]+$/; +var rule_idcard = /^([1-9][0-9]{14})|([1-9][0-9]{17})$/; +function _success(_this, show_id, show_text) { + _this.attr("pe_result", "true"); + _this.css("border","") + $("#" + show_id).empty(); +} +function _error(_this, show_id, show_text) { + _this.attr("pe_result", "false"); + _this.css("border","1px solid #f00"); + $("#" + show_id).html('(×)'+show_text+''); +} +//比较数字大小或比较字符串长短(内部调用) +function _maxmin (_config, _val, type) { + var _this = $(":input[name='"+_config.name+"']"); + var _limit = _config.arg.split('|'); + if (type == 'num') { + var numtype = !isNaN(_val); + } + else { + var numtype = true; + } + if (_limit[0] && _limit[1] === '') { + if ((numtype && _val >= parseFloat(_limit[0])) || (_val == '' && _config.must == false)) { + _success(_this, _config.show_id); + } + else { + _error(_this, _config.show_id, _config.show_error); + } + } + else if (_limit[1] && _limit[0] === '') { + if ((numtype && _val <= parseFloat(_limit[1])) || (_val == '' && _config.must == false)) { + _success(_this, _config.show_id); + } + else { + _error(_this, _config.show_id, _config.show_error); + } + } + else if (_limit[0] && _limit[1]) { + if ((numtype && _val >= parseFloat(_limit[0]) && _val <= parseFloat(_limit[1])) || (_val == '' && _config.must == false)) { + _success(_this, _config.show_id); + } + else { + _error(_this, _config.show_id, _config.show_error); + } + } + else { + if ((_val && _config.must == true) || (_val == '' && _config.must == false)) { + _success(_this, _config.show_id); + } + else { + _error(_this, _config.show_id, _config.show_error); + } + } +} +//验证核心操作(内部调用) +function _core (my_config) { + var pe_config = { + name : '', + mod : '', + act : 'blur', + arg : '', + show_id : '', + show_error : 'error', + must : true + }; + var _config = $.extend(pe_config, my_config); + var _this = $(":input[name='"+_config.name+"']"); + var _val = _this.val(); + if (_this.attr('pe_result') == 'false') return; + switch (_config.mod) { + case 'match': + if (_config.arg == 'email' || _config.arg == 'phone' || _config.arg == 'qq' || _config.arg == 'idcard' || _config.arg == 'zh') { + var _rule = eval('rule_'+_config.arg); + } + else { + var _rule = config.arg; + } + if (_rule.test(_val) || (_val == '' && _config.must == false)) { + _success(_this, _config.show_id); + } + else { + _error(_this, _config.show_id, _config.show_error); + } + break; + case 'str': + _maxmin(_config, _val.length, 'str'); + break; + case 'num': + _maxmin(_config, _val, 'num'); + break; + case 'equal': + if (typeof(_config.arg) == 'object') _config.arg = _config.arg.val(); + if (_val == _config.arg || (_val == '' && _config.must == false)) { + _success(_this, _config.show_id); + } + else { + _error(_this, _config.show_id, _config.show_error); + } + break; + case 'ajax': + if (_val == '' && _config.must == false) { + _success(_this, _config.show_id); + } + else { + $.ajaxSettings.async = false;//同步方式执行AJAX($.ajaxSetup({async: false});) + var _ajax_data = _config.arg(); + $.getJSON(_ajax_data.url, _ajax_data.data, function(json){ + if (_ajax_data.tf != false) _ajax_data.tf = true; + if (json.result == _ajax_data.tf) { + _success(_this, _config.show_id); + } + else { + _error(_this, _config.show_id, _config.show_error); + } + }); + } + break; + case 'func': + if (_config.arg() || (_val == '' && _config.must == false)) { + _success(_this, _config.show_id); + } + else { + _error(_this, _config.show_id, _config.show_error); + } + break; + } +} +$.fn.pe_submit = function(my_config, form_id) { + //绑定提交按钮验证 + this.bind('click', function(){ + var submit_result = true; + var k; + for (k in my_config) { + $(":input[name='"+my_config[k].name+"']").removeAttr('pe_result'); + } + for (k in my_config) { + _core(my_config[k]); + if ($(":input[name='"+my_config[k].name+"']").attr('pe_result') == 'false') { + submit_result = false; + } + } + if (submit_result == true) { + $("#"+form_id).submit(); + } + }) + //绑定每个表单验证 + var k; + for (k in my_config) { + var _config = my_config[k]; + $(":input[name='"+_config.name+"']").bind('change', function() { + $(this).removeAttr('pe_result'); + }); + $(":input[name='"+_config.name+"']").bind(_config.act, {'_config':_config}, function(event) { + + _core(event.data._config); + }) + } +} +})(jQuery); \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/js/global.js b/phpshe/1.1/php-fpm/src/include/js/global.js new file mode 100755 index 000000000..efd5c5a36 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/js/global.js @@ -0,0 +1,79 @@ +/** + * @copyright 2008-2012 简好技术 + * @creatdate 2010-1001 koyshe + */ +//$.ajaxSettings.async = false; +//常用正则规则 +var rule_phone = /^((1[0-9]{10})|(029[0-9]{8}))$/; +var rule_qq = /^[0-9]{5,10}$/; +var rule_email = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[a-z]{2,3}$/; +var rule_zh = /^[\u4e00-\u9fa5]+$/; + +/* ====================== jq全局操作函数 ====================== */ +//全选操作(修正版) by koyshe 2012-03-09 +function pe_checkall(_this, inputname) { + var checkname = $(_this).attr("name"); + if ($(_this).is(":checked")) { + $("input[name='"+inputname+"[]']").add("input[name='"+checkname+"']").attr("checked","checked"); + } + else { + $("input[name='"+inputname+"[]']").add("input[name='"+checkname+"']").removeAttr("checked"); + } +} +//带提醒批量操作(修正版) by koyshe 2012-03-09 +function pe_cfall(_this, inputname, formid, show) { + if ($("input[name='"+inputname+"[]']").filter(":checked").length == 0) { + alert('请先勾选需要'+show+'的信息!'); + return false; + } + else if (confirm('您确认执行'+show+'操作吗?')) { + $("#"+formid).attr("action", $(_this).attr("href")).submit(); + } + return false; +} +//带提醒单个操作(修正版) by koyshe 2012-11-29 +function pe_cfone(_this, show) { + if (confirm('您确认执行'+show+'操作吗?')) { + if ($(_this).is("a")) { + return true; + } + else { + if ($(_this).attr("target") == "_blank") { + window.open($(_this).attr("href")); + return false; + } + if (document.all) { + var referer_url = document.createElement('a'); + referer_url.href = $(_this).attr("href"); + document.body.appendChild(referer_url); + referer_url.click(); + } + else { + window.location.href = $(_this).attr("href"); + } + } + } + return false; +}; +//批量操作 by koyshe 2012-03-09 +function pe_doall(_this, formid) { + $("#"+formid).attr("action", $(_this).attr("href")).submit(); +} +//dialog函数 by koyshe 2011-11-12 +function pe_dialog(_this, title, width, height, id) { + art.dialog.open($(_this).attr("href"), {title:title, width: width, height: height, id: id}); + return false; +} +//商品购买数量 +function pe_numchange(inputname, type, limit) +{ + var _input = $(":input[name='"+inputname+"']"); + var _input_val = parseInt(_input.val()); + var limit = parseInt(limit); + if (type == '+') { + if (_input_val < limit) _input.val(_input_val + 1) + } + else { + if (_input_val > limit) _input.val(_input_val - 1) + } +} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/js/jquery.js b/phpshe/1.1/php-fpm/src/include/js/jquery.js new file mode 100755 index 000000000..16ad06c5a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/js/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.2 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
"+""+"
",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
t
",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( +a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f +.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/js/jquery.slide.js b/phpshe/1.1/php-fpm/src/include/js/jquery.slide.js new file mode 100755 index 000000000..c40c39cca --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/js/jquery.slide.js @@ -0,0 +1 @@ +eval((function(a,b){return a.replace(/\w+/g, function(ss){ return b[parseInt(ss, 36)]; }); })("(0($) {\r$.1.2 = 0(3){\r3 = 4.5({\r6 : 7,\r8 : 9,\ra:\"b\",\rc:\"d\",\re:f,\rg:{h:i,j:\"#k\",l:m.7},\rn:f,\ro:{p:q,r:\"#s\",t:\"u\",v:\"w\"},\rx:f,\ry:{z:\"#10\",11:\"#12\",13:\"#14\",15:\"#k\",16:\"u\",17:\"#18\",19:\"#1a\",1b:1c,1d:m.1e}\r},3);\r1f 1g = {h:i,j:\"#k\",l:m.7}\r1f 1h = {p:q,r:\"#s\",t:\"u\",v:\"w\"}\r1f 1i = {z:\"#10\",11:\"#12\",13:\"#14\",15:\"#k\",16:\"u\",17:\"#18\",19:\"#1a\",1b:1c,1d:m.1e}\r1j (1f 1k 1l 1g){\r1m(3.g[1k] == 1n){\r3.g[1k] = 1g[1k];\r}\r}\r1j (1f 1k 1l 1h){\r1m(3.o[1k] == 1n){\r3.o[1k] = 1h[1k];\r}\r}\r1j (1f 1k 1l 1i){\r1m(3.y[1k] == 1n){\r3.y[1k] = 1i[1k];\r}\r}\r1f 1o = 1p;\r1f 1q = $(1o).1r;\r1f 1s = 1t 1u();\r1f 1v = m;\r1f 1w =1t 1u();\r1f 1x = m;\r1f 1y = 3.6;\r1f 1z;\r1f 20 = f;\r1m(21(1y) || 1y <= 1c){\r1y = 7;\r}\r1m(3.8 > 22){\r3.8 = 22;\r}23 1m(3.8 < 1c){\r3.8 = 1c;\r}\r0 24(){\r$(1o).25({26:\"27\"});\r$(1q+\" 28 29\").25({2a:m});\r2b();\r2c();\r};\r0 2b(){\r1v = $(1q+\" 28\").2d;\r1w.2e($(1q+\" 28 29\").2f());\r1w.2e($(1q+\" 28 29\").2g());\r$(1q+\" 28 29\").2h(0(2i){\r1s.2e($(1p).2j(\"2k\"));\r});\r$(1q+\" 28\").2l(\"<2m 2n=\'2o\'><\/2m>\");\r$(\"#2o\").2p().2j(\"2n\",\"2q\").2r(1o);\r2s();\r2t();\r2u();\r2v();\r2w(3.c);\r$(1o).25({26:\"2x\"});\r};\r0 2s(){\r$(1o).25({2f:1w[m],2g:1w[1c],2y:\"27\",2z:\"30\"});\r$(1o).31(\"<2m 32=\'33\'><\/2m>\");\r1f 34 = 3.g.h;\r1m(21(34)){\r34 = i;\r}23 1m(34 < 35){\r34 = 35;\r};\r$(1q+\" .33\").25({2g:34,2f:\"36%\",2z:\"37\",38:m,b:m})\r1m(3.e){\r$(1q+\" .33\").25({39:3.g.j,3a:3.g.l})\r}\r};\r0 2t(){\r1m(3.n){\r$(1q+\" .33\").31(\"<3b 32=\'3c\' 3d=\'3e:3f m m 3g;3h:m;\'><\/3b>\");\r$(1q+\" .33 .3c\").25({3i:3.o.p,3j:3.o.r,3k:3.o.t,3l:3.o.v});\r3m(m);\r};\r};\r0 2u(){\r1m(3.y.1b > 3n){3.y.1b = 3n}\r1m(3.y.1b < m || 21(3.y.1b)){3.y.1b = m}\r1m(3.x && 1v >= 3n){\r$(1o).31(\"<2m 32=\'3o\' 3d=\'2z:37;3p:3q;38:3r; 3s-3t:36\'><\/2m>\");\r1f 3u = \"\";\r1j(2i=1c;2i<=1v;2i++){\r3u+=\"<3v>\"+2i+\"<\/3v>\";\r}\r3u = \"<3w 2n=\'3x\' 3d=\'3e:m;3h:m; 2y:27\'>\"+3u+\"<\/3w>\";\r$(1q+\" .3o\").31(3u);\r$(1q+\" .3o #3x 3v\").25({3y:\"3z\",40:\"b\",2f:41,2g:41,42:3.y.1b,43:3.y.17,44:\"45\",39:3.y.z,46:\"47\",48:\"49\",4a:4b,3i:q,3k:3.y.16,4c:\"4d\",3a:3.y.1d,3j:3.y.13});\r$(\"#3x 3v:4e(m)\").25({39:3.y.11,43:3.y.19,3j:3.y.15});\r};\r};\r0 2v(){\r4f(3.a){\r4g \"b\": 4h(); 4i;\r4g \"3p\": 4j();4i;\r4g \"4k\": 4l(); 4i;\r4g \"4m\": 4n(); 4i;\r4o: 3.a = \"b\"; 4h();\r}\r};\r0 4h(){\r$(1q+\" 2m:4p(3n)\").2l(\"<2m 2n=\'4q\'><\/2m>\");\r$(\"#4q\").25({2f:1w[m],2g:1w[1c],2y:\"27\",2z:\"30\"});\r$(\"#2o\").25({40:\"b\"});\r$(\"#2q\").25({40:\"b\"});\r$(1q+\" #4q 2m\").2l(\"<2m 2n=\'4r\'><\/2m>\");\r$(1q+\" #4r\").25({40:\"b\",2f:\"4s%\"});\r1z = 4t(0(){4u(3.a)},1y*4v+3.8);\r};\r0 4j(){\r$(1q+\" 2m:4p(3n)\").2l(\"<2m 2n=\'4q\'><\/2m>\");\r$(\"#4q\").25({2f:1w[m],2g:1w[1c],2y:\"27\",2z:\"30\"});\r$(\"#2o\").25({40:\"b\"});\r$(\"#2q\").25({40:\"b\"});\r$(1q+\" #4q 2m\").2l(\"<2m 2n=\'4r\'><\/2m>\");\r$(1q+\" #4r\").25({40:\"b\",2f:\"4s%\"});\r$(\"#2q\").4w(\"\");\r$(\"#2o 28\").4x(\"<4y><\/4y>\")\r$(\"#2o 28\").2h(0(2i){\r$(\"#2q\").4z($(\"#2o 4y:4e(\"+2i+\")\").4w());\r})\r$(\"#2o\").4w($(\"#2q\").4w());\r1f 50 = (1v-1c)*1w[m];\r$(\"#4q\").51(50);\r1z = 4t(0(){4u(3.a)},1y*4v+3.8);\r};\r0 4l(){\r$(1q+\" 2m:4p(3n)\").2l(\"<2m 2n=\'4q\'><\/2m>\");\r$(\"#4q\").25({2f:1w[m],2g:1w[1c],2y:\"27\",2z:\"30\"});\r$(\"#4q\").52({53: m}, 1c);\r1z = 4t(0(){4u(3.a)},1y*4v+3.8);\r};\r0 4n(){\r$(1q+\" 2m:4p(3n)\").2l(\"<2m 2n=\'4q\'><\/2m>\");\r$(\"#4q\").25({2f:1w[m],2g:1w[1c],2y:\"27\",2z:\"30\"});\r$(\"#2q\").4w(\"\");\r$(\"#2o 28\").4x(\"<4y><\/4y>\")\r$(\"#2o 28\").2h(0(2i){\r$(\"#2q\").4z($(\"#2o 4y:4e(\"+2i+\")\").4w());\r})\r$(\"#2o\").4w($(\"#2q\").4w());\r1f 54 = (1v-1c)*1w[1c];\r$(\"#4q\").52({53: 54}, 1c);\r1z = 4t(0(){4u(3.a)},1y*4v+3.8);\r};\r0 4u(3d){\r4f(3d){\r4g \"b\":\r1m(1x >= 1v){\r1x = m;\r$(\"#4q\").51(m);\r$(\"#4q\").52({51:1w[m]}, 3.8);\r}23{\r55 =(1x+1c)*1w[m];\r1m ($(\"#4q\").56(\':57\')){\r$(\"#4q\").58();\r$(\"#4q\").52({51: 55}, 3.8);\r}23{\r$(\"#4q\").52({51: 55}, 3.8);\r}\r}\r3m(1x+1c);\r4i;\r4g \"3p\":\r1f 50 = (1v-1c)*1w[m];\r1m(1x >= 1v){\r1x = m;\r$(\"#4q\").51(50+1w[m]);\r$(\"#4q\").52({51:50}, 3.8);\r}23{\r1m(20){\r1x++;\r20 = 59;\r}\r55 =50-(1x*1w[m]);\r1m ($(\"#4q\").56(\':57\')){\r$(\"#4q\").58();\r$(\"#4q\").52({51: 55}, 3.8);\r}23{\r$(\"#4q\").52({51: 55}, 3.8);\r}\r}\r3m(1x);\r4i;\r4g \"4k\":\r1m(1x >= 1v){\r1x = m;\r$(\"#4q\").53(m);\r$(\"#4q\").52({53:1w[1c]}, 3.8);\r}23{\r55 =(1x+1c)*1w[1c];\r1m ($(\"#4q\").56(\':57\')){\r$(\"#4q\").58();\r$(\"#4q\").52({53: 55}, 3.8);\r}23{\r$(\"#4q\").52({53: 55}, 3.8);\r}\r}\r3m(1x+1c);\r4i;\r4g \"4m\":\r1f 50 = (1v-1c)*1w[1c];\r1m(1x >= 1v){\r1x = m;\r$(\"#4q\").53(50+1w[1c]);\r$(\"#4q\").52({53:50}, 3.8);\r}23{\r1m(20){\r1x++;\r20 = 59;\r}\r55 =50-(1x*1w[1c]);\r1m ($(\"#4q\").56(\':57\')){\r$(\"#4q\").58();\r$(\"#4q\").52({53: 55}, 3.8);\r}23{\r$(\"#4q\").52({53: 55}, 3.8);\r}\r}\r3m(1x);\r4i;\r}\r1x++;\r}\r0 3m(3t){\r1m(3t == 1v){3t = m};\r1m(3.n){\r$(1q+\" .33 3b\").4w(1s[3t]);\r};\r$(\"#3x 3v\").2h(0(2i){\r1m(2i == 3t){\r$(1p).25({39:3.y.11,43:3.y.19,3j:3.y.15});\r}23{\r$(1p).25({39:3.y.z,43:3.y.17,3j:3.y.13});\r}\r})\r};\r0 2w(5a){\r4f(5a){\r4g \"5b\" : 5c(); 4i;\r4g \"d\" : 5d(); 4i;\r4o : 5d();\r}\r};\r0 5c(){\r$(\"#3x 3v\").5b(0(){\r1f 5e = $(\"#3x 3v\").3t($(1p));\r4f(3.a){\r4g \"b\" :\r1x = 5e-1c; 4i;\r4g \"3p\" :\r1m(20){\r1x = 5e-1c; 4i;\r}23{\r1x = 5e; 4i;\r}\r4g \"4k\" :\r1x = 5e-1c; 4i;\r4g \"4m\" :\r1m(20){\r1x = 5e-1c; 4i;\r}23{\r1x = 5e; 4i;\r}\r}\r4u(3.a);\r$(\"#3x 3v\").2h(0(2i){\r1m(2i ==5e){\r$(1p).25({39:3.y.11,43:3.y.19,3j:3.y.15});\r}23{\r$(1p).25({39:3.y.z,43:3.y.17,3j:3.y.13});\r}\r})\r})\r};\r0 5d(){\r$(\"#3x 3v\").5f(0(){\r1f 5e = $(\"#3x 3v\").3t($(1p));\r4f(3.a){\r4g \"b\" :\r1x = 5e-1c; 4i;\r4g \"3p\" :\r1m(20){\r1x = 5e-1c; 4i;\r}23{\r1x = 5e; 4i;\r}\r4g \"4k\" :\r1x = 5e-1c; 4i;\r4g \"4m\" :\r1m(20){\r1x = 5e-1c; 4i;\r}23{\r1x = 5e; 4i;\r}\r}\r4u(3.a);\r$(\"#3x 3v\").2h(0(2i){\r1m(2i ==5e){\r$(1p).25({39:3.y.11,43:3.y.19,3j:3.y.15});\r}23{\r$(1p).25({39:3.y.z,43:3.y.17,3j:3.y.13});\r}\r})\r})\r};\r0 2c(){\r$(\"#3x 3v\").5b(0(){\r5g(1z);\r})\r$(\"#3x 3v\").5h(0(){\r1z = 4t(0(){4u(3.a)},1y*4v+3.8);\r})\r};\r5i 24();\r};\r})(4);", "function|fn|KinSlideshow|settings|jQuery|extend|intervalTime|5|moveSpeedTime|400|moveStyle|left|mouseEvent|mouseclick|isHasTitleBar|true|titleBar|titleBar_height|30|titleBar_bgColor|000000|titleBar_alpha|0|isHasTitleFont|titleFont|TitleFont_size|12|TitleFont_color|FFFFFF|TitleFont_family|Verdana|TitleFont_weight|bold|isHasBtn|btn|btn_bgColor|666666|btn_bgHoverColor|CC0000|btn_fontColor|CCCCCC|btn_fontHoverColor|btn_fontFamily|btn_borderColor|999999|btn_borderHoverColor|FF0000|btn_borderWidth|1|btn_bgAlpha|7|var|titleBar_Bak|titleFont_Bak|btn_Bak|for|key|in|if|undefined|KinSlideshow_BoxObject|this|KinSlideshow_BoxObjectSelector|selector|KinSlideshow_DateArray|new|Array|KinSlideshow_imgaeLength|KinSlideshow_Size|KinSlideshow_changeFlag|KinSlideshow_IntervalTime|KinSlideshow_setInterval|KinSlideshow_firstMoveFlag|isNaN|500|else|KinSlideshow_initialize|css|visibility|hidden|a|img|border|KinSlideshow_start|KinSlideshow_mousehover|length|push|width|height|each|i|attr|alt|wrapAll|div|id|KinSlideshow_content|clone|KinSlideshow_contentClone|appendTo|KinSlideshow_setTitleBar|KinSlideshow_setTitleFont|KinSlideshow_setBtn|KinSlideshow_action|KinSlideshow_btnEvent|visible|overflow|position|relative|append|class|KinSlideshow_titleBar|getTitleBar_Height|25|100|absolute|bottom|background|opacity|h2|title|style|margin|6px|6px|padding|fontSize|color|fontFamily|fontWeight|setTiltFontShow|2|KinSlideshow_btnBox|right|10px|5px|z|index|KinSlideshow_btnList|li|ul|btnlistID|listStyle|none|float|18|borderWidth|borderColor|borderStyle|solid|textAlign|center|cursor|pointer|marginLeft|3|lineHeight|18px|eq|switch|case|KinSlideshow_moveLeft|break|KinSlideshow_moveRight|up|KinSlideshow_moveUp|down|KinSlideshow_moveDown|default|lt|KinSlideshow_moveBox|KinSlideshow_XposBox|2000|setInterval|KinSlideshow_move|1000|html|wrap|span|prepend|KinSlideshow_offsetLeft|scrollLeft|animate|scrollTop|KinSlideshow_offsetTop|sp|is|animated|stop|false|Event|mouseover|KinSlideshow_btnMouseover|KinSlideshow_btnMouseclick|curLiIndex|click|clearInterval|mouseout|return".split("|"))); \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/js/shengshi.js b/phpshe/1.1/php-fpm/src/include/js/shengshi.js new file mode 100755 index 000000000..f839e3790 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/js/shengshi.js @@ -0,0 +1,84 @@ +var shengshi = [{"p":"北京市","c":["北京市"]}, +{"p":"天津市","c":["天津市"]}, +{"p":"上海市","c":["上海市"]}, +{"p":"重庆市","c":["重庆市"]}, +{"p":"河北省","c":["石家庄市","唐山市","秦皇岛市","邯郸市","邢台市","保定市","张家口市","承德市","沧州市","廊坊市","衡水市"]}, +{"p":"山西省","c":["太原市","大同市","阳泉市","长治市","晋城市","朔州市","晋中市","运城市","忻州市","临汾市","吕梁市"]}, +{"p":"台湾省","c":["台北市","高雄市","基隆市","台中市","台南市","新竹市","嘉义市","台北县","宜兰县","桃园县","新竹县","苗栗县","台中县","彰化县","南投县","云林县","嘉义县","台南县","高雄县","屏东县","澎湖县","台东县","花莲县"]}, +{"p":"辽宁省","c":["沈阳市","大连市","鞍山市","抚顺市","本溪市","丹东市","锦州市","营口市","阜新市","辽阳市","盘锦市","铁岭市","朝阳市","葫芦岛市"]}, +{"p":"吉林省","c":["长春市","吉林市","四平市","辽源市","通化市","白山市","松原市","白城市","延边朝鲜族自治州"]}, +{"p":"黑龙江省","c":["哈尔滨市","齐齐哈尔市","鹤岗市","双鸭山市","鸡西市","大庆市","伊春市","牡丹江市","佳木斯市","七台河市","黑河市","绥化市","大兴安岭地区"]}, +{"p":"江苏省","c":["南京市","无锡市","徐州市","常州市","苏州市","南通市","连云港市","淮安市","盐城市","扬州市","镇江市","泰州市","宿迁市"]}, +{"p":"浙江省","c":["杭州市","宁波市","温州市","嘉兴市","湖州市","绍兴市","金华市","衢州市","舟山市","台州市","丽水市"]}, +{"p":"安徽省","c":["合肥市","芜湖市","蚌埠市","淮南市","马鞍山市","淮北市","铜陵市","安庆市","黄山市","滁州市","阜阳市","宿州市","巢湖市","六安市","亳州市","池州市","宣城市"]}, +{"p":"福建省","c":["福州市","厦门市","莆田市","三明市","泉州市","漳州市","南平市","龙岩市","宁德市"]}, +{"p":"江西省","c":["南昌市","景德镇市","萍乡市","九江市","新余市","鹰潭市","赣州市","吉安市","宜春市","抚州市","上饶市"]}, +{"p":"山东省","c":["济南市","青岛市","淄博市","枣庄市","东营市","烟台市","潍坊市","济宁市","泰安市","威海市","日照市","莱芜市","临沂市","德州市","聊城市","滨州市","荷泽市"]}, +{"p":"河南省","c":["郑州市","开封市","洛阳市","平顶山市","安阳市","鹤壁市","新乡市","焦作市","濮阳市","许昌市","漯河市","三门峡市","南阳市","商丘市","信阳市","周口市","驻马店市"]}, +{"p":"湖北省","c":["武汉市","黄石市","十堰市","宜昌市","襄樊市","鄂州市","荆门市","孝感市","荆州市","黄冈市","咸宁市","随州市","恩施土家族苗族自治州","仙桃市","潜江市","天门市","神农架林区"]}, +{"p":"湖南省","c":["长沙市","株洲市","湘潭市","衡阳市","邵阳市","岳阳市","常德市","张家界市","益阳市","郴州市","永州市","怀化市","娄底市","湘西土家族苗族自治州"]}, +{"p":"广东省","c":["广州市","深圳市","珠海市","汕头市","韶关市","佛山市","江门市","湛江市","茂名市","肇庆市","惠州市","梅州市","汕尾市","河源市","阳江市","清远市","东莞市","中山市","潮州市","揭阳市","云浮市"]}, +{"p":"甘肃省","c":["兰州市","金昌市","白银市","天水市","嘉峪关市","武威市","张掖市","平凉市","酒泉市","庆阳市","定西市","陇南市","临夏回族自治州","甘南藏族自治州"]}, +{"p":"四川省","c":["成都市","自贡市","攀枝花市","泸州市","德阳市","绵阳市","广元市","遂宁市","内江市","乐山市","南充市","眉山市","宜宾市","广安市","达州市","雅安市","巴中市","资阳市","阿坝藏族羌族自治州","甘孜藏族自治州","凉山彝族自治州"]}, +{"p":"贵州省","c":["贵阳市","六盘水市","遵义市","安顺市","铜仁地区","毕节地区","黔西南布依族苗族自治州","黔东南苗族侗族自治州","黔南布依族苗族自治州"]}, +{"p":"海南省","c":["海口市","三亚市","五指山市","琼海市","儋州市","文昌市","万宁市","东方市","澄迈县","定安县","屯昌县","临高县","白沙黎族自治县","昌江黎族自治县","乐东黎族自治县","陵水黎族自治县","保亭黎族苗族自治县","琼中黎族苗族自治县"]}, +{"p":"云南省","c":["昆明市","曲靖市","玉溪市","保山市","昭通市","丽江市","思茅市","临沧市","楚雄彝族自治州","红河哈尼族彝族自治州","文山壮族苗族自治州","西双版纳傣族自治州","大理白族自治州","德宏傣族景颇族自治州","怒江傈僳族自治州","迪庆藏族自治州"]}, +{"p":"青海省","c":["西宁市","海东地区","海北藏族自治州","黄南藏族自治州","海南藏族自治州","果洛藏族自治州","玉树藏族自治州","海西蒙古族藏族自治州"]}, +{"p":"陕西省","c":["西安市","铜川市","宝鸡市","咸阳市","渭南市","延安市","汉中市","榆林市","安康市","商洛市"]}, +{"p":"广西壮族自治区","c":["南宁市","柳州市","桂林市","梧州市","北海市","防城港市","钦州市","贵港市","玉林市","百色市","贺州市","河池市","来宾市","崇左市"]}, +{"p":"西藏自治区","c":["拉萨市","昌都地区","山南地区","日喀则地区","那曲地区","阿里地区","林芝地区"]}, +{"p":"宁夏回族自治区","c":["银川市","石嘴山市","吴忠市","固原市","中卫市"]}]; +function shengshi_init(json) { + if (json == undefined) json = {}; + if (json.pid == undefined) { + var pid = 'province'; + } + else { + var pid = json.pid; + } + if (json.cid == undefined) { + var cid = 'city'; + } + else { + var cid = json.cid; + } + var phtml = ''; + var shtml = ''; + for (k in shengshi) { + if (shengshi[k].p == json.pval) { + phtml += ''; + } + else { + phtml += ''; + } + } + if (json.cval != undefined) { + for (k in shengshi) { + if (shengshi[k].p == json.pval) { + for (kk in shengshi[k].c) { + if (shengshi[k].c[kk] == json.cval) { + shtml += ''; + } + else { + shtml += ''; + } + } + break; + } + } + } + $("#"+pid).html(phtml); + $("#"+cid).html(shtml); + $("#"+pid).bind("change", function(){ + var shtml = ''; + for (k in shengshi) { + if (shengshi[k].p == $("#"+pid).val()) { + for (kk in shengshi[k].c) { + shtml += ''; + } + break; + } + } + $("#"+cid).html(shtml); + }) +} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/jquery.artDialog.js b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/jquery.artDialog.js new file mode 100755 index 000000000..9f8a41ed1 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/jquery.artDialog.js @@ -0,0 +1,10 @@ +/*! + * artDialog 4.1.2 + * Date: 2011-09-04 30:36 + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ +eval(function(B,D,A,G,E,F){function C(A){return A<62?String.fromCharCode(A+=A<26?65:A<52?71:-4):A<63?'_':A<64?'$':C(A>>6)+C(A&63)}while(A>0)E[C(G--)]=D[--A];return B.replace(/[\w\$]+/g,function(A){return E[A]==F[A]?A:E[A]})}('(6(E,C,D){E.BM=E.BM||6(){};b A,B,V,U,L=S,M=E(C),J=E(7),K=E("p"),H=E(6(){H=E("DI")}),I=7.B4,F=C.VBArray&&!C.XMLHttpRequest,G="createTouch"a 7&&!("onmousemove"a I)||/(iPhone|iPad|iPod)/D3.Dg(navigator.userAgent),Q="9"+(CA Date).getTime(),P=6(C,B,V){C=C||{};Y(1 C=="3"||C.B_===T)C={5:C,u:!G};b U,J=[],H=P.BO,I=C.0=i.B_===T&&i||C.0;BZ(b F a H)C[F]===D&&(C[F]=H[F]);x E.C9({Bt:"yesFn",BS:"noFn",v:"closeFn",CE:"initFn",C0:"yesText",BU:"noText"},6(U,V){C[U]=C[U]!==D?C[U]:C[V]}),1 I=="3"&&(I=E(I)[S]),C.Bf=I&&I[Q+"0"]||C.Bf||Q+L,U=P.CN[C.Bf],I&&U?U.0(I).t():U?U.t():(G&&(C.u=!T),E.Dm(C.2)||(C.2=C.2?[C.2]:[]),B!==D&&(C.Bt=B),V!==D&&(C.BS=V),C.Bt&&C.2.Dz({Cg:C.C0,BA:C.Bt,t:!S}),C.BS&&C.2.Dz({Cg:C.BU,BA:C.BS}),P.BO.BJ=C.BJ,L++,P.CN[C.Bf]=A?A.CK(C):CA P.BG.CK(C))};P.BG=P.Cj={Dq:"D4.T.BH",CK:6(E){b D=i,B,V=E.Ch,U=V&&(F?{CB:"Dd/"+V+".CB"}:{Cw:"DR(\'"+E.Cy+"/C1/Dd/"+V+".CB\')"});x D.DK=!S,D.y=E,D.c=B=D.c||D.Di(),B.j.Bb(E.Cv),B.v[E.BS===!T?"BF":"BB"](),B.Ch[S].q.BT=V?"":"Bx",B.iconBg.f(U||{CC:"Bx"}),B.CG.f("Df",E.Bd?"CG-Bd":"o"),B.w.f("Df",E.Cq?"Bu":"o"),B.5.f("CW",E.CW),D[E.BB?"BB":"BF"](!S),D.2(E.2).w(E.w).5(E.5,!S).Ca(E.r,E.z).BP(E.BP),E.0?D.0(E.0):D.8(E.k,E.d),D.t(E.t),E.B1&&D.B1(),D.DO(),D.C$(),A=l,E.CE&&E.CE.Bz(D,C),D},5:6(E){b C,A,B,V,U=i,L=U.c,M=L.j[S],J=M._,K=M.$,H=BV(M.q.k),I=BV(M.q.d),F=M.q.r,G=L.5,N=G[S];x U.Bh&&U.Bh(),M.q.r="o",E===D?N:(1 E=="3"?G.p(E):E&&E.B_===T&&(V=E.q.BT,C=E.previousSibling,A=E.DL,B=E.BX,U.Bh=6(){C&&C.BX?C.BX.Cr(E,C.DL):A&&A.BX?A.BX.Cr(E,A):B&&B.BN(E),E.q.BT=V,U.Bh=l},G.p(""),N.BN(E),E.q.BT="block"),BI[T]||(U.y.0?U.0(U.y.0):(J=M._-J,K=M.$-K,H=H-J/BH,I=I-K/BH,M.q.k=n.g(H,S)+"X",M.q.d=n.g(I,S)+"X"),F&&F!=="o"&&(M.q.r=M._+"X"),U.B0()),U.BW(),U.D0(N),U)},w:6(C){b B=i.c,U=B.j,A=B.w,V="aui_state_noTitle";x C===D?A[S]:(C===!T?(A.BF().p(""),U.Bb(V)):(A.BB().p(C||""),U.Br(V)),i)},8:6(E,C){b A=i,B=A.y,V=A.c.j[S],U=F?!T:B.u,L=F&&A.y.u,K=J.BR(),H=J.Bg(),I=U?S:K,G=U?S:H,R=M.r(),Q=M.z(),P=V._,O=V.$,N=V.q;Y(E||E===S)A.CY=E.CL().Bs("%")!==-T?E:l,E=A.B2(E,R-P),1 E=="Bk"?(E=L?E+=K:E+I,N.k=n.g(E,I)+"X"):1 E=="3"&&(N.k=E);Y(C||C===S)A.CX=C.CL().Bs("%")!==-T?C:l,C=A.B2(C,Q-O),1 C=="Bk"?(C=L?C+=H:C+G,N.d=n.g(C,G)+"X"):1 C=="3"&&(N.d=C);x E!==D&&C!==D&&(A.Bw=l,A.B0()),A},Ca:6(E,C){b D,A,B,V,U=i,K=U.y,I=U.c,J=I.j,G=I.Db,H=J[S].q,F=G[S].q;x E&&(U.DS=E.CL().Bs("%")!==-T?E:l,D=M.r()-J[S]._+G[S]._,B=U.B2(E,D),E=B,1 E=="Bk"?(H.r="o",F.r=n.g(U.y.Cu,E)+"X",H.r=J[S]._+"X"):1 E=="3"&&(F.r=E,E==="o"&&J.f("r","o"))),C&&(U.Dr=C.CL().Bs("%")!==-T?C:l,A=M.z()-J[S].$+G[S].$,V=U.B2(C,A),C=V,1 C=="Bk"?F.z=n.g(U.y.C8,C)+"X":1 C=="3"&&(F.z=C)),U.BW(),U},0:6(C){b G,A=i,B=A.y;Y(1 C=="3"||C&&C.B_===T)G=E(C),C=G[S];Y(!C||!C._&&!C.$)x A.8(A.CY,A.CX);b V=Q+"0",U=M.r(),O=M.z(),N=J.BR(),K=J.Bg(),L=G.offset(),I=C._,DA=C.$,Bn=F?!T:B.u,Bm=Bn?L.k-N:L.k,B6=Bn?L.d-K:L.d,B9=A.c.j[S],R=B9.q,P=B9._,B$=B9.$,BQ=Bm-(P-I)/BH,Bo=B6+DA,D=Bn?S:N,H=Bn?S:K;x BQ=BQU&&Bm-P>D?Bm-P+I:BQ,Bo=Bo+B$>O+H&&B6-B$>H?B6-B$:Bo,R.k=BQ+"X",R.d=Bo+"X",A.Bw&&A.Bw.De(V),A.Bw=C,C[V]=B.Bf,A.B0(),A},2:6(){b C=i,A=BI,B=C.c,V=B.j,U=B.DD,H=U[S],I="aui_state_highlight",F=C.CF=C.CF||{},G=E.Dm(A[S])?A[S]:[].slice.Bz(A);x A[S]===D?H:(E.C9(G,6(D,A){b B=A.Cg,V=!F[B],U=V?7.BY("2"):F[B].Dc;F[B]||(F[B]={}),A.BA&&(F[B].BA=A.BA),A.Bq&&(U.Bq=A.Bq),A.t&&(C.Bp&&C.Bp.Br(I),C.Bp=E(U).Bb(I),C.t()),U[Q+"BA"]=B,U.Ci=!!A.Ci,V&&(U.CP=B,F[B].Dc=U,H.BN(U))}),U[S].q.BT=G.BK?"":"Bx",C.BW(),C)},BB:6(){x i.c.j.BB(),!BI[S]&&i.BE&&i.BE.BB(),i},BF:6(){x i.c.j.BF(),!BI[S]&&i.BE&&i.BE.BF(),i},v:6(){Y(!i.DK)x i;b E=i,D=E.c,B=D.j,V=P.CN,U=E.y.v,F=E.y.0;E.BP();Y(1 U=="6"&&U.Bz(E,C)===!T)x E;E.Dj(),E.Bh&&E.Bh(),B[S].Bq=B[S].q.Ba="",D.w.p(""),D.5.p(""),D.DD.p(""),P.t===E&&(P.t=l),F&&F.De(Q+"0"),Ds V[E.y.Bf],E.DE(),E.BF(!S).B5();BZ(b G a E)E.hasOwnProperty(G)&&G!=="c"&&Ds E[G];x A?B.Dn():A=E,E},BP:6(B){b U=i,A=U.y.BU,V=U.DM;x V&&DT(V),B&&(U.DM=CT(6(){U.Bv(A)},1000*B)),U},t:6(){b E,C=i,D=C.c,A=D.j,B=P.t,V=P.BO.BJ++;A.f("BJ",V),C.By&&C.By.f("BJ",V-T),B&&B.c.j.Br("DZ"),P.t=C,A.Bb("DZ");Y(!BI[S]){CR{E=C.Bp&&C.Bp[S]||D.v[S],E&&E.t()}Ce(U){}}x C},B1:6(){Y(i.B8)x i;b C=i,D=P.BO.BJ-T,A=C.c.j,B=C.y,V=J.r(),U=J.z(),M=C.BE||E(H[S].BN(7.BY("e"))),N=C.By||E(M[S].BN(7.BY("e"))),L="(7).B4",K=G?"r:"+V+"X;z:"+U+"X":"r:Bc%;z:Bc%",I=F?"8:Bl;k:CD("+L+".BR);d:CD("+L+".Bg);r:CD("+L+".clientWidth);z:CD("+L+".clientHeight)":"";x C.t(!S),A.Bb("DH"),M[S].q.Ba=K+";8:u;CU-CZ:"+D+";d:S;k:S;overflow:hidden;"+I,N[S].q.Ba="z:Bc%;CC:"+B.CC+";CM:Cf(4=S);4:S",F&&N.p(""),N.Dx(),N.m("Co",6(){C.Cx()}).m("Cb",6(){C.v()}),B.B3===S?N.f({4:B.4}):N.C2({4:B.4},B.B3),C.BE=M,C.By=N,C.B8=!S,C},Dj:6(){b D=i,B=D.BE,C=D.By;Y(!D.B8)x D;b U=B[S].q,V=6(){F&&(U.Be("r"),U.Be("z"),U.Be("k"),U.Be("d")),U.Ba="BT:Bx",A&&B.Dn()};x C.Dx().BC(),D.c.j.Br("DH"),D.y.B3?C.C2({4:S},D.y.B3,V):V(),D.B8=!T,D},Di:6(){b C=7.BY("e");C.q.Ba="8:Bl;k:S;d:S",C.CP=P.DP,7.DI.BN(C);b D,A=S,B={j:E(C)},V=C.B7("*"),U=V.BK;BZ(;A\\xd7",P.BO={5:"loading..",w:"\\D1\\u606f",2:l,Bt:l,BS:l,CE:l,v:l,C0:"\\u786e\\u5b9a",BU:"\\u53d6\\D1",r:"o",z:"o",Cu:96,C8:32,CW:"20px 25px",Cv:"",Ch:l,BP:l,Da:!S,t:!S,BB:!S,0:l,Cy:U,B1:!T,CC:"#000",4:S.D5,B3:300,u:!T,k:"50%",d:"38.BH%",BJ:1987,Bd:!S,Cq:!S},C.9=E.Cz=E.9=P})(BD.Cn&&(BD.Cl=Cn)||BD.Cl,i),6(E){b C,D,A=E(BD),B=E(7),V=7.B4,U=!-[T]&&!("Cu"a V.q),F="onlosecapture"a V,G="C_"a V;9.Ct=6(){b U=i,V=6(V){b A=U[V];U[V]=6(){x A.Du(U,BI)}};V("Cm"),V("Bu"),V("h")},9.Ct.Cj={CV:E.BM,Cm:6(V){x B.m("DB",i.Bu).m("DV",i.h),i.Dk=V.Bj,i.Dl=V.Bi,i.CV(V.Bj,V.Bi),!T},Ck:E.BM,Bu:6(V){x i._mClientX=V.Bj,i._mClientY=V.Bi,i.Ck(V.Bj-i.Dk,V.Bi-i.Dl),!T},CS:E.BM,h:6(V){x B.BC("DB",i.Bu).BC("DV",i.h),i.CS(V.Bj,V.Bi),!T}},D=6(E){b D,V,L,M,J,K,H=9.t,I=H.y,R=H.c,Q=R.j,P=R.w,O=R.Db,N="DG"a BD?6(){BD.DG().removeAllRanges()}:6(){CR{7.selection.empty()}Ce(V){}};C.CV=6(E,D){K?(V=O[S]._,L=O[S].$):(M=Q[S].offsetLeft,J=Q[S].offsetTop),B.m("Cb",C.h),!U&&F?P.m("DF",C.h):A.m("Dy",C.h),G&&P[S].C_(),Q.Bb("DJ"),H.t()},C.Ck=6(F,C){Y(K){b A=Q[S].q,B=O[S].q,U=F+V,G=C+L;A.r="o",B.r=n.g(S,U)+"X",A.r=Q[S]._+"X",B.z=n.g(S,G)+"X"}C6{b B=Q[S].q,P=F+M,E=C+J;I.k=n.g(D.Do,n.Dt(D.C4,P)),I.d=n.g(D.Dp,n.Dt(D.C3,E)),B.k=I.k+"X",B.d=I.d+"X"}N(),H.BW()},C.CS=6(D,V){B.BC("Cb",C.h),!U&&F?P.BC("DF",C.h):A.BC("Dy",C.h),G&&P[S].releaseCapture(),U&&H.B0(),Q.Br("DJ")},K=E.CO===R.CG[S]?!S:!T,D=6(){b E,C,D=H.c.j[S],V=D.q.8==="u",U=D._,J=D.$,K=A.r(),G=A.z(),I=V?S:B.BR(),F=V?S:B.Bg(),E=K-U+I;x C=G-J+F,{Do:I,Dp:F,C4:E,C3:C}}(),C.Cm(E)},B.m("DN",6(E){b A=9.t;Y(!A)x;b B=E.CO,V=A.y,U=A.c;Y(V.Cq!==!T&&B===U.w[S]||V.Bd!==!T&&B===U.CG[S])x C=C||CA 9.Ct,D(E),!T})}(BD.Cn||BD.Cl)','0|1|_|$|td|px|if|tr|in|var|DOM|top|div|css|max|end|this|wrap|left|null|bind|Math|auto|html|style|width|class|focus|fixed|close|title|return|config|height|follow|typeof|button|string|opacity|content|function|document|position|artDialog|offsetWidth|offsetHeight|callback|show|unbind|window|_lockMaskWrap|hide|fn|2|arguments|zIndex|length|src|noop|appendChild|defaults|time|Y|scrollLeft|cancel|display|cancelVal|parseInt|_ie6SelectFix|parentNode|createElement|for|cssText|addClass|100|resize|removeExpression|id|scrollTop|_elemBack|clientY|clientX|number|absolute|U|V|X|_focus|className|removeClass|indexOf|ok|move|_click|_follow|none|_lockMask|call|_autoPositionType|lock|_toNumber|duration|documentElement|_setAbsolute|T|getElementsByTagName|_lock|S|nodeType|Z|new|png|background|expression|init|_listeners|se|tbody|lastIndexOf|table|_init|toString|filter|list|target|innerHTML|split|try|onend|setTimeout|z|onstart|padding|_top|_left|index|size|dblclick|iframe|about|catch|alpha|name|icon|disabled|prototype|onmove|art|start|jQuery|click|blank|drag|insertBefore|_winResize|dragEvent|minWidth|skin|backgroundImage|_reset|path|dialog|okVal|skins|animate|maxY|maxX|href|else|eval|minHeight|each|setCapture|_ie6PngFix|W|mousemove|a|buttons|_removeEvent|losecapture|getSelection|aui_state_lock|body|aui_state_drag|_isRun|nextSibling|_timer|mousedown|_addEvent|templates|script|url|_width|clearTimeout|span|mouseup|_setFixed|_winSize|setExpression|aui_state_focus|esc|main|elem|icons|removeAttribute|cursor|test|backgroundAttachment|_getDOM|unlock|_sClientX|_sClientY|isArray|remove|minX|minY|version|_height|delete|min|apply|live|colspan|stop|blur|push|_runScript|u6d88|g|i|4|7|9'.split('|'),233,250,{},{})) \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/license.txt b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/license.txt new file mode 100755 index 000000000..f0156c535 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/license.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser 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 +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/plugins/iframeTools.js b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/plugins/iframeTools.js new file mode 100755 index 000000000..772885631 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/plugins/iframeTools.js @@ -0,0 +1,10 @@ +/*! + * artDialog iframeTools + * Date: 2011-08-29 17:25 + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ +eval(function(B,D,A,G,E,F){function C(A){return A<62?String.fromCharCode(A+=A<26?65:A<52?71:-4):A<63?'_':A<64?'$':C(A>>6)+C(A&63)}while(A>0)E[C(G--)]=D[--A];return B.replace(/[\w\$]+/g,function(A){return E[A]==F[A]?A:E[A]})}('(6(E,C,D,A){b B,X,W,J="@_.DATA",K="@_.OPEN",H="@_.OPENER",I=C.j=C.j||"@_.WINNAME"+(Bd Bo).Be(),F=C.VBArray&&!C.XMLHttpRequest;E(6(){!C.Bu&&7.BY==="B0"&&Br("9 Error: 7.BY === \\"B0\\"")});b G=D.c=6(){b W=C,X=6(A){e{b W=C[A].7;W.BF}t(X){v!V}v C[A].9&&W.BF("frameset").length===U};v X("c")?W=C.c:X("BC")&&(W=C.BC),W}();D.BC=G,B=G.9,W=6(){v B.BW.w},D.l=6(B,A){b X=D.c,W=X[J]||{};X[J]=W;BA(A)W[B]=A;else v W[B];v W},D.BQ=6(W){b X=D.c[J];X&&X[W]&&1 X[W]},D.through=X=6(){b X=B.BR(h,BK);v G!==C&&(D.B5[X.0.Z]=X),X},G!==C&&E(C).BO("unload",6(){b A=D.B5,W;BP(b X BS A)A[X]&&(W=A[X].0,W&&(W.duration=U),A[X].r(),1 A[X])}),D.o=6(B,O,BZ){O=O||{};b N,L,M,Bc,T,S,R,Q,BG,P=D.c,Ba="8:BE;m:-Bb;c:-Bb;Bp:n U;Bf:transparent",BJ="q:f%;x:f%;Bp:n U";BA(BZ===!V){b BI=(Bd Bo).Be(),BH=B.replace(/([?&])W=[^&]*/,"$1_="+BI);B=BH+(BH===B?(/\\?/.test(B)?"&":"?")+"W="+BI:"")}b G=6(){b B,C,W=L.2.B3(".aui_loading"),A=N.0;M.addClass("Bi"),W&&W.hide();e{Q=T.$,R=E(Q.7),BG=Q.7.Bg}t(X){T.p.5=BJ,A.z?N.z(A.z):N.8(A.m,A.c),O.i&&O.i.k(N,Q,P),O.i=By;v}B=A.q==="Bt"?R.q()+(F?U:parseInt(E(BG).Bv("marginLeft"))):A.q,C=A.x==="Bt"?R.x():A.x,setTimeout(6(){T.p.5=BJ},U),N.Bk(B,C),A.z?N.z(A.z):N.8(A.m,A.c),O.i&&O.i.k(N,Q,P),O.i=By},I={w:W(),i:6(){N=h,L=N.g,Bc=L.BN,M=L.2,T=N.BL=P.7.Bn("BL"),T.Bx=B,T.j="Open"+N.0.Z,T.p.5=Ba,T.BX("frameborder",U,U),T.BX("allowTransparency",!U),S=E(T),N.2().B4(T),Q=T.$;e{Q.j=T.j,D.l(T.j+K,N),D.l(T.j+H,C)}t(X){}S.BO("BD",G)},r:6(){S.Bv("4","n").unbind("BD",G);BA(O.r&&O.r.k(h,T.$,P)===!V)v!V;M.removeClass("Bi"),S[U].Bx="about:blank",S.remove();e{D.BQ(T.j+K),D.BQ(T.j+H)}t(X){}}};Bq O.Y=="6"&&(I.Y=6(){v O.Y.k(N,T.$,P)}),Bq O.y=="6"&&(I.y=6(){v O.y.k(N,T.$,P)}),1 O.2;BP(b J BS O)I[J]===A&&(I[J]=O[J]);v X(I)},D.o.Bw=D.l(I+K),D.BT=D.l(I+H)||C,D.o.origin=D.BT,D.r=6(){b X=D.l(I+K);v X&&X.r(),!V},G!=C&&E(7).BO("mousedown",6(){b X=D.o.Bw;X&&X.u(!U)}),D.BD=6(C,D,B){B=B||!V;b G=D||{},H={w:W(),i:6(A){b W=h,X=W.0;E.ajax({url:C,success:6(X){W.2(X),G.i&&G.i.k(W,A)},cache:B})}};1 D.2;BP(b F BS G)H[F]===A&&(H[F]=G[F]);v X(H)},D.Br=6(A){v X({Z:"Alert",w:W(),BM:"warning",s:!U,BB:!U,2:A,Y:!U})},D.confirm=6(C,A,B){v X({Z:"Confirm",w:W(),BM:"Bm",s:!U,BB:!U,3:U.V,2:C,Y:6(X){v A.k(h,X)},y:6(X){v B&&B.k(h,X)}})},D.prompt=6(D,B,C){C=C||"";b A;v X({Z:"Prompt",w:W(),BM:"Bm",s:!U,BB:!U,3:U.V,2:["",D,"","","",""].join(""),i:6(){A=h.g.2.B3("Bl")[U],A.select(),A.u()},Y:6(X){v B&&B.k(h,A.B1,X)},y:!U})},D.tips=6(B,A){v X({Z:"Tips",w:W(),title:!V,y:!V,s:!U,BB:!V}).2(""+B+"").time(A||V.B7)},E(6(){b A=D.dragEvent;BA(!A)v;b B=E(C),X=E(7),W=F?"BE":"s",H=A.prototype,I=7.Bn("d"),G=I.p;G.5="4:n;8:"+W+";m:U;c:U;q:f%;x:f%;"+"cursor:move;filter:alpha(3=U);3:U;Bf:#FFF",7.Bg.B4(I),H.Bj=H.Bs,H.BV=H.Bz,H.Bs=6(){b E=D.u.g,C=E.BN[U],A=E.2[U].BF("BL")[U];H.Bj.BR(h,BK),G.4="block",G.w=D.BW.w+B6,W==="BE"&&(G.q=B.q()+"a",G.x=B.x()+"a",G.m=X.scrollLeft()+"a",G.c=X.scrollTop()+"a"),A&&C.offsetWidth*C.offsetHeight>307200&&(C.p.BU="hidden")},H.Bz=6(){b X=D.u;H.BV.BR(h,BK),G.4="n",X&&(X.g.BN[U].p.BU="visible")}})})(B2.Bu||B2.art,h,h.9)','P|R|T|U|V|W|0|1|_|$|ok|id|px|var|top|div|try|100|DOM|this|init|name|call|data|left|none|open|style|width|close|fixed|catch|focus|return|zIndex|height|cancel|follow|config|delete|content|opacity|display|cssText|function|document|position|artDialog|ARTDIALOG|contentWindow|if|lock|parent|load|absolute|getElementsByTagName|S|Y|Z|a|arguments|iframe|icon|main|bind|for|removeData|apply|in|opener|visibility|_end|defaults|setAttribute|compatMode|O|Q|9999em|X|new|getTime|background|body|padding|aui_state_full|_start|size|input|question|createElement|Date|border|typeof|alert|start|auto|jQuery|css|api|src|null|end|BackCompat|value|window|find|appendChild|list|3|5'.split('|'),110,123,{},{})) \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome.css b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome.css new file mode 100755 index 000000000..efd0a538c --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome.css @@ -0,0 +1,61 @@ +@charset "utf-8"; +/* + * artDialog skin + * http://code.google.com/p/artdialog/ + * (c) 2009-2011 TangBin, http://www.planeArt.cn + * + * This is licensed under the GNU LGPL, version 2.1 or later. + * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ + */ + +/* common start */ +body { _margin:0; _height:100%; /*IE6 BUG*/ } +.aui_outer { text-align:left; } +table.aui_border, table.aui_dialog { border:0; margin:0; border-collapse:collapse; width:auto; } +.aui_nw, .aui_n, .aui_ne, .aui_w, .aui_c, .aui_e, .aui_sw, .aui_s, .aui_se, .aui_header, .aui_tdIcon, .aui_main, .aui_footer { padding:0; } +.aui_header, .aui_buttons button { font: 12px/1.11 'Microsoft Yahei', Tahoma, Arial, Helvetica, STHeiti; _font-family:Tahoma,Arial,Helvetica,STHeiti; -o-font-family: Tahoma, Arial; } +.aui_title { overflow:hidden; text-overflow: ellipsis; } +.aui_state_noTitle .aui_title { display:none; } +.aui_close { display:block; position:absolute; text-decoration:none; outline:none; _cursor:pointer; } +.aui_close:hover { text-decoration:none; } +.aui_main { text-align:center; min-width:9em; min-width:0\9/*IE8 BUG*/; } +.aui_content { display:inline-block; *zoom:1; *display:inline; text-align:left; border:none 0; } +.aui_content.aui_state_full { display:block; width:100%; margin:0; padding:0!important; height:100%; } +.aui_loading { width:96px; height:32px; text-align:left; text-indent:-999em; overflow:hidden; background:url(icons/loading.gif) no-repeat center center; } +.aui_icon { vertical-align: middle; } +.aui_icon div { width:48px; height:48px; margin:10px 0 10px 10px; background-position: center center; background-repeat:no-repeat; } +.aui_buttons { padding:8px; text-align:right; white-space:nowrap; } +.aui_buttons button { margin-left:15px; padding: 6px 8px; cursor: pointer; display: inline-block; text-align: center; line-height: 1; *padding:4px 10px; *height:2em; letter-spacing:2px; font-family: Tahoma, Arial/9!important; width:auto; overflow:visible; *width:1; color: #333; border: solid 1px #999; border-radius: 5px; background: #DDD; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#DDDDDD'); background: linear-gradient(top, #FFF, #DDD); background: -moz-linear-gradient(top, #FFF, #DDD); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FFF), to(#DDD)); text-shadow: 0px 1px 1px rgba(255, 255, 255, 1); box-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0 -1px 0 rgba(0, 0, 0, .09); -moz-transition:-moz-box-shadow linear .2s; -webkit-transition: -webkit-box-shadow linear .2s; transition: box-shadow linear .2s; } +.aui_buttons button::-moz-focus-inner{ border:0; padding:0; margin:0; } +.aui_buttons button:focus { outline:none 0; border-color:#426DC9; box-shadow:0 0 8px rgba(66, 109, 201, .9); } +.aui_buttons button:hover { color:#000; border-color:#666; } +.aui_buttons button:active { border-color:#666; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#DDDDDD', endColorstr='#FFFFFF'); background: linear-gradient(top, #DDD, #FFF); background: -moz-linear-gradient(top, #DDD, #FFF); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#DDD), to(#FFF)); box-shadow:inset 0 1px 5px rgba(66, 109, 201, .9), inset 0 1px 1em rgba(0, 0, 0, .3); } +.aui_buttons button[disabled] { cursor:default; color:#666; background:#DDD; border: solid 1px #999; filter:alpha(opacity=50); opacity:.5; box-shadow:none; } +button.aui_state_highlight { color: #FFF; border: solid 1px #1c6a9e; background: #2288cc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); text-shadow: -1px -1px 1px #1c6a9e; } +button.aui_state_highlight:hover { color:#FFF; border-color:#0F3A56; } +button.aui_state_highlight:active { border-color:#1c6a9e; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bbee', endColorstr='#2288cc'); background: linear-gradient(top, #33bbee, #2288cc); background: -moz-linear-gradient(top, #33bbee, #2288cc); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#33bbee), to(#2288cc)); } +/* common end */ + +.aui_inner { background:#FFF; } +.aui_titleBar { width:100%; height:0; position:relative; bottom:26px; _bottom:0; _margin-top:-26px;} +.aui_title { height:26px; line-height:23px; padding:0 60px 0 5px; color:#FFF; font-weight:700; text-shadow:0 1px 0 #000; } +.aui_nw, .aui_ne, .aui_w, .aui_e, .aui_sw, .aui_se, .aui_close { background-image:url(chrome/chrome_s.png); background-repeat:no-repeat; } +.aui_nw { width:5px; height:26px; background-position: -46px -8px; } +.aui_ne { width:5px; height:26px; background-position: -53px -8px; } +.aui_w { background-position:-60px 0; background-repeat:repeat-y; } +.aui_e { background-position:-65px 0; background-repeat:repeat-y; } +.aui_sw { width:5px; height:5px; background-position: -46px -2px;} +.aui_se { width:5px; height:5px; background-position: -53px -2px;} +.aui_close { top:1px; right:0; width:44px; height:17px; background-position:0 0; _font-size:0; _line-height:0; text-indent:-9999em; } +.aui_close:hover { background-position:0 -18px; } +.aui_n, .aui_s { background-image:url(chrome/border.png); background-repeat:repeat-x; } +.aui_n { background-position:0 top; } +.aui_s { background-position: 0 bottom; } +.aui_buttons { background-color:#F6F6F6; border-top:solid 1px #DADEE5; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_se { width:3px; height:3px; } +.aui_state_noTitle .aui_inner { border:1px solid #666; background:#FFF; } +.aui_state_noTitle .aui_outer { box-shadow:none; } +.aui_state_noTitle .aui_nw, .aui_state_noTitle .aui_n, .aui_state_noTitle .aui_ne, .aui_state_noTitle .aui_w, .aui_state_noTitle .aui_e, .aui_state_noTitle .aui_sw, .aui_state_noTitle .aui_s, .aui_state_noTitle .aui_se { background:rgba(0, 0, 0, .05); background:#000\9!important; filter:alpha(opacity=5)!important; } +.aui_state_noTitle .aui_titleBar { bottom:0; _bottom:0; _margin-top:0; } +.aui_state_noTitle .aui_close { top:0; right:0; width:18px; height:18px; line-height:18px; text-align:center; text-indent:0; font-family: Helvetica, STHeiti; _font-family: '\u9ed1\u4f53', 'Book Antiqua', Palatino; font-size:18px; text-decoration:none; color:#214FA3; background:none; filter:!important; } +.aui_state_noTitle .aui_close:hover, .aui_state_noTitle .aui_close:active { text-decoration:none; color:#900; } diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome/border.png b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome/border.png new file mode 100755 index 0000000000000000000000000000000000000000..db3bdcd9275fee1c7e04115284ce2968719f6a40 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^tUxT!!3-oN{(RR0Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jib4W>LR@{Pyz!p$%6sz5z!`5$6Q@T+M8qxl5HS5s?ELo; zbKbkw9uAxJ&UfmYmTjM$ot=HVZwAkJ8wwPe^4huSy!Yf+MoF_G=e&!a_ug;n8=on! z5*B{A^zhpk>m`$b=DT^iIEGZ*(m8gVx50qnfWu|$h1dUncM;p!p2}s|;l6R{ildr* z7d!mUBni!2aYVIlZ^RK@v!nj5N?{wj!#D2Ca1~f=$H>NDl+N+eIleXlXd;8BtDnm{ Hr-UW|;J<5w literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome/chrome_s.png b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/chrome/chrome_s.png new file mode 100755 index 0000000000000000000000000000000000000000..3f62b86fea0cbb4472d20a2bdf9c23c79bda7a61 GIT binary patch literal 1202 zcmchV`7_%I0L8zK?X-5OI(Ln3tE6MQyXk?V*lI(BL`Z@}kcbr$LB`Rdb=E8mf)YX` zj=Ek6X-^4l-VsXrn*f>fw6?hcP45D6lji7{5u~bTMLev=59spE)JW*cG zkquJ!B8hvpFt_i(qgb*K9O}c9`SN9FXJ_6#8C|f7y?z5%BJ(VfOkxO;^|A>JKA;>V zRmw43sb4ur;DhKQ2|)mwJtX@HWPOVYbkW{&2J4Prt|wQ5E|!?slTe&pRN*eE0<^gAEn04n!NO>RVwK7T-Xc=5dtKMTa$Y?ct zSv`m8o%_$;?4wwV$XA;v&W<~0FZNfETnPrn<@YWqhEO<1_b z^QP!6IkvpB4?G|dx&MQ5ZS9VL=Xaju%d9ClSW`L*z6|-)R!Gt zC7;3)CNP9aEaCk8T=2T2KsiHnEEbJZ*8f*P;?jq008ou}b$a9#FKQ}2!Rb)+GBgje ze0>bA%)@z9^RCM4>N-w`xirH*G9GFGo}VMP67TqJU2J1JSgcVt%T_{vdb*ZC*`D4j zKGoAxIGuJ2?OUE3!D3oH{O=vD57H$pMBODziz^;5nn8cuRj5Vs;9BX6+&aP(Q2GqR zc!#oEHvMNTcy_IHuHcJm;VpP7B8q_w3#nMk|646B)fcb-WtpRR;CHbKE&gqY*RWRm zwsb~VUqj(vt}2}==@=jP$G@oq%XqhQXidcC5P|4wDf!;fsQ7IznlY-sXgWIkQ4H5j zDZB+V&L_jd9{=LXDngizV^0dJ9Da+RqgMJuQ`pFf(Nie?D<4av&R(33o0`k&pJSJX z=;7uQ%}~P!KR}@maN1cj?6QS0{dG$>cZRqhNo?|cZLG@2)gH&6SX-ZO@HRf~8Zpc> zfqG1s4{^(XKjFzSWTo51R^5h;O)o08D<;doN8_|qv>Imv8!j6{K-78=2bMZ#Zk0I_ z`AO07^M55~_!{(XQU}~ty<9tVw!hX`)!5YAk0?Go<_lpk)zrDqacpLI`1q1QXD%7? z-ekxYo1`0#%t_;lm@y|phz>CIQpHHTL!rk+2qA7ah7ycx=tuV1(}|*$l_Flkl2OZ# zC*C&37i8M$mZ$GHGhR8HCRLwr+CZYdZ4*`eq3BrJF&;qcYMkkP4U2Q@K9&3>5C~T5 zF?gJu|DDy{EusBQuL!z38FkXk+-i5c-!;%|IWqZ#YxX`mP}EwGy^)q^X6Pe58WwD> x_t6L4?oXwl4uo=FQ7f1S4tA0sPTW?x0JMeWPD4D*!j$g^T%FNQEsq0V{0m|}lG6YH literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/error.png b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/error.png new file mode 100755 index 0000000000000000000000000000000000000000..4929a2e2c8f816a1f1bb30406878f9bcbfb29f3f GIT binary patch literal 2149 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 beEjbKbeGjzdw;y000000NkvXXu0mjfR-i;) literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/loading.gif b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/loading.gif new file mode 100755 index 0000000000000000000000000000000000000000..e8c289293b11c889703d83dce6631fce90da4630 GIT binary patch literal 381 zcmZ?wbhEHb6krfwSj5I~=*GvEjZcb~Jveda^Z5r~o`3lD|Nnmm1_s6d+T_)p@)n z{^qIIq1(T$e$~zMQ}6t1w^a|Cj;Amo3}FHq!p^`7G=x7ROJIXqM}S9S9}m;(SWbi* zHiVjpkZW$u7K%QH zEX1o>upcGzN%{sb~*GHAKbO_6J2kk@m+XO+%o8 z$|^ue1*EoXOS_~^n>BHoG>bqW;D^2JP$cUwv?gR^qO1q0kJe0s=fAYZ}O73MO9$!%c%=q7Tc&!iq>f2uQ zTmgb&`AyJi zF{^oVUy}eczRhmdo&DpFTXA-lM>@~*;cyt^}zSB9U(}~TWs>Q>%H$xY>tdheW0qo6Rs740GNmrJUF4bTAr?Dw%q>3*YN( zz}Uq>H8S}^ID|*IgkNq1c712N2g9+2#?xl?a98l9_IlOhWMH8UI+v@A3=tuc>+7m; zYoh~xzrWzMgh#kqqQDpNzKiAlx16=M1)G*+VqyY!v{b7GQO=WrbJa*pp>I5d>1blX z?068<}<1KsT7UrHg+)w0G4X^|pDUZ;8Ia)f!A zqd!i~>6bpZfV(Y%V$?s4&(+x>a0`DQh$YpHUrY$U90FERQFCKa`7k^` zLX>T@EcV&vwzW#aj<%)+o~G0}J`zAx)vBTdRD5Pf$z?QsjS@yRJ6CB>BoZRd_x=kz z8+hEaX$>4U%RBkqkA>X^@u zXWu=KJ38CvRi;9c!HbME3rT9-inak2`xi>2EVUV0&fqG zMwdi@4CR^8Q5O10BE?FoIHxCAgS+j@A&dZL2jKrrqw-g*p3PzJ%c+MB0!-FM7fX(88=&bZt-%v#RQ!>_J z2{<&HWL{4)qpxa!881q5(axJMgiH8jM>)@h_8&d&zsK8b*AxXBB`gL3zurE-_OttU zyfZL^)2uf%H#ckYKEqY<%NnN{`@_>gaev>rfaX0wnbW{#{w7bgs?D`-)VizSFq_mW zr9}vja0!1o?#T8Z`KO=FH7RX3+3ZE*GTn`l(zsnwQNd;*LDTOEhw!v`UlRf5h2B^~ z`o-&SUSu9Dp2M_p74}M`Bz0KJDt%6}5u?}*&(%I6gK!9saF_eB$}=rq`@=iB8jJ3S z;i18+_q%z^wtMR!I6Z1K7R&p8ygh;ozR2&G@sF(7gRS~n%Y!?+*T7^foDy_;=NkQj z8E_yhib3&M&JP)Xc>?0#_kk8W63xoK->4IFmEk_`{DG2sX+mFNB)ItfL7e&(gk2auC^ zD?xzE+x%SBeMcV=^tz|KO?I@db)d1q3Zr51Y9l5kj9iMMe=rQ+#R#NS`mvbjcUMpm<*7dUQasiT9P6CSoqXgq~*W#99Y}t+Me^IXgr~W#D|91la a5nuo<3%E3d`rqXM0000R) zAv}`|5=elIWa~PVfiebCx2jvUuAR1OW%R*dX}fjPCfZd~E71C&snnuY(;lEsT`4VL zN()O^RX|IjP(o)Qkc1Eu=jHhA+{ey;X9p)S^u~7j(D=*TvZeTS?*H>)Jm zpf|&8${v5f;~hXC=t2Kr=MepSknHbdZ$9wDJ>g`*xn!~sdB0Ju(mXZSUWNI^H7F`r z0#V%$L3AT53|v#F&W2iLg-XapckhR|&~+RayW8nG{$W~yr$2Q8MEpneXVb!x+Nzr6 z5nOUV2{u2&VR$K90h+8#pJqCHaf|5f;$f6-gPPMqvc86*ViR(8+pzDz^9Y8#<+KtVsaSzcD=If&h<_<% zvBx5_)tk{8cLl(xuk~}}dVR#HT=@26C*I6yL`?CuB6UsF4hVwFybEi%C zdi5?;m){GE#R7k*4|)S9-)A@skKr=>WLIEQRYg5ULhq)8{MB9_J&ruAt=WyT`Ride zo1xR`5DX7PtK-I>V|WZ#$ttLB;QdUB{X5e$9grkGY4XE^0y;aG=byp+Ik&)QG(xM@ z%J&2z1XT#P2X%hR=8;Dxf|m$3z<|>3$2{7sjw`(H1OOc*hj-Y*>tT1OpSZA;V?(j7OpZ z7HJFvNt3^Pk;2bchc8!bmBVH-c@@RZf;k(}-#0Z(BlwFF7N9eXDk8~BNxX96^N8p< zZ^BoWZKw9yDsR|W@@%+<&!VIA&nPIG+Sy0&6Bc0NIp-&mcTrAnYYwBeIRsIhc<*>y z2+JvS3T;cLkQXHp$3A=kufFj$WaJ32&7LYCf^SMVjozqmv5k4*>=>>%=3!0s%UEo` zOOEw%VSNH}GnS!p@!c>O3{b1p*X9)k96Zv9ZdWtDwRQ_^_Q169m7K`Dlo>KLlb&E+ z?(3oc#bHKi@efdc>wPe$XP_Xr0()EbqrmQ$bNZPRJl5Ae0*g6Ij{9-pVK4R{{wX-^ zD89609$eJb3IShS0+Gz*O;o`7kYBe_W4X4u1YW|wS_Ihh>d~UD(F0kgS ztoR-@)V_ogdyU)%u<&3cnSiAW?m~Z0CLAA0s4CqIy?wi5a87u7RUx4_Z(B9KK+eTuH}^5v@W_);uh!jXbre!eX3=OltY5ztIk~g&$Nlwa?|22#cAVvN zwi2r=8&O;NOY*)!zQ*o<-1!#XIr<3l?L3BqEy_|e;a+vhuUy_v_&h*;$eyxg+#Naj ze9Y;|2y5CZNP!A`>^M$G!ns&m`xNyp7TVw<#W^pNW-G$N$LTslV!wgv>J{M3?P+K@fd%2zXSlpn63WDH_IW|M)(0q`g?w89dHW{_1l=ecVFawX&xNXW=$1?&c)Lfc`O+7s6m4ukz1`~T6$9~|Am_{La-|I7&BBIMN(Q!TF0 zq&3`b_-49^yN&k6Mw3N?PEV()G{|onSo<9gkx^^!9pzZO@AG@5*WcP3IN&(VhgkAq z^)X^%#1tz~Dj@28b&LQ_%x8H;teGm!hCB63jAkxBP0!_$06hr^(&4Ay=aKr}{7dk( zdq|8Dl_nAAV?IkWB_O&2su=QI9Ge_+(xlH(6Jtz>xu$ppl>SB*J6Y6AT*Pbf2rHd0 z`d5r25~&n$Jzyk2K6Wl{I%HE)2R?7(<}dX(1^mAY_^$v10LBKHW-?BaasU7T07*qo IM6N<$f(?W*YXATM literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/warning.png b/phpshe/1.1/php-fpm/src/include/plugin/artdialog/skins/icons/warning.png new file mode 100755 index 0000000000000000000000000000000000000000..bcaab1e5ef8d262e5ff224e33df6374381078df2 GIT binary patch literal 1728 zcmV;x20!_UP)VJh2#!sN0-8udqJId1s2D;52}GTupav2H{3ZMY5kV5CMu;X#@FUJ(OqQ7V4H5$5 zV>&*@mpED1Ze7=1dw0F-ozL5KqpV$b*LE0^y~&eaFW2|?`#oRp`(8>ZiUN1?py3W5 z69Og#lsNRIPSE@jGxAmgnip+K*1hX!VYHJYA71tX_x}pOVMJSk_6*u$r+b>)XmWtX z>KlF_5f4F9=!a;eBZ6OBh;FpQOINleO9iJ&X`|@{Y<%x%{X9e0k1MMN;Qhqpp_A}_b_7h2~CKR&&wg^D-+Zn5G%e=?7ft`s$Ds~vX z-K!l~UkN(<5{Pk5IR4w)z{Nv5P{h`86@cXTczm-qJiOplpxJ|bSe3AOD-5gW%v0FuXCe`Hg`yyrpg+n+a8TF-{y;+4Kp=eV!N0n_hwfx~XfO)b}2 zIC=aK*2b}2C}MM21(0I3J8O0>czhi|>{9?GmG`+r-(G+P%g%sKm%F?WoX(CffsXBi zxph@}nCJlPtKrD6A44p9O?7e8D#*_;8Y_0ro8O4!KOdDm8ImM}yRr)WRa0`z>k9y5 zbwDaLio?jfI6uK5cm%gxD{*7(tQBAszD5vX%!kcpGgz(G9Ag*;^z;~TI6uK5cm%g( z0qBK=){05%13po8r=ciH)BPL`h(quQF2OG~0*$pZmjZA{Z|?>N@zS^|qCgk$z8iCK zrOzHNnD^r{5Rc#ze8QvH2t4Vlt^+FBrhZdo)PcZ{-bMw!7fdFdx>Q75f=_r9D`2t5 zgPTf4R4u^5=pi2KgnX@;+~eXwu$Wcu9}zc=k35PMP-`)=nj+62xdhuassJGo2D3^1 z1~`LXTeJYHiPt26L?FT5$SXih#)0R0u+6F$kijonfQ?onnj^rm!Mp+lz8?fGthxr$ zvi?LIT)SO4cO6Y}Nsfd7e)IiGV0X!DLh) zfeb!dtbj`ip3)`&y(?gzi^*I}f$N28zYQo2Q)cil6)T{f<&7Ez=+XitkKX{_a;j7r`a?ghwgwg_=69u`B!@ zMpYEpxCmxz0O}VV0JEiXIE6?J^afku;<4xOSm{*deZ)=Um$aQm^}oauY*S}2uJV97 zxbL@EOyG9A!R2xd8>tVPR+owdkKhvga-7JTE?(^iPLMS0N=>-pn$o8;V&qz{H-MV= z2Ly-Usqwxl0qBJ`Q54=f`DYkXvNBcxNCKqS0ZEJx+u(N&5Br59K;|bn1drgB`?bnD zevj>qx*6Vr^>FSodhp5saEa(G_r1P*VCv);+#Rrwn)j#M!&toRZY2L^SzoIR72`J_ zn)kS!%!c}zelY0s2ahsTgT8V-P`X=*%E_xBg?H!ujfmZ=^{;M-M7h1oU*tCq6@J+T zWJGMYFvcx)4|u^*p>1KxH~I$zIDIY*2`;$<$#2bGy~{0NSjAWGo7d4aycDRi)laK& zr?=6X&+WW~tulfghi#Q*_~6->dGc~sxygTg1W=j6CtFJ0!S~FsTNrA)uhIh5UK@B^ z40ap3;6jJn6X*)F5b8|;n^3l`+Q7d{>NjI@##Ad%D`3d`x-0?2?ev4wY37yHhNql% zYMI$YJ#Duc(_0FYQ4c!o`=ql7NeL|lF*XUjpnMmNDb4#n5nI|jWG;)ily$9)mw=%N z&{;x;B127{MCo5!W0+lGqpFPt@FRZ)`EyATx(8ULYtI3(?cbmxWl}}S^0=HKuZ&j& zZf*5hq(|ISebyTBDQ8`4s)2O1k7b1hcBOoR#}xV?(FfO00RI9 W$}^uo6_vmM0000 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/kindeditor.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/kindeditor.js new file mode 100755 index 000000000..bbea8f494 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/kindeditor.js @@ -0,0 +1,5755 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2012 kindsoft.net +* +* @author Roddy +* @website http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +* @version 4.1 (2012-05-12) +*******************************************************************************/ +(function (window, undefined) { + if (window.KindEditor) { + return; + } +if (!window.console) { + window.console = {}; +} +if (!console.log) { + console.log = function () {}; +} +var _VERSION = '4.1 (2012-05-12)', + _ua = navigator.userAgent.toLowerCase(), + _IE = _ua.indexOf('msie') > -1 && _ua.indexOf('opera') == -1, + _GECKO = _ua.indexOf('gecko') > -1 && _ua.indexOf('khtml') == -1, + _WEBKIT = _ua.indexOf('applewebkit') > -1, + _OPERA = _ua.indexOf('opera') > -1, + _MOBILE = _ua.indexOf('mobile') > -1, + _IOS = /ipad|iphone|ipod/.test(_ua), + _QUIRKS = document.compatMode != 'CSS1Compat', + _matches = /(?:msie|firefox|webkit|opera)[\/:\s](\d+)/.exec(_ua), + _V = _matches ? _matches[1] : '0', + _TIME = new Date().getTime(); +function _isArray(val) { + if (!val) { + return false; + } + return Object.prototype.toString.call(val) === '[object Array]'; +} +function _isFunction(val) { + if (!val) { + return false; + } + return Object.prototype.toString.call(val) === '[object Function]'; +} +function _inArray(val, arr) { + for (var i = 0, len = arr.length; i < len; i++) { + if (val === arr[i]) { + return i; + } + } + return -1; +} +function _each(obj, fn) { + if (_isArray(obj)) { + for (var i = 0, len = obj.length; i < len; i++) { + if (fn.call(obj[i], i, obj[i]) === false) { + break; + } + } + } else { + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + if (fn.call(obj[key], key, obj[key]) === false) { + break; + } + } + } + } +} +function _trim(str) { + return str.replace(/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g, ''); +} +function _inString(val, str, delimiter) { + delimiter = delimiter === undefined ? ',' : delimiter; + return (delimiter + str + delimiter).indexOf(delimiter + val + delimiter) >= 0; +} +function _addUnit(val, unit) { + unit = unit || 'px'; + return val && /^\d+$/.test(val) ? val + 'px' : val; +} +function _removeUnit(val) { + var match; + return val && (match = /(\d+)/.exec(val)) ? parseInt(match[1], 10) : 0; +} +function _escape(val) { + return val.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} +function _unescape(val) { + return val.replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/&/g, '&'); +} +function _toCamel(str) { + var arr = str.split('-'); + str = ''; + _each(arr, function(key, val) { + str += (key > 0) ? val.charAt(0).toUpperCase() + val.substr(1) : val; + }); + return str; +} +function _toHex(val) { + function hex(d) { + var s = parseInt(d, 10).toString(16).toUpperCase(); + return s.length > 1 ? s : '0' + s; + } + return val.replace(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/ig, + function($0, $1, $2, $3) { + return '#' + hex($1) + hex($2) + hex($3); + } + ); +} +function _toMap(val, delimiter) { + delimiter = delimiter === undefined ? ',' : delimiter; + var map = {}, arr = _isArray(val) ? val : val.split(delimiter), match; + _each(arr, function(key, val) { + if ((match = /^(\d+)\.\.(\d+)$/.exec(val))) { + for (var i = parseInt(match[1], 10); i <= parseInt(match[2], 10); i++) { + map[i.toString()] = true; + } + } else { + map[val] = true; + } + }); + return map; +} +function _toArray(obj, offset) { + return Array.prototype.slice.call(obj, offset || 0); +} +function _undef(val, defaultVal) { + return val === undefined ? defaultVal : val; +} +function _invalidUrl(url) { + return !url || /[<>"]/.test(url); +} +function _addParam(url, param) { + return url.indexOf('?') >= 0 ? url + '&' + param : url + '?' + param; +} +function _extend(child, parent, proto) { + if (!proto) { + proto = parent; + parent = null; + } + var childProto; + if (parent) { + var fn = function () {}; + fn.prototype = parent.prototype; + childProto = new fn(); + _each(proto, function(key, val) { + childProto[key] = val; + }); + } else { + childProto = proto; + } + childProto.constructor = child; + child.prototype = childProto; + child.parent = parent ? parent.prototype : null; +} +function _json(text) { + var match; + if ((match = /\{[\s\S]*\}|\[[\s\S]*\]/.exec(text))) { + text = match[0]; + } + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + if (/^[\],:{}\s]*$/. + test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'). + replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). + replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + return eval('(' + text + ')'); + } + throw 'JSON parse error'; +} +var _round = Math.round; +var K = { + DEBUG : false, + VERSION : _VERSION, + IE : _IE, + GECKO : _GECKO, + WEBKIT : _WEBKIT, + OPERA : _OPERA, + V : _V, + TIME : _TIME, + each : _each, + isArray : _isArray, + isFunction : _isFunction, + inArray : _inArray, + inString : _inString, + trim : _trim, + addUnit : _addUnit, + removeUnit : _removeUnit, + escape : _escape, + unescape : _unescape, + toCamel : _toCamel, + toHex : _toHex, + toMap : _toMap, + toArray : _toArray, + undef : _undef, + invalidUrl : _invalidUrl, + addParam : _addParam, + extend : _extend, + json : _json +}; +var _INLINE_TAG_MAP = _toMap('a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'), + _BLOCK_TAG_MAP = _toMap('address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul'), + _SINGLE_TAG_MAP = _toMap('area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed'), + _STYLE_TAG_MAP = _toMap('b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u'), + _CONTROL_TAG_MAP = _toMap('img,table,input,textarea,button'), + _PRE_TAG_MAP = _toMap('pre,style,script'), + _NOSPLIT_TAG_MAP = _toMap('html,head,body,td,tr,table,ol,ul,li'), + _AUTOCLOSE_TAG_MAP = _toMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'), + _FILL_ATTR_MAP = _toMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'), + _VALUE_TAG_MAP = _toMap('input,button,textarea,select'); +function _getBasePath() { + var els = document.getElementsByTagName('script'), src; + for (var i = 0, len = els.length; i < len; i++) { + src = els[i].src || ''; + if (/kindeditor[\w\-\.]*\.js/.test(src)) { + return src.substring(0, src.lastIndexOf('/') + 1); + } + } + return ''; +} +K.basePath = _getBasePath(); +K.options = { + designMode : true, + fullscreenMode : false, + filterMode : false, + wellFormatMode : true, + shadowMode : true, + loadStyleMode : true, + basePath : K.basePath, + themesPath : K.basePath + 'themes/', + langPath : K.basePath + 'lang/', + pluginsPath : K.basePath + 'plugins/', + themeType : 'default', + langType : 'zh_CN', + urlType : 'domain', + newlineTag : 'p', + resizeType : 2, + syncType : 'form', + pasteType : 2, + dialogAlignType : 'page', + useContextmenu : true, + fullscreenShortcut : true, + bodyClass : 'ke-content', + indentChar : '\t', + cssPath : '', + cssData : '', + minWidth : 650, + minHeight : 100, + minChangeSize : 5, + items : [ + 'fontsize', 'forecolor', 'hilitecolor', 'bold', 'underline', 'strikethrough', 'justifyleft', 'justifycenter', + 'justifyright', 'insertorderedlist', 'insertunorderedlist', 'image', 'multiimage', 'flash', 'emoticons', 'link', 'unlink','clearhtml', 'source', 'about' + ], + noDisableItems : ['source', 'fullscreen'], + colorTable : [ + ['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'], + ['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'], + ['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'], + ['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000'] + ], + fontSizeTable : ['9px', '10px', '12px', '14px', '16px', '18px', '24px', '32px'], + htmlTags : { + font : ['color', 'size', 'face', '.background-color'], + span : [ + '.color', '.background-color', '.font-size', '.font-family', '.background', + '.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.line-height' + ], + div : [ + 'align', '.border', '.margin', '.padding', '.text-align', '.color', + '.background-color', '.font-size', '.font-family', '.font-weight', '.background', + '.font-style', '.text-decoration', '.vertical-align', '.margin-left' + ], + table: [ + 'border', 'cellspacing', 'cellpadding', 'width', 'height', 'align', 'bordercolor', + '.padding', '.margin', '.border', 'bgcolor', '.text-align', '.color', '.background-color', + '.font-size', '.font-family', '.font-weight', '.font-style', '.text-decoration', '.background', + '.width', '.height', '.border-collapse' + ], + 'td,th': [ + 'align', 'valign', 'width', 'height', 'colspan', 'rowspan', 'bgcolor', + '.text-align', '.color', '.background-color', '.font-size', '.font-family', '.font-weight', + '.font-style', '.text-decoration', '.vertical-align', '.background', '.border' + ], + a : ['href', 'target', 'name'], + embed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'], + img : ['src', 'width', 'height', 'border', 'alt', 'title', 'align', '.width', '.height', '.border'], + 'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [ + 'align', '.text-align', '.color', '.background-color', '.font-size', '.font-family', '.background', + '.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.text-indent', '.margin-left' + ], + pre : ['class'], + hr : ['class', '.page-break-after'], + 'br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del' : [] + }, + layout : '
' +}; +var _useCapture = false; +var _INPUT_KEY_MAP = _toMap('8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222'); +var _CURSORMOVE_KEY_MAP = _toMap('33..40'); +var _CHANGE_KEY_MAP = {}; +_each(_INPUT_KEY_MAP, function(key, val) { + _CHANGE_KEY_MAP[key] = val; +}); +_each(_CURSORMOVE_KEY_MAP, function(key, val) { + _CHANGE_KEY_MAP[key] = val; +}); +function _bindEvent(el, type, fn) { + if (el.addEventListener){ + el.addEventListener(type, fn, _useCapture); + } else if (el.attachEvent){ + el.attachEvent('on' + type, fn); + } +} +function _unbindEvent(el, type, fn) { + if (el.removeEventListener){ + el.removeEventListener(type, fn, _useCapture); + } else if (el.detachEvent){ + el.detachEvent('on' + type, fn); + } +} +var _EVENT_PROPS = ('altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,' + + 'data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,' + + 'pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which').split(','); +function KEvent(el, event) { + this.init(el, event); +} +_extend(KEvent, { + init : function(el, event) { + var self = this, doc = el.ownerDocument || el.document || el; + self.event = event; + _each(_EVENT_PROPS, function(key, val) { + self[val] = event[val]; + }); + if (!self.target) { + self.target = self.srcElement || doc; + } + if (self.target.nodeType === 3) { + self.target = self.target.parentNode; + } + if (!self.relatedTarget && self.fromElement) { + self.relatedTarget = self.fromElement === self.target ? self.toElement : self.fromElement; + } + if (self.pageX == null && self.clientX != null) { + var d = doc.documentElement, body = doc.body; + self.pageX = self.clientX + (d && d.scrollLeft || body && body.scrollLeft || 0) - (d && d.clientLeft || body && body.clientLeft || 0); + self.pageY = self.clientY + (d && d.scrollTop || body && body.scrollTop || 0) - (d && d.clientTop || body && body.clientTop || 0); + } + if (!self.which && ((self.charCode || self.charCode === 0) ? self.charCode : self.keyCode)) { + self.which = self.charCode || self.keyCode; + } + if (!self.metaKey && self.ctrlKey) { + self.metaKey = self.ctrlKey; + } + if (!self.which && self.button !== undefined) { + self.which = (self.button & 1 ? 1 : (self.button & 2 ? 3 : (self.button & 4 ? 2 : 0))); + } + switch (self.which) { + case 186 : + self.which = 59; + break; + case 187 : + case 107 : + case 43 : + self.which = 61; + break; + case 189 : + case 45 : + self.which = 109; + break; + case 42 : + self.which = 106; + break; + case 47 : + self.which = 111; + break; + case 78 : + self.which = 110; + break; + } + if (self.which >= 96 && self.which <= 105) { + self.which -= 48; + } + }, + preventDefault : function() { + var ev = this.event; + if (ev.preventDefault) { + ev.preventDefault(); + } + ev.returnValue = false; + }, + stopPropagation : function() { + var ev = this.event; + if (ev.stopPropagation) { + ev.stopPropagation(); + } + ev.cancelBubble = true; + }, + stop : function() { + this.preventDefault(); + this.stopPropagation(); + } +}); +var _eventExpendo = 'kindeditor_' + _TIME, _eventId = 0, _eventData = {}; +function _getId(el) { + return el[_eventExpendo] || null; +} +function _setId(el) { + el[_eventExpendo] = ++_eventId; + return _eventId; +} +function _removeId(el) { + try { + delete el[_eventExpendo]; + } catch(e) { + if (el.removeAttribute) { + el.removeAttribute(_eventExpendo); + } + } +} +function _bind(el, type, fn) { + if (type.indexOf(',') >= 0) { + _each(type.split(','), function() { + _bind(el, this, fn); + }); + return; + } + var id = _getId(el); + if (!id) { + id = _setId(el); + } + if (_eventData[id] === undefined) { + _eventData[id] = {}; + } + var events = _eventData[id][type]; + if (events && events.length > 0) { + _unbindEvent(el, type, events[0]); + } else { + _eventData[id][type] = []; + _eventData[id].el = el; + } + events = _eventData[id][type]; + if (events.length === 0) { + events[0] = function(e) { + var kevent = e ? new KEvent(el, e) : undefined; + _each(events, function(i, event) { + if (i > 0 && event) { + event.call(el, kevent); + } + }); + }; + } + if (_inArray(fn, events) < 0) { + events.push(fn); + } + _bindEvent(el, type, events[0]); +} +function _unbind(el, type, fn) { + if (type && type.indexOf(',') >= 0) { + _each(type.split(','), function() { + _unbind(el, this, fn); + }); + return; + } + var id = _getId(el); + if (!id) { + return; + } + if (type === undefined) { + if (id in _eventData) { + _each(_eventData[id], function(key, events) { + if (key != 'el' && events.length > 0) { + _unbindEvent(el, key, events[0]); + } + }); + delete _eventData[id]; + _removeId(el); + } + return; + } + if (!_eventData[id]) { + return; + } + var events = _eventData[id][type]; + if (events && events.length > 0) { + if (fn === undefined) { + _unbindEvent(el, type, events[0]); + delete _eventData[id][type]; + } else { + _each(events, function(i, event) { + if (i > 0 && event === fn) { + events.splice(i, 1); + } + }); + if (events.length == 1) { + _unbindEvent(el, type, events[0]); + delete _eventData[id][type]; + } + } + var count = 0; + _each(_eventData[id], function() { + count++; + }); + if (count < 2) { + delete _eventData[id]; + _removeId(el); + } + } +} +function _fire(el, type) { + if (type.indexOf(',') >= 0) { + _each(type.split(','), function() { + _fire(el, this); + }); + return; + } + var id = _getId(el); + if (!id) { + return; + } + var events = _eventData[id][type]; + if (_eventData[id] && events && events.length > 0) { + events[0](); + } +} +function _ctrl(el, key, fn) { + var self = this; + key = /^\d{2,}$/.test(key) ? key : key.toUpperCase().charCodeAt(0); + _bind(el, 'keydown', function(e) { + if (e.ctrlKey && e.which == key && !e.shiftKey && !e.altKey) { + fn.call(el); + e.stop(); + } + }); +} +function _ready(fn) { + var loaded = false; + function readyFunc() { + if (!loaded) { + loaded = true; + fn(KindEditor); + } + } + function ieReadyFunc() { + if (!loaded) { + try { + document.documentElement.doScroll('left'); + } catch(e) { + setTimeout(ieReadyFunc, 100); + return; + } + readyFunc(); + } + } + function ieReadyStateFunc() { + if (document.readyState === 'complete') { + readyFunc(); + } + } + if (document.addEventListener) { + _bind(document, 'DOMContentLoaded', readyFunc); + } else if (document.attachEvent) { + _bind(document, 'readystatechange', ieReadyStateFunc); + var toplevel = false; + try { + toplevel = window.frameElement == null; + } catch(e) {} + if (document.documentElement.doScroll && toplevel) { + ieReadyFunc(); + } + } + _bind(window, 'load', readyFunc); +} +if (_IE) { + window.attachEvent('onunload', function() { + _each(_eventData, function(key, events) { + if (events.el) { + _unbind(events.el); + } + }); + }); +} +K.ctrl = _ctrl; +K.ready = _ready; +function _getCssList(css) { + var list = {}, + reg = /\s*([\w\-]+)\s*:([^;]*)(;|$)/g, + match; + while ((match = reg.exec(css))) { + var key = _trim(match[1].toLowerCase()), + val = _trim(_toHex(match[2])); + list[key] = val; + } + return list; +} +function _getAttrList(tag) { + var list = {}, + reg = /\s+(?:([\w\-:]+)|(?:([\w\-:]+)=([^\s"'<>]+))|(?:([\w\-:"]+)="([^"]*)")|(?:([\w\-:"]+)='([^']*)'))(?=(?:\s|\/|>)+)/g, + match; + while ((match = reg.exec(tag))) { + var key = (match[1] || match[2] || match[4] || match[6]).toLowerCase(), + val = (match[2] ? match[3] : (match[4] ? match[5] : match[7])) || ''; + list[key] = val; + } + return list; +} +function _addClassToTag(tag, className) { + if (/\s+class\s*=/.test(tag)) { + tag = tag.replace(/(\s+class=["']?)([^"']*)(["']?[\s>])/, function($0, $1, $2, $3) { + if ((' ' + $2 + ' ').indexOf(' ' + className + ' ') < 0) { + return $2 === '' ? $1 + className + $3 : $1 + $2 + ' ' + className + $3; + } else { + return $0; + } + }); + } else { + tag = tag.substr(0, tag.length - 1) + ' class="' + className + '">'; + } + return tag; +} +function _formatCss(css) { + var str = ''; + _each(_getCssList(css), function(key, val) { + str += key + ':' + val + ';'; + }); + return str; +} +function _formatUrl(url, mode, host, pathname) { + mode = _undef(mode, '').toLowerCase(); + url = url.replace(/([^:])\/\//g, '$1/'); + if (_inArray(mode, ['absolute', 'relative', 'domain']) < 0) { + return url; + } + host = host || location.protocol + '//' + location.host; + if (pathname === undefined) { + var m = location.pathname.match(/^(\/.*)\//); + pathname = m ? m[1] : ''; + } + var match; + if ((match = /^(\w+:\/\/[^\/]*)/.exec(url))) { + if (match[1] !== host) { + return url; + } + } else if (/^\w+:/.test(url)) { + return url; + } + function getRealPath(path) { + var parts = path.split('/'), paths = []; + for (var i = 0, len = parts.length; i < len; i++) { + var part = parts[i]; + if (part == '..') { + if (paths.length > 0) { + paths.pop(); + } + } else if (part !== '' && part != '.') { + paths.push(part); + } + } + return '/' + paths.join('/'); + } + if (/^\//.test(url)) { + url = host + getRealPath(url.substr(1)); + } else if (!/^\w+:\/\//.test(url)) { + url = host + getRealPath(pathname + '/' + url); + } + function getRelativePath(path, depth) { + if (url.substr(0, path.length) === path) { + var arr = []; + for (var i = 0; i < depth; i++) { + arr.push('..'); + } + var prefix = '.'; + if (arr.length > 0) { + prefix += '/' + arr.join('/'); + } + if (pathname == '/') { + prefix += '/'; + } + return prefix + url.substr(path.length); + } else { + if ((match = /^(.*)\//.exec(path))) { + return getRelativePath(match[1], ++depth); + } + } + } + if (mode === 'relative') { + url = getRelativePath(host + pathname, 0).substr(2); + } else if (mode === 'absolute') { + if (url.substr(0, host.length) === host) { + url = url.substr(host.length); + } + } + return url; +} +function _formatHtml(html, htmlTags, urlType, wellFormatted, indentChar) { + urlType = urlType || ''; + wellFormatted = _undef(wellFormatted, false); + indentChar = _undef(indentChar, '\t'); + var fontSizeList = 'xx-small,x-small,small,medium,large,x-large,xx-large'.split(','); + html = html.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig, function($0, $1, $2, $3) { + return $1 + $2.replace(/<(?:br|br\s[^>]*)>/ig, '\n') + $3; + }); + html = html.replace(/<(?:br|br\s[^>]*)\s*\/?>\s*<\/p>/ig, '

'); + html = html.replace(/(<(?:p|p\s[^>]*)>)\s*(<\/p>)/ig, '$1
$2'); + html = html.replace(/\u200B/g, ''); + var htmlTagMap = {}; + if (htmlTags) { + _each(htmlTags, function(key, val) { + var arr = key.split(','); + for (var i = 0, len = arr.length; i < len; i++) { + htmlTagMap[arr[i]] = _toMap(val); + } + }); + if (!htmlTagMap.script) { + html = html.replace(/(<(?:script|script\s[^>]*)>)([\s\S]*?)(<\/script>)/ig, ''); + } + if (!htmlTagMap.style) { + html = html.replace(/(<(?:style|style\s[^>]*)>)([\s\S]*?)(<\/style>)/ig, ''); + } + } + var re = /([ \t\n\r]*)<(\/)?([\w\-:]+)((?:\s+|(?:\s+[\w\-:]+)|(?:\s+[\w\-:]+=[^\s"'<>]+)|(?:\s+[\w\-:"]+="[^"]*")|(?:\s+[\w\-:"]+='[^']*'))*)(\/)?>([ \t\n\r]*)/g; + var tagStack = []; + html = html.replace(re, function($0, $1, $2, $3, $4, $5, $6) { + var full = $0, + startNewline = $1 || '', + startSlash = $2 || '', + tagName = $3.toLowerCase(), + attr = $4 || '', + endSlash = $5 ? ' ' + $5 : '', + endNewline = $6 || ''; + if (htmlTags && !htmlTagMap[tagName]) { + return ''; + } + if (endSlash === '' && _SINGLE_TAG_MAP[tagName]) { + endSlash = ' /'; + } + if (_INLINE_TAG_MAP[tagName]) { + if (startNewline) { + startNewline = ' '; + } + if (endNewline) { + endNewline = ' '; + } + } + if (_PRE_TAG_MAP[tagName]) { + if (startSlash) { + endNewline = '\n'; + } else { + startNewline = '\n'; + } + } + if (wellFormatted && tagName == 'br') { + endNewline = '\n'; + } + if (_BLOCK_TAG_MAP[tagName] && !_PRE_TAG_MAP[tagName]) { + if (wellFormatted) { + if (startSlash && tagStack.length > 0 && tagStack[tagStack.length - 1] === tagName) { + tagStack.pop(); + } else { + tagStack.push(tagName); + } + startNewline = '\n'; + endNewline = '\n'; + for (var i = 0, len = startSlash ? tagStack.length : tagStack.length - 1; i < len; i++) { + startNewline += indentChar; + if (!startSlash) { + endNewline += indentChar; + } + } + if (endSlash) { + tagStack.pop(); + } else if (!startSlash) { + endNewline += indentChar; + } + } else { + startNewline = endNewline = ''; + } + } + if (attr !== '') { + var attrMap = _getAttrList(full); + if (tagName === 'font') { + var fontStyleMap = {}, fontStyle = ''; + _each(attrMap, function(key, val) { + if (key === 'color') { + fontStyleMap.color = val; + delete attrMap[key]; + } + if (key === 'size') { + fontStyleMap['font-size'] = fontSizeList[parseInt(val, 10) - 1] || ''; + delete attrMap[key]; + } + if (key === 'face') { + fontStyleMap['font-family'] = val; + delete attrMap[key]; + } + if (key === 'style') { + fontStyle = val; + } + }); + if (fontStyle && !/;$/.test(fontStyle)) { + fontStyle += ';'; + } + _each(fontStyleMap, function(key, val) { + if (val === '') { + return; + } + if (/\s/.test(val)) { + val = "'" + val + "'"; + } + fontStyle += key + ':' + val + ';'; + }); + attrMap.style = fontStyle; + } + _each(attrMap, function(key, val) { + if (_FILL_ATTR_MAP[key]) { + attrMap[key] = key; + } + if (_inArray(key, ['src', 'href']) >= 0) { + attrMap[key] = _formatUrl(val, urlType); + } + if (htmlTags && key !== 'style' && !htmlTagMap[tagName]['*'] && !htmlTagMap[tagName][key] || + tagName === 'body' && key === 'contenteditable' || + /^kindeditor_\d+$/.test(key)) { + delete attrMap[key]; + } + if (key === 'style' && val !== '') { + var styleMap = _getCssList(val); + _each(styleMap, function(k, v) { + if (htmlTags && !htmlTagMap[tagName].style && !htmlTagMap[tagName]['.' + k]) { + delete styleMap[k]; + } + }); + var style = ''; + _each(styleMap, function(k, v) { + style += k + ':' + v + ';'; + }); + attrMap.style = style; + } + }); + attr = ''; + _each(attrMap, function(key, val) { + if (key === 'style' && val === '') { + return; + } + val = val.replace(/"/g, '"'); + attr += ' ' + key + '="' + val + '"'; + }); + } + if (tagName === 'font') { + tagName = 'span'; + } + return startNewline + '<' + startSlash + tagName + attr + endSlash + '>' + endNewline; + }); + html = html.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig, function($0, $1, $2, $3) { + return $1 + $2.replace(/\n/g, '\n') + $3; + }); + html = html.replace(/\n\s*\n/g, '\n'); + html = html.replace(/\n/g, '\n'); + return _trim(html); +} +function _clearMsWord(html, htmlTags) { + html = html.replace(//ig, '') + .replace(//ig, '') + .replace(/]*>[\s\S]*?<\/style>/ig, '') + .replace(/]*>[\s\S]*?<\/script>/ig, '') + .replace(/]+>[\s\S]*?<\/w:[^>]+>/ig, '') + .replace(/]+>[\s\S]*?<\/o:[^>]+>/ig, '') + .replace(/[\s\S]*?<\/xml>/ig, '') + .replace(/<(?:table|td)[^>]*>/ig, function(full) { + return full.replace(/border-bottom:([#\w\s]+)/ig, 'border:$1'); + }); + return _formatHtml(html, htmlTags); +} +function _mediaType(src) { + if (/\.(rm|rmvb)(\?|$)/i.test(src)) { + return 'audio/x-pn-realaudio-plugin'; + } + if (/\.(swf|flv)(\?|$)/i.test(src)) { + return 'application/x-shockwave-flash'; + } + return 'video/x-ms-asf-plugin'; +} +function _mediaClass(type) { + if (/realaudio/i.test(type)) { + return 'ke-rm'; + } + if (/flash/i.test(type)) { + return 'ke-flash'; + } + return 'ke-media'; +} +function _mediaAttrs(srcTag) { + return _getAttrList(unescape(srcTag)); +} +function _mediaEmbed(attrs) { + var html = ' 0) { + style += 'width:' + width + 'px;'; + } + if (height > 0) { + style += 'height:' + height + 'px;'; + } + var html = ''; + return html; +} +function _tmpl(str, data) { + var fn = new Function("obj", + "var p=[],print=function(){p.push.apply(p,arguments);};" + + "with(obj){p.push('" + + str.replace(/[\r\t\n]/g, " ") + .split("<%").join("\t") + .replace(/((^|%>)[^\t]*)'/g, "$1\r") + .replace(/\t=(.*?)%>/g, "',$1,'") + .split("\t").join("');") + .split("%>").join("p.push('") + .split("\r").join("\\'") + "');}return p.join('');"); + return data ? fn(data) : fn; +} +K.formatUrl = _formatUrl; +K.formatHtml = _formatHtml; +K.getCssList = _getCssList; +K.getAttrList = _getAttrList; +K.mediaType = _mediaType; +K.mediaAttrs = _mediaAttrs; +K.mediaEmbed = _mediaEmbed; +K.mediaImg = _mediaImg; +K.clearMsWord = _clearMsWord; +K.tmpl = _tmpl; +function _contains(nodeA, nodeB) { + if (nodeA.nodeType == 9 && nodeB.nodeType != 9) { + return true; + } + while ((nodeB = nodeB.parentNode)) { + if (nodeB == nodeA) { + return true; + } + } + return false; +} +var _getSetAttrDiv = document.createElement('div'); +_getSetAttrDiv.setAttribute('className', 't'); +var _GET_SET_ATTRIBUTE = _getSetAttrDiv.className !== 't'; +function _getAttr(el, key) { + key = key.toLowerCase(); + var val = null; + if (!_GET_SET_ATTRIBUTE && el.nodeName.toLowerCase() != 'script') { + var div = el.ownerDocument.createElement('div'); + div.appendChild(el.cloneNode(false)); + var list = _getAttrList(_unescape(div.innerHTML)); + if (key in list) { + val = list[key]; + } + } else { + try { + val = el.getAttribute(key, 2); + } catch(e) { + val = el.getAttribute(key, 1); + } + } + if (key === 'style' && val !== null) { + val = _formatCss(val); + } + return val; +} +function _queryAll(expr, root) { + var exprList = expr.split(','); + if (exprList.length > 1) { + var mergedResults = []; + _each(exprList, function() { + _each(_queryAll(this, root), function() { + if (_inArray(this, mergedResults) < 0) { + mergedResults.push(this); + } + }); + }); + return mergedResults; + } + root = root || document; + function escape(str) { + if (typeof str != 'string') { + return str; + } + return str.replace(/([^\w\-])/g, '\\$1'); + } + function stripslashes(str) { + return str.replace(/\\/g, ''); + } + function cmpTag(tagA, tagB) { + return tagA === '*' || tagA.toLowerCase() === escape(tagB.toLowerCase()); + } + function byId(id, tag, root) { + var arr = [], + doc = root.ownerDocument || root, + el = doc.getElementById(stripslashes(id)); + if (el) { + if (cmpTag(tag, el.nodeName) && _contains(root, el)) { + arr.push(el); + } + } + return arr; + } + function byClass(className, tag, root) { + var doc = root.ownerDocument || root, arr = [], els, i, len, el; + if (root.getElementsByClassName) { + els = root.getElementsByClassName(stripslashes(className)); + for (i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (cmpTag(tag, el.nodeName)) { + arr.push(el); + } + } + } else if (doc.querySelectorAll) { + els = doc.querySelectorAll((root.nodeName !== '#document' ? root.nodeName + ' ' : '') + tag + '.' + className); + for (i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (_contains(root, el)) { + arr.push(el); + } + } + } else { + els = root.getElementsByTagName(tag); + className = ' ' + className + ' '; + for (i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (el.nodeType == 1) { + var cls = el.className; + if (cls && (' ' + cls + ' ').indexOf(className) > -1) { + arr.push(el); + } + } + } + } + return arr; + } + function byName(name, tag, root) { + var arr = [], doc = root.ownerDocument || root, + els = doc.getElementsByName(stripslashes(name)), el; + for (var i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (cmpTag(tag, el.nodeName) && _contains(root, el)) { + if (el.getAttributeNode('name')) { + arr.push(el); + } + } + } + return arr; + } + function byAttr(key, val, tag, root) { + var arr = [], els = root.getElementsByTagName(tag), el; + for (var i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (el.nodeType == 1) { + if (val === null) { + if (_getAttr(el, key) !== null) { + arr.push(el); + } + } else { + if (val === escape(_getAttr(el, key))) { + arr.push(el); + } + } + } + } + return arr; + } + function select(expr, root) { + var arr = [], matches; + matches = /^((?:\\.|[^.#\s\[<>])+)/.exec(expr); + var tag = matches ? matches[1] : '*'; + if ((matches = /#((?:[\w\-]|\\.)+)$/.exec(expr))) { + arr = byId(matches[1], tag, root); + } else if ((matches = /\.((?:[\w\-]|\\.)+)$/.exec(expr))) { + arr = byClass(matches[1], tag, root); + } else if ((matches = /\[((?:[\w\-]|\\.)+)\]/.exec(expr))) { + arr = byAttr(matches[1].toLowerCase(), null, tag, root); + } else if ((matches = /\[((?:[\w\-]|\\.)+)\s*=\s*['"]?((?:\\.|[^'"]+)+)['"]?\]/.exec(expr))) { + var key = matches[1].toLowerCase(), val = matches[2]; + if (key === 'id') { + arr = byId(val, tag, root); + } else if (key === 'class') { + arr = byClass(val, tag, root); + } else if (key === 'name') { + arr = byName(val, tag, root); + } else { + arr = byAttr(key, val, tag, root); + } + } else { + var els = root.getElementsByTagName(tag), el; + for (var i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (el.nodeType == 1) { + arr.push(el); + } + } + } + return arr; + } + var parts = [], arr, re = /((?:\\.|[^\s>])+|[\s>])/g; + while ((arr = re.exec(expr))) { + if (arr[1] !== ' ') { + parts.push(arr[1]); + } + } + var results = []; + if (parts.length == 1) { + return select(parts[0], root); + } + var isChild = false, part, els, subResults, val, v, i, j, k, length, len, l; + for (i = 0, lenth = parts.length; i < lenth; i++) { + part = parts[i]; + if (part === '>') { + isChild = true; + continue; + } + if (i > 0) { + els = []; + for (j = 0, len = results.length; j < len; j++) { + val = results[j]; + subResults = select(part, val); + for (k = 0, l = subResults.length; k < l; k++) { + v = subResults[k]; + if (isChild) { + if (val === v.parentNode) { + els.push(v); + } + } else { + els.push(v); + } + } + } + results = els; + } else { + results = select(part, root); + } + if (results.length === 0) { + return []; + } + } + return results; +} +function _query(expr, root) { + var arr = _queryAll(expr, root); + return arr.length > 0 ? arr[0] : null; +} +K.query = _query; +K.queryAll = _queryAll; +function _get(val) { + return K(val)[0]; +} +function _getDoc(node) { + if (!node) { + return document; + } + return node.ownerDocument || node.document || node; +} +function _getWin(node) { + if (!node) { + return window; + } + var doc = _getDoc(node); + return doc.parentWindow || doc.defaultView; +} +function _setHtml(el, html) { + if (el.nodeType != 1) { + return; + } + var doc = _getDoc(el); + try { + el.innerHTML = '' + html; + var temp = doc.getElementById('__kindeditor_temp_tag__'); + temp.parentNode.removeChild(temp); + } catch(e) { + K(el).empty(); + K('@' + html, doc).each(function() { + el.appendChild(this); + }); + } +} +function _hasClass(el, cls) { + return _inString(cls, el.className, ' '); +} +function _setAttr(el, key, val) { + if (_IE && _V < 8 && key.toLowerCase() == 'class') { + key = 'className'; + } + el.setAttribute(key, '' + val); +} +function _removeAttr(el, key) { + if (_IE && _V < 8 && key.toLowerCase() == 'class') { + key = 'className'; + } + _setAttr(el, key, ''); + el.removeAttribute(key); +} +function _getNodeName(node) { + if (!node || !node.nodeName) { + return ''; + } + return node.nodeName.toLowerCase(); +} +function _computedCss(el, key) { + var self = this, win = _getWin(el), camelKey = _toCamel(key), val = ''; + if (win.getComputedStyle) { + var style = win.getComputedStyle(el, null); + val = style[camelKey] || style.getPropertyValue(key) || el.style[camelKey]; + } else if (el.currentStyle) { + val = el.currentStyle[camelKey] || el.style[camelKey]; + } + return val; +} +function _hasVal(node) { + return !!_VALUE_TAG_MAP[_getNodeName(node)]; +} +function _docElement(doc) { + doc = doc || document; + return _QUIRKS ? doc.body : doc.documentElement; +} +function _docHeight(doc) { + var el = _docElement(doc); + return Math.max(el.scrollHeight, el.clientHeight); +} +function _docWidth(doc) { + var el = _docElement(doc); + return Math.max(el.scrollWidth, el.clientWidth); +} +function _getScrollPos(doc) { + doc = doc || document; + var x, y; + if (_IE || _OPERA) { + x = _docElement(doc).scrollLeft; + y = _docElement(doc).scrollTop; + } else { + x = _getWin(doc).scrollX; + y = _getWin(doc).scrollY; + } + return {x : x, y : y}; +} +function KNode(node) { + this.init(node); +} +_extend(KNode, { + init : function(node) { + var self = this; + node = _isArray(node) ? node : [node]; + var length = 0; + for (var i = 0, len = node.length; i < len; i++) { + if (node[i]) { + self[i] = node[i].constructor === KNode ? node[i][0] : node[i]; + length++; + } + } + self.length = length; + self.doc = _getDoc(self[0]); + self.name = _getNodeName(self[0]); + self.type = self.length > 0 ? self[0].nodeType : null; + self.win = _getWin(self[0]); + self._data = {}; + }, + each : function(fn) { + var self = this; + for (var i = 0; i < self.length; i++) { + if (fn.call(self[i], i, self[i]) === false) { + return self; + } + } + return self; + }, + bind : function(type, fn) { + this.each(function() { + _bind(this, type, fn); + }); + return this; + }, + unbind : function(type, fn) { + this.each(function() { + _unbind(this, type, fn); + }); + return this; + }, + fire : function(type) { + if (this.length < 1) { + return this; + } + _fire(this[0], type); + return this; + }, + hasAttr : function(key) { + if (this.length < 1) { + return false; + } + return !!_getAttr(this[0], key); + }, + attr : function(key, val) { + var self = this; + if (key === undefined) { + return _getAttrList(self.outer()); + } + if (typeof key === 'object') { + _each(key, function(k, v) { + self.attr(k, v); + }); + return self; + } + if (val === undefined) { + val = self.length < 1 ? null : _getAttr(self[0], key); + return val === null ? '' : val; + } + self.each(function() { + _setAttr(this, key, val); + }); + return self; + }, + removeAttr : function(key) { + this.each(function() { + _removeAttr(this, key); + }); + return this; + }, + get : function(i) { + if (this.length < 1) { + return null; + } + return this[i || 0]; + }, + eq : function(i) { + if (this.length < 1) { + return null; + } + return this[i] ? new KNode(this[i]) : null; + }, + hasClass : function(cls) { + if (this.length < 1) { + return false; + } + return _hasClass(this[0], cls); + }, + addClass : function(cls) { + this.each(function() { + if (!_hasClass(this, cls)) { + this.className = _trim(this.className + ' ' + cls); + } + }); + return this; + }, + removeClass : function(cls) { + this.each(function() { + if (_hasClass(this, cls)) { + this.className = _trim(this.className.replace(new RegExp('(^|\\s)' + cls + '(\\s|$)'), ' ')); + } + }); + return this; + }, + html : function(val) { + var self = this; + if (val === undefined) { + if (self.length < 1 || self.type != 1) { + return ''; + } + return _formatHtml(self[0].innerHTML); + } + self.each(function() { + _setHtml(this, val); + }); + return self; + }, + text : function() { + var self = this; + if (self.length < 1) { + return ''; + } + return _IE ? self[0].innerText : self[0].textContent; + }, + hasVal : function() { + if (this.length < 1) { + return false; + } + return _hasVal(this[0]); + }, + val : function(val) { + var self = this; + if (val === undefined) { + if (self.length < 1) { + return ''; + } + return self.hasVal() ? self[0].value : self.attr('value'); + } else { + self.each(function() { + if (_hasVal(this)) { + this.value = val; + } else { + _setAttr(this, 'value' , val); + } + }); + return self; + } + }, + css : function(key, val) { + var self = this; + if (key === undefined) { + return _getCssList(self.attr('style')); + } + if (typeof key === 'object') { + _each(key, function(k, v) { + self.css(k, v); + }); + return self; + } + if (val === undefined) { + if (self.length < 1) { + return ''; + } + return self[0].style[_toCamel(key)] || _computedCss(self[0], key) || ''; + } + self.each(function() { + this.style[_toCamel(key)] = val; + }); + return self; + }, + width : function(val) { + var self = this; + if (val === undefined) { + if (self.length < 1) { + return 0; + } + return self[0].offsetWidth; + } + return self.css('width', _addUnit(val)); + }, + height : function(val) { + var self = this; + if (val === undefined) { + if (self.length < 1) { + return 0; + } + return self[0].offsetHeight; + } + return self.css('height', _addUnit(val)); + }, + opacity : function(val) { + this.each(function() { + if (this.style.opacity === undefined) { + this.style.filter = val == 1 ? '' : 'alpha(opacity=' + (val * 100) + ')'; + } else { + this.style.opacity = val == 1 ? '' : val; + } + }); + return this; + }, + data : function(key, val) { + var self = this; + if (val === undefined) { + return self._data[key]; + } + self._data[key] = val; + return self; + }, + pos : function() { + var self = this, node = self[0], x = 0, y = 0; + if (node) { + if (node.getBoundingClientRect) { + var box = node.getBoundingClientRect(), + pos = _getScrollPos(self.doc); + x = box.left + pos.x; + y = box.top + pos.y; + } else { + while (node) { + x += node.offsetLeft; + y += node.offsetTop; + node = node.offsetParent; + } + } + } + return {x : _round(x), y : _round(y)}; + }, + clone : function(bool) { + if (this.length < 1) { + return new KNode([]); + } + return new KNode(this[0].cloneNode(bool)); + }, + append : function(expr) { + this.each(function() { + if (this.appendChild) { + this.appendChild(_get(expr)); + } + }); + return this; + }, + appendTo : function(expr) { + this.each(function() { + _get(expr).appendChild(this); + }); + return this; + }, + before : function(expr) { + this.each(function() { + this.parentNode.insertBefore(_get(expr), this); + }); + return this; + }, + after : function(expr) { + this.each(function() { + if (this.nextSibling) { + this.parentNode.insertBefore(_get(expr), this.nextSibling); + } else { + this.parentNode.appendChild(_get(expr)); + } + }); + return this; + }, + replaceWith : function(expr) { + var nodes = []; + this.each(function(i, node) { + _unbind(node); + var newNode = _get(expr); + node.parentNode.replaceChild(newNode, node); + nodes.push(newNode); + }); + return K(nodes); + }, + empty : function() { + var self = this; + self.each(function(i, node) { + var child = node.firstChild; + while (child) { + if (!node.parentNode) { + return; + } + var next = child.nextSibling; + child.parentNode.removeChild(child); + child = next; + } + }); + return self; + }, + remove : function(keepChilds) { + var self = this; + self.each(function(i, node) { + if (!node.parentNode) { + return; + } + _unbind(node); + if (keepChilds) { + var child = node.firstChild; + while (child) { + var next = child.nextSibling; + node.parentNode.insertBefore(child, node); + child = next; + } + } + node.parentNode.removeChild(node); + delete self[i]; + }); + self.length = 0; + self._data = {}; + return self; + }, + show : function(val) { + return this.css('display', val === undefined ? 'block' : val); + }, + hide : function() { + return this.css('display', 'none'); + }, + outer : function() { + var self = this; + if (self.length < 1) { + return ''; + } + var div = self.doc.createElement('div'), html; + div.appendChild(self[0].cloneNode(true)); + html = _formatHtml(div.innerHTML); + div = null; + return html; + }, + isSingle : function() { + return !!_SINGLE_TAG_MAP[this.name]; + }, + isInline : function() { + return !!_INLINE_TAG_MAP[this.name]; + }, + isBlock : function() { + return !!_BLOCK_TAG_MAP[this.name]; + }, + isStyle : function() { + return !!_STYLE_TAG_MAP[this.name]; + }, + isControl : function() { + return !!_CONTROL_TAG_MAP[this.name]; + }, + contains : function(otherNode) { + if (this.length < 1) { + return false; + } + return _contains(this[0], _get(otherNode)); + }, + parent : function() { + if (this.length < 1) { + return null; + } + var node = this[0].parentNode; + return node ? new KNode(node) : null; + }, + children : function() { + if (this.length < 1) { + return new KNode([]); + } + var list = [], child = this[0].firstChild; + while (child) { + if (child.nodeType != 3 || _trim(child.nodeValue) !== '') { + list.push(child); + } + child = child.nextSibling; + } + return new KNode(list); + }, + first : function() { + var list = this.children(); + return list.length > 0 ? list.eq(0) : null; + }, + last : function() { + var list = this.children(); + return list.length > 0 ? list.eq(list.length - 1) : null; + }, + index : function() { + if (this.length < 1) { + return -1; + } + var i = -1, sibling = this[0]; + while (sibling) { + i++; + sibling = sibling.previousSibling; + } + return i; + }, + prev : function() { + if (this.length < 1) { + return null; + } + var node = this[0].previousSibling; + return node ? new KNode(node) : null; + }, + next : function() { + if (this.length < 1) { + return null; + } + var node = this[0].nextSibling; + return node ? new KNode(node) : null; + }, + scan : function(fn, order) { + if (this.length < 1) { + return; + } + order = (order === undefined) ? true : order; + function walk(node) { + var n = order ? node.firstChild : node.lastChild; + while (n) { + var next = order ? n.nextSibling : n.previousSibling; + if (fn(n) === false) { + return false; + } + if (walk(n) === false) { + return false; + } + n = next; + } + } + walk(this[0]); + return this; + } +}); +_each(('blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,' + + 'mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,' + + 'change,select,submit,keydown,keypress,keyup,error,contextmenu').split(','), function(i, type) { + KNode.prototype[type] = function(fn) { + return fn ? this.bind(type, fn) : this.fire(type); + }; +}); +var _K = K; +K = function(expr, root) { + if (expr === undefined || expr === null) { + return; + } + function newNode(node) { + if (!node[0]) { + node = []; + } + return new KNode(node); + } + if (typeof expr === 'string') { + if (root) { + root = _get(root); + } + var length = expr.length; + if (expr.charAt(0) === '@') { + expr = expr.substr(1); + } + if (expr.length !== length || /<.+>/.test(expr)) { + var doc = root ? root.ownerDocument || root : document, + div = doc.createElement('div'), list = []; + div.innerHTML = '' + expr; + for (var i = 0, len = div.childNodes.length; i < len; i++) { + var child = div.childNodes[i]; + if (child.id == '__kindeditor_temp_tag__') { + continue; + } + list.push(child); + } + return newNode(list); + } + return newNode(_queryAll(expr, root)); + } + if (expr && expr.constructor === KNode) { + return expr; + } + if (_isArray(expr)) { + return newNode(expr); + } + return newNode(_toArray(arguments)); +}; +_each(_K, function(key, val) { + K[key] = val; +}); +window.KindEditor = K; +var _START_TO_START = 0, + _START_TO_END = 1, + _END_TO_END = 2, + _END_TO_START = 3, + _BOOKMARK_ID = 0; +function _updateCollapsed(range) { + range.collapsed = (range.startContainer === range.endContainer && range.startOffset === range.endOffset); + return range; +} +function _copyAndDelete(range, isCopy, isDelete) { + var doc = range.doc, nodeList = []; + function splitTextNode(node, startOffset, endOffset) { + var length = node.nodeValue.length, centerNode; + if (isCopy) { + var cloneNode = node.cloneNode(true); + if (startOffset > 0) { + centerNode = cloneNode.splitText(startOffset); + } else { + centerNode = cloneNode; + } + if (endOffset < length) { + centerNode.splitText(endOffset - startOffset); + } + } + if (isDelete) { + var center = node; + if (startOffset > 0) { + center = node.splitText(startOffset); + range.setStart(node, startOffset); + } + if (endOffset < length) { + var right = center.splitText(endOffset - startOffset); + range.setEnd(right, 0); + } + nodeList.push(center); + } + return centerNode; + } + function removeNodes() { + if (isDelete) { + range.up().collapse(true); + } + for (var i = 0, len = nodeList.length; i < len; i++) { + var node = nodeList[i]; + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } + } + var copyRange = range.cloneRange().down(); + var start = -1, incStart = -1, incEnd = -1, end = -1, + ancestor = range.commonAncestor(), frag = doc.createDocumentFragment(); + if (ancestor.nodeType == 3) { + var textNode = splitTextNode(ancestor, range.startOffset, range.endOffset); + if (isCopy) { + frag.appendChild(textNode); + } + removeNodes(); + return isCopy ? frag : range; + } + function extractNodes(parent, frag) { + var node = parent.firstChild, nextNode; + while (node) { + var testRange = new KRange(doc).selectNode(node); + start = testRange.compareBoundaryPoints(_START_TO_END, range); + if (start >= 0 && incStart <= 0) { + incStart = testRange.compareBoundaryPoints(_START_TO_START, range); + } + if (incStart >= 0 && incEnd <= 0) { + incEnd = testRange.compareBoundaryPoints(_END_TO_END, range); + } + if (incEnd >= 0 && end <= 0) { + end = testRange.compareBoundaryPoints(_END_TO_START, range); + } + if (end >= 0) { + return false; + } + nextNode = node.nextSibling; + if (start > 0) { + if (node.nodeType == 1) { + if (incStart >= 0 && incEnd <= 0) { + if (isCopy) { + frag.appendChild(node.cloneNode(true)); + } + if (isDelete) { + nodeList.push(node); + } + } else { + var childFlag; + if (isCopy) { + childFlag = node.cloneNode(false); + frag.appendChild(childFlag); + } + if (extractNodes(node, childFlag) === false) { + return false; + } + } + } else if (node.nodeType == 3) { + var textNode; + if (node == copyRange.startContainer) { + textNode = splitTextNode(node, copyRange.startOffset, node.nodeValue.length); + } else if (node == copyRange.endContainer) { + textNode = splitTextNode(node, 0, copyRange.endOffset); + } else { + textNode = splitTextNode(node, 0, node.nodeValue.length); + } + if (isCopy) { + try { + frag.appendChild(textNode); + } catch(e) {} + } + } + } + node = nextNode; + } + } + extractNodes(ancestor, frag); + if (isDelete) { + range.up().collapse(true); + } + for (var i = 0, len = nodeList.length; i < len; i++) { + var node = nodeList[i]; + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } + return isCopy ? frag : range; +} +function _moveToElementText(range, el) { + var node = el; + while (node) { + var knode = K(node); + if (knode.name == 'marquee' || knode.name == 'select') { + return; + } + node = node.parentNode; + } + try { + range.moveToElementText(el); + } catch(e) {} +} +function _getStartEnd(rng, isStart) { + var doc = rng.parentElement().ownerDocument, + pointRange = rng.duplicate(); + pointRange.collapse(isStart); + var parent = pointRange.parentElement(), + nodes = parent.childNodes; + if (nodes.length === 0) { + return {node: parent.parentNode, offset: K(parent).index()}; + } + var startNode = doc, startPos = 0, cmp = -1; + var testRange = rng.duplicate(); + _moveToElementText(testRange, parent); + for (var i = 0, len = nodes.length; i < len; i++) { + var node = nodes[i]; + cmp = testRange.compareEndPoints('StartToStart', pointRange); + if (cmp === 0) { + return {node: node.parentNode, offset: i}; + } + if (node.nodeType == 1) { + var nodeRange = rng.duplicate(), dummy, knode = K(node), newNode = node; + if (knode.isControl()) { + dummy = doc.createElement('span'); + knode.after(dummy); + newNode = dummy; + startPos += knode.text().replace(/\r\n|\n|\r/g, '').length; + } + _moveToElementText(nodeRange, newNode); + testRange.setEndPoint('StartToEnd', nodeRange); + if (cmp > 0) { + startPos += nodeRange.text.replace(/\r\n|\n|\r/g, '').length; + } else { + startPos = 0; + } + if (dummy) { + K(dummy).remove(); + } + } else if (node.nodeType == 3) { + testRange.moveStart('character', node.nodeValue.length); + startPos += node.nodeValue.length; + } + if (cmp < 0) { + startNode = node; + } + } + if (cmp < 0 && startNode.nodeType == 1) { + return {node: parent, offset: K(parent.lastChild).index() + 1}; + } + if (cmp > 0) { + while (startNode.nextSibling && startNode.nodeType == 1) { + startNode = startNode.nextSibling; + } + } + testRange = rng.duplicate(); + _moveToElementText(testRange, parent); + testRange.setEndPoint('StartToEnd', pointRange); + startPos -= testRange.text.replace(/\r\n|\n|\r/g, '').length; + if (cmp > 0 && startNode.nodeType == 3) { + var prevNode = startNode.previousSibling; + while (prevNode && prevNode.nodeType == 3) { + startPos -= prevNode.nodeValue.length; + prevNode = prevNode.previousSibling; + } + } + return {node: startNode, offset: startPos}; +} +function _getEndRange(node, offset) { + var doc = node.ownerDocument || node, + range = doc.body.createTextRange(); + if (doc == node) { + range.collapse(true); + return range; + } + if (node.nodeType == 1 && node.childNodes.length > 0) { + var children = node.childNodes, isStart, child; + if (offset === 0) { + child = children[0]; + isStart = true; + } else { + child = children[offset - 1]; + isStart = false; + } + if (!child) { + return range; + } + if (K(child).name === 'head') { + if (offset === 1) { + isStart = true; + } + if (offset === 2) { + isStart = false; + } + range.collapse(isStart); + return range; + } + if (child.nodeType == 1) { + var kchild = K(child), span; + if (kchild.isControl()) { + span = doc.createElement('span'); + if (isStart) { + kchild.before(span); + } else { + kchild.after(span); + } + child = span; + } + _moveToElementText(range, child); + range.collapse(isStart); + if (span) { + K(span).remove(); + } + return range; + } + node = child; + offset = isStart ? 0 : child.nodeValue.length; + } + var dummy = doc.createElement('span'); + K(node).before(dummy); + _moveToElementText(range, dummy); + range.moveStart('character', offset); + K(dummy).remove(); + return range; +} +function _toRange(rng) { + var doc, range; + function tr2td(start) { + if (K(start.node).name == 'tr') { + start.node = start.node.cells[start.offset]; + start.offset = 0; + } + } + if (_IE) { + if (rng.item) { + doc = _getDoc(rng.item(0)); + range = new KRange(doc); + range.selectNode(rng.item(0)); + return range; + } + doc = rng.parentElement().ownerDocument; + var start = _getStartEnd(rng, true), + end = _getStartEnd(rng, false); + tr2td(start); + tr2td(end); + range = new KRange(doc); + range.setStart(start.node, start.offset); + range.setEnd(end.node, end.offset); + return range; + } + var startContainer = rng.startContainer; + doc = startContainer.ownerDocument || startContainer; + range = new KRange(doc); + range.setStart(startContainer, rng.startOffset); + range.setEnd(rng.endContainer, rng.endOffset); + return range; +} +function KRange(doc) { + this.init(doc); +} +_extend(KRange, { + init : function(doc) { + var self = this; + self.startContainer = doc; + self.startOffset = 0; + self.endContainer = doc; + self.endOffset = 0; + self.collapsed = true; + self.doc = doc; + }, + commonAncestor : function() { + function getParents(node) { + var parents = []; + while (node) { + parents.push(node); + node = node.parentNode; + } + return parents; + } + var parentsA = getParents(this.startContainer), + parentsB = getParents(this.endContainer), + i = 0, lenA = parentsA.length, lenB = parentsB.length, parentA, parentB; + while (++i) { + parentA = parentsA[lenA - i]; + parentB = parentsB[lenB - i]; + if (!parentA || !parentB || parentA !== parentB) { + break; + } + } + return parentsA[lenA - i + 1]; + }, + setStart : function(node, offset) { + var self = this, doc = self.doc; + self.startContainer = node; + self.startOffset = offset; + if (self.endContainer === doc) { + self.endContainer = node; + self.endOffset = offset; + } + return _updateCollapsed(this); + }, + setEnd : function(node, offset) { + var self = this, doc = self.doc; + self.endContainer = node; + self.endOffset = offset; + if (self.startContainer === doc) { + self.startContainer = node; + self.startOffset = offset; + } + return _updateCollapsed(this); + }, + setStartBefore : function(node) { + return this.setStart(node.parentNode || this.doc, K(node).index()); + }, + setStartAfter : function(node) { + return this.setStart(node.parentNode || this.doc, K(node).index() + 1); + }, + setEndBefore : function(node) { + return this.setEnd(node.parentNode || this.doc, K(node).index()); + }, + setEndAfter : function(node) { + return this.setEnd(node.parentNode || this.doc, K(node).index() + 1); + }, + selectNode : function(node) { + return this.setStartBefore(node).setEndAfter(node); + }, + selectNodeContents : function(node) { + var knode = K(node); + if (knode.type == 3 || knode.isSingle()) { + return this.selectNode(node); + } + var children = knode.children(); + if (children.length > 0) { + return this.setStartBefore(children[0]).setEndAfter(children[children.length - 1]); + } + return this.setStart(node, 0).setEnd(node, 0); + }, + collapse : function(toStart) { + if (toStart) { + return this.setEnd(this.startContainer, this.startOffset); + } + return this.setStart(this.endContainer, this.endOffset); + }, + compareBoundaryPoints : function(how, range) { + var rangeA = this.get(), rangeB = range.get(); + if (_IE) { + var arr = {}; + arr[_START_TO_START] = 'StartToStart'; + arr[_START_TO_END] = 'EndToStart'; + arr[_END_TO_END] = 'EndToEnd'; + arr[_END_TO_START] = 'StartToEnd'; + var cmp = rangeA.compareEndPoints(arr[how], rangeB); + if (cmp !== 0) { + return cmp; + } + var nodeA, nodeB, nodeC, posA, posB; + if (how === _START_TO_START || how === _END_TO_START) { + nodeA = this.startContainer; + posA = this.startOffset; + } + if (how === _START_TO_END || how === _END_TO_END) { + nodeA = this.endContainer; + posA = this.endOffset; + } + if (how === _START_TO_START || how === _START_TO_END) { + nodeB = range.startContainer; + posB = range.startOffset; + } + if (how === _END_TO_END || how === _END_TO_START) { + nodeB = range.endContainer; + posB = range.endOffset; + } + if (nodeA === nodeB) { + var diff = posA - posB; + return diff > 0 ? 1 : (diff < 0 ? -1 : 0); + } + nodeC = nodeB; + while (nodeC && nodeC.parentNode !== nodeA) { + nodeC = nodeC.parentNode; + } + if (nodeC) { + return K(nodeC).index() >= posA ? -1 : 1; + } + nodeC = nodeA; + while (nodeC && nodeC.parentNode !== nodeB) { + nodeC = nodeC.parentNode; + } + if (nodeC) { + return K(nodeC).index() >= posB ? 1 : -1; + } + nodeC = K(nodeB).next(); + if (nodeC && nodeC.contains(nodeA)) { + return 1; + } + nodeC = K(nodeA).next(); + if (nodeC && nodeC.contains(nodeB)) { + return -1; + } + } else { + return rangeA.compareBoundaryPoints(how, rangeB); + } + }, + cloneRange : function() { + return new KRange(this.doc).setStart(this.startContainer, this.startOffset).setEnd(this.endContainer, this.endOffset); + }, + toString : function() { + var rng = this.get(), str = _IE ? rng.text : rng.toString(); + return str.replace(/\r\n|\n|\r/g, ''); + }, + cloneContents : function() { + return _copyAndDelete(this, true, false); + }, + deleteContents : function() { + return _copyAndDelete(this, false, true); + }, + extractContents : function() { + return _copyAndDelete(this, true, true); + }, + insertNode : function(node) { + var self = this, + sc = self.startContainer, so = self.startOffset, + ec = self.endContainer, eo = self.endOffset, + firstChild, lastChild, c, nodeCount = 1; + if (node.nodeName.toLowerCase() === '#document-fragment') { + firstChild = node.firstChild; + lastChild = node.lastChild; + nodeCount = node.childNodes.length; + } + if (sc.nodeType == 1) { + c = sc.childNodes[so]; + if (c) { + sc.insertBefore(node, c); + if (sc === ec) { + eo += nodeCount; + } + } else { + sc.appendChild(node); + } + } else if (sc.nodeType == 3) { + if (so === 0) { + sc.parentNode.insertBefore(node, sc); + if (sc.parentNode === ec) { + eo += nodeCount; + } + } else if (so >= sc.nodeValue.length) { + if (sc.nextSibling) { + sc.parentNode.insertBefore(node, sc.nextSibling); + } else { + sc.parentNode.appendChild(node); + } + } else { + if (so > 0) { + c = sc.splitText(so); + } else { + c = sc; + } + sc.parentNode.insertBefore(node, c); + if (sc === ec) { + ec = c; + eo -= so; + } + } + } + if (firstChild) { + self.setStartBefore(firstChild).setEndAfter(lastChild); + } else { + self.selectNode(node); + } + if (self.compareBoundaryPoints(_END_TO_END, self.cloneRange().setEnd(ec, eo)) >= 1) { + return self; + } + return self.setEnd(ec, eo); + }, + surroundContents : function(node) { + node.appendChild(this.extractContents()); + return this.insertNode(node).selectNode(node); + }, + isControl : function() { + var self = this, + sc = self.startContainer, so = self.startOffset, + ec = self.endContainer, eo = self.endOffset, rng; + return sc.nodeType == 1 && sc === ec && so + 1 === eo && K(sc.childNodes[so]).isControl(); + }, + get : function(hasControlRange) { + var self = this, doc = self.doc, node, rng; + if (!_IE) { + rng = doc.createRange(); + try { + rng.setStart(self.startContainer, self.startOffset); + rng.setEnd(self.endContainer, self.endOffset); + } catch (e) {} + return rng; + } + if (hasControlRange && self.isControl()) { + rng = doc.body.createControlRange(); + rng.addElement(self.startContainer.childNodes[self.startOffset]); + return rng; + } + var range = self.cloneRange().down(); + rng = doc.body.createTextRange(); + rng.setEndPoint('StartToStart', _getEndRange(range.startContainer, range.startOffset)); + rng.setEndPoint('EndToStart', _getEndRange(range.endContainer, range.endOffset)); + return rng; + }, + html : function() { + return K(this.cloneContents()).outer(); + }, + down : function() { + var self = this; + function downPos(node, pos, isStart) { + if (node.nodeType != 1) { + return; + } + var children = K(node).children(); + if (children.length === 0) { + return; + } + var left, right, child, offset; + if (pos > 0) { + left = children.eq(pos - 1); + } + if (pos < children.length) { + right = children.eq(pos); + } + if (left && left.type == 3) { + child = left[0]; + offset = child.nodeValue.length; + } + if (right && right.type == 3) { + child = right[0]; + offset = 0; + } + if (!child) { + return; + } + if (isStart) { + self.setStart(child, offset); + } else { + self.setEnd(child, offset); + } + } + downPos(self.startContainer, self.startOffset, true); + downPos(self.endContainer, self.endOffset, false); + return self; + }, + up : function() { + var self = this; + function upPos(node, pos, isStart) { + if (node.nodeType != 3) { + return; + } + if (pos === 0) { + if (isStart) { + self.setStartBefore(node); + } else { + self.setEndBefore(node); + } + } else if (pos == node.nodeValue.length) { + if (isStart) { + self.setStartAfter(node); + } else { + self.setEndAfter(node); + } + } + } + upPos(self.startContainer, self.startOffset, true); + upPos(self.endContainer, self.endOffset, false); + return self; + }, + enlarge : function(toBlock) { + var self = this; + self.up(); + function enlargePos(node, pos, isStart) { + var knode = K(node), parent; + if (knode.type == 3 || _NOSPLIT_TAG_MAP[knode.name] || !toBlock && knode.isBlock()) { + return; + } + if (pos === 0) { + while (!knode.prev()) { + parent = knode.parent(); + if (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) { + break; + } + knode = parent; + } + if (isStart) { + self.setStartBefore(knode[0]); + } else { + self.setEndBefore(knode[0]); + } + } else if (pos == knode.children().length) { + while (!knode.next()) { + parent = knode.parent(); + if (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) { + break; + } + knode = parent; + } + if (isStart) { + self.setStartAfter(knode[0]); + } else { + self.setEndAfter(knode[0]); + } + } + } + enlargePos(self.startContainer, self.startOffset, true); + enlargePos(self.endContainer, self.endOffset, false); + return self; + }, + shrink : function() { + var self = this, child, collapsed = self.collapsed; + while (self.startContainer.nodeType == 1 && (child = self.startContainer.childNodes[self.startOffset]) && child.nodeType == 1 && !K(child).isSingle()) { + self.setStart(child, 0); + } + if (collapsed) { + return self.collapse(collapsed); + } + while (self.endContainer.nodeType == 1 && self.endOffset > 0 && (child = self.endContainer.childNodes[self.endOffset - 1]) && child.nodeType == 1 && !K(child).isSingle()) { + self.setEnd(child, child.childNodes.length); + } + return self; + }, + createBookmark : function(serialize) { + var self = this, doc = self.doc, endNode, + startNode = K('', doc)[0]; + startNode.id = '__kindeditor_bookmark_start_' + (_BOOKMARK_ID++) + '__'; + if (!self.collapsed) { + endNode = startNode.cloneNode(true); + endNode.id = '__kindeditor_bookmark_end_' + (_BOOKMARK_ID++) + '__'; + } + if (endNode) { + self.cloneRange().collapse(false).insertNode(endNode).setEndBefore(endNode); + } + self.insertNode(startNode).setStartAfter(startNode); + return { + start : serialize ? '#' + startNode.id : startNode, + end : endNode ? (serialize ? '#' + endNode.id : endNode) : null + }; + }, + moveToBookmark : function(bookmark) { + var self = this, doc = self.doc, + start = K(bookmark.start, doc), end = bookmark.end ? K(bookmark.end, doc) : null; + if (!start || start.length < 1) { + return self; + } + self.setStartBefore(start[0]); + start.remove(); + if (end && end.length > 0) { + self.setEndBefore(end[0]); + end.remove(); + } else { + self.collapse(true); + } + return self; + }, + dump : function() { + console.log('--------------------'); + console.log(this.startContainer.nodeType == 3 ? this.startContainer.nodeValue : this.startContainer, this.startOffset); + console.log(this.endContainer.nodeType == 3 ? this.endContainer.nodeValue : this.endContainer, this.endOffset); + } +}); +function _range(mixed) { + if (!mixed.nodeName) { + return mixed.constructor === KRange ? mixed : _toRange(mixed); + } + return new KRange(mixed); +} +K.range = _range; +K.START_TO_START = _START_TO_START; +K.START_TO_END = _START_TO_END; +K.END_TO_END = _END_TO_END; +K.END_TO_START = _END_TO_START; +function _nativeCommand(doc, key, val) { + try { + doc.execCommand(key, false, val); + } catch(e) {} +} +function _nativeCommandValue(doc, key) { + var val = ''; + try { + val = doc.queryCommandValue(key); + } catch (e) {} + if (typeof val !== 'string') { + val = ''; + } + return val; +} +function _getSel(doc) { + var win = _getWin(doc); + return doc.selection || win.getSelection(); +} +function _getRng(doc) { + var sel = _getSel(doc), rng; + try { + if (sel.rangeCount > 0) { + rng = sel.getRangeAt(0); + } else { + rng = sel.createRange(); + } + } catch(e) {} + if (_IE && (!rng || (!rng.item && rng.parentElement().ownerDocument !== doc))) { + return null; + } + return rng; +} +function _singleKeyMap(map) { + var newMap = {}, arr, v; + _each(map, function(key, val) { + arr = key.split(','); + for (var i = 0, len = arr.length; i < len; i++) { + v = arr[i]; + newMap[v] = val; + } + }); + return newMap; +} +function _hasAttrOrCss(knode, map) { + return _hasAttrOrCssByKey(knode, map, '*') || _hasAttrOrCssByKey(knode, map); +} +function _hasAttrOrCssByKey(knode, map, mapKey) { + mapKey = mapKey || knode.name; + if (knode.type !== 1) { + return false; + } + var newMap = _singleKeyMap(map); + if (!newMap[mapKey]) { + return false; + } + var arr = newMap[mapKey].split(','); + for (var i = 0, len = arr.length; i < len; i++) { + var key = arr[i]; + if (key === '*') { + return true; + } + var match = /^(\.?)([^=]+)(?:=([^=]*))?$/.exec(key); + var method = match[1] ? 'css' : 'attr'; + key = match[2]; + var val = match[3] || ''; + if (val === '' && knode[method](key) !== '') { + return true; + } + if (val !== '' && knode[method](key) === val) { + return true; + } + } + return false; +} +function _removeAttrOrCss(knode, map) { + if (knode.type != 1) { + return; + } + _removeAttrOrCssByKey(knode, map, '*'); + _removeAttrOrCssByKey(knode, map); +} +function _removeAttrOrCssByKey(knode, map, mapKey) { + mapKey = mapKey || knode.name; + if (knode.type !== 1) { + return; + } + var newMap = _singleKeyMap(map); + if (!newMap[mapKey]) { + return; + } + var arr = newMap[mapKey].split(','), allFlag = false; + for (var i = 0, len = arr.length; i < len; i++) { + var key = arr[i]; + if (key === '*') { + allFlag = true; + break; + } + var match = /^(\.?)([^=]+)(?:=([^=]*))?$/.exec(key); + key = match[2]; + if (match[1]) { + key = _toCamel(key); + if (knode[0].style[key]) { + knode[0].style[key] = ''; + } + } else { + knode.removeAttr(key); + } + } + if (allFlag) { + knode.remove(true); + } +} +function _getInnerNode(knode) { + var inner = knode; + while (inner.first()) { + inner = inner.first(); + } + return inner; +} +function _isEmptyNode(knode) { + return knode.type == 1 && knode.html().replace(/<[^>]+>/g, '') === ''; +} +function _mergeWrapper(a, b) { + a = a.clone(true); + var lastA = _getInnerNode(a), childA = a, merged = false; + while (b) { + while (childA) { + if (childA.name === b.name) { + _mergeAttrs(childA, b.attr(), b.css()); + merged = true; + } + childA = childA.first(); + } + if (!merged) { + lastA.append(b.clone(false)); + } + merged = false; + b = b.first(); + } + return a; +} +function _wrapNode(knode, wrapper) { + wrapper = wrapper.clone(true); + if (knode.type == 3) { + _getInnerNode(wrapper).append(knode.clone(false)); + knode.replaceWith(wrapper); + return wrapper; + } + var nodeWrapper = knode, child; + while ((child = knode.first()) && child.children().length == 1) { + knode = child; + } + child = knode.first(); + var frag = knode.doc.createDocumentFragment(); + while (child) { + frag.appendChild(child[0]); + child = child.next(); + } + wrapper = _mergeWrapper(nodeWrapper, wrapper); + if (frag.firstChild) { + _getInnerNode(wrapper).append(frag); + } + nodeWrapper.replaceWith(wrapper); + return wrapper; +} +function _mergeAttrs(knode, attrs, styles) { + _each(attrs, function(key, val) { + if (key !== 'style') { + knode.attr(key, val); + } + }); + _each(styles, function(key, val) { + knode.css(key, val); + }); +} +function _inPreElement(knode) { + while (knode && knode.name != 'body') { + if (_PRE_TAG_MAP[knode.name] || knode.name == 'div' && knode.hasClass('ke-script')) { + return true; + } + knode = knode.parent(); + } + return false; +} +function KCmd(range) { + this.init(range); +} +_extend(KCmd, { + init : function(range) { + var self = this, doc = range.doc; + self.doc = doc; + self.win = _getWin(doc); + self.sel = _getSel(doc); + self.range = range; + }, + selection : function(forceReset) { + var self = this, doc = self.doc, rng = _getRng(doc); + self.sel = _getSel(doc); + if (rng) { + self.range = _range(rng); + if (K(self.range.startContainer).name == 'html') { + self.range.selectNodeContents(doc.body).collapse(false); + } + return self; + } + if (forceReset) { + self.range.selectNodeContents(doc.body).collapse(false); + } + return self; + }, + select : function(hasDummy) { + hasDummy = _undef(hasDummy, true); + var self = this, sel = self.sel, range = self.range.cloneRange().shrink(), + sc = range.startContainer, so = range.startOffset, + ec = range.endContainer, eo = range.endOffset, + doc = _getDoc(sc), win = self.win, rng, hasU200b = false; + if (hasDummy && sc.nodeType == 1 && range.collapsed) { + if (_IE) { + var dummy = K(' ', doc); + range.insertNode(dummy[0]); + rng = doc.body.createTextRange(); + try { + rng.moveToElementText(dummy[0]); + } catch(ex) {} + rng.collapse(false); + rng.select(); + dummy.remove(); + win.focus(); + return self; + } + if (_WEBKIT) { + var children = sc.childNodes; + if (K(sc).isInline() || so > 0 && K(children[so - 1]).isInline() || children[so] && K(children[so]).isInline()) { + range.insertNode(doc.createTextNode('\u200B')); + hasU200b = true; + } + } + } + if (_IE) { + try { + rng = range.get(true); + rng.select(); + } catch(e) {} + } else { + if (hasU200b) { + range.collapse(false); + } + rng = range.get(true); + sel.removeAllRanges(); + sel.addRange(rng); + } + win.focus(); + return self; + }, + wrap : function(val) { + var self = this, doc = self.doc, range = self.range, wrapper; + wrapper = K(val, doc); + if (range.collapsed) { + range.shrink(); + range.insertNode(wrapper[0]).selectNodeContents(wrapper[0]); + return self; + } + if (wrapper.isBlock()) { + var copyWrapper = wrapper.clone(true), child = copyWrapper; + while (child.first()) { + child = child.first(); + } + child.append(range.extractContents()); + range.insertNode(copyWrapper[0]).selectNode(copyWrapper[0]); + return self; + } + range.enlarge(); + var bookmark = range.createBookmark(), ancestor = range.commonAncestor(), isStart = false; + K(ancestor).scan(function(node) { + if (!isStart && node == bookmark.start) { + isStart = true; + return; + } + if (isStart) { + if (node == bookmark.end) { + return false; + } + var knode = K(node); + if (_inPreElement(knode)) { + return; + } + if (knode.type == 3 && _trim(node.nodeValue).length > 0) { + var parent; + while ((parent = knode.parent()) && parent.isStyle() && parent.children().length == 1) { + knode = parent; + } + _wrapNode(knode, wrapper); + } + } + }); + range.moveToBookmark(bookmark); + return self; + }, + split : function(isStart, map) { + var range = this.range, doc = range.doc; + var tempRange = range.cloneRange().collapse(isStart); + var node = tempRange.startContainer, pos = tempRange.startOffset, + parent = node.nodeType == 3 ? node.parentNode : node, + needSplit = false, knode; + while (parent && parent.parentNode) { + knode = K(parent); + if (map) { + if (!knode.isStyle()) { + break; + } + if (!_hasAttrOrCss(knode, map)) { + break; + } + } else { + if (_NOSPLIT_TAG_MAP[knode.name]) { + break; + } + } + needSplit = true; + parent = parent.parentNode; + } + if (needSplit) { + var dummy = doc.createElement('span'); + range.cloneRange().collapse(!isStart).insertNode(dummy); + if (isStart) { + tempRange.setStartBefore(parent.firstChild).setEnd(node, pos); + } else { + tempRange.setStart(node, pos).setEndAfter(parent.lastChild); + } + var frag = tempRange.extractContents(), + first = frag.firstChild, last = frag.lastChild; + if (isStart) { + tempRange.insertNode(frag); + range.setStartAfter(last).setEndBefore(dummy); + } else { + parent.appendChild(frag); + range.setStartBefore(dummy).setEndBefore(first); + } + var dummyParent = dummy.parentNode; + if (dummyParent == range.endContainer) { + var prev = K(dummy).prev(), next = K(dummy).next(); + if (prev && next && prev.type == 3 && next.type == 3) { + range.setEnd(prev[0], prev[0].nodeValue.length); + } else if (!isStart) { + range.setEnd(range.endContainer, range.endOffset - 1); + } + } + dummyParent.removeChild(dummy); + } + return this; + }, + remove : function(map) { + var self = this, doc = self.doc, range = self.range; + range.enlarge(); + if (range.startOffset === 0) { + var ksc = K(range.startContainer), parent; + while ((parent = ksc.parent()) && parent.isStyle() && parent.children().length == 1) { + ksc = parent; + } + range.setStart(ksc[0], 0); + ksc = K(range.startContainer); + if (ksc.isBlock()) { + _removeAttrOrCss(ksc, map); + } + var kscp = ksc.parent(); + if (kscp && kscp.isBlock()) { + _removeAttrOrCss(kscp, map); + } + } + var sc, so; + if (range.collapsed) { + self.split(true, map); + sc = range.startContainer; + so = range.startOffset; + if (so > 0) { + var sb = K(sc.childNodes[so - 1]); + if (sb && _isEmptyNode(sb)) { + sb.remove(); + range.setStart(sc, so - 1); + } + } + var sa = K(sc.childNodes[so]); + if (sa && _isEmptyNode(sa)) { + sa.remove(); + } + if (_isEmptyNode(sc)) { + range.startBefore(sc); + sc.remove(); + } + range.collapse(true); + return self; + } + self.split(true, map); + self.split(false, map); + var startDummy = doc.createElement('span'), endDummy = doc.createElement('span'); + range.cloneRange().collapse(false).insertNode(endDummy); + range.cloneRange().collapse(true).insertNode(startDummy); + var nodeList = [], cmpStart = false; + K(range.commonAncestor()).scan(function(node) { + if (!cmpStart && node == startDummy) { + cmpStart = true; + return; + } + if (node == endDummy) { + return false; + } + if (cmpStart) { + nodeList.push(node); + } + }); + K(startDummy).remove(); + K(endDummy).remove(); + sc = range.startContainer; + so = range.startOffset; + var ec = range.endContainer, eo = range.endOffset; + if (so > 0) { + var startBefore = K(sc.childNodes[so - 1]); + if (startBefore && _isEmptyNode(startBefore)) { + startBefore.remove(); + range.setStart(sc, so - 1); + if (sc == ec) { + range.setEnd(ec, eo - 1); + } + } + var startAfter = K(sc.childNodes[so]); + if (startAfter && _isEmptyNode(startAfter)) { + startAfter.remove(); + if (sc == ec) { + range.setEnd(ec, eo - 1); + } + } + } + var endAfter = K(ec.childNodes[range.endOffset]); + if (endAfter && _isEmptyNode(endAfter)) { + endAfter.remove(); + } + var bookmark = range.createBookmark(true); + _each(nodeList, function(i, node) { + _removeAttrOrCss(K(node), map); + }); + range.moveToBookmark(bookmark); + return self; + }, + commonNode : function(map) { + var range = this.range; + var ec = range.endContainer, eo = range.endOffset, + node = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1]; + function find(node) { + var child = node, parent = node; + while (parent) { + if (_hasAttrOrCss(K(parent), map)) { + return K(parent); + } + parent = parent.parentNode; + } + while (child && (child = child.lastChild)) { + if (_hasAttrOrCss(K(child), map)) { + return K(child); + } + } + return null; + } + var cNode = find(node); + if (cNode) { + return cNode; + } + if (node.nodeType == 1 || (ec.nodeType == 3 && eo === 0)) { + var prev = K(node).prev(); + if (prev) { + return find(prev); + } + } + return null; + }, + commonAncestor : function(tagName) { + var range = this.range, + sc = range.startContainer, so = range.startOffset, + ec = range.endContainer, eo = range.endOffset, + startNode = (sc.nodeType == 3 || so === 0) ? sc : sc.childNodes[so - 1], + endNode = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1]; + function find(node) { + while (node) { + if (node.nodeType == 1) { + if (node.tagName.toLowerCase() === tagName) { + return node; + } + } + node = node.parentNode; + } + return null; + } + var start = find(startNode), end = find(endNode); + if (start && end && start === end) { + return K(start); + } + return null; + }, + state : function(key) { + var self = this, doc = self.doc, bool = false; + try { + bool = doc.queryCommandState(key); + } catch (e) {} + return bool; + }, + val : function(key) { + var self = this, doc = self.doc, range = self.range; + function lc(val) { + return val.toLowerCase(); + } + key = lc(key); + var val = '', knode; + if (key === 'fontfamily' || key === 'fontname') { + val = _nativeCommandValue(doc, 'fontname'); + val = val.replace(/['"]/g, ''); + return lc(val); + } + if (key === 'formatblock') { + val = _nativeCommandValue(doc, key); + if (val === '') { + knode = self.commonNode({'h1,h2,h3,h4,h5,h6,p,div,pre,address' : '*'}); + if (knode) { + val = knode.name; + } + } + if (val === 'Normal') { + val = 'p'; + } + return lc(val); + } + if (key === 'fontsize') { + knode = self.commonNode({'*' : '.font-size'}); + if (knode) { + val = knode.css('font-size'); + } + return lc(val); + } + if (key === 'forecolor') { + knode = self.commonNode({'*' : '.color'}); + if (knode) { + val = knode.css('color'); + } + val = _toHex(val); + if (val === '') { + val = 'default'; + } + return lc(val); + } + if (key === 'hilitecolor') { + knode = self.commonNode({'*' : '.background-color'}); + if (knode) { + val = knode.css('background-color'); + } + val = _toHex(val); + if (val === '') { + val = 'default'; + } + return lc(val); + } + return val; + }, + toggle : function(wrapper, map) { + var self = this; + if (self.commonNode(map)) { + self.remove(map); + } else { + self.wrap(wrapper); + } + return self.select(); + }, + bold : function() { + return this.toggle('', { + span : '.font-weight=bold', + strong : '*', + b : '*' + }); + }, + italic : function() { + return this.toggle('', { + span : '.font-style=italic', + em : '*', + i : '*' + }); + }, + underline : function() { + return this.toggle('', { + span : '.text-decoration=underline', + u : '*' + }); + }, + strikethrough : function() { + return this.toggle('', { + span : '.text-decoration=line-through', + s : '*' + }); + }, + forecolor : function(val) { + return this.toggle('', { + span : '.color=' + val, + font : 'color' + }); + }, + hilitecolor : function(val) { + return this.toggle('', { + span : '.background-color=' + val + }); + }, + fontsize : function(val) { + return this.toggle('', { + span : '.font-size=' + val, + font : 'size' + }); + }, + fontname : function(val) { + return this.fontfamily(val); + }, + fontfamily : function(val) { + return this.toggle('', { + span : '.font-family=' + val, + font : 'face' + }); + }, + removeformat : function() { + var map = { + '*' : '.font-weight,.font-style,.text-decoration,.color,.background-color,.font-size,.font-family,.text-indent' + }, + tags = _STYLE_TAG_MAP; + _each(tags, function(key, val) { + map[key] = '*'; + }); + this.remove(map); + return this.select(); + }, + inserthtml : function(val, quickMode) { + var self = this, range = self.range; + if (val === '') { + return self; + } + if (_inPreElement(K(range.startContainer))) { + return self; + } + function pasteHtml(range, val) { + val = '' + val; + var rng = range.get(); + if (rng.item) { + rng.item(0).outerHTML = val; + } else { + rng.pasteHTML(val); + } + var temp = range.doc.getElementById('__kindeditor_temp_tag__'); + temp.parentNode.removeChild(temp); + var newRange = _toRange(rng); + range.setEnd(newRange.endContainer, newRange.endOffset); + range.collapse(false); + self.select(false); + } + function insertHtml(range, val) { + var doc = range.doc, + frag = doc.createDocumentFragment(); + K('@' + val, doc).each(function() { + frag.appendChild(this); + }); + range.deleteContents(); + range.insertNode(frag); + range.collapse(false); + self.select(false); + } + if (_IE && quickMode) { + try { + pasteHtml(range, val); + } catch(e) { + insertHtml(range, val); + } + return self; + } + insertHtml(range, val); + return self; + }, + hr : function() { + return this.inserthtml('
'); + }, + print : function() { + this.win.print(); + return this; + }, + insertimage : function(url, title, width, height, border, align) { + title = _undef(title, ''); + border = _undef(border, 0); + var html = ''; + return self.inserthtml(html); + } + if (range.isControl()) { + var node = K(range.startContainer.childNodes[range.startOffset]); + html += '>'; + node.after(K(html, doc)); + node.next().append(node); + range.selectNode(node[0]); + return self.select(); + } + _nativeCommand(doc, 'createlink', '__kindeditor_temp_url__'); + K('a[href="__kindeditor_temp_url__"]', doc).each(function() { + K(this).attr('href', url).attr('data-ke-src', url); + if (type) { + K(this).attr('target', type); + } else { + K(this).removeAttr('target'); + } + }); + return self; + }, + unlink : function() { + var self = this, doc = self.doc, range = self.range; + self.select(); + if (range.collapsed) { + var a = self.commonNode({ a : '*' }); + if (a) { + range.selectNode(a.get()); + self.select(); + } + _nativeCommand(doc, 'unlink', null); + if (_WEBKIT && K(range.startContainer).name === 'img') { + var parent = K(range.startContainer).parent(); + if (parent.name === 'a') { + parent.remove(true); + } + } + } else { + _nativeCommand(doc, 'unlink', null); + } + return self; + } +}); +_each(('formatblock,selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,' + + 'insertunorderedlist,indent,outdent,subscript,superscript').split(','), function(i, name) { + KCmd.prototype[name] = function(val) { + var self = this; + self.select(); + _nativeCommand(self.doc, name, val); + if (!_IE || _inArray(name, 'formatblock,selectall,insertorderedlist,insertunorderedlist'.split(',')) >= 0) { + self.selection(); + } + return self; + }; +}); +_each('cut,copy,paste'.split(','), function(i, name) { + KCmd.prototype[name] = function() { + var self = this; + if (!self.doc.queryCommandSupported(name)) { + throw 'not supported'; + } + self.select(); + _nativeCommand(self.doc, name, null); + return self; + }; +}); +function _cmd(mixed) { + if (mixed.nodeName) { + var doc = _getDoc(mixed); + mixed = _range(doc).selectNodeContents(doc.body).collapse(false); + } + return new KCmd(mixed); +} +K.cmd = _cmd; +function _drag(options) { + var moveEl = options.moveEl, + moveFn = options.moveFn, + clickEl = options.clickEl || moveEl, + beforeDrag = options.beforeDrag, + iframeFix = options.iframeFix === undefined ? true : options.iframeFix; + var docs = [document], + poss = [{ x : 0, y : 0}], + listeners = []; + if (iframeFix) { + K('iframe').each(function() { + var doc; + try { + doc = _iframeDoc(this); + K(doc); + } catch(e) { + doc = null; + } + if (doc) { + docs.push(doc); + poss.push(K(this).pos()); + } + }); + } + clickEl.mousedown(function(e) { + var self = clickEl.get(), + x = _removeUnit(moveEl.css('left')), + y = _removeUnit(moveEl.css('top')), + width = moveEl.width(), + height = moveEl.height(), + pageX = e.pageX, + pageY = e.pageY, + dragging = true; + if (beforeDrag) { + beforeDrag(); + } + _each(docs, function(i, doc) { + function moveListener(e) { + if (dragging) { + var diffX = _round(poss[i].x + e.pageX - pageX), + diffY = _round(poss[i].y + e.pageY - pageY); + moveFn.call(clickEl, x, y, width, height, diffX, diffY); + } + e.stop(); + } + function selectListener(e) { + e.stop(); + } + function upListener(e) { + dragging = false; + if (self.releaseCapture) { + self.releaseCapture(); + } + _each(listeners, function() { + K(this.doc).unbind('mousemove', this.move) + .unbind('mouseup', this.up) + .unbind('selectstart', this.select); + }); + e.stop(); + } + K(doc).mousemove(moveListener) + .mouseup(upListener) + .bind('selectstart', selectListener); + listeners.push({ + doc : doc, + move : moveListener, + up : upListener, + select : selectListener + }); + }); + if (self.setCapture) { + self.setCapture(); + } + }); +} +function KWidget(options) { + this.init(options); +} +_extend(KWidget, { + init : function(options) { + var self = this; + self.name = options.name || ''; + self.doc = options.doc || document; + self.win = _getWin(self.doc); + self.x = _addUnit(options.x); + self.y = _addUnit(options.y); + self.z = options.z; + self.width = _addUnit(options.width); + self.height = _addUnit(options.height); + self.div = K('
'); + self.options = options; + self._alignEl = options.alignEl; + if (self.width) { + self.div.css('width', self.width); + } + if (self.height) { + self.div.css('height', self.height); + } + if (self.z) { + self.div.css({ + position : 'absolute', + left : self.x, + top : self.y, + 'z-index' : self.z + }); + } + if (self.z && (self.x === undefined || self.y === undefined)) { + self.autoPos(self.width, self.height); + } + if (options.cls) { + self.div.addClass(options.cls); + } + if (options.shadowMode) { + self.div.addClass('ke-shadow'); + } + if (options.css) { + self.div.css(options.css); + } + if (options.src) { + K(options.src).replaceWith(self.div); + } else { + K(self.doc.body).append(self.div); + } + if (options.html) { + self.div.html(options.html); + } + if (options.autoScroll) { + if (_IE && _V < 7 || _QUIRKS) { + var scrollPos = _getScrollPos(); + K(self.win).bind('scroll', function(e) { + var pos = _getScrollPos(), + diffX = pos.x - scrollPos.x, + diffY = pos.y - scrollPos.y; + self.pos(_removeUnit(self.x) + diffX, _removeUnit(self.y) + diffY, false); + }); + } else { + self.div.css('position', 'fixed'); + } + } + }, + pos : function(x, y, updateProp) { + var self = this; + updateProp = _undef(updateProp, true); + if (x !== null) { + x = x < 0 ? 0 : _addUnit(x); + self.div.css('left', x); + if (updateProp) { + self.x = x; + } + } + if (y !== null) { + y = y < 0 ? 0 : _addUnit(y); + self.div.css('top', y); + if (updateProp) { + self.y = y; + } + } + return self; + }, + autoPos : function(width, height) { + var self = this, + w = _removeUnit(width) || 0, + h = _removeUnit(height) || 0, + scrollPos = _getScrollPos(); + if (self._alignEl) { + var knode = K(self._alignEl), + pos = knode.pos(), + diffX = _round(knode[0].clientWidth / 2 - w / 2), + diffY = _round(knode[0].clientHeight / 2 - h / 2); + x = diffX < 0 ? pos.x : pos.x + diffX; + y = diffY < 0 ? pos.y : pos.y + diffY; + } else { + var docEl = _docElement(self.doc); + x = _round(scrollPos.x + (docEl.clientWidth - w) / 2); + y = _round(scrollPos.y + (docEl.clientHeight - h) / 2); + } + if (!(_IE && _V < 7 || _QUIRKS)) { + x -= scrollPos.x; + y -= scrollPos.y; + } + return self.pos(x, y); + }, + remove : function() { + var self = this; + if (_IE && _V < 7) { + K(self.win).unbind('scroll'); + } + self.div.remove(); + _each(self, function(i) { + self[i] = null; + }); + return this; + }, + show : function() { + this.div.show(); + return this; + }, + hide : function() { + this.div.hide(); + return this; + }, + draggable : function(options) { + var self = this; + options = options || {}; + options.moveEl = self.div; + options.moveFn = function(x, y, width, height, diffX, diffY) { + if ((x = x + diffX) < 0) { + x = 0; + } + if ((y = y + diffY) < 0) { + y = 0; + } + self.pos(x, y); + }; + _drag(options); + return self; + } +}); +function _widget(options) { + return new KWidget(options); +} +K.WidgetClass = KWidget; +K.widget = _widget; +function _iframeDoc(iframe) { + iframe = _get(iframe); + return iframe.contentDocument || iframe.contentWindow.document; +} +var html, _direction = ''; +if ((html = document.getElementsByTagName('html'))) { + _direction = html[0].dir; +} +function _getInitHtml(themesPath, bodyClass, cssPath, cssData) { + var arr = [ + (_direction === '' ? '' : ''), + 'KindEditor', + '' + ]; + if (!_isArray(cssPath)) { + cssPath = [cssPath]; + } + _each(cssPath, function(i, path) { + if (path) { + arr.push(''); + } + }); + if (cssData) { + arr.push(''); + } + arr.push(''); + return arr.join('\n'); +} +function _elementVal(knode, val) { + return knode.hasVal() ? knode.val(val) : knode.html(val); +} +function KEdit(options) { + this.init(options); +} +_extend(KEdit, KWidget, { + init : function(options) { + var self = this; + KEdit.parent.init.call(self, options); + self.srcElement = K(options.srcElement); + self.div.addClass('ke-edit'); + self.designMode = _undef(options.designMode, true); + self.beforeGetHtml = options.beforeGetHtml; + self.beforeSetHtml = options.beforeSetHtml; + self.afterSetHtml = options.afterSetHtml; + var themesPath = _undef(options.themesPath, ''), + bodyClass = options.bodyClass, + cssPath = options.cssPath, + cssData = options.cssData, + isDocumentDomain = location.host.replace(/:\d+/, '') !== document.domain, + srcScript = ('document.open();' + + (isDocumentDomain ? 'document.domain="' + document.domain + '";' : '') + + 'document.close();'), + iframeSrc = _IE ? ' src="javascript:void(function(){' + encodeURIComponent(srcScript) + '}())"' : ''; + self.iframe = K('').css('width', '100%'); + self.textarea = K('').css('width', '100%'); + if (self.width) { + self.setWidth(self.width); + } + if (self.height) { + self.setHeight(self.height); + } + if (self.designMode) { + self.textarea.hide(); + } else { + self.iframe.hide(); + } + function ready() { + var doc = _iframeDoc(self.iframe); + doc.open(); + if (isDocumentDomain) { + doc.domain = document.domain; + } + doc.write(_getInitHtml(themesPath, bodyClass, cssPath, cssData)); + doc.close(); + self.win = self.iframe[0].contentWindow; + self.doc = doc; + var cmd = _cmd(doc); + self.afterChange(function(e) { + cmd.selection(); + }); + if (_WEBKIT) { + K(doc).click(function(e) { + if (K(e.target).name === 'img') { + cmd.selection(true); + cmd.range.selectNode(e.target); + cmd.select(); + } + }); + } + if (_IE) { + K(doc).keydown(function(e) { + if (e.which == 8) { + cmd.selection(); + var rng = cmd.range; + if (rng.isControl()) { + rng.collapse(true); + K(rng.startContainer.childNodes[rng.startOffset]).remove(); + e.preventDefault(); + } + } + }); + } + self.cmd = cmd; + self.html(_elementVal(self.srcElement)); + if (_IE) { + doc.body.disabled = true; + doc.body.contentEditable = true; + doc.body.removeAttribute('disabled'); + } else { + doc.designMode = 'on'; + } + if (options.afterCreate) { + options.afterCreate.call(self); + } + } + if (isDocumentDomain) { + self.iframe.bind('load', function(e) { + self.iframe.unbind('load'); + if (_IE) { + ready(); + } else { + setTimeout(ready, 0); + } + }); + } + self.div.append(self.iframe); + self.div.append(self.textarea); + self.srcElement.hide(); + !isDocumentDomain && ready(); + }, + setWidth : function(val) { + this.div.css('width', _addUnit(val)); + return this; + }, + setHeight : function(val) { + var self = this; + val = _addUnit(val); + self.div.css('height', val); + self.iframe.css('height', val); + if ((_IE && _V < 8) || _QUIRKS) { + val = _addUnit(_removeUnit(val) - 2); + } + self.textarea.css('height', val); + return self; + }, + remove : function() { + var self = this, doc = self.doc; + K(doc.body).unbind(); + K(doc).unbind(); + K(self.win).unbind(); + _elementVal(self.srcElement, self.html()); + self.srcElement.show(); + doc.write(''); + self.iframe.unbind(); + self.textarea.unbind(); + KEdit.parent.remove.call(self); + }, + html : function(val, isFull) { + var self = this, doc = self.doc; + if (self.designMode) { + var body = doc.body; + if (val === undefined) { + if (isFull) { + val = '' + body.parentNode.innerHTML + ''; + } else { + val = body.innerHTML; + } + if (self.beforeGetHtml) { + val = self.beforeGetHtml(val); + } + if (_GECKO && val == '
') { + val = ''; + } + return val; + } + if (self.beforeSetHtml) { + val = self.beforeSetHtml(val); + } + K(body).html(val); + if (self.afterSetHtml) { + self.afterSetHtml(); + } + return self; + } + if (val === undefined) { + return self.textarea.val(); + } + self.textarea.val(val); + return self; + }, + design : function(bool) { + var self = this, val; + if (bool === undefined ? !self.designMode : bool) { + if (!self.designMode) { + val = self.html(); + self.designMode = true; + self.html(val); + self.textarea.hide(); + self.iframe.show(); + } + } else { + if (self.designMode) { + val = self.html(); + self.designMode = false; + self.html(val); + self.iframe.hide(); + self.textarea.show(); + } + } + return self.focus(); + }, + focus : function() { + var self = this; + self.designMode ? self.win.focus() : self.textarea[0].focus(); + return self; + }, + blur : function() { + var self = this; + if (_IE) { + var input = K('', self.div); + self.div.append(input); + input[0].focus(); + input.remove(); + } else { + self.designMode ? self.win.blur() : self.textarea[0].blur(); + } + return self; + }, + afterChange : function(fn) { + var self = this, doc = self.doc, body = doc.body; + K(doc).keyup(function(e) { + if (!e.ctrlKey && !e.altKey && _CHANGE_KEY_MAP[e.which]) { + fn(e); + } + }); + K(doc).mouseup(fn).contextmenu(fn); + K(self.win).blur(fn); + function timeoutHandler(e) { + setTimeout(function() { + fn(e); + }, 1); + } + K(body).bind('paste', timeoutHandler); + K(body).bind('cut', timeoutHandler); + return self; + } +}); +function _edit(options) { + return new KEdit(options); +} +K.edit = _edit; +K.iframeDoc = _iframeDoc; +function _selectToolbar(name, fn) { + var self = this, + knode = self.get(name); + if (knode) { + if (knode.hasClass('ke-disabled')) { + return; + } + fn(knode); + } +} +function KToolbar(options) { + this.init(options); +} +_extend(KToolbar, KWidget, { + init : function(options) { + var self = this; + KToolbar.parent.init.call(self, options); + self.disableMode = _undef(options.disableMode, false); + self.noDisableItemMap = _toMap(_undef(options.noDisableItems, [])); + self._itemMap = {}; + self.div.addClass('ke-toolbar').bind('contextmenu,mousedown,mousemove', function(e) { + e.preventDefault(); + }).attr('unselectable', 'on'); + function find(target) { + var knode = K(target); + if (knode.hasClass('ke-outline')) { + return knode; + } + if (knode.hasClass('ke-toolbar-icon')) { + return knode.parent(); + } + } + function hover(e, method) { + var knode = find(e.target); + if (knode) { + if (knode.hasClass('ke-disabled')) { + return; + } + if (knode.hasClass('ke-selected')) { + return; + } + knode[method]('ke-on'); + } + } + self.div.mouseover(function(e) { + hover(e, 'addClass'); + }) + .mouseout(function(e) { + hover(e, 'removeClass'); + }) + .click(function(e) { + var knode = find(e.target); + if (knode) { + if (knode.hasClass('ke-disabled')) { + return; + } + self.options.click.call(this, e, knode.attr('data-name')); + } + }); + }, + get : function(name) { + if (this._itemMap[name]) { + return this._itemMap[name]; + } + return (this._itemMap[name] = K('span.ke-icon-' + name, this.div).parent()); + }, + select : function(name) { + _selectToolbar.call(this, name, function(knode) { + knode.addClass('ke-selected'); + }); + return self; + }, + unselect : function(name) { + _selectToolbar.call(this, name, function(knode) { + knode.removeClass('ke-selected').removeClass('ke-on'); + }); + return self; + }, + enable : function(name) { + var self = this, + knode = name.get ? name : self.get(name); + if (knode) { + knode.removeClass('ke-disabled'); + knode.opacity(1); + } + return self; + }, + disable : function(name) { + var self = this, + knode = name.get ? name : self.get(name); + if (knode) { + knode.removeClass('ke-selected').addClass('ke-disabled'); + knode.opacity(0.5); + } + return self; + }, + disableAll : function(bool, noDisableItems) { + var self = this, map = self.noDisableItemMap, item; + if (noDisableItems) { + map = _toMap(noDisableItems); + } + if (bool === undefined ? !self.disableMode : bool) { + K('span.ke-outline', self.div).each(function() { + var knode = K(this), + name = knode[0].getAttribute('data-name', 2); + if (!map[name]) { + self.disable(knode); + } + }); + self.disableMode = true; + } else { + K('span.ke-outline', self.div).each(function() { + var knode = K(this), + name = knode[0].getAttribute('data-name', 2); + if (!map[name]) { + self.enable(knode); + } + }); + self.disableMode = false; + } + return self; + } +}); +function _toolbar(options) { + return new KToolbar(options); +} +K.toolbar = _toolbar; +function KMenu(options) { + this.init(options); +} +_extend(KMenu, KWidget, { + init : function(options) { + var self = this; + options.z = options.z || 811213; + KMenu.parent.init.call(self, options); + self.centerLineMode = _undef(options.centerLineMode, true); + self.div.addClass('ke-menu').bind('click,mousedown', function(e){ + e.stopPropagation(); + }).attr('unselectable', 'on'); + }, + addItem : function(item) { + var self = this; + if (item.title === '-') { + self.div.append(K('
')); + return; + } + var itemDiv = K('
'), + leftDiv = K('
'), + rightDiv = K('
'), + height = _addUnit(item.height), + iconClass = _undef(item.iconClass, ''); + self.div.append(itemDiv); + if (height) { + itemDiv.css('height', height); + rightDiv.css('line-height', height); + } + var centerDiv; + if (self.centerLineMode) { + centerDiv = K('
'); + if (height) { + centerDiv.css('height', height); + } + } + itemDiv.mouseover(function(e) { + K(this).addClass('ke-menu-item-on'); + if (centerDiv) { + centerDiv.addClass('ke-menu-item-center-on'); + } + }) + .mouseout(function(e) { + K(this).removeClass('ke-menu-item-on'); + if (centerDiv) { + centerDiv.removeClass('ke-menu-item-center-on'); + } + }) + .click(function(e) { + item.click.call(K(this)); + e.stopPropagation(); + }) + .append(leftDiv); + if (centerDiv) { + itemDiv.append(centerDiv); + } + itemDiv.append(rightDiv); + if (item.checked) { + iconClass = 'ke-icon-checked'; + } + if (iconClass !== '') { + leftDiv.html(''); + } + rightDiv.html(item.title); + return self; + }, + remove : function() { + var self = this; + if (self.options.beforeRemove) { + self.options.beforeRemove.call(self); + } + K('.ke-menu-item', self.div[0]).unbind(); + KMenu.parent.remove.call(self); + return self; + } +}); +function _menu(options) { + return new KMenu(options); +} +K.menu = _menu; +function KColorPicker(options) { + this.init(options); +} +_extend(KColorPicker, KWidget, { + init : function(options) { + var self = this; + options.z = options.z || 811213; + KColorPicker.parent.init.call(self, options); + var colors = options.colors || [ + ['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'], + ['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'], + ['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'], + ['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000'] + ]; + self.selectedColor = (options.selectedColor || '').toLowerCase(); + self._cells = []; + self.div.addClass('ke-colorpicker').bind('click,mousedown', function(e){ + e.stopPropagation(); + }).attr('unselectable', 'on'); + var table = self.doc.createElement('table'); + self.div.append(table); + table.className = 'ke-colorpicker-table'; + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + var row = table.insertRow(0), cell = row.insertCell(0); + cell.colSpan = colors[0].length; + self._addAttr(cell, '', 'ke-colorpicker-cell-top'); + for (var i = 0; i < colors.length; i++) { + row = table.insertRow(i + 1); + for (var j = 0; j < colors[i].length; j++) { + cell = row.insertCell(j); + self._addAttr(cell, colors[i][j], 'ke-colorpicker-cell'); + } + } + }, + _addAttr : function(cell, color, cls) { + var self = this; + cell = K(cell).addClass(cls); + if (self.selectedColor === color.toLowerCase()) { + cell.addClass('ke-colorpicker-cell-selected'); + } + cell.attr('title', color || self.options.noColor); + cell.mouseover(function(e) { + K(this).addClass('ke-colorpicker-cell-on'); + }); + cell.mouseout(function(e) { + K(this).removeClass('ke-colorpicker-cell-on'); + }); + cell.click(function(e) { + e.stop(); + self.options.click.call(K(this), color); + }); + if (color) { + cell.append(K('
').css('background-color', color)); + } else { + cell.html(self.options.noColor); + } + K(cell).attr('unselectable', 'on'); + self._cells.push(cell); + }, + remove : function() { + var self = this; + _each(self._cells, function() { + this.unbind(); + }); + KColorPicker.parent.remove.call(self); + return self; + } +}); +function _colorpicker(options) { + return new KColorPicker(options); +} +K.colorpicker = _colorpicker; +function KUploadButton(options) { + this.init(options); +} +_extend(KUploadButton, { + init : function(options) { + var self = this, + button = K(options.button), + fieldName = options.fieldName || 'file', + url = options.url || '', + title = button.val(), + cls = button[0].className || '', + target = options.target || 'kindeditor_upload_iframe_' + new Date().getTime(); + options.afterError = options.afterError || function(str) { + alert(str); + }; + var html = [ + '
', + (options.target ? '' : ''), + (options.form ? '
' : '
'), + '', + '', + '', + '', + (options.form ? '
' : ''), + '
'].join(''); + var div = K(html, button.doc); + button.hide(); + button.before(div); + self.div = div; + self.button = button; + self.iframe = options.target ? K('iframe[name="' + target + '"]') : K('iframe', div); + self.form = options.form ? K(options.form) : K('form', div); + var width = options.width || K('.ke-button-common', div).width(); + self.fileBox = K('.ke-upload-file', div).width(width); + self.options = options; + }, + submit : function() { + var self = this, + iframe = self.iframe; + iframe.bind('load', function() { + iframe.unbind(); + var tempForm = document.createElement('form'); + self.fileBox.before(tempForm); + K(tempForm).append(self.fileBox); + tempForm.reset(); + K(tempForm).remove(true); + var doc = K.iframeDoc(iframe), + pre = doc.getElementsByTagName('pre')[0], + str = '', data; + if (pre) { + str = pre.innerHTML; + } else { + str = doc.body.innerHTML; + } + iframe[0].src = 'javascript:false'; + try { + data = K.json(str); + } catch (e) { + self.options.afterError.call(self, '' + doc.body.parentNode.innerHTML + ''); + } + if (data) { + self.options.afterUpload.call(self, data); + } + }); + self.form[0].submit(); + return self; + }, + remove : function() { + var self = this; + if (self.fileBox) { + self.fileBox.unbind(); + } + self.iframe.remove(); + self.div.remove(); + self.button.show(); + return self; + } +}); +function _uploadbutton(options) { + return new KUploadButton(options); +} +K.uploadbutton = _uploadbutton; +function _createButton(arg) { + arg = arg || {}; + var name = arg.name || '', + span = K(''), + btn = K(''); + if (arg.click) { + btn.click(arg.click); + } + span.append(btn); + return span; +} +function KDialog(options) { + this.init(options); +} +_extend(KDialog, KWidget, { + init : function(options) { + var self = this; + var shadowMode = _undef(options.shadowMode, true); + options.z = options.z || 811213; + options.shadowMode = false; + KDialog.parent.init.call(self, options); + var title = options.title, + body = K(options.body, self.doc), + previewBtn = options.previewBtn, + yesBtn = options.yesBtn, + noBtn = options.noBtn, + closeBtn = options.closeBtn, + showMask = _undef(options.showMask, true); + self.div.addClass('ke-dialog').bind('click,mousedown', function(e){ + e.stopPropagation(); + }); + var contentDiv = K('
').appendTo(self.div); + if (_IE && _V < 7) { + self.iframeMask = K('').appendTo(self.div); + } else if (shadowMode) { + K('
').appendTo(self.div); + } + var headerDiv = K('
'); + contentDiv.append(headerDiv); + headerDiv.html(title); + self.closeIcon = K('').click(closeBtn.click); + headerDiv.append(self.closeIcon); + self.draggable({ + clickEl : headerDiv, + beforeDrag : options.beforeDrag + }); + var bodyDiv = K('
'); + contentDiv.append(bodyDiv); + bodyDiv.append(body); + var footerDiv = K(''); + if (previewBtn || yesBtn || noBtn) { + contentDiv.append(footerDiv); + } + _each([ + { btn : previewBtn, name : 'preview' }, + { btn : yesBtn, name : 'yes' }, + { btn : noBtn, name : 'no' } + ], function() { + if (this.btn) { + var button = _createButton(this.btn); + button.addClass('ke-dialog-' + this.name); + footerDiv.append(button); + } + }); + if (self.height) { + bodyDiv.height(_removeUnit(self.height) - headerDiv.height() - footerDiv.height()); + } + self.div.width(self.div.width()); + self.div.height(self.div.height()); + self.mask = null; + if (showMask) { + var docEl = _docElement(self.doc), + docWidth = Math.max(docEl.scrollWidth, docEl.clientWidth), + docHeight = Math.max(docEl.scrollHeight, docEl.clientHeight); + self.mask = _widget({ + x : 0, + y : 0, + z : self.z - 1, + cls : 'ke-dialog-mask', + width : docWidth, + height : docHeight + }); + } + self.autoPos(self.div.width(), self.div.height()); + self.footerDiv = footerDiv; + self.bodyDiv = bodyDiv; + self.headerDiv = headerDiv; + self.isLoading = false; + }, + setMaskIndex : function(z) { + var self = this; + self.mask.div.css('z-index', z); + }, + showLoading : function(msg) { + msg = _undef(msg, ''); + var self = this, body = self.bodyDiv; + self.loading = K('
' + msg + '
') + .width(body.width()).height(body.height()) + .css('top', self.headerDiv.height() + 'px'); + body.css('visibility', 'hidden').after(self.loading); + self.isLoading = true; + return self; + }, + hideLoading : function() { + this.loading && this.loading.remove(); + this.bodyDiv.css('visibility', 'visible'); + this.isLoading = false; + return this; + }, + remove : function() { + var self = this; + if (self.options.beforeRemove) { + self.options.beforeRemove.call(self); + } + self.mask && self.mask.remove(); + self.iframeMask && self.iframeMask.remove(); + self.closeIcon.unbind(); + K('input', self.div).unbind(); + K('button', self.div).unbind(); + self.footerDiv.unbind(); + self.bodyDiv.unbind(); + self.headerDiv.unbind(); + K('iframe', self.div).each(function() { + K(this).remove(); + }); + KDialog.parent.remove.call(self); + return self; + } +}); +function _dialog(options) { + return new KDialog(options); +} +K.dialog = _dialog; +function _tabs(options) { + var self = _widget(options), + remove = self.remove, + afterSelect = options.afterSelect, + div = self.div, + liList = []; + div.addClass('ke-tabs') + .bind('contextmenu,mousedown,mousemove', function(e) { + e.preventDefault(); + }); + var ul = K('
    '); + div.append(ul); + self.add = function(tab) { + var li = K('
  • ' + tab.title + '
  • '); + li.data('tab', tab); + liList.push(li); + ul.append(li); + }; + self.selectedIndex = 0; + self.select = function(index) { + self.selectedIndex = index; + _each(liList, function(i, li) { + li.unbind(); + if (i === index) { + li.addClass('ke-tabs-li-selected'); + K(li.data('tab').panel).show(''); + } else { + li.removeClass('ke-tabs-li-selected').removeClass('ke-tabs-li-on') + .mouseover(function() { + K(this).addClass('ke-tabs-li-on'); + }) + .mouseout(function() { + K(this).removeClass('ke-tabs-li-on'); + }) + .click(function() { + self.select(i); + }); + K(li.data('tab').panel).hide(); + } + }); + if (afterSelect) { + afterSelect.call(self, index); + } + }; + self.remove = function() { + _each(liList, function() { + this.remove(); + }); + ul.remove(); + remove.call(self); + }; + return self; +} +K.tabs = _tabs; +function _loadScript(url, fn) { + var head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement), + script = document.createElement('script'); + head.appendChild(script); + script.src = url; + script.charset = 'utf-8'; + script.onload = script.onreadystatechange = function() { + if (!this.readyState || this.readyState === 'loaded') { + if (fn) { + fn(); + } + script.onload = script.onreadystatechange = null; + head.removeChild(script); + } + }; +} +function _chopQuery(url) { + var index = url.indexOf('?'); + return index > 0 ? url.substr(0, index) : url; +} +function _loadStyle(url) { + var head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement), + link = document.createElement('link'), + absoluteUrl = _chopQuery(_formatUrl(url, 'absolute')); + var links = K('link[rel="stylesheet"]', head); + for (var i = 0, len = links.length; i < len; i++) { + if (_chopQuery(_formatUrl(links[i].href, 'absolute')) === absoluteUrl) { + return; + } + } + head.appendChild(link); + link.href = url; + link.rel = 'stylesheet'; +} +function _ajax(url, fn, method, param, dataType) { + method = method || 'GET'; + dataType = dataType || 'json'; + var xhr = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); + xhr.open(method, url, true); + xhr.onreadystatechange = function () { + if (xhr.readyState == 4 && xhr.status == 200) { + if (fn) { + var data = _trim(xhr.responseText); + if (dataType == 'json') { + data = _json(data); + } + fn(data); + } + } + }; + if (method == 'POST') { + var params = []; + _each(param, function(key, val) { + params.push(encodeURIComponent(key) + '=' + encodeURIComponent(val)); + }); + try { + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + } catch (e) {} + xhr.send(params.join('&')); + } else { + xhr.send(null); + } +} +K.loadScript = _loadScript; +K.loadStyle = _loadStyle; +K.ajax = _ajax; +var _plugins = {}; +function _plugin(name, fn) { + if (name === undefined) { + return _plugins; + } + if (!fn) { + return _plugins[name]; + } + _plugins[name] = fn; +} +var _language = {}; +function _parseLangKey(key) { + var match, ns = 'core'; + if ((match = /^(\w+)\.(\w+)$/.exec(key))) { + ns = match[1]; + key = match[2]; + } + return { ns : ns, key : key }; +} +function _lang(mixed, langType) { + langType = langType === undefined ? K.options.langType : langType; + if (typeof mixed === 'string') { + if (!_language[langType]) { + return 'no language'; + } + var pos = mixed.length - 1; + if (mixed.substr(pos) === '.') { + return _language[langType][mixed.substr(0, pos)]; + } + var obj = _parseLangKey(mixed); + return _language[langType][obj.ns][obj.key]; + } + _each(mixed, function(key, val) { + var obj = _parseLangKey(key); + if (!_language[langType]) { + _language[langType] = {}; + } + if (!_language[langType][obj.ns]) { + _language[langType][obj.ns] = {}; + } + _language[langType][obj.ns][obj.key] = val; + }); +} +function _getImageFromRange(range, fn) { + if (range.collapsed) { + return; + } + range = range.cloneRange().up(); + var sc = range.startContainer, so = range.startOffset; + if (!_WEBKIT && !range.isControl()) { + return; + } + var img = K(sc.childNodes[so]); + if (!img || img.name != 'img') { + return; + } + if (fn(img)) { + return img; + } +} +function _bindContextmenuEvent() { + var self = this, doc = self.edit.doc; + K(doc).contextmenu(function(e) { + if (self.menu) { + self.hideMenu(); + } + if (!self.useContextmenu) { + e.preventDefault(); + return; + } + if (self._contextmenus.length === 0) { + return; + } + var maxWidth = 0, items = []; + _each(self._contextmenus, function() { + if (this.title == '-') { + items.push(this); + return; + } + if (this.cond && this.cond()) { + items.push(this); + if (this.width && this.width > maxWidth) { + maxWidth = this.width; + } + } + }); + while (items.length > 0 && items[0].title == '-') { + items.shift(); + } + while (items.length > 0 && items[items.length - 1].title == '-') { + items.pop(); + } + var prevItem = null; + _each(items, function(i) { + if (this.title == '-' && prevItem.title == '-') { + delete items[i]; + } + prevItem = this; + }); + if (items.length > 0) { + e.preventDefault(); + var pos = K(self.edit.iframe).pos(), + menu = _menu({ + x : pos.x + e.clientX, + y : pos.y + e.clientY, + width : maxWidth, + css : { visibility: 'hidden' }, + shadowMode : self.shadowMode + }); + _each(items, function() { + if (this.title) { + menu.addItem(this); + } + }); + var docEl = _docElement(menu.doc), + menuHeight = menu.div.height(); + if (e.clientY + menuHeight >= docEl.clientHeight - 100) { + menu.pos(menu.x, _removeUnit(menu.y) - menuHeight); + } + menu.div.css('visibility', 'visible'); + self.menu = menu; + } + }); +} +function _bindNewlineEvent() { + var self = this, doc = self.edit.doc, newlineTag = self.newlineTag; + if (_IE && newlineTag !== 'br') { + return; + } + if (_GECKO && _V < 3 && newlineTag !== 'p') { + return; + } + if (_OPERA && _V < 9) { + return; + } + var brSkipTagMap = _toMap('h1,h2,h3,h4,h5,h6,pre,li'), + pSkipTagMap = _toMap('p,h1,h2,h3,h4,h5,h6,pre,li,blockquote'); + function getAncestorTagName(range) { + var ancestor = K(range.commonAncestor()); + while (ancestor) { + if (ancestor.type == 1 && !ancestor.isStyle()) { + break; + } + ancestor = ancestor.parent(); + } + return ancestor.name; + } + K(doc).keydown(function(e) { + if (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) { + return; + } + self.cmd.selection(); + var tagName = getAncestorTagName(self.cmd.range); + if (tagName == 'marquee' || tagName == 'select') { + return; + } + if (newlineTag === 'br' && !brSkipTagMap[tagName]) { + e.preventDefault(); + self.insertHtml('
    ' + (_IE && _V < 9 ? '' : '\u200B')); + return; + } + if (!pSkipTagMap[tagName]) { + _nativeCommand(doc, 'formatblock', '

    '); + } + }); + K(doc).keyup(function(e) { + if (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) { + return; + } + if (newlineTag == 'br') { + return; + } + self.cmd.selection(); + var tagName = getAncestorTagName(self.cmd.range); + if (tagName == 'marquee' || tagName == 'select') { + return; + } + if (!pSkipTagMap[tagName]) { + _nativeCommand(doc, 'formatblock', '

    '); + } + var div = self.cmd.commonAncestor('div'); + if (div) { + var p = K('

    '), + child = div[0].firstChild; + while (child) { + var next = child.nextSibling; + p.append(child); + child = next; + } + div.before(p); + div.remove(); + self.cmd.range.selectNodeContents(p[0]); + self.cmd.select(); + } + }); +} +function _bindTabEvent() { + var self = this, doc = self.edit.doc; + K(doc).keydown(function(e) { + if (e.which == 9) { + e.preventDefault(); + if (self.afterTab) { + self.afterTab.call(self, e); + return; + } + var cmd = self.cmd, range = cmd.range; + range.shrink(); + if (range.collapsed && range.startContainer.nodeType == 1) { + range.insertNode(K('@ ', doc)[0]); + cmd.select(); + } + self.insertHtml('    '); + } + }); +} +function _bindFocusEvent() { + var self = this; + K(self.edit.textarea[0], self.edit.win).focus(function(e) { + if (self.afterFocus) { + self.afterFocus.call(self, e); + } + }).blur(function(e) { + if (self.afterBlur) { + self.afterBlur.call(self, e); + } + }); +} +function _removeBookmarkTag(html) { + return _trim(html.replace(/]*id="?__kindeditor_bookmark_\w+_\d+__"?[^>]*><\/span>/ig, '')); +} +function _removeTempTag(html) { + return html.replace(/]+class="?__kindeditor_paste__"?[^>]*>[\s\S]*?<\/div>/ig, ''); +} +function _addBookmarkToStack(stack, bookmark) { + if (stack.length === 0) { + stack.push(bookmark); + return; + } + var prev = stack[stack.length - 1]; + if (_removeBookmarkTag(bookmark.html) !== _removeBookmarkTag(prev.html)) { + stack.push(bookmark); + } +} +function _undoToRedo(fromStack, toStack) { + var self = this, edit = self.edit, + body = edit.doc.body, + range, bookmark; + if (fromStack.length === 0) { + return self; + } + if (edit.designMode) { + range = self.cmd.range; + bookmark = range.createBookmark(true); + bookmark.html = body.innerHTML; + } else { + bookmark = { + html : body.innerHTML + }; + } + _addBookmarkToStack(toStack, bookmark); + var prev = fromStack.pop(); + if (_removeBookmarkTag(bookmark.html) === _removeBookmarkTag(prev.html) && fromStack.length > 0) { + prev = fromStack.pop(); + } + if (edit.designMode) { + edit.html(prev.html); + if (prev.start) { + range.moveToBookmark(prev); + self.select(); + } + } else { + K(body).html(_removeBookmarkTag(prev.html)); + } + return self; +} +function KEditor(options) { + var self = this; + self.options = {}; + function setOption(key, val) { + if (KEditor.prototype[key] === undefined) { + self[key] = val; + } + self.options[key] = val; + } + _each(options, function(key, val) { + setOption(key, options[key]); + }); + _each(K.options, function(key, val) { + if (self[key] === undefined) { + setOption(key, val); + } + }); + var se = K(self.srcElement || '', + '
    '].join(''), + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var type = K('.ke-code-type', dialog.div).val(), + code = textarea.val(), + cls = type === '' ? '' : ' lang-' + type, + html = '
    \n' + K.escape(code) + '
    '; + self.insertHtml(html).hideDialog().focus(); + } + } + }), + textarea = K('textarea', dialog.div); + textarea[0].focus(); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/prettify.css b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/prettify.css new file mode 100755 index 000000000..d386a5f0a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/prettify.css @@ -0,0 +1,13 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} + +pre.prettyprint { + border: 0; + border-left: 3px solid rgb(204, 204, 204); + margin-left: 2em; + padding: 0.5em; + font-size: 110%; + display: block; + font-family: "Consolas", "Monaco", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; + margin: 1em 0px; + white-space: pre; +} diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/prettify.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/prettify.js new file mode 100755 index 000000000..ec2a488bd --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/code/prettify.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('emoticons', function(K) { + var self = this, name = 'emoticons', + path = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'), + allowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons, + currentPageNum = 1; + self.clickToolbar(name, function() { + var rows = 5, cols = 9, total = 135, startNum = 0, + cells = rows * cols, pages = Math.ceil(total / cells), + colsHalf = Math.floor(cols / 2), + wrapperDiv = K('
    '), + elements = [], + menu = self.createMenu({ + name : name, + beforeRemove : function() { + removeEvent(); + } + }); + menu.div.append(wrapperDiv); + var previewDiv, previewImg; + if (allowPreview) { + previewDiv = K('
    ').css('right', 0); + previewImg = K(''); + wrapperDiv.append(previewDiv); + previewDiv.append(previewImg); + } + function bindCellEvent(cell, j, num) { + if (previewDiv) { + cell.mouseover(function() { + if (j > colsHalf) { + previewDiv.css('left', 0); + previewDiv.css('right', ''); + } else { + previewDiv.css('left', ''); + previewDiv.css('right', 0); + } + previewImg.attr('src', path + num + '.gif'); + K(this).addClass('ke-on'); + }); + } else { + cell.mouseover(function() { + K(this).addClass('ke-on'); + }); + } + cell.mouseout(function() { + K(this).removeClass('ke-on'); + }); + cell.click(function(e) { + self.insertHtml('').hideMenu().focus(); + e.stop(); + }); + } + function createEmoticonsTable(pageNum, parentDiv) { + var table = document.createElement('table'); + parentDiv.append(table); + if (previewDiv) { + K(table).mouseover(function() { + previewDiv.show(); + }); + K(table).mouseout(function() { + previewDiv.hide(); + }); + elements.push(K(table)); + } + table.className = 'ke-table'; + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + var num = (pageNum - 1) * cells + startNum; + for (var i = 0; i < rows; i++) { + var row = table.insertRow(i); + for (var j = 0; j < cols; j++) { + var cell = K(row.insertCell(j)); + cell.addClass('ke-cell'); + bindCellEvent(cell, j, num); + var span = K('') + .css('background-position', '-' + (24 * num) + 'px 0px') + .css('background-image', 'url(' + path + 'static.gif)'); + cell.append(span); + elements.push(cell); + num++; + } + } + return table; + } + var table = createEmoticonsTable(currentPageNum, wrapperDiv); + function removeEvent() { + K.each(elements, function() { + this.unbind(); + }); + } + var pageDiv; + function bindPageEvent(el, pageNum) { + el.click(function(e) { + removeEvent(); + table.parentNode.removeChild(table); + pageDiv.remove(); + table = createEmoticonsTable(pageNum, wrapperDiv); + createPageTable(pageNum); + currentPageNum = pageNum; + e.stop(); + }); + } + function createPageTable(currentPageNum) { + pageDiv = K('
    '); + wrapperDiv.append(pageDiv); + for (var pageNum = 1; pageNum <= pages; pageNum++) { + if (currentPageNum !== pageNum) { + var a = K('[' + pageNum + ']'); + bindPageEvent(a, pageNum); + pageDiv.append(a); + elements.push(a); + } else { + pageDiv.append(K('@[' + pageNum + ']')); + } + pageDiv.append(K('@ ')); + } + } + createPageTable(currentPageNum); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/0.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/0.gif new file mode 100755 index 0000000000000000000000000000000000000000..5be27cb0ecf9a21240e151962f59f94a2ce361ad GIT binary patch literal 1810 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 Shl-B7SjC>-k*5?OVgCTyq&`gm literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/10.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/10.gif new file mode 100755 index 0000000000000000000000000000000000000000..905c15be3cee3fca3e8f0e48f0ffcfeb911def34 GIT binary patch literal 3716 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 R>#ZWQrxckyZhN#X{wJwfMcn`Z literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/100.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/100.gif new file mode 100755 index 0000000000000000000000000000000000000000..92ad35d2bf72018f7b5bec0b607625ccd29f42bd GIT binary patch literal 1780 zcmZwHdsLEV9Ki7x@Ri%Ef+C?=+)TlH%2JOmLGhM`nyy@Bd9PLLxN6Hv?bSM5|*tMqKmb=B#dWi@kY95vI!5>wMuCL?bhJwAUu|9(He=lO+4hWYuYPyhm?-PwZ?cV+Riot%>eBnKWr{ zZ@h?nmyvOfOfvZRv^;JxLeN!L_OldZf&`XK{^eq0VQu^YWvoWL9iK32 z6Ulgd79QVQh%Tc*$4ie+7z}NB0S{j36h%d6E6$zIjbFbd8NxtMG7vQ>Zn`RuU$c1q zl@8C^yZdyyuKw|-Ee%G4p}FaiPOsmcQ|jnI6&?~d|K0icg}$x3`{s>my~!C6%54Qt{{ zk;kQumybFJZ`a&>Kk=V&>d=jNL1;pJ2ro9&+rtZmFfq}`%&<5>1h|>*rXf)P0Ikar z!D2~Xet}dbFH|UtiltGB5SO#TRuvDO^n^IvPm36y0K^n9nE*3N=?*f57Xcv?icvav zGAY8fLJG6OUm@^Zg{)smG#3aqDwa55%`=Ez=2$12t%ZS35H^s|9j$jLkm8j(gqd1?R`b9U&P*SbPhKN#DNKv;F-h%RO)B680#`5Ib?)Zq$)QEzS?0>3!5k}r+Zgk)kehSk!?JYFX0 zfL6*UT!5FG(Gl2nw8i?{7xt@4j^uqLC|jK1(gK3YX@bUS0#o&@!83Qcsd>%-+(eOf zaRhS)f-X@0I6F?AoQuL*G^dxeY|okLPvdH!6q;Zdg_MPcZL5>Sc~|j|vbGhm<(fN1 zCCmhjR|zsSTQPj za933h!G%Y%Fq$jnRKi{$VdK91XvzwUs07)bb0s)NSWzs!mX9MXquYaa!QDAip%iO= zkAfZyn=kX$IBU?Ma!Z`IrVbV52nX5@(=gbm#A`d+?J-mJr1|gN__01OQ(mBuP^rn{ z83S>0N#14z6^@6_PD#L2#O8b<%bQ_gt0(A- zi+xi{Z@I;-kQbM^NGblod4LT&cAuozE*(>XTF-ZU&P|OVT=2=q*adu3r?~ufImthO zRi|KB5f4t%iH?`lXkJ8Jd&AAkFS#F-zy(`jRw-}qw}%S~>@)LCO0zG;q$Kh7XCHJH z#Y2^IPLcrDJSh?TXSUdx>J86YHO9d92&&lL*&d#+#mWZ{eefEZ@}htW(SUEZFZ7cP zxLd2l+Ti|8OUMbcz-JFcN2rovB*uv}c(;522Jsj|ETvCfOI~i69LVatk2J$tJgJp^ zcR#YwgKabnq~*e=PX}cr*Rxq-s+ncZI3ibK`6y_0ha?Vp-Sn4MmtCNxc4KUj(G}cB z#Lh2NbiQRGu_PTOqw`peO%z7O?smFQr}g1jN4=WnBM;0TFW{?w|FBGWx2n1xs+db~ HW3bjH9`VF z0A@izbRrT&p+2kC-1qYbfO;Z%Yqy$YNa;4Avz_^)qoZIQq%_e3 zi_&+rVBAmH{yPlbkss#nvejpsPje_alSBfE#IcqFkV3f*0IRH4(XjePWGYCeptSW! zNF~+xJ;vam-(vt6FS2?rwPhI5Dnr?2 zLY6|I@ZvjHRaCsor6eRJ73AkH%&J>yh7Hx_^CHnu+U}W&S7RVJn!ZP!khsv(AAe5q zrZ+8?N{vdqT3gfDEc1H)a%!~U+M8+hWR%e)2o4O7bc$%5Q4XQUB3k9!o^1fsUDg3B zSDs0d4>cFWQ1LAD6(L6=6fwuU=#eGf11 z5C)@Dy3UMl+S>MLxV3Nwj}HtHjlBD$qEOP8;qLQ*g0v&0rKKKxeo1jDSnlv;>gKqs z8#rwD?q&arnlrA;^==vA_t^lC0gErUm>opI^z`)j#6(klReM{9qn*R+)*I?(8rZ|C zy}0-7SOt5d+rmuA_1xPpp7yrhJ_R=Dl>tCSMp)0ipPs2A;{f2q(SSz?t)|TVB9UnJ zGSQM`SpCb6k1zAU8qC~C^2Edh_+r(R3>Y758|Z7zw#Ck60!kdNSRcD>i*Hw13L1lJ zQk@`Ta8r4V;{fnx;I1=AF!QbgysXi5)j#oU_{V!?%B#xRmX^LSO-DOk+V_I?Q2gYl zPfh8;(?Vg^aaYjH+{MXd=G4!J4g{)-iokD&2I_e5e7w1APu@x^YmLPr259pzI2-^0 z*5Z9}NeBRd00B^&A}CZ=#~}2V?`|y2s6B($4q2O0=;w%cJq-);mJ`=FBVwD96=zc~ z!r_tfc`dDr*S>Goy-W1n7pG(9K5CbSL1~pkS0C(kKs54FtxaoEJvkLB*w%G4BsSjEUV13(s< zuB0OX^A$UlrlU$KAnsG&j})TgXqwz5q&l`zP(`u7`UbZ%jxAGe_`xe19h;kMyqsWY zY&A@Wa~1D@zbVi4Iv_Ma?L+M?im6WEIO>{F=BPuuOdvk8icgZew+l8Q;jpiS+9qEK zApjgO0I-XMN52xzO-R`igg$cJxkIj3^g%zSd+)nC9M#+7h`=e3UX3!m)aNM7=fo~C zhWk3fvpFh#wY#ri{x&rJ=<3Qpl3j`=^$Gpq5hc?T-H-I|1Y#G2%~V(p>}>SBCIsIt z#%D`tVRvr!-1e`P8R@L1etU<;UquN!5$o+GZCH*$=p|2W^%rNmA2!5Ivd!q#1Y3b0 z(Iv+D91^`ANugy^$b4T)5eCYWxQZ*?lP+&l3DFRHmv&DKU7DbeL7`|691Umr#duw@ zf7MRuF-_LGtTCRBB4(G8kbxe=I2c=mhemvekzmYsp%03o^*+(S{InQ2mkoc;GA^h5 z*ptDH-#$B2ZNbfKX@#k+V3Yi`u*xO&;E)ORo@yg3=jDNc9}k?*X--+ar|%q5LjWUzfoaRJ_zQP`Xym*r#6E8JmV{Lt;2-?Udn1-idjxslx z2G@8(&tK&~M7)&)Wmbg4k{%$9FB?}Xqd&gDmGl#FEVGIhNonF@dY3s?{x2mvHO+l$A?SsBs5>;vCR#7@7zA>;qD3idVn0=SEh*V4-C!YI;0r`b>BD^usnSD`^mq_S&q%4jH~rJ5BvJ32mS7BmwXg!v4+UA&eI84`%eJnAN&9S literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/102.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/102.gif new file mode 100755 index 0000000000000000000000000000000000000000..748ded1ac4351e1ee26715098281d70099355c20 GIT binary patch literal 1446 zcmV;X1zGw>Nk%w1VHf}y0Qdg@784Y{mRB1ZAO9H{F)lQU7Zer}8zdDL2nPub3=<V;{P+IG!Mo^*2l;e# zc!Gp_dwOkibpOc#(<399B_(%xdqGA=8xO7mPKijCsw>b-D5A{ZS> zMpE_g=?@VU|KBsxbRqEn|AQbG(~wS@LKFJ`|5{mUz{SVI!pGs6T=Dn*mYbdC@&BW# ztNbD&ZY3o;HAU5B0BCM>b$x-`nfW}~w076EcHqH|=EaGrr?36_$+nYD%b{ZC)xpc9X3A|E-@=ERo}T}^I7LWF z#-Cm0%&&135bD^O?Ax2pt8Zv4E4v;Zmlzevoo$~S79tfGm>3pBMM(DW=*AlwrWh8Z z8yo-s|NsC0A^!_bMO0HmK~P09E-(WD0000X`2-0l0RI3i000007yuXm00{p8{|OvO zu%N+%2oow?$dKW(VxAHz+u_5200M0ap6a6s;T}wdM6t7W?UJ-|`o1~hL~WEVTLo1} zfklWwEGKo=xH3d5-X>7BW_dG6g~WpgU>=Y#kRVJoc#)zhoRLTpuTZieJxGuM0mEI+ zkX1;Qs=@~iV;p#0SScT=3I|?kdy;0$87OoX-UE>99GN`El!Pb&!bOoQ3L8wZbj;nO z0tM*tn3#$Y2SiVi$U?$qGWrAi7oTD;KEfCLt3;6DKY03rDV1t>3Lg45qtk<{ zSQ8{b&`eoIJSP>^n4ovB%rY|gol?CLAcPcU}vEa3KAkf zE*L+40(c7(7EXxZ#^4tq5v(YT!A4FL9e9%5sllO3l@xGj@j^oc7HHss{{#d8JFMlS A?*IS* literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/103.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/103.gif new file mode 100755 index 0000000000000000000000000000000000000000..be9eaa05445ef7dbb0c709fbca695bbf06c47ec3 GIT binary patch literal 2166 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/105.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/105.gif new file mode 100755 index 0000000000000000000000000000000000000000..2f353cadc85e447155e636b50ab392a99b36f664 GIT binary patch literal 1277 zcmc(e`%hB`6vrbhS8{tfMJMok#=|m6!5{*R&2Whm)qWZzoY&W`<|2UIX`~$$vHV% zb!ysY5kv$*Qv`e>77GO7v$w;yvfFr00WOR4W`S4noQm_Rz-hqckz_3vl6YDIkBp}` z^UP+BPKGy)XVSQZEnw2w`K`QX8@zJPBgaApyO05IHatp}$p)*2H;0{HbS=kd!Q}GZ zJTN+*G4LJ(+_AhX7XQX`&UkK4!p&~NoD{P%uS15p6woQGI~DX+xaEvPj#&lc%)-11 zb2*sJ^*FSkb*wuN^9Ia_@J7VhMR3KluM^-%gd-WQE%a3Cf;}CMOt_THj1n$2oEo@v ztW%HKe9Rhow-M9pF(u?Cgs^YqY#Z?^#ycJZyTmgsfjtc~Tj$4Bc$1461Dr^st2BpAfz;4E^gEYcvMM z7?imCHeome!)iRu!HCw;rzcx=%#&T**a3JZK!$R?D_L?S+w&eC3So`MKsu;wP)ZCa zU$=>Ew_;#TL7yDfEc7esk>j-EG1`{mj(~3u;@g59t>L&Q9%%d!q!isU^k(v2H*N>< z_Y~;Po-i+)ZjquZ16>MqD$%8UX=xy9rR~+iTfbL!-)?OAaqlmmMAVw3WUXoNF-6m~ z)9JL?Y$Qqgj_-d}6oU1t!tL3LeATAJB!9ofFi}iEU^hV#@xEZbHz5QdnuFGATFf0) zg7DZC5pj>jhF|4>f2>I=J|Caha!FA&Wo4@^s{}RjT^Ur41*~-rb?BDL8fg z^w5$r%SDO(+~x2rgUX!hAChpsbp?4mx1yn`#!zL_rNQ z>c!omYlk1z-z-@KSy1@bF;QGZk46v{jh{Qcj`dR0p_9u?i=Erw4LkIN=bB$%ZPj0{ zURhCW*)BHqn6-6XJI|Lre8lS;ddLcEf1_dG(x*QS$;ul~ge81lB>tlE%B~C7AJpB@ z-wo{jx>|QT<;dRNkl3o^`fm>II~;oD%>A40^6~=**ONuYou++{ip6XCe@Lp_eTLL* zsr#s)GakQ7ft_rb{x3^#1_qV3B(O literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/106.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/106.gif new file mode 100755 index 0000000000000000000000000000000000000000..51935349b48efeac0e0d50a2cc809817015d32b8 GIT binary patch literal 1041 zcmeH`&ubG=5XWCMtq)V>HED1w9`Zt4UCm|b!9Ep?k0ec3@W&P{E)rX|C-+qLVC){$ zWE&!^+LVA+7Sup)#s(x3(S=x>A|BRy$+2KB>&X;6Y`hpZ{u}z8VP=@`=`%2sQ;7*O z#{dR6BIx!6+~@+(D}S3ivMj^0m{P*?R1kPk6fDb>Wl2>PUDqm=vSn=wJSwWt&`_-` zC^GF@pjLzx9h!!_XDC5!6WBGdX}Adu)wNJrLy~}Wg%NqADV!>EjtO)HO9E3fcugUS zh%{9ys)TTu#f(lN#YhuKciU?7utmT&g&GUnJgN{Rv&fN2OBJ1((I&ulT>^?MY*A!V zrfZozi*;3%CCPCd+qO;9Gz>%2G(}NF7s&;4@hIgu4r9zPOz#%|^)Foj|MGeO5J98| z-TMgue}Ec1lB_=ekcENck$idX<5K_H{AzO0w{dUi^+;iGPfp|NB7%@%i;Na zVdTPCJ#?Ao)`zb>Nj5wq`v5r9xOpkLCy^a{Hm!hn=f2$^2&N`F1D*`5ve)l)7E5m$ d2Zp27yXjJPDbROiqyFjr+n@GUu-^+#{{e{R)%O4Z literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/107.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/107.gif new file mode 100755 index 0000000000000000000000000000000000000000..70d38d3bb278969ef82a3c666c5e85192ad65948 GIT binary patch literal 1058 zcmeHGL2DCX5S=8ge2Gm+HA2v~Br&$#SR^YR8mfhEOWLLsLJp-Yf`&zjZVs&rQrUtr zE|S73wth+v-yue#1zCvNKtL8+k+fbG@v!uuu|y$)$R1a{#Kga$?+x>YIn8@8lhe`R zNYV>lFz2D!2DI1&Xt%%88fBUF`@I+ogoqU7r)i4gSe8u)0*|q*C`C=H>KfNR@QCJ%uI8tR=9_76~u#43;^SAS{cT3}q1& zi7Ybiasp`yP*@rZTr~m)13cw6I9e@|W}{|Apw=qJZ6y3$j4^q}lsJ<}G(|;dnu$bs zjx$ZO(P-3aHC@-W)}hs^s;Y{j5JE71_lb_)OT?)nNgc zhoQFh_D=w6!VAX|1tLE*2k*tTSX#iE0#g$#XLVhx)u?4Pm;U9FZzu+N^W>%Kh7h!n# zbZc{=T=u6kdIxy@l|2vUc~4bI2O^{68x`Mtm>XIuXmgv3^}(1YamkyU3LTCQkK|w& z2aZPXjUZ1Irf$ZQ8uZj*mg8cHPyG{buRj)YKXSiADPLdU{PUMrtL6RvgX2-DrPj+q zj^_pz;%~n6#XcXn(EUTdy$+v@9BYZG%Fv;)Lg&o-#JNZQ8<|n>^6FMo-uQW<^Ys1J z$2;iAHE;LwQh)HuS1#M#dn>eWX07n7I>|MYvrp!3555Sl9#7rF*G;fQH_?ckSA>bLY+-J9cdE-o0D5Ze6=}?b4-7=ggTiWy+MEo}QML zmg?&2;^N}$?ChwhsGy)AkP}D2Xb8|C1QdU=FfuThGw6WK2IUC`j{gk#95Nmo794Em z5Y~!WaiNu4j62ZAM1q;2K}g$ZTZN#rTaUPI*aC?_B{xTL28R@f1|?PoVU2(p3I`vx zun95*&0*Pau&HT=YQiD~#^9r@TnqtkSQ0m~bO|Z@%&4%u!otR&&9!gCiBgvEZk0W5 zx{QkxdRE3?uH)5OynttYyt)Ca!9&MzVZAfUVlN0E=-`#xH|vDggtl(s_(DB~1q|z4 zMfCkHwJ>^g4+o{~w8VZ@rIoUZ2$_?t8T6tRxBBsoUJJeYEN+aYF?8Pc^ZSR#r|0(@C@@$90Ddaf2mk;8 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/11.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/11.gif new file mode 100755 index 0000000000000000000000000000000000000000..b512dd5da196b15a6fa31115da13cb24730c14ef GIT binary patch literal 8033 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 JL>v}y{2v!$l}-Qv literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/110.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/110.gif new file mode 100755 index 0000000000000000000000000000000000000000..e253abcff6a046ec78559c5403e2e617a268ecb7 GIT binary patch literal 1082 zcmZ?wbhEHblwgox_&%NCKL{`Y;eQ4O5CNuuOnyGLqf7Z$Pm(ydLG{9B?Mqwr7xw6! zS|xREy~_Hj3KuqMUEHj5WQA6YzsSk823NM5T-{-Mb%)uN?WU*Jn_Syzadn6Jy6O5i z_SnftaNOKue{-+H&ApDd_BkD1WqoU(^X&s}ODCAt^Z=2loF`KT_e zb6ni$x~4aLdPBIMvq7l0MXaZWy^VQoRq6Zp?{D3@b@1T9UAuP8ojZ5Jgb5WD6^V(7 zhK7bpN=iaPLQG6dpeP&#WQBm@PZmZ7hUpACAl;xm!NBpKL7!8`W5a@j%^bp7F()=G zJlxdCWZNRaF=>8B<3EKXCkzFY85l%Z9~D3EbLnVhd%2QXy-&t#vI1j<$ciPN&5ay_ zw>}^DoozHx%X3zxhTuHw3O_y`6^;p>X4!`(6mH>Yn5&=sYf6Zg!Q;7h`P&LCo74Oj zyC+>*v9fYpBWyBoJToj z+fsJlEpTLRw6lnFN#xoFT{lJZs$-grm4O zARvc9sSFTK34k*FU7?gEl`$kG^*j;;v{V|M&+Rz`v_102l_x%h}660hDdZ$3HL+B)=NYPLRdA({W0gLfX#{_$M?ZdF%ZGd*kd zb;aH_9y>GsacSaP^~~eFFIn&AfKmsW8-L}W$M@WCJu>(TrPn&E>Atx(k~ma#xkiEU zzTLISnyJ{x{MN&!iORaB*!I|?e9dg_(9Ws8R63eFadUq%wI12|Qr|JZ6#uaP?AB`g z^{uVl#q%@M@W&^mr!of*K4}?Q=zKa|i_fv%mCe!WtC7wdDRtv@x}~Ww7g_wSr|uo@ RS#9k1S66;+R#bq~e*hcZ8%O{E literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/112.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/112.gif new file mode 100755 index 0000000000000000000000000000000000000000..c8ddce88a45b7fe4703a663ef2e6a7044c977601 GIT binary patch literal 1111 zcmeH`-%C?r9LC={*WQ%rnTl*8wNq+NMUJD3ExVZ0X{MB$7O{q;laNGd9SfnGnj?+v z!p#Fo?!q6On?leyhY}{Zh!K>dAYTmX5U8B1T6EE|F3z`k)gMt0JlD_XdEn{jY_~fG zOvr>3Kaypc5W@3(I2;y5F%Sr3H)w~$0SZba67aJYG6-Y@cPZFnfX9%=uxtl`NpPIi zY9)jNwN{p!;1vS|ku*yPtH=~ch-5^s*9$^K;(b}3W?5DeUFme1q-OC*yE zhon7u!y{!f>Q<8QT!v?11;e}t_8G-zQWQ*9c(TGt(epBEh0lz-y#>H190e?;3bSg+ zLwr`4w@c9g%-UfCL&!;@BZ`k!lLFzQ5b6XDtJ_J)A{e1KmleJ-5VC`aA<2M`k|aq{ zlx#K&Pz!({=l}XQ7NDW|Ud#iqX1P~Y4*>>8rq z&eeE6^i8nU+B(C`j<8me3YGQTsXKjtb9Yu(Tu~JpwzN(anWJsuQY?ba#omPj&+^kv zlVcn|9K3ANXtV{D!*BLSKdp~`EkAHR>dGrP`Mcm)_m!K@zpy%_MFwQd!H(x(_ns}f zQU-15*gIQK;ma_k8w)b4uC~UjXYNr4%!x_8zoCEcN3gwP+T7b)r30;$27cO56K39^bAfM%|N=FE%vj HM9qHy)!-g@ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/113.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/113.gif new file mode 100755 index 0000000000000000000000000000000000000000..272710453f6b8f6fc9b6c34192c52dfe5a538293 GIT binary patch literal 1015 zcmeHG%}W(g6u;&($4Ikh#E>s^3ei_mjXcP~5}kaegGoLJ>z{|M6L!&N6c!Nc*kr>ARidJMy8`_K{CrDEGEwY;$Ds^3wc| Mo!79ZK>|I008m#NO#lD@ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/114.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/114.gif new file mode 100755 index 0000000000000000000000000000000000000000..53918e2ae600a026da6e13bd2c26cb49c309f026 GIT binary patch literal 1003 zcmeHGO=}ZT6n(KGi4cgk#UMqK_z|ZRX;jc)l{jf*8dR{<8bTMEtaMyhW}^&9Y@ean zp@cAtF5aRp9;omjiw=k|P!YydVW?n(ZU(W1Yzk9X)zxw0-_Ud6+{@uE&OLCij^{3< z??y?K>`oDMLHq(CUHaSnky3+mQ=>k0D8~eaV(h96k^)&nNk_$i#-SRnVIrlXKz-3u z7^r~8T%B2x>Th;b4o$$Ypy`}wi0hCUCOCo=Q5|W90*7cLZXo6B0;&bqgT#>LC(L4ip>IfzgJ_Z9`aX4;34l1HBFILUEuvV6Jb&=B7ot z=>d#$E(BwYQrf-$KmOGO;=lI>2$>>7-2l2jL4qwJf&=;H^1HcU@8C$Z{9b+*Pt+nm zcVhDkeW!+B=GSLy`wz?azpvh0u7!>bTq~yISH?pJb3@gTI=Z$m94S7op3U|zCWr6* zy2s~c2Pdn!`OM1JYVV=b=fs;mwQw{!l39A)q~W8P@@Pul?72-(PJe06^gPgyq#Kuy ze=ge#=K12zdWt8W_nn#ky76MO)kyZ=T6y?1+lrjHUXMv@k3Q5tWg8jk)sL}y?9x)~ X+xFzxfy9j``I(PzO=U3OUr8Il3G`5#Y1gbvsMo+n>l-EvovdIJ=A7p zv~(`4t*L1jyz(J@its6ZT)bfd;stLZ!UPqt=r8CG=$!4G^KhPiznzSuNA{#-v4IUP zA*}iVf4BIpE`fmjfOSEJlJe5*8w1J_2SVU^)V<5irSyaW+`kU}l4n z4L@06V8I{@`dOf7f|dyyCJ;-y9j(tCb6@SF*?!~j;z>z>BA6R81j*V z^sOgpLrF3UNfAP-Sx2g;1b&T=|DKW2my{qX%gb)J+vRdOolb|tVYl0DHrw3X-0bY^%*@Qx)Rfg~ot&JUn3xzJAGcU6 zqobo{v)N=a8I8t~k&)ryVS~XiG&D3gI5;pc(BI#$*XwmUomQ*WXfy;tsMYG8o}TXR zZXCx|DwR^HR45dkot+&W9T2+eeAQWlHLe?31B(M3!&IXKjSef7ubpA$+=EQl=G>go$mswvyx)f?+=wkUy6R2 zTE|Jr_iV@{cWFf1SJZ zI9fP3syR5W2?(4M5I80vuvb7}tAM~-0fD6g0`Daxo=Zr~5fHd1A#qJY;+%v;4^WMS z#9j%Btr8O76&2qrDy{{pQB=IAsCZ3L@xP|#dri&fnws}CHLn5LhKA1#4gXtOUIQ{L zE$>-c{&#YE@8q-=DCp(&KPc#)m)HBCpld)fD(YHL(DSIM|HZ}stE=A^7e5CwdV2m( zneuN zv0=f%W)5Mkm=hZo9&YDI-|)fE;COetV;_&CV6tbsh^B=J&mm{eN%B%E4J@5W3k4)O zMHm(?Japugh>Dd`%EP1+{nDC#F$V-5rLoOrm5hjBWKM7AmRGXjNNhUNDJ-fZ(KGSt zG3G@Q3OXGd9yT#^i#hmMNGxU+RP`vCQX#;|6v{6y72uGy!JU`IHKRe`pkgbhh)~jp tRO`bWeY4f9bo?Zek9ACy5^;_ZTI|{*JK4Nj&Ue?AmzP)Yv#~H(0|4z%v4#Ku literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/117.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/117.gif new file mode 100755 index 0000000000000000000000000000000000000000..14611b6ef950a82aaf12e5c183b7c4f0edc7c243 GIT binary patch literal 1041 zcmeHG-)qxg6#XozMy)z2N`$J5n`l(Tf`VZBg605AVFPax6ph8|Y`-wv$ znF6SJ$X9oI? zvl$9dppgR2Hb9F_0NUkmYmLZM8$PxTUQ<|A1hz&YNV^7uHOAKCrpmx9?HH_U^0p!P zSavMg!)oAYF4mep!YV)tFlAt5fhGY(05&8og;Yh-h8>PZnF?iVG={XJGYB%S5w~^L zGkMPveI(h2=pot1N?^Bc>J8UudZwe%P@*toyw>E|_>^{lLqZO(@TW_rcti zSgtJ1Bnsm0;h}Tm`E9ZD&w9gCD+IZfh)$k(tT literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/118.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/118.gif new file mode 100755 index 0000000000000000000000000000000000000000..8c255004ceea385e7d193d36f9791885db5de933 GIT binary patch literal 1012 zcmZ?wbhEHblwgox`0mQ^9|RbH@IM0shyYVS=KJsei(95_J$CKh`~S(+J=If|w#->O zXX~-O*Pb7{_ddI2N^#Geo~2u-tlhiy+`V(pzh8U*zh}N#tHdgkms*D_@eQ0w#W z|C3v$WcSQzS-Q2lXUdeNYv-)py7kz(d+)zjFWuU*c5iZZOUs<4QN`8SEj`6OQ>v%T znX-24+GFRop1XGL`TOcQOOsoAvU{c!PXU^+wrB0ubMLC&xRL7o`}qai?a2q^w!VPs%%WzYfX0Obh=j*AT495Nmo794Em z5Y`gWa6IJHDqM6V{5OiPc9rvnaF8oqH*EI zfrTeIbu%(1d~9evJ>AxAONQek^$T()ITE50i`ctFyt_^AGMZ-bOKYwYd->py>+xmw zK_4^@9XQf1$z%2H#l+H9W)^t^mk+-#xbw?vMrC{u_};|PqR+&?rSN-e8<)Dl58EGy z+#X0dvIwnv=)}y*Ef6KPMX}`p_b!vFJqZny@*E}DJXa`edc?+|AXzs_B1maf?qWtp G25SJxwBaxS literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/119.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/119.gif new file mode 100755 index 0000000000000000000000000000000000000000..65bb468b950af19bb195dbfdc7f13c07d1006ae1 GIT binary patch literal 1101 zcmeHG-%C?b96#C?n-;BY<`PSWE8P-9=s}5ME?u*h#fl1_%K1?2A>l>@mtwlx72z1B z7m>J7qptSQ0Shh^b-|_{mE?wdxb{#7LGaW=U5elm6sNoXjOg=)?=L>^<@15>@veAl z+vNZV04ohx3BV2pKq>t#cB?7~3Q(36UXUb&GlC2ijTc}z#c>i6WYm^{Ej=8M^fXj5 z_6A|7>KwFbYFnD;kPa~orZQohqg%X21WYrs3N=I4sbZL%q#$BZi=_lv!UR)GHyI~D zgPNSddL#r1lXQwGOB*a>Fo7_cSPEqV(qwFC)WSBOFy5vSOQwuR8q{>nWW-_;Wr$j; z$#_}O2!-}&GQ(oJWuFizV;x0BO)vQdas2;9_9WRhyW3_$KG_Mf{CZ`MEpJ>1eP$H&9*^no16| z##cPm09;x17M?r?&8Vn@VVH1&v^d{_XK#7819`P9v|Izrluo5sB~8ydEo!N z3Pdq?wma}~W`4<6*O^StfOUsIckuS66dO2J`E-ADsWrB+yf#=m@`?ds_V;oR@d5hHSZA5zbyI=cwL_O52v^M?Zm7j|Lb*6sB5IQeR3Uq z-w^%v*W7XErN`H|@40nh@kPs)Xhq&ppC}vc7#jT$?S0>Ws?%KvH-W^}u~+IyAPy$M z-ftZ%4KZ&bGJ7wy>HfNP!L!^v7W%U7Q1EE>`Nn*;qv1w$_}#NdbK-Aj<9gO{cc%v& F{sWN6MD+jw literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/12.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/12.gif new file mode 100755 index 0000000000000000000000000000000000000000..547529cab6ec7ccc19719487e644b132b40f9d9c GIT binary patch literal 2247 zcmZ9Lc~sKr9>#ydF9icZL{rBF+_Ky=9V|x?H(Z)rI!&34W=__$XtnE zBme@_0kc((U?pApOdUuriXUtq7Yu`OI#@gn)@}mv;qI(&xM7fNhz5G?K0I^>ADpT+ zU^!P~#tV8JL8xGQtqk4+(k0NKKaocOq91^q51!+|T-ZBr74V8wpGW|MyF}fGz?e4} zb{^7M0VnCxIki>%* zM6eVm9dMP6_;z2?Dhx#fd1qd*Dj1;w(E%_U47#o5LoR@)yH<<=ZDwG|S=4_Aw3{tA z*>+zwd!McN=q{N2e&(STXf*|M;VZvuNZ;&SZMW%QsmWVRMIH3sZ1u$&6CiK{!!BUR zN7Q@vwS$VN)fIGDw*3PIstC(mT~VdUa;0uXoIa2w07+~<76R3p(~k_nr2mVP*uJjz zzV6pk&Dn>IA<$*Dwz?|(I5^n%c6wrLsJ{nvTY;%PVDfND2(<9pwL6`rrSZ)pD-HMXb zdA46Rs!6hz%cQ@b)g2z_U2L+Kir)>~CXbc}O>=`LhC7Ro;iiRyg4!!fZH{HJ7WJ20 zilZ%G=KM6p&*{IZxh8lh9WUXtU8*vIfAfJ?``u@257xvJB~9D=%T9jeo?U7>DB&OK zV4xP}=l5_b9c{#|pjmaNZd?d^Ayzp zCii@LLK@1|7Cf>P@oWTnCZbv!@wHPq>d<_BITs6yeIao{29VyHKH~^zk*a=#XUdpLUL1}ES zW~*K+@T$IGSI+hkQ1|gN9FB{R@=Le*hK`5O{ZyVKPtBJ)LB=qAREa`PbbLCX1nCmv z0ys)MC4yQ}`1`m{+EZkh7HZnKUOCyqH=ex`P2cb4UGqrk0Mu-lYl?;!rc|TSbL?=t z)O$3i8EKC4(F(hKMDd`e_Wj1Y_Tv3&j;ik)(PJf97_DSQyRNr?6!c1`3Qu(K}5n@2WxJTw5Be;psTSkjGPvVH{F{9Xlw0;>V~cC&Qk04(kx- z@p(1+V7pH0R))Gah4-6_zej8{^{PKD6-kEby?rg7H#Qq+X9V(gbd1pO=CdfWw*!MQ zqJqXRcfB_FFi1_=ngciVQEwKWQ`Pp$I&p*>&TR7)P{#rm9elJsc@|&zQ>!zv(SiV zyK$jxSBf9JG>207vjgeyY_7RHi+9sXy&_YCA9fFGdFm6MqE+K8uGW|k_J~2!pB^?r2vUQM8OwEE|B2+ zEPaJ&(R)eR>!Q&k@JvRGSx9LB8Dgd(QCI>!oaTkoF(dQ`us_p1n5hLmUjk861}B{F z>OQNBb;mK$DD!Z4T1O*O_=lRub@nXP*n>z|juM95AR%hx7LqrU?v=`>mmCUzGJ2Ur z!x*5;B!+GE8BW^&o9reCRsgRfUsfbbEIbpQ!9*#LIRPUXHk;u^b+XvEQ9lxI%@E=` z2+Ut7^#eyDukak@K@}_Csy*~&ogRhf`;Il#-nRciZPwkqgLD#cYeDasJLh(iQ8BY2 zZ7eTyeRZ*Y0i?@MkTE7btGG039HMI5Y$uyVO^YnspQ@Cfug5ZZAK?(Rm=?lXB`CxH zFY9{q=^L_&RTRyGaUB$yTyG8-6yn7Z5;IfV{^uUP(UDs6H|_+Mq@;{>zES?| ztPp~-T_in}wNw3Ew+UDDF^8%CsU;!MhW0YaOFp$5C1g+%PW;HykXX0W#Yx3n#)zpw z&EEypMRm3@sVa$!X8vNfV7w7$(0=C&Be|iDvBBo`*O1n;i~TyJ&FgGVEn96pXe@pC ziHr2Puym3NjsKW}_r~lW36)wjbZJ^(RY=h{jwIjo+rK97WuIe3T({RploHIDMwi!z uq?0^>q-i1!UeQ3YIDcF^4%d(H%LZKu{)V)bX6ANJ@{hP;`ltg5+Wj9mJt^G) literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/120.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/120.gif new file mode 100755 index 0000000000000000000000000000000000000000..5ce77c05f0a63219bbc4623ae223c5b8cd6942c6 GIT binary patch literal 1008 zcmZ?wbhEHblwgox_%6lp9|RbH@IM0shyYVS=J)U4-@kwV{Q2{H_wHT0cJ17`bH|Py z+q-w~)~#FDu3fuy>C!oK=1iF~rKhK-rKP31y1KZyI6FHVWY#Dc4S}H(0*XIb7#SF( z7<52R2IUC`jric2;GNIT{NWxps5tn=l;MsLa5k;HZ`{ z;h+K=o2Wp=9|<8xCRQ=I1dR$KM%I4aShW=w4jlApQfD;jIAE00v{*nvXrTT#wK%Ho4MA;I`y4g@(*OH)fU zROT%0uBZnftCad@eT>*FgOTI4RV;HDrf4vg@Q~Mh$>(;VpGM| z!P1Hv&eV$AAVo=21w-Mf7G?@i8HmgiMKBd$G8htIi8nO?$zdviF76-_uO$T{0v0(+ zDK5H1NZ0jJUjOm0BoN#z^8k#%q0&L6p8&1^AGtt$`tjSVT+P8i|M$TM*L~i*!p7nH z`IKb#f6ewLYHH()7hbi;K1@xWed14b%%!*Q_02@XFB;$94xAXb?yO{E*(SbgbS%4? zt_rjbEJgP;lxLfE@kcY!mARWw+lH5xfBss&&s9e+X4VEfs-86u*Rgef)?2wd(0Hz{ zT-G19K03cP<~h05>yHnzOa6CXs`qWQa$!%ZH_$%5m`P3h(iOFD%-H(3bnpIqeFK+$ zeb;t|j*b6Vm~0rzwA7zooB!0gaI3CowE6dz(5Z^o-7hOQC)FFVmj36_NY84z`arFB aVrF<-{7mSxZ{mu0WY*0uH-%oG&y8EHY_;U%pt60 z@+1G@p?U#Utpba}2hD6kDt}hL*s!pP1DNuEs3$f$v1+hR5|IpYYHs5b445JC>EMYT z1I@H44M9#!z1*33e>x{FXX>$(OiP)t@gVbbmDy^lKh`q__wXy&l)e;JKg8;@JME9; z)NGgLa8;WfCqf%8gfOk?B!X=!Oda^}pLX=!I>&isGo%;U$8&zu1=fdW7opiv-4jDpb+phE~K{$ycf zU@&CR0oeu06AT=G7?L?;JT@#i*vuiUrSfC_!$Zxy|9b-rlpZ-Z{ui2Y<3yoLQ$4@& zKjV!Fjhz#vwe|jNZ*b}8&=K$Xvmzj=gGH{;%w^$3H79}p1_=?0Q(kZia87FSInl^^ zQB+KW=dZfb!G@(A|JVMw&UDzG!EtX~&%uM*fua%t0!L>F9J{b6-*C#0=}8N@`6cH3 zOE$dH%pu6_Uy|`+kyERn=RpSYUC7{l9(b8==ga* z8?Ro4S!2RyF8&;Dw$zX12RSFnH?`fEaPz^XdIhs-5{XF+ZbBOstr9LYx^(fY7^s4q>gB69ozFd~yaAFD^__XycJE4q9{L zp>rF*oK3|Ufkg{BdSr|$R(vQ-a^{tf?DL5%N@Sm*Vfp8G!$bLwHW8P$FB2S<+Gg=6 zb}=X}TFJpCJvoVmae-EYfP~hhiVDNU?X!d=f*3w*&}k8nGV}3}SmeyXt+*y^uR&;H z6OW8W!UX9?=AdmtHVhdb7G!nIkMcB$c+;@)nt-y1#f&=%pE}xLdGaGq~K@=4-w2{e328CI)K&RF;t` literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/125.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/125.gif new file mode 100755 index 0000000000000000000000000000000000000000..e2c3c11c92c14fa76e5ae842af7e4b51a4cdec70 GIT binary patch literal 1013 zcmZ?wbhEHblwgox_-?@P9|RbH@IM0shyYVS=JG{Ljg8aN(q=Lk&s0`XV=zu*jNXzq z^9*Cd7sc8m3^V_OC1=i@nRe#P%>Vz-oJnIiGc)b~nVCMGZma4-&!idu**xv{p*3fW z8TRhlDayxlvNB~R1A{RG!x^Bd#>W3aTGP(VoC(wl1YjOe*cjxRQ7{?;^a=sRpDc_F z3mEFS`IQE>2Bq8^hi0txX4jJ!e+yd4~Z>D8zrq6 zUR+2#+R7(scPL>)QfsR?kHDUSjSnApbBn3{S-fE(>zRHYyFbnsoEo`Bb<}E7KAu0+ zC8(np6Vd3T=_0BXmG!`Y=|~5+mQIw!$AwQ>g;net{z@dZv~3b+@Y%Ym$c0-})XyM5 zGoa-@566tI2d~Xp8xAw5@%+;`)XL4E*Y@kF_rrKj!T(~b|4cvN*euSg^r7{mzY{a3 ckV40^-HI*U?A-rOKC`ag^7b}6GZTX~02q&@4FCWD literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/126.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/126.gif new file mode 100755 index 0000000000000000000000000000000000000000..24105c988898cc03bf21c4ef26df1f7fb6f34824 GIT binary patch literal 1030 zcmZ?wbhEHblwgox_-@GX9|RbH@IM0shyYVS=4(BZ{|v@IHlAO;XlYv7%rj^HE32rT z`TyV8m|^D3wEt%q&dg-^x1C{T8pHpY3}@09(u^5=Jl$5+h5k=t@KWQ=4RrmVX1sUT zPEkIdUmaCv7#LA%Ky& zr9)3hX@bT=&DLd%T7Q%q6%^T7nB81*v=o&(g*ieLdS)y-(!k=aTqV(Pz{RauQi+Md zAn8cM?sE4fC6SvKxG-pMT2=9}>0tLxhNwNNKf)V37!?J)@BKWV@U*@-P{F~V^4-Z( z?CxdL{wS<;5|VT~e>6erAuE@tRnN7AhfdkeqB<}31t=bBVincPSy8)t(Z|P(j11NQ D*;J>x literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/127.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/127.gif new file mode 100755 index 0000000000000000000000000000000000000000..0cead364a05f031b024181e7c778f8b206763312 GIT binary patch literal 956 zcmZ?wbhEHblwgox_^!n89|RbH@IM0shyYVS=1d0TGzQ}{X*16N@yxU{XJ-EYf9C(0 zwEsIpugnjfnPz-uX4?NVGriP!|IbYOvw2!>pzH5LYxeHic?PK07^pEV&DeNmTH2YJ zAONys6pV(z;0po8pDc_F3`z_-Ag6)y1OvxR23HOlj|~eBHggDT$*frL(5aQfOrc`N z1!g9G5y7Y zXcctgg91|vhnSL%z^et0%xt`3IvlemHZcqEnlvmhNOU^RAHLCShrz>?V_Yhc>q=&Z m=|*qWaZdR%!9n$oK#^vhhrnf(dwWFwbFq2uC^*=_U=0BHNPF`D literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/128.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/128.gif new file mode 100755 index 0000000000000000000000000000000000000000..3185861818bab566315b08e4484ebe313322d779 GIT binary patch literal 1022 zcmZ?wbhEHblwgox_-?`Q9|RbH@IM0shyYVS=JG{L(~Q%M8PaB^onc@AqL~Z~X$%a; zuI^Wijc2B%otZiFe_GniGiUxY7z5E6<1`>S(>U!+;kw_`w%ua@>H=z?`QI35z|1o< z&-`a>_@Y>Qgkk1?u#x|bff~>JPy7Er?aZ09nLzpfGl4dpnfd?!86Qu#+(6g=XU;r+ z{P+w|2q=*TR0wj}C>RX^>V|;gPZmZ71`7rqkg=dV!N75wp^!tyW5a@j%^bp7F()=W zbP_Ym*|R`#gB!23o{Uw+gNDOgeB5Ft1s#tWn*~+9mPiyPrZ}^kF(f!JHXQC0;x#fk zGokTt+XRQ`eP;@im{}Q&6FfQ=OipAIV{kbm@bTf{CTTe-GX}$l&8?Ci=_&;~4Val2 zWbJ%ds~2Y8~0`r&V*oVP;YD0ZwC$41r3PW^Mry6TcIO8hIEt=-x_rbD@=|!%X4W2FFd?-{0p0 HT4N0W2Y{>5 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/129.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/129.gif new file mode 100755 index 0000000000000000000000000000000000000000..ffd7c6ba331d56153f3366f181bd8ac78c845e98 GIT binary patch literal 972 zcmZ?wbhEHblwgox_%6lp9|RbH@IM0shyYVSCWG;RolVg}L*t?%3j>3SUB!h1O|6~W!VVua z4lZWpWbkY9;Yd_=n<5re<+8yjiFLACYE(snqLXivkhaT$hKngJQv}uisLXiKcwx4= zvP(fiV$-Eo?s;B!XNfd1xABX4gfJ|8eW^*3&q(05fb*@^e8F9^6^;*X?<(ehbajFl j^Syo5{J%sk$_pOu;$+W0;IQLkQpW^k?|FL+6d0@l-`aWZ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/13.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/13.gif new file mode 100755 index 0000000000000000000000000000000000000000..34753001ef80a38a08e8a75f23482f528313fd1b GIT binary patch literal 1736 zcmZ{jYgp3v0)YR-MNm`}RCJbMYG>ZXyfmGGC~8?#Ys0?8*@jT*?#g56@UTePd(20{{O z#Z`W}2Y^BFIt-{;@2m8|PKsvO9mo^Fo6|tk4Hju&=2Oi}zv2kEywhd(Dfa!sz|QJ; zHXWv!^4T3d4947~eP2jlgpN1lfi5eB(BXBZY2H!zbiSVWCp7Ph7t;fZIslCcJ0^yD zf$HbJg0rA=@5FE)SPKQ~$0ZXZg`qI88Vt1BnaR;t(&gO`AM!)@Xw|!5HDqZ{0yxG% znF`j9gXiY&8_cRAA@v6(5ZkIYmz&drz_4>msy*0FSZs{=&}rB8DB%tJn5qdcd%FR& z>Q_q=jq)|;I(D@L*HfLd@cb9)?BMRgAMFf+Li80Fu&;{301keo(r&4OFgHEk%`g?; zw3vB7lybe*&A8?H8EGW}{0BcfH8x*j12l~_v3S+y%B!`NRz_e;n&&Ha!~%;1RJmZ- zX=-$UlY6ou*`=C~``y@qP9^rxeT@472r7OyVO0YwVf zxw7=HeXBKA{aFSZLnmbAdQ%nt9XFhJ1TK%Gabtpix2BS1^;V$8u&wYydn#7`ZtKmn zNHF9iZ9XV%v6~#}2SO{rH3wolphyF=e#+L5z}DG~ZXeKVClydOL_SKkg+_7&%=l>< z^fV1vpzQ`4wRXx|{urwj*=l?2ly6s5Z<*uC~@ zX;?AyBqtK~O!sJvN>B4266^lj8fBMre8f2mQf*?a1D~l>_nb?r;Txr01 z5}r8)N96V!&3N9PF3Rj;@oISI0-2Y)Yeym6;~Y=3YjhKJS;!2MCQ6cL;9y}UNoM39 z$@lur%^5f82B{c#I)c)=4L)t%oa09QEwM9pz7F+S)|yOu8Igss{@+AXZIq?{P8~(HtPAx`6D%({k))w5yqYLlz}|G_KIJA z&kbD2Q1tI9%B2K(kk7jbD5dRXx#koK>`__`l*qK`3x)UWLoi`Mgx`sU>5l$~4rch# z)5C*&9aT=Ffq`@AJm26rI!qsa9m}8@ zV^oVGa!hksmZiC?Yv+MF^ts-EuXA}iq;CT<#f0(sXdO?ICKh8Bg3X|L9qDzepu%AP zO^W=#Nx|PI>l4da{yAtJ@||y%PC0+Uji17ei|K-l3yhffEPgsezdGf@lDu%}H#n)l zwWr%g^fSu7e(ham{jF;FO8jUv-2hgW?BCi`esv|y+-@gIgG zpU3GY@^ECzkNX2e;n|Yx&=M{)nVu6}W)zG|6lK6ZgM5iek?Xh$Sn*!h02A{n+dxA^ zw>3^i5$}D3?#9WX(!MU!b9Yd6XQY`DV>B#I(};r@PDy@(@U5$xeYZ1iP~CvyPkYw(=_<`$KeYvp9N1K_x-T& z?dR84XG=!DqaLN?TLxkiI)Q!ZW>`k)`BGCwO9o4AN3;``vgbN0(e6xnMy_qF7ugg1a6Ln4K`WNFu>9# zgmhwKo{xZU3}!)Nt_9uuy={yNUGg3Abcds&LKxiLcQJ3jFin2j?3|1mY%w%X&i3%0 b%wXQ%bA}&iOq(CqqD1myE4p=^k{ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/130.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/130.gif new file mode 100755 index 0000000000000000000000000000000000000000..d828e3da103099151b00c5e700302d8d9c69f6a7 GIT binary patch literal 980 zcmZ?wbhEHblwgox_%6@z9|RbH@IM0shyYU{CWG;RhBP2yoc2F$CXo5RaNTdl=q)qP z{AXsQAA^h@1*0J_ zh(kc}CkrD3gFJ%{$c>;p!N9SR!Jb3LW5a@j%^bp7F()=GJlw=7C*&gVk(sGcR6gy+ zf`!RV-F(6-4>l}(!p18ho24;R(bgC=GMei@e~5)T<0`WYlLN^S_McuW+QbYu9?fAIJ;4e50yD-}{sOym(}2-uKt z&~pyA?z=UWlO0dB^1A%%X>fSv-YF!@;Hq&&#e>~Yc-@v?fmvazVhod}aw)C|T_4x4 e)^cFM+UV`lp-vqJ+x23*Dn7rud)h#O!5RR?AYTyx literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/132.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/132.gif new file mode 100755 index 0000000000000000000000000000000000000000..1b272a690b6740b94956037d021a9f0aa7136b64 GIT binary patch literal 936 zcmZ?wbhEHblwgox_%6=y9|RbH@IM0shyYVSrm}WOS{j3~F;L9-|NpfA*FFCq2>rh^ zGz};+)7Zz;%}b5<|I9Q|J|1I`K9IIiFd70wE(8>RvM@3*h%@MbTn@?;3>>Wt`W!MI z8x|aF<`CA3Ik92k;dbu-jwV0)n~rocYnx5rSg7p6Eh3{b!Qo+}YdeRNS;m6}2R+-w z6aq31EKqA^<5w`4^78>>Gpl|6tDF@HX$-TSq2ftn+(f` j_xE!N%K0cn1u;6V=hF@_=r&Bgy}jV^skzYx3Jlf&(}Y^Q literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/133.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/133.gif new file mode 100755 index 0000000000000000000000000000000000000000..0d0e864264353800e362f1e7b160d9be9980a7b3 GIT binary patch literal 1012 zcmZ?wbhEHblwgox_^!SAHXQs{kf9Aik zids^TV45*d)_7)`@&7Y3eLUU%r!jb`@y;}6$PIKoW6U7R$MfHqA&r5-n1Lb97^n;c zjE#*!){KJD5Ex`3p!k!8k%2*(K?me6P@Z7mxX9qnA>*-O!NFz@VXc@G8xjxmO3OJ+ zc@gk{jZ@IX#FI38l=m9jD7vHZlyI$gk|qC&yxAv2r2Rmg$^lha$- zIVEabb|f|ia5301cyJ{&H?s)}ol4oTIsJTxoC=Sr#UiFQywg24xA!aQMV%C zt7AK#*crJqw-gVvua0MpyRhNvgVuT`*N}!CUmIJv_{zV@eq6XPK|n;U;RM5?MIB3R tr!$>+Ai&~scD8Fs-i*d34pt5kod%nQn=>y6YqYHJ*uCv-8zUowH30rSh)Dnd literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/134.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/134.gif new file mode 100755 index 0000000000000000000000000000000000000000..cf48356e334edfac6890439290f2b5d8f109b594 GIT binary patch literal 968 zcmZ?wbhEHblwgox_%6lp9|RbH@IM0shyYVSrg7Stw3+{vRn&})8IpnoXQnZv88iGp zGt*0rccwAJpUu;916@V=c#IhsW*Qqme*E~%nKQ=5#vrps!Dt8!oe)s`$->CMAjO~q zaxy4SFmNnoFy)Z(*s$PWGl#HN%!v((hdBk5ok~_5WOU&aQt>PBP;6>p=Qr|7`LUkq z#AHchw}cHB4mS0xCtGz~n8bKyhJxmX5R1=@4fPC7Otl~Soldiv7yirs@u`t{Ccl)4 z3zyNMGt2pPELtX*JPGRhZ_s7x75Jcuhf86C?rg?}CU!1{lm#;u=0$TBy*0|IUbz15 dKJh1dIo*mH4J;g7>~o{HZG3#3otcTj8USjkX+Qt~ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/14.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/14.gif new file mode 100755 index 0000000000000000000000000000000000000000..6a788f8be067976a32bf37c13482a2d41d367ba6 GIT binary patch literal 4006 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/15.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/15.gif new file mode 100755 index 0000000000000000000000000000000000000000..debab8ed082d3e38ac6a824193311c20f9584a45 GIT binary patch literal 1562 zcmYL|YgCd47{^}`^hM1O2~ADG3y~M{R%x|F4R2Jk?3}D@YFo9nE?RDDCp+O~d5M~~ z*=1`>o3$)gP@RM>3pMdt0+A-EsNuCFED|p-JhQ&+`Sg7FpWm0?{~sG46BeHCj5s4k zK)`tT<>hGjun!tMs&y_KfnRo8hV*+@nCxXVAS8#x}xG9JKoiGhC)+LD2gd7_-16 z(Vn$|=Rq^|3^3gSbvSf{!gN7#f-Q_Cg46}fjWAmVH6)Obp=Q3a*lD8L0mgTlG|{*A zxJ*CxG0OZVA26^xB+#sxyl|f0Ji4o6XNchkNC- zO@2KU9#8qG=#bygMbemfqq0H#zE?QfREiDWe0Yqdt@gRPo%rwvO4H3VW3RfKO4i)m zMH+m#c3jNuFQ>m3ISpQ6H0Dyx?Muxj?1kvt>D!LVGa-|*Erxd!Q!T0W+4Fn5o@>+{ z#-?pu=jbKt5YVtk1_!XwT{pHO4S(+YP_v}D>iCoDJmZ5ECJd|I=L2SJ^6^q_U(byU z|C%GgFwE764}dmC*Bk*8X~ImpuEtx}d9Jm9E+ce`{zdDj3DUTPKa)C!t&ZY)X_IZ{tdMv^?(gMN*LEK zU0vrclF0g_ToYE)_H8}P#h+rurigj6b)5vt_rY|3DmTA?$@L{w3AHGh=#+dpGmDfX zVm=8L5IYe*f3HTS;xnogw{o+|J>kKT#Su%CJA~+PnL3oo#I5sWjvFS16x9!mk33ZcLSRF3$I_W!+UH0L8z(zzY5c01biQld~I2Jc@sOuPj#3c zl}oS+c1|v#Dc9q?nCW&uJw3<@l%BHhyA~>PoYCxc)z^67LZX4t$?$dD_cb z70F>qc1<=-7sbag^=SPMG!2`Gep%>nc6ogU-> literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/16.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/16.gif new file mode 100755 index 0000000000000000000000000000000000000000..ed5d29f428799b04d07715ccec87fd504d5325b8 GIT binary patch literal 1413 zcmV;01$z2NNk%w1VHf}y0Qdg@)uKApq*VU24*&f2|J*wG#xVc66aUvW|MhL<#A^TW zUD?#n|J5QMjYNWGVJ>gVL+-`w2S)Bpef z`}+Fb*wl_?LI2`H|H~%-=uH3VP5(JBq9vBgh~AH*2{?+r(h7wiz4pAQhRSB&VUI2`t1z?Wz6?(Fu)SzcC=TGS6;@zAd{oh2%sfO;kHtok#^|>?j zrwj0~AI^jhy?-wM_H<@oCbMrE*s*Km;N9lp-~ayn{NF+U>QRk%9slc5^U*fhq(a=K zM5<#G(v~x~f_8G0;5OaKv7&)tw=$LMI%-PY9U$(r$DePSFBi3LWlqZRmS`v zoTjP3xFlK>WKp0ciI5BobSXP_&`_HTiB2F8@!=hUEJx0{`{5bYT(E$HTDS zG2Da=OeM(h5-DD8aVU|-pOhtr$?S15(9S%|PaOMw0@~jk1HX(69EPp0;|CaQss4cj z%PSxQIpL$G!&whYEdq4_fvOWPAJ$x*5wHfhKy5Mz2sx4kL5OuCo*uRlLI8;b2+5eq z78pq#gA78h<=olxCj%-Pu;h>xWuTlsp-@1;6iQTK#T7~f;Zi9T7;wWOUBp6A81+zb z06r9qphgiz1c3w<6+l1(DVXFU*g&7e@rVSFynsYMMNATe1R59s3?O+J!Nfsm%)$-~ zBy12w5NAMu#RS__0z?xDmGR6nrqp1-43bQ+#TSk&AdN+06w}QqgYdydA(sGw3ndl_ z?aW2REs12d6;^kND-;_ T1`??H&;{Fp8wOrI7!UwEF@MpF literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/17.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/17.gif new file mode 100755 index 0000000000000000000000000000000000000000..85886fef9d4aab3f4b73d2d24866c444319c69f2 GIT binary patch literal 3366 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/18.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/18.gif new file mode 100755 index 0000000000000000000000000000000000000000..b6af2189c8c6e5edaee66142a76d2ca56b45e8bc GIT binary patch literal 8137 zcmeI1d03K(zQRB%Pxu&l9k3N=eB%e2fol^|}pV_MociEHL$ zxlP$j3o0(DO=xDet65rB?ujcGtY(@sGo5qpx%WQzxzGKNKY8Bo`}uvB*TvPDV(p_2 zr~{K?K>Xp5c)n5m()C&_qqjbA{+VO3H(Wftt@@~OOQin8v&50d0>R%@2d~l}wBHdA ztQFU4J?-ikyK3;}#gp;-dq+!E$65nlG)2Da9Fo9-y;^cHASlz`(heT z7|v8Fy}I{v-2vpx9n0*Mz{Jm1qJf67nkC{^(wqLimgDl`Hw^Jpn{Iwmui$V;qUuPK z=hIs|#r629k$&-e&qsxhPqT62sW|c6wf6dI@l0-C(W2L$KwsVWHxH>kuR8dkX!ms2 z*3Nvx)-%0;sYT5SgC##WP9O_S7_4Cl;*$?Br!lC+|r9t{PcEZa- zjNc2>r=Ns~=gP%xro;C#J_wdf);Jagn0F;B&P-4Dl{t$Vmd~iL@jK6#EtTRYE4mAx-Hk$vMStrS zc+JmE3*(oz6#DblLf`&?8!RS_ces=vz*R6|qN|$EtF7O)m$zp)KjasRnSfXt}hIlYQS#zW@Hi zfN=U<`{ZEQz>FlIshOfoXFznWxN^=LfHtJ zesVogcG2c7LZV9#f5{>`mc%P^GF3|RUF9WmZRea?3@s*PupM;`5ndS{wRsKf@2orv zc5`bqv6-+5vM;9fc_Fbnxj>_`L08?$f`=i|WjAZ7!k0{qP3Fn5OZRkixS6%aERQ_G zSXIo0H7ahK?|!zLXryB3guZluWm#4e1BWLcn}{{yL(5QGsS56{^;8{GokX*~A^X@C z>x+G(YHLQ2L>)b3l&W=bh9hVNgzoXOi7jBzR;q_{(gF9N!}`tK0C=*c)!W|t0_GJe zRHLJe-+nmoD$ur|Qw?$Ugt~Z_!v=ZioGSK;*}dyIS$gu*hN5G;ehFLFWj?ND zKys~^nLLHiypNj6Uz{hapJF?mC~Vn`Sk%>mn7+tjDJILNv$Wm14#e2e$62j0Hu#>q z2<)TW^^jw-mXS(UBs2R^@2W1}(8Wa*`=~{#JV($jL0Tn(`>PMg(zhqErkF(Mn%{Z33L4kww@hG3xCIM78sLG%Xd1c zibek?qzuUaij?*peAk`8o+2ePlNw?^H2bI8HW>^iwiV2QX^y@Xn7 zKoSafA&o?h1x}XWYAzmu?Sg~%rz+u%)@Gj2-KPJD?U$5w!U0Po*8(4sf|N=ZJm$!V3b(Y2$ENfn$>SCwAEm4s_@?^AlM`okY(`8{V`9A|Dz5f6 z7-y|P83^u6q#US>_63_UW0k_Pdr(R+y->W;d?Gnl8#!zxM7VYE1c_wW13?OM27Ge+W^kCioRmDhx9eN800i9wrWo-RTMG8ZZ5iQ~| zELzhsY_Osu0~V!PAIPBoyE1}RQ5)nK4o2XUwj0n_j4nhuC4nh>%INp?>eNVP3U7P_ zdYQLYy98^yhBA}v$niU=L`JI8MHv%C@6rAtClwj*2gMgA{6EXc`QfqSzH4b4AU&FJ zI#_FOcyKrUH^|_oc`?NWzW5Z?V+Xd}Zp#f(G_F=$e9lMU5XBba{a!y90&CQq+>uGJ z(cirw;|AgWnn*nuebRy<2(yEtEzMY_3|h#weZO*2D%z9@iHHt} zwZ(KBe3Go-KyGeKfqOs?0<_MPC6NrXTF#;X0fIOOnAgS`s4hr0>_EN>Y+z#uPjYMI zGKHQWCF9zzp~7uq)Q3TY@l5+hZnTK${;OopajMZ<{(Z^*@`(1x|Ne+tmwjlKu&AG=f8&lMe V_d|8L= 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 Mr@cCoVQ=Ms0K+&lfC4>M083F{Q zDAWK!kpe|U#i2CJg9u>~MN|S2(Go>*Kt*z+Wp{P=>b`BS?p1y7`E~xC^?uLZ``zbT z;pOS*6iEOGz*{+RJ_;@8v7X$!S?-59$FfX(G9a(V&sS}Wz416>_(D+K&|IejaqRKU znfLE6E|8t)d)GcnUxkxTuRA!|JO6rX(_Z|o)7#|pee=T}b00p)fAv2#^lrA%OaA`Q zMXvW=nM{^#_o^dQK6ftf)akb;l((Jgxp#X&KJtzH?VkRlfp;t1vU&$L)lFC2I3)kr z{_CZsavA-6EaBj2P5OsfdB5FYOYT6m_2WmfS2g$#<0t2(Zo~Ul${P%1<>qfLJIEhx z8tS`w_eX=fmx|kp<6b_U07b6?x-UK*yfX7};6^H8_HOZ1J$>%YPGa+vw#$7o7=qIho*B>{v-<@g>l=oQ4pM^wRzq9&b|A*&-eRl^R zj^2|WN|N^m?-^)+Ta26)fLm{mzP}L_*;+r|RvkBTqrc_C}F5H?fcc<}C# z>swVCGhHsV4$j=Km8WDrYVn%5z!*P_`FK|C)_LyKt)P;j(fysBYkz4;YJ7X6DrKT6 zc5Q!)ywhBsS#)6h@?>*r#Bl9_TQ8F89$aCX%f+YV?eS%jgwd<bm^R?U8UZVC-<{vs>Rizjfe4 z*^1Z0qGx@j^EYc5H+tk3j>>**h7 z()?;R;pc}Oz{6Z zG(V^kx3L7K1w~oDLl9GL#p*^0D?J~#-&!abt~xoewre?$t1avb?H&GmuQunQCRwkODz+FKbKDvR5mjCnv`2L{cm$} zzJKuCr3R)HvpaPdT3*>-N`)fuKCivjw;@WL16>@0aSn`@B_mI}zdf6Dw$36;)2)g? zR7btLzHsZnky;A(AooMKy*NhLZEOKMkM%DGeJKGgX!A+11G9v2b~G`}o`U!x&fS5b zNi8bNalYx;j?me=wE?yyP}Fn~yKo6pLVZ z2TU!z=&YBsQ(B&cY;!vvp^9YD8W&!`u~c#1mOGosMmScx2|PiJ!7X%*$^&(A>S<_@ zuiKgv-Ri^uf5!*|pnxWzp};u#8RPVNI0m6P-(NcZAS21&lpZvzmUcDC&(sm}GPf0) zdY$B1U-bA`DvKKT`VwvWu%?OzSqPfoj@2yO%@3KhV<@F<^0FkEEU0A^#6O(-rPQ7h zo~racf31Ye$z#XL=iXtO1B80X509&7*qjb9uaVz3&})xr&#T_eQjdXbVe_%j0-Rut z^g$^k5Pku~H$A^@iAP`ia3XgMmyFlgENOTaPE9&PLWx2pv`mi5@fbz|C(XiW@m@rl zl*=^pKB2;J>E#hCzEeqHX|$`J2KBZUsmf?gjnD2BE9vngD8%1~hkqVkQ!)J1=izbL z8XT0;FmL+w9oJ8a^(IrGZhOIEn=D*vR5|%V8TUi9^q30)vsfeUi%?MlA+-$+2JgfA z#y79O6u*LiekBmmQi0e$`(hXD-tnGepf~)dmf6Fqr$9AW--`-*UbpKi?oyO{9{+~xuH#7PJEfF+PRXlK zoDa)H%8i=ZX^gl}`r-r+9GPA57(tbU>G_(BV4sT}j#o_=f9!!%L30DOuFZgwG$||r zC)0RWKXV@rgZ_R35XA}T0Qf(-c=mK4oP*NT$P!NE@37z+()jq=K;#4|XVhZT2;B{|4M6z-JdOQy!Bv4&hpx=1LlfiA8~ zn&-pw2Vm0j)i$b#0JBAW%m%fbY3G3_3{yLl8qaB$clgiXN^2Q`pHocmErOEtcuyac z!(P4F-mg8BirT_mcT%fha;>q0{OMA?6r_sr@~)x`T;8LM5~moWsbNHHKYv+wYpE9aV4DhdKpFUB{;x2r5!w&ZmGQ z>@pg)PE<~BB;#?PAfP`-DFlEiAbgTx>}MG=h}jAVmf`KSrA_HLgfoxsU&_yfMUbyf z;6mLkV1+Uq)!(pD6}EKr;H(+EB1upj$wEzXLF|&IhODOPPS-$~4hurzM>jj#*W(wo zvFL~}K2NXO_7 zhxWCt=Ckxl9ML)?uVchw-1{Ae#^`Bg7PemEHKiGbByFZqP=J(oJ^o=1iRxd84oLc* z{0lFbpCKa9p9+3DWa6ph2|ZpolTMPHTc-%}Se^30QgCw)4j1X$uD&6CWTEW_lP2*3 zrREan1*Zzrm8=C=`ihmXvQ8 z7OzPZP~3Jmr1DhbCxm=%jY6N*1D@4;$=wcNsUijEi7wJ~s zjBD0%gwwwy{CbDKNcbBCIYFXFM-x@QNXqsfZ|8-tmMx$utEwil=;|ho_$1|A{Mo_i z5{1(by!PrdU)_pd@zlVpw+o%7yz)Nr3@SFRn_y(0$wq|@z%)rWbj35XWX%RpAFss zO+3d68a=2$*!u|~Lgy30U0_y``_R}u9IvLAV1Ig+9GUjC5uv_U)JTkPL#K}JtMxa#QZEONgC@-A% z=(DNtQ_2c+J-~p1D4+rnpj}kes35Nl&YvV)^oV$4vw@{3HsN%@-$2z-j5gl{&tLEG zB5Ok@6z^TCq(j&&%z^PiT4TCRmd1V8m83kT0fsr+oJpBvHA4BHLcj(KagT@Y(ts1$ ziEs`26ClcaPl;%QSq^j)(-#+3bQY1zw)Z-=M}fEbJ7jR5zgBqP&=JT_q79n}=xhx) z+?vr*L-bF#X<{dke^R1So&btX(s84ZC1BAgj|STWx)T-xz0rgaXjLT@0{NUAz(2wa zo05S|4asV%F#@6+U9w))7(!|Q&k(0uQmq!~tyh~;VoCfuFeOzx6D5;?9 zHWgqHXhI@5td`+UjBNba@2-Em8FIwv+jk-e*4`07JCO!#-G7i%8hBgGCu=o)thZ8+ zB*ld|Ff2cJGILQ;nR8#o;chMmEl5_>F=~@GTUMWH5iE*6s08vt7z_4~iZ^I|8*q57 zGnhv0CEJj;|K7y>_;@tF^{<*(-@`9WOsJd2-*PMV(Ge&D{x9GRp`_;`2sgh~Jit zu*o9j;k@S3HQad7wVjjGaF65h506geyRQVO3#L>h<>sdhAUdWmaSG&Yf=xzONIQj< zaWC-1n@hAY=r$$VNHen$FZM0fhvvOb5FIjFwzb_locGOSVZ_y;{7Utr%_E=f+tKip z6X~==;xc?5(^qKn{rqCP3e^WS#wo}$j0w$Z%frAfMrCI zEG__I#Q(U%T|>25UCGnJ=}aH`I3>hW7e2j#woQa+_{sS*PIgg%$AQPwk5E)yf~LC` zTUIo#ZSByOp=j6YzqRXw!9fjfJCJete*8#=y*Jh?JlX94DJ}{Fd4#g)bB)XzgFw;^ zXl$jcKxAXq`uPHgdSns6Esn(AnK+VgU-!4ws{D8CIoso>YHwgLJIeM%+j4N|iD?r= znvpqWCp{E57U0g=O|z1SJvd&U=<#3DZnP!MyB`v<%N8Qg7OUc7WwvGc>-9*&gg%p1 z>E>kC6Gn8Ek_FFKuVIuX^)gZqnQRccG&o*U^Sh}CLRtf)rb91LOxiQg3{T1XJP81Ay7jTmIB=F(gm^V>z()bK}mMN z()oZ7ni`Wa*nz54MipZ%Q(y$+UNzzT%2v7euHO=H3%m$H@E%kU0VB7oBTx6<1qG%*8vmuYhi=uBf199yRtINd~7?a zfzBfnbLH*G%Oj8#pMRs!|83H`c#p3p%`&a~kC3i^^AAb)e;w&7c(6qYfoIUvv9>61 z(e$0A3}ox=d;p4?%OesZKnW9Jgn|*N^FaXs9L30ELYUQg9y%V=roMzFg9RSi#+CI_ zn>J!?<^ua$A{=IB$mHYev%vamim$}g}f-D5!=i(U6NSsALE*a;` zsK`N-G!QY^Ow&#%Hg@>z48QtQvcS`KDYl*l71j8T5T2R}_HPx>L@=RGoizZURs}O8fb@lWr zq!^^|T{G=#mGjY7mr#~Lcrz8uo&me>VEU+_Rj{;Lw#;yk`#93lY9GW5<3S68V^C}= zlFZI8Ew`+ig_M)=8ejVKAIbfnC;5M!d-vCIKR{uQCSwyKh4#NA_oSPtaQYI;m0{O{ zJ|mZ{TA;O#Cp1R9x8*E&u|Fu&J~pmA%XVEtawg}RfZyW-J>u_ezonX5uCql{DMp5X zgkHT0gFxkMowb$T77?{Tm(`NwNUpv@M;9LVej zFV)f{R{Dv2(V>V|f-;olJF8Z#AIEO7N*m~HG4$T7yRnF2TH6Vp>ndxv5)U+RtUK(B z#maumL%B=*P51pDS=;~Bf;MpOZwuPg*D!}FE;QV*Hg+UOm`&f#NCfa3bHWB6D7xfD zgRum3Yf;)266x`$-JK7RquKsqI7OSt<0%?;tIvEEGnL4xmv)mXt4-+S)kQ2b_j3a? ztG@ktV?((i{Hh|>^z<3wC06bIHeC<$!%^FuE0SDCH z=9>@ba@xuCJjeHTH!LGiG*4)yff)+EtK>|l@)C>$a?jhnc zotDkAj8WrlmbEKOE-}@6i|ud)6H1afYAat^wimew{#$!P{JXIKmH)B-2e9vb9qc4L zfFy84rK2_+0aNu)umd{`dkx%L^$g-eymcZ%q>A>YD$6xB6HvNLEAb34d5gdl#cSlM z`y(%nNYk*DLYfC82tQj2jo|wCSgB_~GqDG!Q6w!_)jKV&;#$BTRyJbNMDnAdD~#>@ z&{+6F2foLlFo!#3hx_=DG1qf(M4Yw?QQT;la9Qe^YkirV4RxnALoq16qO*lsl~pP_ Rn>5}2?ku!H@QL_0{{v#zS@-|| literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/2.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/2.gif new file mode 100755 index 0000000000000000000000000000000000000000..40cfda436f3087c561bbf0dfe60d2591f8f11e71 GIT binary patch literal 1804 zcmZvbcTm%L8pgkn0}}yB0t+GFLJ$#!aUtL$AP8Zpp$eW@DdK?z6~$3cT?oYxFQ)`GXd)(nQ%QF9i_n*Lx_l=G!?DD ze_+|cu>-MY04-H62qwU#6L5BPu(t!sI$@(O{HP1jYB=o**O_ac0FGG0wFq>=z0C~3 zl{xrY^?QLb>@|Z@4t%2qhpiS}0qiiIqJhbb?NE56F_H|I1Es!zdwmzI*J@_dA(xCw z#SnH(KH9ogw-e5K$wuwqsO`{wB?-?AqI_h~ZrL3`Bopbd5ViaaCAa3EX^44y##6MX zv+-~_2u}FJVOL>o4D2vjDmuDRYP9ssa^V@dzpEAc0~iGQyW60wX>xpIdAL!!u`&HV zQ#?O5I?y}P-?Qogp!mjI01#Hw%P*19c=xGihQhjlwHouq8q3wOlJTLws$10WE6aj< zHiZ4$M`1`&0xFrG`}Xx+^xkh{ou6*1wBEqMJ_~7&E!uBY{1?^bB4Sa*&M#$$y3@?3 zi}#8foYorXYgM~v`AId2egmmLEG;gy{!Rb=ZFP~a{Km>RsURO&>O-bpm0mS2IEmvw zw9B#q8?8T0*a0#BxTHC7u;jvc^`&>$)!SpXetZ(qmFh1V$msr9Ep85*n;a2vC{3{% zEiAIM#dI*8!he-E+g4n^`S{|Ik;7o7zjeA$7d|@Lco8QPxU83}jSYSlyiFFw=m;L1 zL|dJP@&Y$1sYtmE+C-Cf-bA{YuWRI8^p*0! z^DFS}52L|gfcu;mxrKKX*Lod0kxGz?S0KU}tGw582m5<%3Y2D}rAkb5P#*%|AE7`c zFDHLLM+YA#>RwZf8~}i_{wD=>0D;Noy*UyR09XhhPRF%`(-4PM+oMi#Kb%j$ZPK=a zcNf_EV95;7Aa`$viJwSvG`*QuLLxqKO>AJ?RXuUXNY8`AI7Yst!oBTlX5c|qQz`UJ ziR#4c_f8-q*qnSXl|1*jT25mj=P7oG{WW8GvVlpURhH+ zI}nM4a9>(s&N~qng5u?V_8>mE%%R1e*2G+Rsb$15dSAU+n@3M1*wb=8UuBT0J1b|lGLPigKH|oOJ6oV38f?{e3LrtqzFI3UBI>k|KcWA7$HjWVEB6rH3 z3UJmIj1H?eB|Z$N3OwK%<>ldVV1(oAp{IfS2iGuy&rnpl>d!s>IEtu_|Bp%xPyj@L z-&9!$V1zks*RjWnt+Ji;(`RCn6#Hau9vGGP53WV|p!6NvX#3g91~PMbM*9Or2U@ZP zYsJ};)#8)$S1uSm7)Cwog7Y_!@ z5aC>iBpV-HLZ-)Gix0E^Z+rqEY~p7Ec$SmKJB~4RlC5n`;r$YKu1AJqzWwGCr|VFG zyzpHPd8kQzt@X)#vMEj#hO)B=iw=qBVTi@~r3s!T2`=pB+{{(Rv!H+I{1V$!iM8Xd zexkg8PMWc4I+C*CO;6foXh4l%a1&qHFL$=bt*AdLuqXTC z=RH=d9pi*58q&}#RsA!OBPaL2yu?l3tp8UxO8?(7-W`SS`4ZR@O}74pw5uz={Y5~z zD4FjVcI2NHW%stzD~krp18xQFEZd`N#Ttkb*)#e~4zXOL41be$1mY@a$Vnrn#;Lcr JtTFPy=3jH@t1|!q literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/20.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/20.gif new file mode 100755 index 0000000000000000000000000000000000000000..efd650f5598c031ec3a205351c95d9d83bada14b GIT binary patch literal 1808 zcmb8uSyWSZ0)X)ggph=U1c+&Xa7ZG^QUqj^MKEFCr9el}Dod@@gH^ORwWHWTB4QaW z3`oJT0xAqr2E$Saij@??8X-`WWdKPa?AnNIN$$;m@XVPxorigtx9|OTzTnUx56@&O zM1{5hv^?_p!Y>C_8Z5;eoRV*$>Tr;inmj&-ho_>!OP9^DQpJ6J^+?bV&rl_D9L{H~ zRPI7%V_w{#Xb@N~omL5~Ww-RF?wEtch{d1mL7x>o#$K&qs-D<_3D192`fHjDK&vs> zy0|cqAo`l{FvSR&@>Bh63+6+bvx3yaKFVe*<>X&mF1vJO8iV1z0Nw;^e_HJi1nOc< z7XxgZQTOcw%_M*{s9*SkX&>n=^6HOf&1txXlNfk1u>Yzl{K98^WKdqB504*&XQJTA zPWDrJakbi)lA9TJZY zKL;X<$2pQe6<-{^8tjrq&!oHzU3 zTXSP&4KdqYzOR3d-|9<+<&Uu?)Rci~#_R9L&+wHzYmDq84QQrQ2s_5<)wO?4(rQ2_` zy1aYlfh?vWvyswrM*kIz^x2;^OQ}x^KARqY@oM7bmM{>WIr65}eNir3?eU(kp~GFy zK$*Kb6a^0**cO<*so6DOW(dIOVyml07P-)5z0m5gHhA#eW5(NBL-00ny&B)~N8EZN zwfSr2LKl0!#sX}9xh7%#T5Qvt$y%E#>%B%rCJ$<+e35#6q#ln<$IB{c%d?Z>Z%CSz zPnC_v%0@CW6M;w%4dj^t02n|&DljhApB)|O?BJxM1wjx)iNfL_0NL;K&LmU_!T<E~Nv7hGSrv16dS*k% z8F%PQCFH$1#kmP7A$diPSl5fD7xG2cw$9rMt>~ZtLO_`CX?cNdjPRI9c1r4^4Ouw2 z+*YuQZXS}HwxAitk#JWTZjp}#ySewn^GtIlF2;ADw5|PgP8kaM0iAf-(T3B)eg2(B zc(3E|_~GygR+tyA;KPoq5tK6tccZm->om-fZb5{ADlT7&zBDbpWX!!)m|g&Q?ef$a zUE-NE*Yv_`VR(-}Ff+I<-}e$e$V5kll|NwXcwbzPug~5SX@1%V1?eo^em(V4v$u!}5_GXh6 zaCaw5ggB$PeP|RT!{zS`oNJ#K6qK8>E1Q`wl-_%h&ZUes--z^az}IeF*P}HRN|_fr$1Vde%AvMJI=x8miRO zMZIU&{eRg5rvEqln5*yQx`LzUt;`3`njW~})gvn;`{o8IY(hAk=lfDUk_$Aos9E$yPY9qqk}(4bE_*?@N=-JC?0y4nVoz+*Tkdw#P}Ky zM>V0gwQb*jRNRzR)JA3=&I#xG{C2nPy08!H?N#U>r|n8Az3CVJ%MP+$;=hosm4`5& zTtOdKaPIvZIVaKFW(PUxd`DneR-utiufoz|$5@5TjzLyC$S12fAsNSJ^x_g9L?=+B z!9Nh#27$@5%NT;a+{Wk*tEIY-g?>*=Qi@_C_4H^JLh^n~!w9<0()sI-zb8J&^N8T_ zS^6cgU%vD2iIa)Mh$Qx)UAu?z7>m^uOEl6=r?ZJZ0w**vmM7_jinkddY>m?lOAk%s zd`COqSwW!e$A6SF6O=S)_>bmu&!FWxv1f5 QBu;etXZK4eWD?~4PyES!QUCw| literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/21.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/21.gif new file mode 100755 index 0000000000000000000000000000000000000000..cb8cf6d2a19857f6f6a13a16ce84b907da7b8500 GIT binary patch literal 1864 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 E0ebcLc>n+a literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/23.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/23.gif new file mode 100755 index 0000000000000000000000000000000000000000..96516b8d9368ae6562b4da1541b41390d56e4931 GIT binary patch literal 1950 zcmd7Ri#rtP9>DQ27Y1XQF{VkvjB#0p+)`SXxwxlNN_MIZgZ8o6wzhUVQfu5ARwAu% zdUDC7qztyQU0nv#P&0|J>zZq-iAmF7_#N42&-0xB;JoiY@cn&$@9XRDv)MJAj36UE zNe~N9qG7phvLzZ83#KQ>;JNLaGE#Fvj6!G&V)J)*w}Ij~e2j%hHp_K7b0W_20DGur z-(X*NM>-8A{F>s4Fdd|N>8fb-yOZeK^StBQ0nLHSM$mae*1D7E%( z#Ef0is{PUCegp!BLZE-kl4K(+)x*2JFysM?MX)S|2E&dN5=`!Z`$QOUhna&gf3_oe zJNmPi_ToKbhg zP|^CeQhacFv|lw|t?13~{mq~+kFxM|(}H~Rjnk*o6AW-@vGsT@iJu{1^ zZbTBM;Z95`6Y;J=Obspn;h;42B-&h~m6ET&)uQQ$<*u`wQ+4U0sP)mo+vux8bZL&PX17&6mU?e3{6z`eF6u z99NM$vA*X`ygk_0eaG1>r{$@6CuUej{+`VqIZlm1+j#ZSL4!J}S7z5iAEyC-E;DFvfVVO{C_wuF5N z%hM~Q)G|bEG!qGZg~*KQ#p7Ez*i(FlXNZ*%b^)`_(bI9*(X@%c z+fUZ3oYjwD6>d%UVBagvW$fD-8gOn`1HbD==&b+{Si%z#r zycOS;RQc>)=U}>8M*K&LxGL52Un%;P?!TpUPpwMjhJKd99$l59pPayt8E5Klo$gD* zofGF+6+Ts7os{H$fw&`81!JOEuKKvxod`riqHSv2F(FkdbmCUToybcc%QWC^i11i! zIm)c%ZrkiKf*Q{!A8au-lq0#gbr(Zqrc5rMYj@~rDlb8VN?c{)EeuD^<_st{fX(P%s78eAQZ=|m7~pd$sDeyzJlx0My#!2 Ml_pW68Hlg`1F!UCz5oCK literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/24.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/24.gif new file mode 100755 index 0000000000000000000000000000000000000000..5f925c7bc15698964c943551584ed856aafada3c GIT binary patch literal 2257 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 ZAe=XE=`EVhT6UAy5GOqlm1`-s@L$#RTl)Y2 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/27.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/27.gif new file mode 100755 index 0000000000000000000000000000000000000000..bb468901e4a9412da4f5fc0c4edeaa73b3acf570 GIT binary patch literal 2893 zcmdtjX;f2Z9tQCDE?EgAgaDDHULs&b#RObHC?^S9Si}^y!&q!1iVL8o7L``!n1n4L z+F$`u(E^I%N}^c6Wlk2L;8+co8F2vvir_jdvM-q+J*Uoe=F@zbp1JqjkMF(jd;Y)Y zxuIbpKECUjfC)?hn5HJOyus9~RTIt2?>FBz4R4=p4>|4!M$2udI>Jp8`^UBOhGby; z&+fx{gy9oZ)7aiAWAJbRdH5#VGKBjHutzJM z#wwjA3`@ICyHDQpF-_eat#lkZfE%oy`?R6TG*v%T%YL^Dyvcyan>ZIG^BXtdO#NSs zd`}zv26P)@rn;i8%0eDyQcXh%gV(%AA0K(y z58R(Fr2Sl9`=~syyPp5D``OE$t{2;ofhxDx$80r4oBO^cpW9&5Up~vI4S6AlYW{#e ztS)~25mPTdxttntJD1g{ z3^={gA}7**}PXs?qSqsuc}Vm#n`Gz%jWvh;E_XdA?YZ* z^8~6k>Jc}tWhcklMGmZRhj!9vP*56`ep-1g*g!ohN`OzvO0YDT7-1RH3(^YN>rhh> zlk+r83jEot8^Kbo6i*G9rz?-gimmWyt4K3P>cp^RFlaPa;2xC|eZYYkr^P`yFA=kY zjLV>SwP&`%e{9((D_BImB#lEm?VuB}F`~q~b3>x>V_P_w)`EDnYpuLjw;e&vyLaJ8 zatIb{l5bdwyU)L?P8a8k^0I4rtSCF_bp;3yiFRDSAMNWXLFv)$d-8k(<75h=cc+xD zJVV}3a`YDoD0>^_T3+hyJ|5Xdg~_4dSWLIiQD_8+Fv+XV8jb%%kJz|!`Liq*7!Iwp zKc{J=GXakVl3Oq>p6H{7NJI?dlPDENohvHYVsQAZRbGtDzo6Mb@mpL1Cv886Pl^e8|AH zD6UioS3>vSU+OO^ioYM79*Xk}WAjVN*+eD%b=g&{@RHaKkG|jg`%SQHR3Bg$?;(*0KjSS%9Od+yMq@loQOruMNxwZCNl|E9BG|iF^NX2!s})-WQv64xz7T93uld+qzZ!#lmftt7O1!{efb9;Z^ASf> zELI#spppz%CQVe14@sHP_OEQjAF_#URF&$pXmi4ggBgObgW+5UfuicE$zr0^xLoOrv+$})3AC&O1T z-xHtt=nNCP-vtwiw1@WZn9!Mvf5XJf2%qiS;7Il;VOrM&OIcqo`O3w35>lXxu%OQq zNji&~oz8V2P#o@RE~pYqaVUg#Y$0jcr7RnW6%~sVa9i+%i^1{{u?{rZ!W-`-U5>$6 zx?CUcf#f*udW6!pw@_^K?&jx^76iqbnV{pAR3Af|?Qfar_EIVgC>99*nTfgIGCajB zoGo>l$ydIho=nN7nVA?Q01#sPm9!n`J@c;wsB~7IRbssD$H0Khr_Iz;hj6Bz{OrCq zCuU12gh!Lk%B-&^H=PVkvI=S-sdcedJT;8C)u{q)j?zkGp@JLMLVFPa8uI(JFaHl|$N!pkzkdL5 C&j>*P literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/28.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/28.gif new file mode 100755 index 0000000000000000000000000000000000000000..f59dd58257545068f230bb6515c053a38f47d5ae GIT binary patch literal 3262 zcmds(YgiL!8iv1_B$Lw+LI@B!nP7y7fC0ec03H(5HtV5HKwYY+v7(EpbtVZ1 zQEE_YEm94LUe;4_wcx3m5KdC6fS_n81dxJ4Yj9OS(QK%Dt?llw{kz}%|E}wu`+e@` zn;SPr5~=0^960o<-v=1$PbNjuF z5OA-t-mU^~x)#{q%(P$iw2v;Z_bBX_J?yVzUtaWh-5zhR64`G@)M)7K_gi`!rEktV zy=*JA-wY|+;Z^Ur>bJl2-kkeb3ErGzwCr-T-Rodz+a^EAqO}}+f8cg}kI}c*kl1}XxW9l=mcf61oN;3f+J9wcf!x(jXh?pW4P zo?VTwszK*ruijg8N3IHgyOL-h9U88f+j)Rv{hZlcUEbZ%_Po8c<-G3Iy_oxI(0*}E zpJjLBxvasTDtCQ6=UG?7EKBH4Eqg!*=C>KE0KNe4gJ+v@16I}e-l2ux}mQ`(BIuQ&|2TR z*YnMAzwJsw&DL=*ewzQxB&pdWGp*;mxHRd^nnf;ZdiMFujkOs_n!PHZO!x8K0nlUL;1^L?k`;(c3XP4`9w|LD*LO% zhbKj^A7B46hSE}o4SX}cLci?pv7mvrnYM5JhE6$mnAhGuI^S-e{-k+I`Nr8JHM54l z^8)|BM=(OBpr9NG?92tRix)|wCES*BB)V-nP@SA-;zVMY+^i(Bs1_zF_X4X zJTA5CQ=0{XBi(tlP%}<=!?Y5G$y#?9LWQ_41+uQdWvCfUz8 z`WZilyb(zW>9g+Nz9$g5ESQ=1X}B$}Y&c2@5{m`eMmj>K@io>D2z|7ZQtWB2&{GmN_@!n{!0&ylBDEmYi0Tl)4su8dCwT^I66_-P6}kHr+s-n$+b+ql`&9WxrD7TbM(AkMB(;XleTZY{M(&uZ9XsbW zO(E^N1<|PTi|XW(xawtd6EPek@C4Y`SxieR5x}#9=mrfLSxNI>=MK!3VVvvp*bhquLCQFNZBmVkQl^J6}6Pmo`a#JFg zyxH(HTqV$U(p`^mT9;X)#|6zSV<@p!js8mR&}xIYms)t1H=XVGFy-K}#u!QLbW3>! zof^TCi@3(JUw?vpLq&4I9ul^Y4+hn%DBA9ta`~eR1XRHM$h%afF;ek0Va?}i$zNQVs)Z@EFD0MQlE{8q?g82!p1|l&9OiLxLuHSH442lt zycEL}Fqb8&)%4_H)6@BEcDTwkk)+(Uc*!OZb|^WA_O~LFX75F>Qs)q&;)P9reyM3UvC&*;bJ|zBzd1O_;_$r>Tf? zGKPPYBl_^V!!u44;UR0c3U#IwfRv7N zJMb5-lo0&0#tL<&0AX-IZDJSkiW7(kbIwWY_qmssG&dMNB6EkFX@ZLFob*yN)0?kh z!c);Ai1hU(gGnDERA3ZGw`Y@vBg3Vf{ak}Nhr%87ddtM;KbV|p&Br#*gQVz;0V{$| zk(h{a&Tl>NyS#&7@JA%v^p%P+B>bDtIvY&c@M+mfibK%wPT>ci!1*c$ZRgB9HrBK# zkg-t9BXUd&V_~63tuPL+AY{vZKTC(9UtkjA4_5GTpeKFUPAk#%(lcFVJ30P)lt>Xz z6`oga>L-!Vu|PEhYVS`=j$_kG%u5^@;o?46u?1XkK`siyRA;sDs#2R=gFAABL|dKI z7{)s0$*3QJ=1SF&B4D0R#vsta0p86jqcI@P812N4$kh^hF$=hr&co5wUroKKT4IRO zdQgLManZU0;e41X$3?cxy}Hl{2A6?-f8{yIWXRqogMy#g;@KnpeCt1E$r>N&D#DBnEDR9)04)j3cui5`Q|?O09@nSZjM zeW9c(cv6JO2r=GwM4Jdf&0w?dSohP~v?f%VV!{zmk>hc}O#G`B-72wmL`@Zj#zEss yWM7j#tj6EFKi_qW$Xx5;w%o>Gg^hK8QDItw_aYP9!kTdjvM^a16(WToFyo(6p0-;6 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/29.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/29.gif new file mode 100755 index 0000000000000000000000000000000000000000..3c5227e8e7796fcbfdfb8aece35232df864f5f00 GIT binary patch literal 5861 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/3.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/3.gif new file mode 100755 index 0000000000000000000000000000000000000000..6d6f7629968d979878a2defb2d66ece81bdc2af2 GIT binary patch literal 1852 zcmZ9LdpOi-8^?d<;2eWdljJaISVoSuNQ~o*$U4js zWqFg+grS^<*C{5Zl|#}vGmUw6wC{Dj*Y!U4KhGbZ`@Zh)^}WAD2YVA!UkrqSHUYFa z-p!1V0sIy%W0Rvpx#tWvncg5Zr1X-!pdAZ1*8KJPu6WGIo2I!BY_NPCtVe*Z z+jV3$@R(d*@eH&nj~D8^2-*kU>IlY6Cu?s`)LtdK;JV|mJ3I#9p669cZ)BK)1>f-^ z8_ui5l>+&hXSkU>^bQjbzMP$Ix2cOIZkM@jJ-t3M@OJXC>iowKJyGKCN-k{tl?C`~ z^E3l6cPcB0AlTs#S5RJ_Jp$M#+LF(Mr+Q%K&YQCM_0<(ljn?A)4A@Q()S|$@(O}}z z#=_V}VT%15IAb(*uI^-#|BRq&giexPl2{ z7xe@Xu%3AxT>tYsz{>>b=Z5de^9FBhPyF6m{{qaA+HRRiOop%;D%tVX4rE^JQI|GKF%5h-!6!@C|mB$nC zszB38u=Hb3M+^JUqaZ0`zCsuDp4^;I7;AI_y?*>5lNC-8sJ2^rp$}?QR_Ka?3`a2G z1Kybd{^msOk6d=R>zmr zfXS-s^Gxc?yN2sI0qqpq{#4C{;r1^RoqcgAR;tqHdPn{YeY4f>3%jQw(LFbWSaw?G z>-1Aj-Q8Js|HkN}4yu1!RuFe-kS+0Mh=#>&Oc@Q6NK1cD&-Z3I#a0uWyK7ls4_LE-=c63Qfc zek)mALA!kU6GT6P@NbY~I8C?sA@bE(EjI96w8Pm}H%!-XF~R>@u|^HVdh|;vNBwOW zfn;f-Lzv@}<5T5L#+n+;5~YCpsY(GvwdTWmO~ zRxMfaw#I!q+heoE%Glco=A?~nud1O^wkM`DrjKwT5mwPIZXuCj@Go*^8Z;H%JKZQ995EL0{jFro(VGUS4)i|s zLg#-s>!=$DY>$PWl)fu6PNVTNB`C2aGn$yHM z@n7uCvB*+M*lb+^C<|cpWw<9O8?-rl7F#8%CdYB$ngRJZ6ucqBT0+~4TiAJ0x0-5= zOU=Ic2C_kUv{{_dmqTip|fqsEf?m@&ZDVQ!%|jQnF<$P8#2c zVpt7E44Fu(n1N(VB3vMN0CX?G@_-hIDyHrHt>^AQYaCJqdH6>%Wmg zB7CU?Q@jFEM6bw|piJzY53~{y`R1$tuCH(i0ihu|p|5=q*f|c}yWc{FjcH*#_Rv}+ z3eWJvw*HlXI(-V2{ODJjjIxcKvUZHSSUlr=N18NQp(2goxNmBT;1)Y#h53WOeSi~^ zonYZ?9?qlcraP_1>@1@1jH9cMHeP|@R z`)xzbY~SMuZZsNcY)yjoWm^<;1~nDSkT_Qw)?qgKn?}i9jS@nQV$dF;#{Ijud-HO> zRj{anwl|YbV^9RQOokrlt9_%3{n&pBwoGSjG;t7 zi}Ep+3tbJ)w~6&pkx@oCbDEV9cr$a6A2?R`Wc5tKSNn4q9x}dZsBAr1QVLI$e{Rza zTM^|LD_we}y7gGDQYTdF>0A7|!2aNw{wxnQilkAF!03BX2Y8C-HGEp4FFPe_UL(C> zBdL=STplNBd}w)`fdV-mTiW^w894=<(~t%={$0!uQ-Ye+YgP7Qlk%hce@;kY8`zv* TNrDGC#Y$|Xkx1CnqWKm_sF_!G;)K#=!I4 zFue6zksudd$WJ&4+DiNfo!&H!5_6TM|U_Nqw_Sy8fLLq;g?j=t0sa0a-D$+3e7d?LU}@l_MjAYM|GZinu6-H;+Em^0 zlcjox1_n{N*J+wUuxsJc8;VLM&nuGhX;e!1{Vy6gP3VyW5n z-Y3Sl|3s}h##>*R9j^KF{G3Yi{h`(2f9h+DyR%L%wfo*rjF}X3Ri%zgoq{(jue4nU z#zuz5pFVk0X8gS4LSuI5oNB6?iGj_2(42TwdHNBXuB)SO>UFTG+bAs5bRD{3hQG}= z9B=$;q=-8+HLg?alC?Lg8$M_wVt+Zo+^i#y6L6c8f|hRr6gPww35<=$-VIs7ug9vj zqgU1xC7{!QPJQ=65)>7|s2_|6z^el=8=)WC`MR9^>ZXZ0_2kS|dgqR9EA3vO6OWa- zz)aX$Eo1Et6Yep`E>ah82&lqgZ09`R6E=#W-v!2n@FH^TGV=izyDV{&Wi#R3xM1{$ z;62fTz{p?^S2rw*AP9F2M`9v?Y1iT$op`Z2)+zSelBTnX zUs~SC4Dhf~c;$?sEXUGC?xB$A?U@0q?)DuYMfiK+giOZK9LW`5DTRBfwwhBDF55y} z3@mhZ+eSv@^GHWBm}1KSwvVDd1pK ze=MYyq!{mc!VjSz-F+Pi>7F>-Xcxpzl<{fgE5|d35<`$Fq2ly`OKDBCSzI0twV6<{ z+hfJIcN2t&kZ$hAr7+C*ph6tsyyy)1sF!=B%l^+3GH^k(%s>*0Hp$2DSfJspwjCbm zalr**f($WUNHA{lJoX@}6(hO4vg)kxcr5u+hnY(v5@`5(0l^r!aFAS!6AK>Mbc3kY z5Zh1ZYOw~+96oBwi18#+MfSJ|3-9t;gxgZ+DYeT;@sN0sNWw6)VX-WS6MtlqOl=r6 zndP6%`>T+#(>McX8@c(Da}bLD%8dVQW(FZ}_|~OcqF#m2qy8TzQcgg##s4s~{_f2A zf9BuyiTtwKTtjR5b-7X3itfdH96cA4aSZ=+D2CCUZzoLG?Q9j4%6ZXW@*Q}ril`6M z5C2V9ZNTrMS|8S{i|OSQ>8D@xuD4zg-pXkRJtAH_aVDq20qgm^Gt(?L&f0RqZ&&fP z(|5h^5qka5bME^b^rzI(Cf*_kYIZZn!kLF5?DJjkOskPzSV;2?BhB&idJ8gRB)*Ny z8B#wpo>yhUL>7+jO#AWFL|cOR4k2j8A*BW3=hg3S`$SHcaj;p3`zwqp9R(Pg)0BpsDUH1x)r5y+|Imb k{n_ye)X-{yMt$E}oY2c`*&^xt4eO8Jx86gUe`mepKi~&fM*si- literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/31.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/31.gif new file mode 100755 index 0000000000000000000000000000000000000000..073e743ce5f5611321cb04f9e6266024db0070e2 GIT binary patch literal 5174 zcmeH}YgAKb7KXob$;p*)0x<*#m_X17s1dCVig>~`;w>m@tachKt!TYOYpYdjPeQn; z*ak(#%3y*}X=OB8TxPT#PZH6H+ER-at(U|rVmqbQ0**)~1ZQcTwPt=yXU&?Kp7Z}* z`+N7Z-@P*@WGE7Ig+K_r2q+#2yg$6udr{%-?eVs&AAgnLy{+;(BbFvIzBzZ+dnDM~ zxx(A?p|@?4_h!aJ=OFLngWl7FygzC$fAe*@D!{7+k6dxR&BJSQkS&=kZ}%GOJmx2J zFmJER+uK~3g=`uFKm3$my)M!Fu=rvwXxD(=2JY?a*Dlqjx_3!$e=^Xqc0gl+=*S{Y z*S)KiW5N2DCElMG*XISdx81t1RoHgxdhfN=^E<-5k8NKV*gYK=9$w!0uu*>a?U2)Z z3;&SE_4agj9(|$nh^)CP_U3lh{k{CdYZ5MPVl`GR_I9m$P{;ZFZT?r=MmD|6uo)*@ zIyCLpnL}qR%Ubum*jl&p&V@5AhjxE^FzsHg;Lg?N8`m!Pv?vbgGrW(s?#rclsLU^` zM|PebeX=}m{}Q36aaLEO{D)8Fo@1qVU1jGQZ9TX4|7@Sw*}CKI-gs}1`Fq>M&(;ln zjEie_NMpPW|GToAoi>O|Kj+d(Bxg=%hj5eUS70pERe}hjpHq z-DOYz=|IRIOQyR_$t%-?54;(7W@FSY4ev_jz>5`#GniCX%O^mprw6TCL;tYxg)7^T*_+YH+V6GUH9*aOzwYo7g zhBUIerNRmoakqifdL)7uO+rHjT$yIX9CI~19dUngWQJo3#N$?Irila_=Q#)(6fJI`o{Ci!7ONaL&9k0-3bjfil(azy-64 zW~&L%*F~DIi}5I+0UQMST9)B&nNF)W_*#~eueCUf>5*BLbyldccxr;$dS6apu{j9} zO}-eA5CTwL+kvdDoVXCo=4<|@
      WnIIQGm1g>+S$^r%K51EpgOZ}bv2#_;u(KG+ zev4FS?_z7oPXoGn!?mU6(FOS82U?H_S2GO&9I&3 z*R?{ag^`i0Qdqn5NKy zZ3aCAJzFpW7=G0xaOjDu&tv2HK98BZ^32*=ZJ)Kc6lf^`APh6BYqKyoYAFE3?k`UO zd2S&&0Do4H2KpTs?|0S;{Bt(9L=LBFG?7_(b-8w!$&AT!;cl}53y=YZ*lh-M6c)-= zR&pYn#}y~x({J0!r`{%mUPJ=KA%W|0{puWFKf`nj5#FyzTWFaGvE3)d` zQ2jGiG6CjeitDR#JP3JWB^E%%l2%Dd4mWzt+Rc)Jtp%ZVYKzv?PpM2OPTd+Cni0g& zApnHM(vum)$lKI&nwVd6G}!XD_T;{$a_RI%(h*Wlxk;Y_Gy#k}KoBILL$IQ+*QXdf zZNw^_8}ygQWc5wc(*SJrPt%hC^qW`^o)@3T!#vfIqXbdyl8?pu;qy?wR;Xpr46n*c zR>>S}8pA47lX{>`6~Eq7!GZ58vq&^R({SyNwb1Cs|#h{sz#fQ0g%{3sojI=U*L=yhRCi#;@Osz@|+MlRvU!~ZfEz+iyy?~isq zLpr&NNHNqcXh=Ot6(b(hV@W3)VS%x`3@I~5M2-%_g%>HZF(5&t6oHcTiZV#55-!kY z2Zp^V9(P%ZWd}}Rk78`%xi<-KRlg@$pG4S9~*)WD{2#j!{f zM7Mb|ih22Gz{b#38dEuFFHQ-G|~ZFM+d}5JWt*W^!lod6X%06fZM^S=n4hZ0mL#B_h-ElY-S!xiV%V zcN8U^JxO~D9o*8K?QhxhFmC@l7>n`ftV-1ZkZuSZwva{2jFuSt5PTn6oRkSyu@!$cjP z!ofiU95cH+K6cI2n~!kFLd(Qp{TmSnL(O7iP!w__p){!7{BiMMZu@!FlZg1W@In~` zMfry7HnG}Pz^RVhEXWsz6;L4~U>0A+n;@=Dz!<17MbAdC=o4z(WA??h%u2n4oFGVA z)MsiE=pmYrfirxWcO={UbZeXNNu8ML@VNfb{L)Ig6IfF ziHFf&eOCjIAw0U390 zz3+U$0VdYs1S8EQSHXi<+;m1J)=xV=2@-vkCVES%PR)d8Uv~;^Vk*uOV_Ey{iivHw(v?fi#yWql`?11E+_8bT$tH1>diiTkvMl&=Fr)F0_= z2Xrnv5LXk+JTN&GgbS8;GYN4v5DKpLF!#1i#YN?RS({yr*0YdUlj?|$Dh{bqV*J=0l0la%A3s_nVuYWn=7q-ECq8HOjf-fxKg&+f@6J6#ax q3u#Jh935TLptU&QRR5mz2iW+3=bk*P=--q5Vf)(|_TO@bjr}V#m8a?e literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/32.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/32.gif new file mode 100755 index 0000000000000000000000000000000000000000..772eff23e345569189e0dd16516733f20d7b4442 GIT binary patch literal 7189 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 E4n1?-W&i*H literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/34.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/34.gif new file mode 100755 index 0000000000000000000000000000000000000000..e9d42131a9bdb8556647e91fa3915425ab730102 GIT binary patch literal 2140 zcmZA1dpy+X9>DS6n86sDW=0pGq9WH-xvY_x8TUaUZFJe4N}aYgx03cmW6b1|S16Ri zBBbP$qWhL{ZPIcO-Q3F*k)5ewE`EOBGydwF^WXE|_x<{Qp6BuL^LD21F+dCuIUo}c z8~}X`b9baA`U7uz;PamMmu#ThR#X%Nm%CDH!qs$!>VOqc49cbXZS535R}1 zNyAQ%9RXQl)jsOn025SvwAbau>E)nI$68Hcwm{MLGvw~Nm+S+Dd{Mj=3~mBZ1_;l5 ztn&s{oO1L&$oInt3vJ)fk*o_-98^95=#282J&Xk^uLr?LU-Yq2W4a3{6XAuqcw|u7 zR{&GNFtQ19j)8O=JX!>=?WZ5wgE;L?cRMBygaK#hbD0}vL-BF=91LG~Lc2ep)ld}& zeY@sr7QnbK^zVhn<=8z6oXLT*DCj!`HxsdUn?Qa9p0Z)kA7)NZKX(LqJj|6t-wC*t z42nB26*zj4Bo#V;{xk|R1)$7>OBsNcd=Z_3ZvUBQJ3!2Y*(|7wh29IZH}#-%9ZYS9 zJRWrX2Cb1GJr4g$hYx!J&69W0LF@}tMesfVDt=eJ^8i%|^w_}@a~KVVZ;{xD546*v zWhI=A8m#i3ezFF}z2NInm}Eo8Ug&lJp&``xfIJ%NmVd3H$a7qv*lj3nCDiBiW>P;E zQ{b5`)NO)mZqT*uMIsRtWi~>LX@1 zqitkgrH@WJimoPf-H3l%lPG(2Vfwyh+wF^3u0QlJTPp>#BNeFlR&A7Fd%Bsp!UC@E zkxWf0THPL>+dqe*uRB^UvNVSKUSHd-1F134#s%34v#|+#8gSpBq4y;(j7;)vBbbq2x^ey^!UH`H9AQneAjMZ|Q6Bc@qo~wvLr8a6a5GUC zp;2ZIc@WyjF67v5KNkO)fVg|FVGosfroJrq&lA^&InRQ*&PcVT;>uqn?tpixM1EjP ziVb$$;r)o+z?G$hEUEO9$7y#m_LTVM!V zNVdschKi#jW7m=hI{AvS(cx<;n;o6>LiZ;vpmR9}4|2BW>-5KOX4pzoqxe=llAi0q zSn>7x#DJb?OYu&_t5j0-o_LDnq{%5!6e0kbjP8;L>4A*iHTlUNs$z08S0!I7!P(L$>m4xPL; z?xHRh@qlse*#!mbR(Y*TuTBocy9Y2^HS2562RSvnzSLNI!J#wBEJ8pF*gy}HwK@JJ z$j)$Dis-W(3B-Np7_S1FNH`BYCWGwNF{P}N;|^IZ)N&Uam4=x34L z>b_EMHM>xe(&WiI>8hBG&DN%HzZe?GBrU~=Kp*W5Go@rPxHv4vVa%@4-x>r8YK{rh z&qL$WuhQJlztFiFU(!h?LcV4>WXlj!$~MEe35VZ}#>R%0uhH!|VwA=nXsJDD^oQ;F zd$x^a8eZeOihvN*CbC-fn_7kX?Bf*kh}tYaQB7%6D*o;MBnwIVid20AmA^B4xRpEZ z8Y`8w{DSbpQ8T)rr8t*+6;l>08yTqx!3}{hw@%z8p#oOC{w+ z=}2YOIYELn!D5R;1Ej9BS4rOicr}2AP}G1@1mo;i z2gwOJ--b$gS3POR%4NlmT+N9j+QG_xp$o0{&_G+9brb*p?-K=Cs3shqC!{e=(s@L< zOOH+SZd~OZh8QR+x6oXOIWp7rM4zQRhvOE@@+2!4tzfXLJVj9zsYW{M6o4kLgs`o~iX4?aowTJ&_1)Az`3)J&Z z&Ceg>lr(UqdMs*KL&iluXvG;kXdGgY@wH*-_K0kT8q_?N}*?t3wv9piOvLKo;BwZu`Em$>Mf Xuxw23Rfpg9B+Sr_#wQz+kd6NVg=R#0 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/35.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/35.gif new file mode 100755 index 0000000000000000000000000000000000000000..d6da2c33ab4139ac5ec7becbb7221008e0805034 GIT binary patch literal 13392 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/37.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/37.gif new file mode 100755 index 0000000000000000000000000000000000000000..92efec6ae180c7e685512017cfd06f75c36afa39 GIT binary patch literal 1195 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 x2->BLyW(_(N6e(g7IB0|H;fd~Kq literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/4.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/4.gif new file mode 100755 index 0000000000000000000000000000000000000000..6ccdaa2c9cf1cb656c0306f6a396f1f765d01786 GIT binary patch literal 1977 zcmZ9Mdpy+X9>;&0!7$U#3?oA{Gm>LVE~(r)G1C|n#Yhn`E~jXTI=gAD#f)1cDQ%nF zHj|BMvo+Fb2gMk-iI#|R3*)kekh@`+XGdpy?dzO>p4anw{`q`ApZDkcIJwZQZ36KS z9$E&FzP9qawpVH27)wTnEKIgMV>!vC6YI~gi}kyfDvX;SCNEX)YhfYf>ucccUNCle zcBBK$3B?ce!AGA_aX*lXW(tw=0m|y!*xF1dJNXD$Tb$t$z|=|5z8j3YjdwN4h5BIW zGH5meLlhs+-SZ{bh56Z)>C(cVxqz<$mcHf&Vufi3!Kl-3v6e0A27P%1Ao~&Y9{{r4 zbsnm_qZLfJkCf~HE2-c=Xn$8NX@dpmvmMD&2i-Pcf)09Y!1@y~a~jA8L5BsX)C3L0 zu&}W8wmm?gJHBfwOZxY2H+nF(eCK&}1)7u8hfFI#xH)awG)3g-G^dNR~O z>&~hB7%)%n-+JHGF+9-M_wEf~ zKs|XzMP5o1-Vm7doSB}?$+`QYs`mSMmLTh_=*GdRD)0Gz9*sup@9tcwH+vCp`XU-9 z6YW}R@aei^5bcL6y6z{gPG4?1dnqRFQIv^?jp}&G?%6JyuQ%EEbcpEj?Y{fecMtsX z@;RviTZf*|C;0R-Uua^u&xdaLo(x!mHVuOjXk@}w^LIQ&; zGymm(Y+HLhe_WKw@U`cjR-1lvZJ_7v>ifL;p3p|tmS(nYNyH9TVq*CfPtIXz?TryF2bNHHRrFUP&u(Wp@ZbCW^aaN$?Pa z01!~qbLJJ)BqB6-_Cd`je}yB%y-wXGiv=f<_zPcI4m;g+Qp4;xB}r>bMq8baz5IHb za>FZ|Mhb`6sy7_;Q>Z%a;uNHYeaQvPH?Qy7Z%W(G;m~PRO{=Jk>^W6IKnY7_Eg$j{ z5sEc*LqfSfG~VeDdBhVrER&K!eQA6NN7jxL|t?pFwp!6u|oJG)Q#GEn$C zA6z=if4G^wf+VJ^osCr)%Hg;`rRTyc9LOYUdV;fo*&0a?8Oq z=CU;<;&9oa!4mVGta`LKp?kU2QUZo1BxTgSL{Bbwe{nwV;^&CXo580f&go;|``&FijrY?-Ho3IDIFq0sf*sFCy|tcD2Jyd>35Cb9{ib=gCv z8m^oRgEnlmkp^4hpcr7u*8f%U$6TvOc(r2`D>9oF4vu>tFPEJ&advQfc z>2Do41XK9KDRjaWIymcyqt}@T%`cuaXHtbs&21{*{?{LY(ro>ja3BNJJ@=Hbf-*KE ze)L{=V;1-u(+~G7Rx+fr&F+%Q(ub2FNgDcyT@IpWWuYE09f#v4J9!O`VV0IhC8~Re zaVX+lGPLqB>3@yFAdOE0#B3N9{rbB=u`m73qL~2I6novj0@hp)#2FI<(J54T5mtn9 zM6l=fuT{>s<})u}{8}&l;*7g}gm`tf_s%1d+JQ@~o;IT>7lhUpf9H~AwBC!j$O^YU z)q8zO@sTKAt~a^P{@kX31fC>#xO&r>6+;x_?>u0NJTQtxAjH{?ajYX+6yu=d@OVRx zK<$gIwx4+iq2`Dj409N6Al>6Z%ZSIwGrRT=5wjAbr$cJr)E=V2hVxtvRSj|-!s+S6 zNedpjz{xsOBry50TFu!B1bPtLsjnFB_?FW zYr_4VKX=IghKmRL0;qvjb0oShX!lqa|yEO_DAiF;S DKt8j- literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/40.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/40.gif new file mode 100755 index 0000000000000000000000000000000000000000..24a8eb69149cc1b139e24d3ada04246c42e05c71 GIT binary patch literal 10092 zcmdsdi(3$}3+9eMXoJ$v`dh)d3kL;u)t zO3!V~Lx;{K9DRd#?>ogI!}Q+|@{Lnj_r6W|WFhaHePxY0!H>H}58eCqSF8H^)k}9Q zel4$y&)E-MZ%wjhBAno)8g=XR)V~~jwcir?SKGF4Dg*isWS?EzQV&;5s|oY^$-!)&%?S+wgw=rKd!FIUfAZHevu=F1yx zDg8eh=%Xj}|F@>o30kS={~pBmdaX`)iZ@_IE4K9^PvG6MpS0 z-EWt5{kz3KHl=NSKKAzc%u8oGZeQN`!zRD}#)&X`Ow3oj>sZ;J>iD2tx$efv_R&%#@s2$qG$Me5?!x z=|3gL{pYx80-!@cB|AuMFdSZ1!TDb=-=`GXCIEn2-E1Qr#G-xP#- z`7i*HoDx#UK}n58AqFmk5Q1E@-|bYEk16-sGFOAY470o>2^is|NM!LK64hwl$E)Dv zXdCxAqX34ljn}Kf6y!l*EnX+H#mxIu5>mnuY0cium*FNxJ&62p5ZjT|6PI?J3WPCS zOX|uhj=vfplWT$NOl6Rlw;ZRy3U-MiL(@wDml5wtGNVjpC!v5*Myc&>r9i-s7m=Hf zAWQUN^TZwf1j6J+scLs$*l8;j7rf^a*rlV2K)wW@Kf_F1?#{BPKluBykB%+cHhHs9 zrlqcGpUsHpmgJY0G5!`kcjf*YC8dEeQ^k`^{$Uam!L>E7(n9x-5y>TQ@kM}$kQF-1 zB?+w%Pk`oX{3^^YG6iTj)aE^@N1))a&r)riY;kikFYBHK5)?HxVsZ1j0a%dGqha!9 zs3XHx+KUxvOEP zSs1glWUpEVo!TmY^ZJD}8S}Xvfy5s> zX}LlFZmtl<$Xo!3pIgW=?_HOnSU$sXC;VVz=Pvd7sQF*F>^<`l2oC>u0q!pZ0SNF1 z{5l#)tI%U%Nr>r+&A?zXfx2GZ$u=YQMx7KeQ~LElycb?wc8dPf!asT%S^(fTHC_=1df>+KR z+HhnJO^?NJtD7D#eu^br`BU)%077`ODhDNw&EGR=C33BEy0#aFg0yv%za8-vB0(}) zc}hh;F(*CR!OUXsx7@qWA3XgX4^-|D5(Qf8&95MmZ585I@JG=~K<@A)|h zsOzK5H(oayj;+`fJ&xJE`-{r;{iivHFUxvySEaAeuVHKAvn$D){MRgl4zM%bh_K5d zF9L9j30N6uC)!qmgqs;bC{9Yuw+TZug@Nzm3w0>RTaHlWQ|?hPA~hgc{KO`_To7l+ zj(JC81IL5X6lN6Wkqs$)S&p)lzmPK9B}?QEDjU5+maPVhsv(v@MJYI#Hj-efWu~&# zT45f2Ufqi1YWH}5>QMm%Bhg$}{aF(@7xv1Q_M zJ%a3=BP&J=J}6^C2=3BLPTTlU7$q?&ctYl@WvzuqycFOBNTvK`I%!*)vevI|p4M9K z&5ye~Pvbmh@b|ZEMA6}i<^111Ks?9xC|5gxpkl4KzCP}Pedeo!sAJc2y&wybQ!@Q{ zBRfih%C%a~8p{f#Laf1)VL{3dGo|4>K|S{WZM7vxd=q1Z=aq|rvHsmEXcaJ94eQsCsWVo3Ygx6?6=){xt zpcb#S2x@bExXjlkV|uW3^+c>D(0LbUZbqS1%f*_OPZ3tV;pE}901swnS%@Q%-(8*o z!6_4*OAn+%g&5xoRz5sWvptJ;St#nD$HZ+J-ea9GWj~DlA?wiwQy1GLyuf z5?K-UnqU_p>tKAy+kb5?Vd^jUo)++)X|S)H;zH>}rM;+)6P3=~VZjWkeyd`yCB)~p zuSA9_M_?Nl|&+iYNi1D-&K~FjnU!4!8hTsH2 zW^M@>my;V`@NIx`k)NpXdrA+p`3NSL;rdY_FYQBfh}ld9BTA;3t@R}#8U3w|$-Kvd zTH-dOXlGg7<3TOq%D6{P)H*JIx2{tdT|$sB&*zSz&a5<$FmtI}TD+Svn1>ePJJG+e zQ&b5Z8Z9OAd+`@+NxqfHWQEJLb#T4BaJ%>0rb=R|dKH-bd^+k|u$FfJjd*Tz7{~9* z{7)n;vZAg<>nEODA5Y8k+MtLaz+VJrsxsBEf#;iw#0}V>xs;%7on(yT6?Kkge1Y{sG++w$L|<(;-> ze4*P0lET&PLbiM;pKR_~B6kXy15f5q>akbw>ia@xNYQa*WKsI3Yo>4JiO@EXX zS;973%oOoJTY8aUc|)N6pON(agM|M-)>Ww%|IZ+4uJj+e8T-5UU9W8ZIyO047=6p;XN!NE_@0x&UlU2>^yj z%}xb7L6rl0N2_&qW}IpOhE+WS3REf)wzKeuoRmogAgjcJANNYV=Njgu0(pKnVJ6~_ zC^CqrP4T}6-oI&z^?nGmY;f_(7apc-9SzlV!Hs;MQEtDtuS$8J5>0jhBmT(|Cl?N?F#~|=f;-o zq2iBzv!OS62}e74zi$oKl}{ozWXv2xjz%M@2%!F_xyXY+b70{aL(j68*CH$oYtm}`Vw&mZN!l(`wz-i)u{MfT zBVXhlD8(uLYBr815QZE&Y|u;Lwa!(!Mv#dlU|9u_ffpdvbYzBgF#I_;u_awLB9k31 zs}k(|oX|7AeW_$bOF6vz-&|Xv_vgNtw@033P~VDuK4xiz$+{cxkL+7FEp7pa?`7YS z8>RyfomkIs2i)Ldr$QfW83FKpSldD}!fHJ-sHE2vz-Ji1Qpp^1I~>?C%&M9W77ZXM zrU3+2Pr0Wp4UPfaUiMD_DmeZ}25KJH(IV=2I?kZn*f|z*CX)dk?BEAmtsn58#qM8) zQ40yw+h;!+Mscn!NWjNB%vLH5h@4@(t1X&D&BNaL4$u7BoLMR?th^|uix-$TI)NxO z)h}a8%EuhWJ}#!{btoqT&=VO<&KJ@~uVvPhbx9A`A)h(ytodfr;qRX$?MQB_WWW>0 z(CaN&>tKxc%d30QmV&s~Tk*UXY@NbL+gE$gX$v?X{B8axExEFTS2E)>Cl_Cn?J6zt z8^%s|=)`7*SeC+m#3y^PTRwBi&N4rVtPLhg0EAOnHUMU509rmVrCP~YoM=(-qAh@( zRzD!i4OdY6A9vcbr^;qyW;uiTyH1 zZ^X&Dz;rA_tk-sI+lh+pIt&1E@{_J@na%aEY*-J2A{V%^!(%H1qY?=Dya_NJ>C0M+ zTkntnD=K0z1&@Hs&+IA9>xq%s0T`ki-ve)NFr8s6d+7^T{W{8Rc(t_QF@38zd3mlr z!!N?O5wCvNyhdavf5x_+pG(@S#wH+d*B=%p7G`b@KwAs@>XYB~{%P)T{$x}|KIhjV z|H#fliLZgXRkwHfn8a8%>JelFG7PoO^7C;sL z7;Ng+krsI9@B`QaJzW=geC_y@Vc6&mmae%}NRX>jqV~Y1-E8oBf$6DLA2RO0h8nGw z=7=XyOTu#n(<>m^8&9A{ot3hMGjKA;;0H9?OKK;6O!p3x>z#`Vu}ie08{37S#{v2U zG~)_MQ#w)cP5yagMQ>j(A7;2M&$|EPWKs4ksfOrSb%$BG?WCQZPk zCbp8T4s)1Y6mis7*d9>SmBtWT2(E7;&Va|{8f;!~U_ZJ+w2+L0<75PvEos${O{mSX zMW&+3ZV>7GDaom$c}qv>wt42B^2 z`SDl>S*8$%#flfx%e=UpCo(V(o8AmF&VCi~!&--{$Tej6A;QVkN6z5oOO;A?ek5~8 zU0iu;GKl0Q3^=T%lvi-BJWp2MLr=J|-sSS`tMCm~V(FrYKCk?YT;O}1Y9|r=&PDl- zjKc>muNo=D|Fd%lF=Au-HM+F=O^<4b`2O!}Ri-U?{AuE04N;D9`gdc?w>_pFSsQ0c z!2o+ucy~n&tsde!zS-S>p+}bPB;;_+RP*p0f)G=jT3C0|Pgw)iabsFj#!`KrV$COf!06O3d@@Mf!V+su8a!R9l^q*WA0 zY%d^E**PwX`I>fs;j>AtsPY_=df)0%mU_1nuusqzAOp4|00Wccn0wcFRk*K7*Ie1d z*Cbm0TdkgJ(s=e`>A8)gqT&jwv8RHwCLqgGg1xj`yP$fcd>DrB(E#rKrvWsiyRHok z6w&oXn54RER+brnmU}e|yBc;uj07_51ceH!R)G*;QR=BM&8DDds{)+W7)RvA&Jf0gl6D||}_38&1F71pw| zl3_UX21(rTuA3Ch`t{nHa2GY%xLX`@O?@`MeckBv9ZO~S(`EV}#g2bvT^s{u^L=Dp z5Q~Ebd>Uc@5Wr8xNHqubFiSWJm12@oM6#6teci`OgXdVeZvzCOz)e{2SO*5Y&*|Xb zOnv-VS%Aik;utHRI#vQk$0`YTkQZLzwk~mmixH|O)E^W3M3F95;Dw&zZZKt2 zv>)$e(<>8h{QbK3+Z|a@n{ag`J$Kf3BDOClQty1UD#d$mo{$;msnsR7=a;i{KU44$ zWL7XDL#-ImKcC&X`ii(FAQ_pA`BX+>^sUC78!0%>9sJ)`nGD2pOPM1Fn?QH=P*Gt8 zs#%`w@yNsmx<*!SaC==)87F#sE3f?HqqUGW)9kGnQI*a#ZuKwk-E&MEFH`cKG8(%JS(RVF-yGcEA_MHwL z^s)y(J&j)uk=i}gq7Td+#Mbz4^q82#@Q(Np`Jv%loYfjwoiL1_{-tu?8cpyjw{>~h z<$a6?tGC(diH&2?!FC_PgG!S=MN@#F2%v@H>7DJ1!I6dgrQN`;x)Jd}9;E*NY6eMt z&TQoD{2Fg07!{42-H=8Tb`qP32@o;Yi5l3W?KKnA`>cD2=aApDvPsljY!u-L=IUOF zp1h}|C2RS^W2k(byY!Nf4oWH{%DvGdQU|?=`Q*qkbAsaIY2!&hbVTya!;;TqY)mqZ z-c_}MLBADf9C<5HwYKRO1uuRolN~VpR$xPANam3iTZJ??9INAYU0%(ACoDOy+Cnp$ zHHE%q5lcIKq9rl8&#Z{QNnQzT)u(t*#(qRcNXOG|FCEu7$ljhZx819#;e zs%)5a48w2*?Zg0|pFMoDr9&RP6gtr~8G!^%>O-HXx{9b()dJ6ohArfb9a*nE&j#EL zrSBicd=}@a%QZ7o1ZbRO8W6xTscp;xpqhnZ7%^*6D%W?TXm#Ntg?=+XNN#cvfF5EB z8#{f}X2TxO!FsQu5fJ5|6Uuzz5YXniPg(L$)D*kMYJgCljVa|SVPmTXKYe$PSak1nR)b71*|p2t^-;-=Iajm!Yfjh|jH zEa$=#JoiT9=?~tZ57rSj+Kr32g}9{fuMlq@(MhHKK757do1E9bbnhuMSE(&~V}d=FEKw0i%aa@WBV6 z07iogpy9x&n6U(5FoxTWnVzF8Y#gh>VE|yTBePo?agTR~xXJs-`7{5?`90@wi{O|Z y_Ckxy`38a}iyAA^5=w>?1WaMr!ml^jqw==RErN$1eyC93YUy^O^hF*DO!;41yN`qb literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/41.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/41.gif new file mode 100755 index 0000000000000000000000000000000000000000..99139e1d1ebbb9123de502b7b8bc0127dc55334f GIT binary patch literal 3368 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/43.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/43.gif new file mode 100755 index 0000000000000000000000000000000000000000..43504910020ead31098a489ea1e2b6fa51e8314a GIT binary patch literal 4327 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/44.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/44.gif new file mode 100755 index 0000000000000000000000000000000000000000..650d3dd84026c33b31712f94d1c189db2b3e7295 GIT binary patch literal 1571 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/46.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/46.gif new file mode 100755 index 0000000000000000000000000000000000000000..f3cb0742d7f2c12475b1fdfca98a46ce3d1dffbc GIT binary patch literal 5162 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 MvAwGZTHVF}1D`W;)c^nh literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/47.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/47.gif new file mode 100755 index 0000000000000000000000000000000000000000..5b3057ab7eceb885238c9308a9591b118213703a GIT binary patch literal 3685 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/5.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/5.gif new file mode 100755 index 0000000000000000000000000000000000000000..ab0b81ba4dd535bbfe38ddd6bc5b35ed85d22a0f GIT binary patch literal 1866 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 Khets$pML`I4Xz0Q literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/51.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/51.gif new file mode 100755 index 0000000000000000000000000000000000000000..69f183f043a276acaf62658536b0c4561492578a GIT binary patch literal 3731 zcmZveX;>3?9>*t{frJoZxFjHw00Fs_%LC=e5H3*=5UW@(P!!wsNR_HpYZ3wkg+(lG zi$x^h0Unh^w8m;nf*e6PE!L4EI}} zM1d&KIDkMM4fL&ic{yaN$+xrAaYE{Jb-Ni*Z=2{S1TAjhsW;G$fzH6Lwln+~YtYRE zVzW_+>m6=5(ADeiS%QugV=~{~0s?ryLH>)+^Y#`n^)E2G7mObUy4H^pkI@=W-EGoD zoi}(D0Hy?BS_G!WikdIMlf|Hx+RQOh-*EuHlEK6IV1f^(Z|Pq6foF?BZv+@W(j{9B zCbBw3(Y@Clw14`6DjP8M7!d?st0MyeNqMvsX~bCr<#_VQfN8KkI7*4(uj`IV}uKd2D8 z>158|N11n?vzn;1czgm6THQ2ao9P$+;J)RwkhsMWDvCs&wKanNsB2#s0@W4(Kw~x& z48{W0=4Vfu{`ksh@J(;Wvp-+S+ovWcd%8Nb?AYKd(6$gfSqKKA!T2%oHvV;Y z*Q@i?rW?F**(PmY#i(@k(_GUhKl*A_f5}Dv&^+4q_@vF~JzvRBDeuIqKU8}4U2(pb z761ETi|$)%2gPgObhavr>4QBT(^{==TB~|LRDCMw-5&{~cU|TGvTV$DNTfqk%F83e z>Wp>f06bGxBGH{e86;_TJnzXH0&s`nbjYGdq<6 z`-xi5&gW0NUi>vK4FfuDecIds*_q$ji~9Sz#~&;cr$>%IN|9CkD9a1_*eTrQN$6F) zy0O>kCd=bVt@!RSpDCI9tMioU4#w+iRL~z?zQss%(7kfM4H%4TxSFYugty&1q`c`h zaD^gFF&SxG{_x~N#SIs=m_Bmfv9Ta%xY`@kJA+2&>3Uc2Hg2k2kMcNp6*N+2JW@sk zFPFb6q=2bnFc9@oWCgSW^$j!eHb@V`9vH6)TNfV^92@4d$P30m5M)1r7+636^3cEQ zLqdTdygnyJwkw4KDGzV%w%N-y-+O(b%kmIbq!LYN%v9!8(;i#x`E7mJCYQ+cJg9@x zXQUFOVZH8z+XrN>4uu#Lovnr^je!ga<$0#xk}+A(N)j~CS`PE!mDqI&XG`0EN&7Xx zNPSSkH=fT(ZErmwY2i`gTk*6o)rJCy;wPr5t80u;Ec#V0s&o#{_9-Bk4ACnh=ix%P zCdB!aAg2CoAGy&F+jB1Ogc;s>VLj7{=06@hHg#xE z)PvUm;9w-k{3Sr@J?sYe@t+g6F8(WUQml)N_K0#jg?p!AxS&1@lY!~e`|Rw zk(OqAX_eE|?K~{xdRypdY(;?xcA0dGhGlMN+vXV9qu*d`p9Wl%I?g?3mWyV&+u0C(qVx8>-WZF{0wv4LI%~FQw4T)tX z5+gg^5}|Jo^{#0)^0Rv4L;V97%hU2`tkNcdbBflx;H+!>HS8R@$e#6(L9N)TE9{Qn zf#c>TFCIDkew$f_BdUQpEE$8%fpNO}ixJgcfTSL%ENCfV57x9t7IbG-h2~7rhwqXy zVw~agh|RlXj(^2I2NgN~61qGCgZY1P=6Z2`v*PkFdbfT|ZQu!&3?gDW?JFlYFlbnR zt-lwmEtmn0~+1F9T zJ&9#!P+zcCJI_A5&Iq@`aMir>)7>c1cC(7NF)iJgM8Oi1?PFVt?jAkS&oaKN|B;7E zwT1TN26rs{)^c5TQVZiDZ0Ru&+*+K0!wh>pGFJo}7?^5JYnFvpR<#HMtpqF;uPWrY z;qda_{RR&*-L+1G56fa4*k2j?(VsO(3cA*Kbg*1lw*INFvvA1gly}W2&kCXC=&_QL zF9}PCT=q5X>h3pPS()(iRLwFT%nXCf*0-$<;p-Qq=D8^UeX(tZb`>#T2QI|WA76O; z8#MHa#PHCrp@xTvXHdgiyU(*&I|a9?uytrtWf?Em3f_5$a!s$Z;wW;|V9FE248x{4T^M6=-Pnq6;b=A>8U!F?4U3JX>QZzRyt?7UBbHEL>wrq;Rg1e&p?#Kkajx zduBBIc^T_z-?QILk+f6=;&e&q$Z08Ksj<-^i0QSGkftVSSn4^CCGZKm8V&z7Et2b` zc`Dyt-)xiioi0_5stip1fe$o2p1C!DDXG06)T@Zem$C&5*Qc zdAGN*+m326F;( zhLIz&!NCX{QJYAIDk@W&4P0!s3jJT;9w$v~!t7TP*e54d1NpLTKVz&L?i@5LziV#1 z%!goGPbylj{JhKiXI;L(c_zXR$u-f6zznjvU5+2ClgQ0Q+?XziGLyOjIaRr1K@pP% zhVB1`xHkiJHyKLRLq(J(oc|fi*|$vj2G%zYsPOzRKvC_8sBoB#Bm7O2-CFxgRLKtt#h)&S9kr%4betk zhOaFwII3q`QC*pb}79d3bLR_NTcnKgD%%?ZgscexPL$fnHsOLQk^fm>n{Sqs&&7wAg7^> zPvH(RnF%+!fG4=fMpsa{r|4(~Hx`-nANOo1h7oIyDk4=uW@nkZkJZDPdA?ZS(?@HZA)rZ-D z%Quef&pGG3*S6f-TgaX7NO0BW&)y2_b#H8_cQufMV0%ndYi zxVnA8DU<|ke|LcXx_}yD$Vr+FeKGo^50m~c=>$G!EaJD3e(YNF6RN{mEocy5`wOR@ zl~EP?y=Ek`*RzR}+52L-QE11>jCpgxKX>q(&)0H3*KcoT&hO9 zI~IG89w14|jOXevHpn8Eq=)EFTN&GL;Lncj@2TPeH|;}7iJ?(}r{V4{DE4-j%4cMy)M_I?74P`qRu6TgR`^QyOF?Q0`orcWLE99BFx&UC~`#Hf%iQWmiviPeT!Nl&dte zvh=C6@+e0tMlAX=&?6rGHVCp^Aln1A%R$Ej&21Rj0@85MRe(AfT3w*Z0{9f*Q$bq@(k(C) z0#!uN+yaR==&Im*B(%6d%?cP}2uoZ+TQSPpI?LY)S_O#yY)@a~UeO1$or7 zaW;ZesZ<0#r^G#LsC(OPC2H0zo#K#ac_Y&FL9Hu%SVvq)0sz|?YOC~ zwQa5Ey*{(Bv+c9uU0`eOT3H!c$PIpa&`exJ*H;lAMxn~CTPkt>%d62azC*9m4&<7E zrm%;1Tq9Vm6Z>k1N+0bu*7OxgTXsx5bCU|LYTMRLPs-Jk-)hb;l>PXwDJ3X*mg8@j z-JR`CS5^v2b4N#p>hH$rI@kAAr_I*6_7zg6ADUL4bBAu9p0C20cVRV`eN^?XBSZa? zeDdro+s4O9pW^X~SLa<$WYd><>@OkxzR7>a&80?jBVr)9fk17Pe!)V0l zfLJRNc0Qni*lW1Ir({2o8y{Sm5ID{YYtJwT?F`{SYLq@CC(r z;R8Eikv%BR>A4G}qHO5#)^~bB0~I>f>IF9XM%&>MGKe<_E18npBuPGLs)E#*yh!*w ze7J-HJPT=qx3J7pKX-!{MByVR{a4TGlL!D%!8AN@TV#MgBhcN&4QqfP2vvnMG(iAy zn%i@ckPrkv*NO4+kg~#eY&_9%BVUki6n4)=g@9QGsP3$K57!BwFO* zWk;uY{nfwSn0Pw(gumxMVO(^lNjgHs8K$AzHggBq!-a(m>g0uyfqO|;7WVlZc97G^ z`Ek^cb=g;=P)yc> z^jcoJZ(Q?pPKpzaZ)&9I=8|}h{8XAlj&grwT@MlCz@W>I2Kd`pV5OcXk^Lb^TvHn7 z3k5}RY0Hk-vUxIZ)0Ng}hrFuxN`9nPGhq4ty3ezoiMn<;GHw~t~2F?2!{ zi+nWCy~8i5=|mC{?-bjG@hodjM7Hkg4_)qzJApd#n*wlH!a~199G3Bn<<_2s&}rP9 z7M9TxH-7`8VJi%%vV7mT zp38XalQ>DWE!I^(H7_Q)I??f_HlR5BZM79V*P6b_wO`Cyr;lhK&b0FX17nUynV7v* ztUb6lu`8SJ7&~Hg>6EDn1HwZTB9`G>-ua$qXanU=St&UzIr9~xZ+sM2?{tiQfW_ut WTLS2#EB0uYB#v;55Kcmo4gUh0RX4N% literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/53.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/53.gif new file mode 100755 index 0000000000000000000000000000000000000000..56352dde46f7f530c7f4e9cc71a49a8db2e5d525 GIT binary patch literal 2056 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 bLsE#_O3>i{wNn!EA3LMRFhuj(&iDTfDU)yz literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/55.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/55.gif new file mode 100755 index 0000000000000000000000000000000000000000..e18da84c6e550fea8f3cc25d7d64188816f641fd GIT binary patch literal 1582 zcmciBYfMvT7{KxOwCA*kw$chMw-GLaMJ7xH12_;tEYw9tK^(3_L#J*)aPz*&l(Amu zg#s-FY+FC&!$op-4wsEBe%Tk#_w(faJ^%Mj z+>#KvUgQScz>^TbOU+1rSA+qOo^v!Jj=$}L1Id}W+js4KGW|^WQC?iqJ4rjUPhYfe zNf!+sL85s{F>j?#*>>D}G>Nsfg+<2;GIPH?b55nHEY#NxjXnDQ=7{}$Qun|JcKrD4 zeG-`%`4NN2ok4>~@@5eNnTjP(h#6--?t4FGqR+=B>>>CP;z?90#;E<0C zif(@b+q(NPCR0~$!?Lol&Q2^n9lY|-_c@HvfDrg%^tX9w+v4K{ywEp7$Pj*zAmT7Y zCP1|p2*nbqtWYjtausSR%%sA_Y9^pTeq}lt3oNUox>i*S0YrgJz+6-vO(!E1Is}5v zrxZa>Zz8s)v(1L$Fn83&!N#GRXw;~4va4%Dg08heXK5@ZTkZ5Zin~0_ifJT)3lgQ$fK| z2;JE;Zt0C!?N#rl+Hbjo$QN6`QWAGHb} z#hn|aR0%n<;37>CMO$9M(4;6KnTLj?HC0$nDZFKKKRXb6U$W%*#U)E&MUj-LF4btu z%7Cu&q~1_f&8@D{Gvtt|uD+qMNgE%bi{C797Jj8`k*pE(c_$-yB)+)4aLHT<_qhO9 z{7@srTqZ1$E0jXKT%k%M#M4pzO0{x4T{+cNZy?Iy$xUVzk*>Zm__UVj)1{pL!p;G6vVBe9Jzfg?K;gn-Weeg*Y3aMJ4?t3FDuM7NbtmTBQWVTbB`0Rz1W!3 z2o}vPHlnfQ3XZ;tTx=(v=6vKq1nQed_l();w-(V;t!)cvw=BC)aXJ}w6cjwA3Nlgp tnME>2kh>go3*_FHku9Mo?Cw@_GC%BdZl3SDl!}$BV`gT?rUgDA>M!*I5NrSd literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/56.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/56.gif new file mode 100755 index 0000000000000000000000000000000000000000..edf96f0a63e79e6eb80e22a0774137dab2852e5d GIT binary patch literal 1170 zcmV;D1a13ANk%w1VHf}y0Qda>@av*qqBrpW$N!g+$mO5Z?W|4B#0*tze)hmpT_|3yUlL_hdNKmV|$sT~>iFE98yH~&{p|GKdMWmf-ZSI*zW zx+Wsc-oyXm-v5(~`#e1VuA#3oB>$9(|EZhrA|wBOXzd^%?ja)oZ(IMUnerkd|Dloa zAR+NNGVvxR|4T{#w5kN(%! z|GTmOcxU)AGx%O!_KSG&G%&r=ec0vD|Fx_C$ie@1VDu|3?y!8zT}$M6XYnT}|4m8% zva0`IRGrFow9R(^j(h!WYUc3a|Dl%uhjaggfA?f%|7=$OP)qM4B=IjT|ErwvNlBm( z4f;1Y_)SCqQsZR1JD*te3@H#p5%%J~cRsV;8|BH9O(tg23 zIPgYC|A1@%TT$=Ul>dQj|AcSDRsVQm z?I|gRvr_v_MsurC|C52sab)>AIng*W|9fWc9v}EzOaE0)h|9ob>JuctfQ1TsG&1rK zqCpSLQcQSM(c(ZpGc?)ALan34YA!TnlU0vfm=7NNEukYyM22$2Fvu8Xu|^d`*2IXz zqYq275XB&>k)Q)sDqXFhB_VPTF_KBEv}xM6g!VG2Ya{O$hX^C! zu;8(SSD9-Ep_yY41O^xib}X1tfk~N{F3zH$F*t?EK6cRD>4UJ<-=5z}LP6?q%$kLcHam$#1F$f60a`VE| zmTgiB$vLvZ8!BL0ED0zO;L1QN037&lDT3nCmqp_Q0g9)<9jEO9IuH!7AVGK^LvWqQ z7tB!$HbB7FL_tCXV2d6A0H6vN@cfZZ9H$T=009Oxa8Ni81dt0l_9dtd4o*y1p+bEi k(1`)}%(B1_rH~QJ0pxge1`>DdG6+5gJg`AbJO%^+JI{4q@c;k- literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/57.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/57.gif new file mode 100755 index 0000000000000000000000000000000000000000..3f0e2b9af46c46a72bb935137f139294f16ab7eb GIT binary patch literal 5072 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/59.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/59.gif new file mode 100755 index 0000000000000000000000000000000000000000..918288b007a2b32426fdc06ab03f5567bea96e1f GIT binary patch literal 1533 zcmdUuSy0nw6vb~sfPYBDKmb!Un2-UHfDIZ)T!3us5m^H$Vh}5~wiXAW>VqaM3T}nM zP{(3TE$)K}T|ltXuo@gHn-vf!i9Qe!BTGmK2EIb4&wcNCxR2+Y`Q15T5upLw(rG{g zvj$KapuK?h1KJ1k34l_;91Eu1fZ9I(Q~Pcq5nhapS>iwu3g|U^E*2J&U?>D`u)%Nv zP%@xBV3mL+9>(68=HdXQz(^P@NZ{8m*i#W;ih>Ct^aa6(L}(0xmm+vt5w}N14_1FjfLCE)5Q4T*IUE9ACk1Z>&{`N`T}mGwGxSwkZaG^MphgI9q5$=I z)&)avAdCltDF!CPz;e@hw7vvA_e33@6C!wV|5SB6HWmTD@S%|pZ=<1K1gM44R-Aye z>~0ZQR8*v6KMR6)u~5f@;cueNH{@u+Ln~Lt$XayoWWoeEp1(fO*FfZ5Axn1m<)$HE=+umvnZ)E>9o01c5t4fvtq)}df9o{1iPtQ_xZm^k7!+w};c z`Poc58uYVN$wwQNbGN8NkCeJ5h&_7v`4+`f6k=$@nB{b7%p)Q zWtrOFm8jp#v zcxwZ)DCfE=3(iPWw&!*x`F*!8Msv#JCZ(DENq|$}p}cbc3~(86DszZ($=~-^mW=D# zg2&+>IC5;gR+M_#ZuOU`AfHGkx&f3(s`I4hF#I%6Ex1D{qPF^QWMA&jz@<{kvt_c& zX+M7UoK}0m;dT3ArjV(BO~~I8-)Su6=%3lGz|r2@$}(0q@fzG2DZ)Ha0miAQlI@e# zoOP36({b5qbv}6&rlO?d1P%_WE!fOVq4Xlf-LW#2QzGXdcjDf=t)1jYROIbFk$O)! zb}n0=iczE-yP|KM?TJl7ECg!~&t6H(0)Mfh)JBGVdQ9ZZGHPuwhDM>mPKlh`1?4oI z$bLon0MCB&KzGl1Uk?|`GH~1f1g=prHxV#N0Jlipbbcq5C`t9#NkZk=@Xo6Yrmm*! zYTC8*%?F>{Ub8ja%QtuWO0l>gMtw}naJ;^ah~R#4Iv;G;#aRCZ?k45PnN9eNcJNlQ z4!Kr%+dcYCH|ZfCBoq-a^>&%t6|U&2i?|h<@2(=b4G3&Oy{FcJTwV z1y7DUjaHMid5TIK!f{cN_Hcft&)3ZR*T{v8@2TXMV*kFdX2p&*v|s}Xp19}9vjTa& zX9>lBa4LL{S|18XY{II$+oW3lSrQ?+NToP&qA=xjBjut~bBmm6w}~T>ZOpUFaabGV z-4T}+bStHYIBOX*lpv^kTHa8 cmcA*HM#?!*K&5jT2W;q_(v~o)Edh4?4Hk?_%K!iX literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/6.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/6.gif new file mode 100755 index 0000000000000000000000000000000000000000..ceab12242b28bf9746b67d7babfca3d5909985f8 GIT binary patch literal 3556 zcmd5;iC7G%R8Sq*Q{F0D%yL186ZQt$|{}md=2k+X1UBCj_C2K~|aL*rbp67j*_x%zQ z<0Ie5bcfubr^66fI{Cxs_h5w!=6Ak$VgZw4a9aqLg$pN0U}bsHxXUsSv3!OOeo1~| z?!7m4`}VCH%QtwxHaY#)?yN5gxO{*r@*&KACz(-){8&x^57U<}goBaDl`#Q$wDZ@K zYwyq81vjJ5=Qys^ru=#?b?K)j9}@K7a{c0!oT1A2yWjj7JWmB(0`Nj`JQ)iHJkI93 zT|W{%{{{VW)1IX(QJ`}p_#tIcCjj@;W*JrQ&t)VgU?q1Xnm zqd(}2UHSA4^Uvepm+hl+`pVy3fX4eDe{y+l2zmbO8Bj;v7&^By5^Zi~fu986>V~@~ z*ucOZZTAQBQKQX)%V$ET6>Eo)P;i>DVtO6S#esWCqaO!=r#r{$yus;UaC+-_H48jW z1~c1$IR$*1yxd0yx&&|{edRzJP=2zY_IhRvTRG}o-`+R;mxo#-$wUuX!z_R1kHKVS8JY!B=x)=d|-Ud#29E(NwX3=gPX53M~x6mIj zcZRbt5cX8J#d60qe@8Vtux0tt&6^dj4|+29==);li#4gk9Up)@!kHga zR<3UXmm`6m4SwK(nVsNa^4&V8g$6P(^TC~La4!lNLcr`>BlT;a>cc^s3jhH6fA)C; zr>%nR+hY02g3u5S+QCZCdkKRLg@&PE8&z9PAQ(Wcj-Eo5Qd0*YATr-Q{f2UfOXOA|OPowgpp%&U-qVaIc}ICI*^J;m zZCANNY2B(>N+;ia)pv#6Y@y~&w5Jm;Sc2>=C4U*ofp^K?PY9N+&6S!UJ-!;fZdG={ zm56GZ*AB@AkI0kgu!x@2zDqtl4P7JKkPqoJt_oxgLBo>j436%lukHBug_E)BO$u(# zg7rnPPE8yq_Q6f_S)4N{q91MAx%elDW4KVf8fy7Qddui4Nsu6H;X&#B`yHmQ+1R0h zOy&EFYOi|T7Zv-$_qKH=weIhYPc}TOAbanB>q5_woKuu7U2bNVoh*mg{1|zFNuvM) ztemRz+H}4ca{G`QVIr>?*CL#co{UyGd<5&YH0-9B%S6h9jmfAD2OtAYRG)%4g=|kQ zTfIK7j!$r4OOlCPaXXr_r+P!Y$9fJ+>-r5w86R`bvsQ}H9DdLuck_X+FMt`pkPd$j8Iw6G|$1oZXdyB9|}T4&JfLNU!UE+*|AeHxOHr= z)L>NOusXSrt#bIA92Zl=zondjF5sFl; zGU|(6@EDk@YOlfj4&tV$eVSPB=;QLQFQsljT=ljmE=zb}<56Z?`aqXVyN^|k>&12J z{=!oRuIUZ$&MKo+;@NEMRO!9~We4IFKwt*+t2B*dC+GCg{OnZy?v~qaaM_gm<nW$?!yTEslojvMS{(QoBvA%O@X%~JwTo)5B2(nKPv zAi4vg4TXJ%QlD?`iId{r%}edf@_js3-yD^)`FS#gb8zn5+E16>kgxAVlQcr9PS(}A zZJnfa>FTxDASMJ+D*0bXxQy2SG5DD-LgaS;%by3;P;Y;Oa&y6i&7!q$7nX0{MJr^H z|3RE)YFEGH4BM1PLpX>6t+FaFwsB_XL)sE7*)_(fYKxU4aFaALMYy7xSxuz_v--&tggLChvgd2EF8Mok#T>|Z@@y?7 zwzs3_iR!8>+@%^7*Q(7`zE>P5#$$Tt+C(LR@8a9IC9)J&eN0xXV}~(KdMYR7$ITgj zPp@gt{rRUmDRmU0fJH~6ewW0S6RMqOnVqLy66e5-{(MM}IJF22m`5HsnOi3JI-7H4 z=rHf6?bA_C%-S?lA0vtX3n(CWRO6Ty!kahefqQg%C8+ zF6a_J!Y~x(v0@kWLGEML{k9#*n^cB0_wHD`0KePMGiqV7u4gxX`VIJ9Dere`Xb58^ zW^+quqbA&A-J_@umS=bNq&jAmuPCEX+Actfh)t6I0;L1u8d64urCEA8ny{qF&OfHB z!hPzMjZt?c$^W{Qd4Nh)7>fVz&u#uB*?zuw6}B(w3}cP7t&HMJAY$aw9{IPlrsBqn zf8&v9t&_8yi3w|*F?SLrH1F~f5`96I>*vqspg)se?V+5A!_la$R|&A60kpk=WGljU zJN;Q}*f0eXJmc(`t_)#_@+6jt;tI?z={S1?6MJ|#l8e5+MTxD(wU$!hVzY*Qh47`s zo^RA=+z;idDZyvXT4Ba%*rKi@y|R%0`@*v6RP_?bR&_^4qLD+;ms8g4cc17`mgit8 z5rq*G9$m?0RCnQnuhkPJ1wxq;C^ zYWE~;henKW7~Kpd;kpCTd!Tz%S?LkOW-7O5JR*wHJux2KV0zzgyfb9C0qgB~=vB5J ze$_fVzn4PT7V3vKer$UcS|^3pTIQ7Il0ND`Sy}*XM|sB0q_6f`Fi1Lz)!HvGH9AHF<~;I>oWL(Rxn_tW zYPlF)tv5>k>JZuaI#>flx94AF_cfVSZuNDl@GQrw8^RRTNAg%*6{yv5-i44^EkO01 z7WVs#m0WB=?!-1q6%O&*Dx+GCPqakCgIuR+j&3dAcQvIxOwO0({ILaLEXBAwwkpLj2e zWRoApC1#JN#rlfTXw;K(?|A_wb4mH0tpXag(;~W^?uF9;p_Dpmj z%_h3b>JZT_A8+3ZFUQSvI9u6W>%99w)8d2gePxGQ4izrky`?!EjA{2!SkjN@tO=1b-eORSh)~cl|U#ns~{@o^{txY!7U9ArQ2%fd8uG)c@!OlL%=c;RU z<&jKLv+$9(KY|X7Fmd`2!^RXYd%wSw_xvn-MX)r%8vEJXpU36QvY!a~OZgcY0zMyasYWJM4E8bDPp9h2 zOBj^qlvCzYk4INlmPeQju}DN~X=tjcTonl;gRsdF@goDn%iP&gZ~KDu%>1lWjPEZ4 z%-%s}w^%H$E-fj_Arh=Lg#5)vgME4FX%nnr?)+3%i60LzghD~fgF1qZ#vFTwPHCB$U_F}{WRLfc zjt)0eSCFen{hbf{J01=&T9S^gf+=Gf1tS<@8xOdqd zVlS<^IOleKPFz`pZ^>n+xR9va>u2*quanEm?pKu7-76{cvJ3F|iO*YDTU{ZO$;HLR z+1c3zIq6+pT{!;`29+Keaw8p&A7XZ9IqEJv=Y;wNX5-WDSJu_nREk9_p#j(08XsiD z#J4v;5U&boX_&I?G(v2|aDQKbx5w(LC>nE<7~onLa^cE_f99qq2YOv8D=eZk)Rh(F z-SP=)xL@1R)=W%I@9ChG{A62OTRS~D9(5zAG?&;{Qy7m8j|mEo{UtKt7M9xFM6N2o zecXUtSr&5LFE1rK?8eVsbXpIcT2WM3QG9oHYP29HqcAhOzneZa+||#ZJ{}usxnF&o zkj`CLT;y`r#4D_R#`CA6Vv$h1Dq0h*aAzmRhWeQF_GGk1Lqh|tv6j|IZhf%v*7f%= z_}m4NaH+kuvA?IYp}KOgm)YLZguNC#*wZcIb9*1Q@aCrY0)bG#Ute3BWDTzfcrUmM z%iM(|v>KZ|)mUB0nPCZ+7m19NZC=1TQ~^Ncu@wG-UA zJ>%|4FB6ha&AK#!9bfmx?8o*Nv_DW)!UXPoBIi9ARWxU~0(?UguF;~Ri^FJgv4-7fb z)2s$`4clr9BV|msr2ZCP2El^w!Y*~I44iVL$NOwvFF&LDA`+yz`}J^?@4Ogh=N%n4w$zJK)WE(ZZfLFW~BE0W3D(yZD;RfM{Q8t4w{TS@&rh!xYM-{ zA*W|dM|$XyY}Dgz*!D2>vv^qu03gxOI{=X>)9;}_lnar9{%_OH_onMtlPqIZ^u7Ib z@Xrn0Z}jzPR^UCvgy1kFAYan(o%SeA48V5*z)!PJ4U zVH#)lsVSrBt*QFM!cR@dcwN7nQvPg;clna({?C|dK^4QK6#&a_T{XQ>D%@6$+5^EL zDPUcRvddv9S%(z#!K*O7w00B=7X=&w>r-TM;5rf8PCIPwkTdW~w$mQh!8&R?N&6(g zw;NhIOW9>;?ycF@Wj07}w5CKLftkFR_so=;q=S)O85Rb|Qp+ev&!cj*C&< z=^7!#U~7oSATbQv*Ij!(H$pw_OJPw9PQhj66)EQa4`~N$*M@F#RHH^Jts~8iG(G7( z(SHev!lTg81fny?mb5Mtm>;_58+#RfVd>dW-3d>+26bL>=I`>dlqRLCQsnE82YAP= z?W9tURw3xF>nNuTK-aLDBQu{3v+_eY*oViu0fi~p+Qz*`{(31_lnsO8M47Ajbg<#0I@}4 zs(pCVLFSHkp?)4UKlBTz9{9JYC_vj{DJm)v98Br5yub>jnyzf2rKj)bw6@^n+{i3IOO2O9~k=C^T;W^Ta ziwyD_{JbZk?PJd_gU@*OgYIv5*1LS-$!Q@;+vfa-=VcP9pYhfc`6o}#C9y{=?5$_> zN1mZB?>%knKkZd55-zP!9ua_c6h%1-R~whZvOmD9A;dX2QN1_fn!9FbO6BXcd%O41AGC#DHDk n=m_vJ!l0c_Wf*=?D${u5vsAP}$pPKLd}gZF+yQ4x;JbeTmbnUN literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/61.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/61.gif new file mode 100755 index 0000000000000000000000000000000000000000..034933ec3e3fed2ac2df7b7370289ec2e8feeb13 GIT binary patch literal 1136 zcmZ?wbhEHblwgox_`a6m?c2Ant{vZ5?zVL4(r4%Q-oJnUL>S|~RHcIl557FO_`-z? z*RNkcl<#;%i(%WgZKuK*F0_Ok*JU^t!F+i_=I!a3n>KB_P;R->n&I;0%XjuH{@P)_ zef#!52m4MNG8_+KJgUWTr$qB%GS7o}p4~BOhk_Viym;}s%l2mm!CagKM|zUJ%#FI?!E@4>;YI-0 ziv;0s$qYx29=#XC@aNB;r*+yl*3Z7SVe*$Q^UqBt-=}!Id-rZ@w8W=+t#c*}&-@vl z`ZD~PYIF7K)!R-CuYws~ma9H_^5oH@NAC;7zE5(z>BV#2l;K{X&hFj2za%oe&J}x< z!t*#!?6M`p1_y?>Gypc}*8I?G$PZk^9m zef8?qomkF4O-kG2^gl#1e5}{J>A>(Lne%hE?dwp6quLBttQj_EnS7t+wvLkY5y2ZBzagQT~KQ(AQS>1Hbl;K7s`>%C{=jXNkIoS0eo&U|7 zH~(sdA0~3%ym|AK0mFw6AMVHV+*#NAzT4s3?0{qOa-U)u=9@9ROp{rgp!Wa&e}<6? z6o0ZXGBB)V&;bPiC{HkO{AY;fl=0ZG;9xUzsDi_Z2@e|V*033PZB9&dZW8s{kffUB zFBlfb79%oaA=8T9HR~3N~;_Vt^(mTX?o!k(0; z{)~xX;{1kAZNlBopc-6MoFsO3%pv@W}euX#x|dYP0^%F znB@|eX+qr&&aV$!m5mY=WPB7>`iT3hGZjjfXgW0;mj%pWsx5Gm7OS5nF{yFIVMQsg zRXj5#Yk9-eac_b)o?5Ux9lG#InkulpQy*-gj zUjA)#F<2vXz~dcfK?6hZ8YP9sf1C~u3|xE`lN$LpF+FTz5lV4xkrX?U*sdTXBEVn` E0NRwC_W%F@ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/62.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/62.gif new file mode 100755 index 0000000000000000000000000000000000000000..8d5c4fd39a08d0315c14c963336f079fef8fb380 GIT binary patch literal 1269 zcmd6m`!|~h9L8V4P>%DW7u`{#Qr08djGoc;vPk3Bb)9x?$2P~MdTQztdO4-mlM5QD zOY}y>DxtyDjG|Mq_6t~j z35-`@7zTZXaECRX>J6$ocu*ow@rLd^Xg&`OX;5<#E9V*nrTQY#Xm1-d{VGe^3IH`b z5nV~~aPXE4F9aGhpp~t^asxh0$vR-N3M3cdX=_=KEesVI4F+h-hskO~nMguIV6;pe z_PHzsG3fR9-}fTi5Iz3}443F$zcTb)(*IUDU7CFV_~tr#@KQDX?VP4QIS_80$F%o* zS>bb9&HdxsbdN`7^1{aWsaRFPK)e_Jav0MoJ7UQOaUwLZ^cCrkC&yk3j$*e&n*1a9 zvpaLbcpS&!Lx-woE9p|+32A~aCcMxTO@dlxT_SBHnLL#p3ay#9*fF4P#_EdTNrR%c zaDW><*LGb}!dU6fmp0unmR~iB`7rgTu|}Y-WNK=%UX^FxjQtXNO0oGdV_BZQ?BwJA z+lIcDrK;q<6J*7?uX_{y-nKBL2|J8aN(ud|!4yB^^4poKQPYnmpqJNu`80H1TbO@= ztD5yK1=v*YV7%u9d+#KBubT7SOyOZIKXO_72v@bYN0RXQVQA!NxchNc!V9Q6Yit!O zxknzJq0AQi&>l(F@nhbV9z*_TaeZ(0pAqRJKYjwS1SHYYDY#xJVOu&l)4EWT?p^2N z$0!^%E%OK~U3Y*H626AoL^xC|Q@e0o+)1^v*jdGDYX^7BM|LiUL)e}fGY3^6H$MwvFr#;q{U=t=oN+xbj9NmDpxFF;rY6sJ zgMDa#H(Qiz`u#~_hI571#+9O~^*7h;cHuIe5rnZ*uXW4d*&zbuO>uo$x$D)6j_I9UK!l&7Nixjy}tCM{nU)*Y4+(k9>kR4(Y)+Y#+l)Gxt;M$!WR8p{UQO2@15sJFpd~(A=*GhIq4cK}$ zQF?4?on2BiU5f5?u-M=;h+Mxd>9daW>*0EQv*>MOPIt|;MzZ1>hEP*dO4esR2`&Lv dtCVPvgE%yFpQ%%=KXYBi((l#&CML*^e*q`iZGQj& literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/63.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/63.gif new file mode 100755 index 0000000000000000000000000000000000000000..d58fcf671bdb51457baa9a88c599e5d4ae9be4e9 GIT binary patch literal 971 zcmZ?wbhEHblwgox_#VLEa6nefl~2-BK-N$6m5R!@&Mwmi743MX*D5MfUP4m^1p8Rd3Eyhr|j{yoTKQq((q<+v81Qq z-_!_(Q7{?;NFkv3lZBCiA%H;#BnHY83>+&M7IMgVY*=uxnL}8s<&ty4q(&AoF_%wA z4)(K2>A6g?5I8njU9^M2QK0#;gRuO3nZUrLCeKE@AiKa1j7PmSq*Kx?1Rtd}ipyI& zEI9B`Z3>e@-V%;WM>Isl#cVcMTsX8sKsBI1MdDC$d$5KjTaD}wheHtzCI%g)Tn9QB z1x-2J9-K&NWRwl)>WN@#ILNh}Dd&WO;p5c}8=2=Sh)EE6_t-lN_Pqi-^Is&^Kxt91a=6V0fmiyirBvdUp066&0)HGFJ=@Kf5~`HYsQ(Dzu4-#WsfbGBEU9t6U@}moz0( zFIMf0vT`2-!zT~VV-NPfS5mTEAYVJHQZruR|D?|8e0)v2N~QgT|EESUjDpb+z!3t9 zKUo+V7mEFVoq#Wc$k@a3XjEu2?`Ai%*+}qHJ&6L zWN?*HQ!Ko|&e-arWbpFh17;Rs7S1OT7Ke}VinzH*q-+pqZ0EH}2r*cZ(#XKbE;uJ* z(~`CpPD3s&!3|1`mzu<97|9-d)E=T{ZKPr_!|AnZQcSgF;c!J0ygXbcIFP z`VCk=GH|eRm+@OgEMjctlQH69F_UmnXm9M&4YP@GIGEDR#TBE+k?{G^S!r8i9u5X; E0PG>1$^ZZW literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/65.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/65.gif new file mode 100755 index 0000000000000000000000000000000000000000..da23bfaac75af2b450692e93890435fde4225efb GIT binary patch literal 5285 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/68.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/68.gif new file mode 100755 index 0000000000000000000000000000000000000000..345cb439104d5227534ae2188471176cdff04264 GIT binary patch literal 4148 zcmeH}|63D>9mnr3-!379kOUGU$^}D+h!_wpL@JjM0$S=55fByoB$!gfFNKy-+Pe0V zKtMzq>{_W)8_+pLrbulcsuvk zVDS3AW5Ew@T^p^C_8EdlE;bIFMVuXx4=)DXyB0FM`qkT8(Hq&Uhll)s_z1eSpLu6y z)WBcqBdzmCd%hg%itN5HwTU(e6;`SP|ln|mGD9pW!Rt`S)DpmJ7c&d z&v|Br<8?-F>&hRtvxh$2_3*9DL#ICOEnn-L6Ef7f&;AjmYZui~%l^rz`sr2u(BHD| zZdouknV*rq0wfV%lE}ShJCS%sl+A4SSeXvWsT@6^ z=chKQFBwTBB7oy2!8qQLF^XCA1oo_$Y)K_X@bHl*}pO(JhtQ)*_I&JLyES&N>@RKY(no65BYToD)pA)%HHXWSQuJ92A0SHR=tHpk@pp z?1M^|Mbzp+<{m6B2fLL*NIjLguAgMw9!{mvC6+6w4vKuI5w%`F3x#B;yAL_dy#|`k zZsF$;()tuqnZt7n>p8?8g@TMc9(>b*wi$Vggv|7B(pzq@>56Sram`Y_2Un883%^Dv zoTo|=?gTRvNwkp;u3vN9GKPPIaL~$0>rz>D2xeCL%%^jhE|Ao5kWWG?cMoZXEw>8< zAi*L|V`j~n?Ysp!SFkU8#}95UG)(@6W$4^lK1Qi4K18M?V5I{`LO1-P<5Q!G|%0u96&Aw(6^BHu<_#fw4nYAggMrGNue9F{ZMtGZ0*0PZihMw*-l0r(L?y5j^|)MrV-X%;A8dIJ?Px^ zERI-hKC1itXNPh=eJCK(pVM^nQj6?+&qa9lRne%fon8dwnzeD|c4FqLE4fnHEe4~Z z6>+o}iaLp*g;f_Y9egz)G0B1f#U-8mY|8O(G#4u9Y>`%7VJ6Rr7H74~5@(C#L}_Pg zQ8i|MUhe@*v^J-}I&1P!r3@P2ihaB*_OIB`$=C-m^T=>kN}m-4!Re^te@xx1gV`df z$|R5#Gq_Nq5U}WqDV|4}h3Xnb8JGPQC)aeqvV-bHb~g5FCaEG07uC8*P3FrqU)ma& zn0b9E08`UGobyQpNF=SOKjGY|MlmoARIl5XDg)u=mXw9{sYk%0T2D0nas1Jasqs(2 zo`p7d(Gni(7Gmu3NjGFs3lMt!v@Yqr)*$e!R zLRp<@ayn$zjgW67Co$LhnZZk#i2nv_%SKPD2dB6G;d(DsZA0U>dy2R zO~NSzFchHphGaC`H8n;$Zjw^Tii9$nr--JmJTPt&{|zgqH3_RoJB>+}s?}&mZSrYl z@pwREvt0rGi|$kRfZF?}Gf5pT=Sh={%em4IK3u1bqt9T$hqly#gH&>$G|I*@6nS|a zPFM_dV`&=c*-6WU_@($XgGvHeO8Adcjb1n-&t+HEpx358luO}9(#w%&f!c}ge0G+6TOWak?(K(>Sb znyP(CRi!eiXu#EZ`{~7Zy=O;k?evy;aD29DFf3(eac{Mf$A5cRQvQ9*9yk2*^0nIU6NkU^>$yjS_K< zwuhO3g?A0d&ywhigr7^)WN}GU^jM-2wS6+C z=@n+Br>prgSM`Zfy!tMtZxgx9a$cpw;LbD?XBsoH$S~KdNf$>AVuH}qucjwEqR@Ru zaKxCprIJW*>2*H zIHno3p?gUsurSx8R2ibhqIr!R4PWoKn?Y1m*2-eHBK>{)ofRJ}QIJ`JzbBlTxeK0H zA0*cppKcxgc23WeTCkL3!beWWM@M&#dGnOZPO}bOqr)}0r>?`&Lyw)_;~1b`niNpU z<=T1KViN*xqKuCYv&-pgxP_BWXD6r(p5w1aZ+7+Kd>;)Yh~T|j9pl>B`S{L`5A;Kf zDP}alYhU2(!o)URoYKn0Z%XiX%?(D5+uRt(_~fR~yWbSwhGqbCZ9{xzOl(8j@%{KV f3_eP2t87+4lnp|byg{?0C}7R`Jzq-@VDWzdo}+Pu literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/69.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/69.gif new file mode 100755 index 0000000000000000000000000000000000000000..e0f28a0736509c3e339f72c7f582db36bd52ad70 GIT binary patch literal 1015 zcmeH`>q}Ds9EQ(1+uG$Un@yLcAM64}7pW|ACAEvqOg|*JN~!RY6cV~zNNIvOCAG|3 zXj8+cXBThydwaHad&P#)*|=bmTb7`1BGr!uY6Mn}b_ znGX+gLK(JMb8hIi&Uja7#hbFOe65R{Dq;7QUjnoAM*)L;&VjdlsAt1BnI;Sa(xQvS zz;t4+ibGW~sjdz1PBy4s550026MHp`wsE2j3_hU6!Qcvg{I<-a{kQ14B&Mx|0kte!9iAmYKdSM%WcinLx*>tqS(cC` z!C=%MCUQIC=-DA&`4Ix3enK0!{vvIr8i)B$Kw0gN7)8O@;#e&JApiHz3v6AcqX?ox z_O6-NK7p`|2$St~N^7b}XYn_3c@m8wGwg={ZI8%wH!r?BCMwWKdoz*?%exOw$A}U6 z?#@xM!7M@oIHITmrm9bjw7Tsd2^`2T3obpcP-t>_VxPlCVPbS%8q@o1fTQrbD0`3Z z7QX|(?gVT`!*vez)$QC;&xio6H9t+_B@9XD5gsw8OLpSJj}%H%CcP*$|7JU%5aqe~ zbd$UEcL!1L=nF31%`z18kBN6_q7gZ$pXVW8LUTC-AHZUbXS!*NPXxy!bpis_Tg1wQ JNf#D!><`;@O+)|y literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/7.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/7.gif new file mode 100755 index 0000000000000000000000000000000000000000..2f4539998426e7cbc4114eb8809b680566a70129 GIT binary patch literal 3929 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 S1FMLNz(F?Ns}TVX4AuY|FMf;w literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/71.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/71.gif new file mode 100755 index 0000000000000000000000000000000000000000..a0ccf2edf5f3c1760323012456f57ddd8e31afd7 GIT binary patch literal 824 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 W!5gs$c6vc*pd+9Tgpv{jVEZ4jVr)SG literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/73.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/73.gif new file mode 100755 index 0000000000000000000000000000000000000000..c0293c3ab0750b5a1f654fcd1851c5565dfd1199 GIT binary patch literal 2195 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 Cul<<- literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/75.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/75.gif new file mode 100755 index 0000000000000000000000000000000000000000..9cb9aa7961f87230f198c3f85dbd14e5999af3ea GIT binary patch literal 1222 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/78.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/78.gif new file mode 100755 index 0000000000000000000000000000000000000000..d0d0856045d240cd96871afa4fca7c48d8d152d9 GIT binary patch literal 1565 zcmd7R`&ZIu00!_EfeBu}A|NX*Fcs#|(KL^C*}k9@nJ!Hy)>bFXm9^|tYp1qVBQMiZ z6gpX{HO-kawS{SA!%?=T$@*zioBEUtj^hf+HZUQg6BM+^Q>FH);~Z* z12kZ01JQlXl3^cm3xIPuju`+c2ee!Oe-*A#+avYBp&7uDP&mMg(a_0K0FAjTx^29> zth~F3OWU!C5*VLtnbU?wbSyHob72dUmJMJNoq7)RD7QL21Z{;IcJwnMo-QJl0#X5Z zlDrB|?hH5+0Ox0q>Db+QJa#b!z7$4Q@)(Z+QVHN}rm$~u-*Gn7AA-Zdw0uCi36N5- zkcmzu)I=k90I!4tr}uu^ycuZ#aCifpzYbM?x}pQn)QH>!P|Gv?#DHo)*zN@%`@F0Q zK&k+o+6!l;@R1i(uW&8{zm>BTNpIc}b9$;mkYZrc2u(x5CgV&;E_(6BN_rW#E5n{y zKpHG$&ZvWCdUEEc2OS@P7nQ6bxy$_Q)Y$EfCgW^hwj-SUgjNWsSwJ_`3WwGqS3&DZ z8f;k7ql_JI@F_TIH&(&q+^~LG9i4N)YDZ1@Wz~hA>aU^6I9U2Vy&cPF$F=3JnEQRI z=>$dJvYIRhy+5Xp{i24=%Up`VW*Oe_fYW!;ZRta-PELQ4Mb@j%vr6peCN$HPw9)&S ziSwI5a51wrFTh(Bvy%IJ*XBfY|A@86)TZu=i!DH;2e7c@&2AQ~xWz@)kswtB$1%p7E)C7&!;dH#dnFAp-TmGNIfYu-IBO?O2Vf=T!Iatg>H^vN(NCs_yZSHBl2_Qg_ zM|2h_@@o?<4HwXRVHzT*Xe4O)V4Ns0LBu1L)D$M+gR|&c56Ov%HbQL9y=X?t#%$ST zcGeM0EJ5nzzB66s`>55)13Oi-iITGJT2S%YFK=xcsJHzP-DjNPj)oScoyxc(ZP%W7 z+tc!tKQU>@)niwD)EQ0q0Gdm0+9bg>jtFE+n|E>ur!P5NlI^-CRJRomdFZU3k&5pXp#!Aai@{q?Zk=+&zd+Tow@0nZKVQJ_~H=NA``C2PNe$@;Jz1 zh@3h2zUzwZvQ5b97eUids>TyhY^>$itj}BRIeL?I8f7p!>{~UzPq*{ zg&S29rx^Q;$OmNLMi8K}NXbfHfxYT)=xZ&=s)E{b)3tQ24IkU+nw>SbovON8eW~fRsZhDIHu0s?W7;C9WAdel zR(%PZnvG;_eOv2Gq#6|@4MNc*XtkqRiV#%S)|Zyxwe}C_Z~I|;{rLRhdG~zWy?p(A zT=&pzkPUhzL+~J*AtKgO5IibestJU_bWkNJ&LWs-g2!b+S$3eiwIT@vZIv_%fimtk z4Z*lbL`AO}sGw^~zJv9|BbaI%_z^V(Ay6m6SOaJTpsj$Jt~fCUGo3>$B#%b%Vk}#O z{XFiLJLINHeN)m{HtE}&h?FU4U7ZH%w3QXZ`e06E*~k4%hqjYQQ?M^Zflaouqbr?Y zx&xkEA1xv2OTLB&S-QILi6W2TLekP?KMb*;{|q&Ed*d;bB*)geV(&1V{}vv5DPe%N zdcNlZXe(bXEPygzo#_D6cUJp2hW>oe%iu|sBpm6k`Ny|l%i`nk*Oj|Dl-_iQmov=`ft5$o$68{=NQYjQS$U&>9ZYa=n;g=uBCWC$A3v3OX^&bgZHlxjo?*PQCc4s zU4y0dVyA`Jq$r9tfW4j_9xL}BFFvr=9Rp+aOeF@7iaKM_gG}PAz@H((VEAHpvYoE> zgyGL?Fx5Jo>$q@_H+L%rCR?<8&$Tz9u6b6HtZ#~$yg^-EdbT*xH`m6v&)vSLbA5Fg0MP&W?7=d?n-X}y^N9EE&s|K6-fXd7-eA5N z$N#ttv$xZ?G<@kvoAvPFZ}v&-jmxfA5yiLK7VIHbEhw0av*8!I_sm!173?&j zQ^+VVyC=u3lO$ILm#fq~8ZihLTwUd-Vpp41?pheL?K8i= m&vHrPCKWlCX3;&!AxzpkmC0ZJ7nG0wo62TnN1hEH?fnN<0-_`U literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/8.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/8.gif new file mode 100755 index 0000000000000000000000000000000000000000..f6c883447ca373fecdb60210e27c858844add470 GIT binary patch literal 4679 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 OtDG`%76yX`mj42tdy*3X literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/81.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/81.gif new file mode 100755 index 0000000000000000000000000000000000000000..2329101a71efc84d76fcdc0e0acab11fa4b832fd GIT binary patch literal 1591 zcmaiz`CHR<0DwP}L&lIuF*#H&O|Aezlbj_?5G=)s#*<+N0zN*8c|ifW$T?*MMCdV={!Xi5#LG40e4#>0i)q@ALlpK5xW<{lTBaI{*i;3;}$} zo2&VJ?ru0bb{CFO;ar!l`5Sby0ghKma=hOt`_WMkPIQLXrf3z(gKut4Lv*C23L3|6&JQ*MX zbb<*roc1Ijyb9n=;j92^T1=v>f03ktRQuT~ z!a(*`lPFW)U9jAE(!f90bsoTHm9k6#ry32yV)(3TIM+jzr1oB2-*eq*vFSUwC=#Vv_T3;3rn%|c;?#vKVA_qQ5Eo}x7aX1H4K&+_?L8l#2dP@f#e< zg^Oa-XqBpx0B73ZGz%48LHn<-h>P`Ixy!9rjDwWL`_bA5F=$^3R6hm)xItW0__3q= zLW$vlegS5fcS>iDwFeORzU8-*H~?Vv_7m*JNTi0BW3|rvL=Qsi%(o6A;m>9tv*n);d&Gsf8@<-chbWwt5gg<#MUjXc8KAc(0k)( zO)d6)Qr7A$U;h-(9G0lO!Fkt?ix@Vq`U^lbAK^|N78ZYpzh+ezBIwy}gI6PxX_3o1 zms7oc2#-}<>beItmJkx7HsTH~s7(2%JDY<7@4Z22Ns-F-J-wdRN2h>Gwywx+-}LlB zrR=IpTuhzijrF@$ZFLQeCOdmOaW2aWa`}A922Ke{xP{p5d1N0r#|Ho^})r`0x6f!&nrKuefeESr>H6W;o@;$Sugb3eS`&?dI) zkJyjw*<@hHMEK_G5=*&OOJ%H8n>@s{$xtu4ozU4aDlWv@(w9K64zNO^2-XO971o3R zGaJ7cn##wtON!9qc?%A3|fKf8MozIWHuB(tmRpWu-7~ zzZolM?=PPg1PtVD->{Doe0;6i;{E+OWgPkMVUw86fMM_Hx+Nlen8k}Z0B3`65CIb|6Tc~Tad44 zKhCo6S)1Ek?GjzkUzk9{e%k?SPq4ZM^E);YFWF#{r!DLP*Yb}Ab0b_`Q@?3NF72p$ zJn#5kV*lkPq1^{QDds9e;MT)ieVV_wa#^$u4~X7dlJ34OGLGz@`h?+~I9ssfu}r;) z(Dyy35qDqFq&h|Vc6pm`7ysoRkkm)sY3oo{=*H(6$shS;Fr@C_V?t~e5{`3A7l-0b zRf-9rJ|xVIZRSkw;a%9Fc#*RYE%C$*;<$b{C^QfUv~fi literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/82.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/82.gif new file mode 100755 index 0000000000000000000000000000000000000000..644748a96ca06c8518ed8618b9df99265748558b GIT binary patch literal 1547 zcmV+m2K4zyNk%w1VHf}y0Qdg@^Sy1*hbF{v7S)Oz(t{iAty=oLV&}GV>Zw-$>cr}z zLI3E%|Jjk&ls?LREU{Gp^s!d^%8LHYb?2c<|Jj!E!h6}4GymhV|KO+p)`_ll;@0_ST~O(V5nfGwsi#=d)|?uVUqw zHs6yv_Nr62T>!yq0J&cPy<`BpVgS>C0KaDd#B2c6fdIB!0L*p(v{?Y}(xcLT0RQB* z|L48Uc>vLU0LpX##%}=o(3bJ9Sk{jw|K+#;)Pcxy0J2vA|LDK{$7}!OwEx|o|K+ym z!H)Q{S?R=%+?PWC*o^qmnE&Cd|KhCAdjR;-n*Zm#`Mz)K#g6>KXaCT2_0N+0(wYC^ ztN+e%`M6*9t5o{Oh|Yr^@3?B}rAq(l!snkz>&&CoiYEWxquq)s`_7d9)Q-}NG~=#i z*OW8*$&9^W0{Ogf{L+&D;HdiZ>FmFK|JRV)n@9P#UdwkI(T_~-z8EW&PNq)}CDc(1QKep!Cm`^SENxi5BpnMc;@c-KuEtwO#$ncHgso`@m`7uzu{e zXU&2k>a%Onf++vjjPbg1{m5?kym;uLNYtNb>Y_}^b|B7v82{q0<(D|+m^t>fSJ;pz z{LhQtrd{gFqwAnO|JH}=%%#+cBKN~>{@}0Ws#NpNnCqrf%5DnSj2rE(R`bS$*o!an z%#r@ieCxPy?!R{a)Qs-1UjNsR(~dLOi80iTH2>9#`oM7W!+!k4Y5m1&*?SZ7tx(&e zSlgpq>6|+J&4d5vzWm2<_`Y}l<+%IEec`EI=crl!;jr$|qwK3w^wFF4)t48pl>h($A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%0-GdB(xjk5h6o25Nr1yhK_lr{Sd94336=y-3OZT9B_u~Fm$-ClGq6oDDB+}V z{CA~-8D;|pUNL0`&Xt*C27G`MWnh$QxgaAd(3JFso!WIbWQRoJ$ zI6@)|;dtc8882Rr%mWwUNHQpT5*$HD86T5LGr93^^Di--Zk*f{1Asf1-dZ6dRNU zIjBSl1PI(dDZyrFMVT_ZM0_*m;2@J-Oa#aTEwP-Ffe0qN!HOl2lycAv9{d8&2`j8X z!UiS0F-I2${IEqt4`gFa7uVQwLJ9^Lpn@12JTTJ(o&X`^j5E3j*Np)I03rDV1rz}P z04x9i000;O7ytkW{{a6997wRB!Gj3@HA#{LN5X*%lQbb{1Q-`14+R=YzyjkyCsm#} z$@ovojWrg`4U`g63P}r+o+$cMgO#Ds-eZ{KPnTz4B7_j6c#L0%<4iC0!jlUi@dBs;#7#= z9`P*E;|J z&>>HjAP1EwR}m0Ofe$5r9sy9bA&UqJq?8=w7mb7fCQLk};*_O?2@R9bLCFjVZBd6C x`_$qCGH+<0!5m%C!NC>}JphCwZlo}Q0UW9zMja23WFZhFmPlfVW~CSq06TQmCO`lH literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/83.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/83.gif new file mode 100755 index 0000000000000000000000000000000000000000..fbf275ba500778d06fb2709e0e5556ae8afddc16 GIT binary patch literal 1591 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 K=l^qQlJ>@a;;dZdr&ZaN zGSi1F_Sd7YYjT%ZvZywA76? z@484A^aR9bq1GZfO|LxBI>c+xt0p6ZS?66+{*_{5@n$mq2{?wQE zv0(q}$o#~0{KIqJnl;;_T=%eE;gdbFS_J>>%m3=d|LDH|$Yj$jVIfQBI2Y*xn2PO->d!Bp7zzB^2dYlzIX1wb?&}$ z!g({#eh~JmSFv0K%5MVcnnlu#ILv<;vRwoAsaF5tt<-@4|IdT}&Vc{ovD1J6|Ivr~ zx@!N}nD)ea__uG&cL4wB!O3#~_P}xf->LuLtpDP$z-R!@c>wmmZMtOwuUZ88w`Kp{ zsN|bDykh|WB9EHcImx@`PQ5J)|>g!l>5||`_7Z^uvq`*y7Iqv z@wjQSR{-IYFYc;Y{@tne$Aj3BJ-%oG!)pNl<+}gdp#RK$|K6$p&4Ko;S?{r1^vQ_d zoJHflm*bW-?5a@uzjf1zGyKJQ>9u9ec^vAhQS7W$^2UJq!h_wKMf1ac_QQDRuv*@Z zI@*UG@w{*OxM%Uni0Pz9(1a_#Zx#REr~lfX!FD3tlseFRAmhTL=(1h>&5-}$u+NZ6 z|KF_CgCgw7m;K0l|I2;eqDs(o1<8Rk;+aD9%Zb~pegD;w;G8-6)}Z*eXxWoG#&sCn zmp#&%T==qJ`OuI5(~SAloBGt4`onzt#ee(9i2TQW_tBO3(U$tsl#}fSoW@5^2LDo&yd-ZF!|G%z>%A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%2oow?$grWqe_JB%iMXX9f-e|d*kJI51PP896Ix(ELV*n&OepBXaiNqM7fTu( zMBwBO1r98G4OzqI$P*2M?r=b0u#J*B4Gi!rcEx~(9u0gD(BQO98mPoIwEaVZrQeQJoG18L>#D29lW@UK~u>AfVEe1>MdaTf>MTn|y4>h}k_x zgaZg3Y9PY`C)oitYzX4XL=TTB6ez4XFk-}x^?D%mB$0!M;4K=)E^&RMLubGWR-PtJ zLc_k9D^$MDl22naz? z#WFBF^2!5>bm3taDgZ$PItf9c%?vQ`l0pI%wD<@M>=d%lEQLrCM>L0op(8Zm$k<_#wjDpLTDU{h1J=PKbgX(j|f<$IJ~c9t0f7 zHbwJ^MQb_~{DJMq7%`~Fc-SDsUyTJQTJccxqhOG7pQ!Lap~uPy2p(!6n*t{mDO^Dc zb^I zLOSg0cVth8u!9iD2SW-EbfHKW2zD`!3NJvAP$5;!FyI3TRAAvFEW}|71`0uefh2L% fa!42?rXo!ig)me=7Fm$NB8y~%QUF8^1q1*)ck41~ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/86.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/86.gif new file mode 100755 index 0000000000000000000000000000000000000000..8f09d336a30070add12af16be11397ac97436234 GIT binary patch literal 1519 zcmZ|OdpOg390%~PWrc;3Sn0@8opid;dgSt`7!HnvbR?0>=91i&lw86_Q_(tEDVJi! z2^HOp7RE3kw+@Sy%_WyOq#c*v=J!21|DXRp&-;1*@qS*<^ZC`@*2L5o5Aa|ff^W~f z<&EKRunbB{p`--;RD^yihM(?B?pVN&x7v~oVDB|vsD`W|W}z||sq&e7;@%z$+G4;| z$Fhkm%FYjW>yKchnc-R#SJEBEb4Und^ zo>YUjR3g%FMpjLcz73t?#z>w9O%=QMJUZVHiW|+f9L+g6nr%LE$E@cju_2!L!X3cj z*R9c@B^uNQfj54DcLr4X066*<;rhX`+Si`Tg;)Hu0FH3#LqJ0q;QE8NWbiHuG@k>F z;mdhNg%{{b05ySNvLdp~4SYxf(_L&h`K~$ubSHwP-h!q`0NbgH9B*lDe0K)1{5YsQ z4Fpusl}_Y%gU`23JLADnCJ~NQ$~tbtp%-wnRa$*P+Lbr=A$P9yIGk)*60&D2LqyDd zlNAx;59~YQz*65MR8kHHpTMD)@Cz4yW>51Iq%|?py2~#;z;yY^MSeIG-Gc)~vmC#< zH$Ku=rzZ+*;rqz<@!O}L9q-R^fZfTkJ!-zpYq-=K?a73qtm(27vu{G@YJz)jTMlMh zBfJPym@DH`Wlagv3g3YYlc{3YcKXigr>?LkeV~*qZ%cs_eEIuyc{}qvCs0~RMg-@P zx+pQr431ULmwUj$r^vfFwD+#8@dErngZ+1r<`{V!18u+5ebrFT4}p?rvsFQG;2|96 z&AjlNc}YfEljJRl9jUt!{-p&@Kvm%S%7BgB;Pq8O8_`y(v?g{u-%(x{D694#DDqlr zrizzm@Pp^x`Y$zw!0}os_q>!FJ(@>C``Pue#-e++P?Q7zN?mw$s*OS9#~F|2TJ_(v zlhucP%Cp&dJ8@ z7|GJvX5Sve6$(G1MMY&z0Ku;1d-+N504PBKl{eXyJ>b!l*6nmNvALRQfLnLcgWcp{ zO?L`gh@gHG=lpWuOVob60-1gjyRD;=U`a^dbe}396OI)o>6mKlbRpR^tL(S1c)6DS zP;K2dB_3Y^vr=Wv<|Ft0c&@2RT6Ei1j?wdx)HV8XVTMMSRqAW?m9Aw9+_(1KHMhB* zyVg~ar^;D%bWB*HulfoTziM>{ArL71v~uyE-zW+vS@wE|-3Z%?kF&J!vu;Kg`7U|q zqJJ+pFZkOI3wkof%)nO$Pgm7v=S{;kUEY*d z307E#FD0~l7U>CTOon^VExluefF(y|YMFXAl{vv<5bAZSEO*#ymaqtTD;?C8F*ak@ zpopC&`wEE7ZbMd9UJLc9T2BR50>UBr%wgm2N-vx>QF2!P_KnCotb;aI@dq&W|ABE% zH@8q6>aM`j(oTP@pViL?;!MgJ5v?p8e-qv7Ge*gFG>tJ4bB4K6Ex^R@Ib%b2t?DM_ zTYu*NLB?*()9qu}yI!%^pr0B95)781Ug%U4XFwXp)olw9?fOV12{aBK$l8@eyCTq_ zlN`o$wj2?p6FljL8&(zLr|L7Jj?}Bsyq#FHgFg3Z z{{b6KsqR(7aq*>*lNtrvh1pDJ=b%%MPdw{MIT1oNRH9Q7egF^Y?hce%GjWH5@pT7L zaf%o$13T@wUS?-%aCRBkc!BLeyt-8{ZLbH}S8bo>niVeEXjy)P`XO?yWW~uSo{J`$ P8RVDdk`v{67?}SHC9xom literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/87.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/87.gif new file mode 100755 index 0000000000000000000000000000000000000000..df70756f0c74d0aa64c84efe026966e941f40aab GIT binary patch literal 1558 zcmV+x2I=`nNk%w1VHf}y0Qdg@{LPC0&vfLWPTihLp?a$?-P~o0N z@Y=oq+nUvdE$+mL`N4Vdzje=n9P7Go&Uqitdm+PZ3G1Fl*^@fhkvX|v0Mm*nvR45A zB7Wp0K;nlyJ7&kU;w{o0KR4bz-R!$Y5@P` zxc}07|Il{Kb^yyvBGyT?@{o1Ad+NSo_p!v97|LVm5;;{eJg#Xor|K_^?-JkK_%>UPo@ywX?)1dv< zm-f+@?7D6I#A)=^rsuI~`nq8K*rME(I?;?X|JjoN=)eEuwg23j{n(@b*pUC%jOVgz z|KqXuv047oiS*E#*N`^iz@GZLV*0*l|K6kj*p( z(R%;nvg@!{|K+v+=ez&sy#L&u|I>v3)Pw%nq3oke{>^j$&T;(6c>KzJ{?B;Wlt8y# z0RQK{1<|KYFx-mKx7LH^Es@VjyI#eDn9iQ>PW z^U#|8)}H&%mH*Ox+L%M#nnBBa9Ob7>?73_G$8GGlX#d}*{mOLz;H%u2KJTnk__}ZY z)QBG>3 zEB@T1|Ln~F)`#@GWA(mg`MF^DyK(={bN}6-*polgjx+4CTK?Uu|LVrljWh7PbMe1( z|KhRvxn%s#j{oGe@xgc1kTdwQS^ddx&3qiqeICqy9ov;a`o@C#$AtdNZ~3}s)Q>vw z-pux@Qvd(}A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%2ooy&S0qZ5A`24^p<`x9M1(L}B!OXY2@DuZ6f$|yf{8&USw@&lD1@XCgF-aE zOn8Lk5rZ{b+)Sth5E~^1m5^xxG+~S~HDV|YqcmEKIWuA?yppHE3OIJI#92@w-5noS z26A}vM9jb^UuF!dfd-ctFf~4i@bP5ejZ+IU+z@y}*EwGATKKtf!O@HxjrI=Y;Ym|A z9{+fZiR25K0|z_`Y{Og(GQl1AEcMy3;{h!bAQZ^ip#i{ZMmr1=QD9{Tf(Idp5J0AZ zh=5hooOK{#&7Qijd=A2?L@yNeHxV0J#)fwrpKM^@fXzgZ)Uf zqqJ+%8bQlc2@@nijhb!~5GFXlV4gT20A6AYfB}HwjWr3e;Ez0YU?IbUh{zDiHF$V% zi$YHL?bSMiA;K*}=6A>BV&xt3VfT9r>wfIj!03rDV1rz}P04x9i000;O7ytkW z{{a6997wRB!Gi>gM2S)ap~Hbg=$IMu@F9#ANnjXU0t3d9hfQ9zXkxHQmJuW!QV~hT zAQg-)9U>8l#Nf;pH5~>4#3qQrAY@wjbm*c?4HrnmAdTl@&I}h1tK@000*;+3aTZi4 zcgIJSfgGSf*)tHzml=ai@XDS zkm-Z2$G;xABH4qGhFy;fuF~{?<(Qz3e3)wJ&|yWL30Aho=+NL!^)MXT`If~}>3UtA7u!Mn8$|7`uH=q&JICun-~a#s literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/88.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/88.gif new file mode 100755 index 0000000000000000000000000000000000000000..4d8b15e7e625ddb98838f58ca001f3163c5fad45 GIT binary patch literal 2134 zcmeIx*;f;08prWB5RxDfSu%0He1Jb%FN;&Z-_?>-+_ zw_pok0hZ=K-3id}C8!Mq;&AZzBzWH#(wjnQ3I+F%gNGrYB?8DYC>rT^16L{1R7xj{ z(tjCraVYIqD8i$l>KIsjS^-}c4KM+mt{-Fp*mrK`HVrD9;pDxJa{#J4;8Y!)Zh-wP zMXnc=XXxbFaO(bQ54R_g(i;oli=sE}iRw~cD2alyIK{*3us;sUVwc1x;Q)K(@p+Ae z|1y=JF7c9bw~z4Lmc_wK;!_&&Uw)|w)V7~qtfH&SKZWv4@!3sqC~b8x?Oo-u)y_++ zPfn@wUA2;A<-RRes3?OYg4U=_vIL;*h|oQ~ z230L^{D+>)HWLDG*caWMK!PK=P}Qoe30I`s!P!T{-%{qEHR&V?>hk^L0&k@-r0)_K z;eQNY)x2+Is~Y0r&k~*DC-|a7ReurAKGuzv!O8o-$eUD+T=;YESjmw$-C1z@!BD#G z@b$d|9HaN$SKH14Rqbg_4-d|Y`r-|jAH~a(i1X4S8Os<>)%S6U?`lu4_UEk*<#$B` z84Eiq@O)L5FkkuAo0lzfy+zA&W7=nhLp;h`S>78_oc3w{!f?~dlPg;Joz=mc8rgN# zLnc(Vs_HIi$Eug^oq1W4u=F5C-58^l3lu*Djplx=s*BNdXFkoM%>NiV%(qike?40n z2CMuOSE-xg22$;09D?peg;riP zRdE8&G-`)S-rYR{{)Zz%qeI?Dk9gAjy`6WE^$~xcBCa3}abONOtWQl%+TplGjvOm8%mS9{W_!dxdHu+9kJ*J6y1 z1sJpt(TxHW9KtmPAgnzDrU}AD?*jryFTeU_)2RYr^H*fb-m}(R1B+cd8A$hl=~kM1 zW+=$5o=qZb-QrTaaG2Vi&BX=L+AJ?E@VpV2<|=PfoRf>#-NeUX9EmbO{zDY}j;PDO zL=__CnyAAGcI0A#18VE9(Jrp(EPG#)Q7Pzjw58b-4maS-(`a`74L%<&NSU{`)9u2B zRP~^@_@L3o4CiBxN4?O-I3~~2kFR(9r+{trFluKqA~Br74i$-*HF;)t2t1TNN{?iH z%$lJzN&W=+9X=z{&V%&HH>-Gy^UQD4c3o6)U3nc0Hf^IB*?FM#Q?}W@uszIk&CO|O zleTCTWGLEUi@0rH4N>9~ETT$iL64H`(^N zabrv`9%Ju}?h1IOvi$Md`aQ^@uS4)|d?P8HbiW{|o?d*}J6b_SU?R%$w}E7A9w!l% z6K~;Po<#ljyXo05Gf4_q75d zM1-gsA;NkCV{0n2gO}rmiHJ8fFI#77w&Svwn*&I-L?~`z+=CH52eB5ct2wbzJPBzt zwbbbW(JvXb{)2d&^tBB!aeHWE6?#J;j`45KR|<~Fp~!!78vI_EPQT^+f0+Lv%r(i~ Fe*@T%#YO-C literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/89.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/89.gif new file mode 100755 index 0000000000000000000000000000000000000000..05726dc4abb26afda444aa8b059006bff0af1bec GIT binary patch literal 1219 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/91.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/91.gif new file mode 100755 index 0000000000000000000000000000000000000000..608d0ad87c31a4e2ac8a28529c7af1a08a0abbbc GIT binary patch literal 654 zcmZ?wbhEHblwgoxc$UT>DJ1%zf#LuE|7&H%|I5nUHZsywQhm|M{`lRmIdkUxmy^A8 z=lzvb#)}s&|3AdY&B^)yLBzg8r@sCEAL1A2Z=n2oqh3UK`hOlCU+-uUK`9|VK}C7Z zoQ#59i8>Z$E+2mVDzz8-e%9^Gk?m*Cp1m}qOiEmF>5^qn=Eg=z$#k~1%SkIedi02! zgZBal`^yb=@0QDK(b4g9cb}@R{y#szt*ND@sYQ^ROGQcN$&;r?Sy@aBZGF9?q9U`N zudA)AX;zfel#)<9%*herAE+oQe)#a=V`r|pItT47a1x50c?DGz zbwd5aM0xlWgvGXR+qJ|*Xj0#Vv+Y*EuwtMdQ2fcl$iR@spaU`z6ekSquN%^unp;}i z+B-VCx_f#U)A~DO;yrW{485BfXV30PVi03kWX7-7G-qy`h19}D47^PIyvtX%nI^7V z#KgdFH>)!scISE~cE01?UQ&k_C9|LJGUf_mzIu&Wmzljg(24bP%N|W<4I=~A zH*dnimAjqH0$0LOp4Kfr?l^5_GZf?6uWBFp7VSD>Pz%Rrcsr<j!>0PZ-p&h<- zX*o@|TUafn=4EL+uT_U{=Sy9w)pgl6!I#vz3%A>}g!rxgf&Bsd{s*7WeZEP`#HeUJ z4sfvA1t5gO+5XE*i)6*&pBW&F1vtVJM$-t*cd42z;&L&R_hzd+EhWWrs$q04ootgH#g(^L02nzP)O zF1;(+a>JX;L}-0<>=lc(Uz^dznfuhJOxtqM`n5VeJew@1Eg3Ch}mhNAL15Eg{&+M|NeIJ0idGeT;#}DszeiZqn z3`B2>NmC?^U*HV(^}*$3Yc%~w1cN^yZWe1W6L@M*j^u*1Cz^64W9-Rvw-V?xvljkZ zow|C;s$;+8^ABd{6n$LuvXL`gQ`2&;^-yuigvAOsY*=1fb2e=C0MO9bG)tyrQQ4{S z3WsUS(?u67E1Q{_fzO_;x!urY`ukz`AAvzLFV>^{p6=#3^V9oGpJ~kqoR(*`ru$N@#0toiKM!T zh9%?;HEgPiI*_R|8VRH**+SJB1s!CBxgV*c9KGvQzEm~Aw%_YiY_-pIWwC=e|8V_R zJj1|Pr5CX{qr0b~ZEpq9jHd`5n~{nsto+tUe1V>Xlm=_<#(ep=6fCT}l5IH*BpBuL TdA22K#cA)aAqVW03PJ3@f(O+M literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/93.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/93.gif new file mode 100755 index 0000000000000000000000000000000000000000..7f71a8c94cde07ca85f7e7880732cb41f02c053b GIT binary patch literal 1119 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/96.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/96.gif new file mode 100755 index 0000000000000000000000000000000000000000..2b709e15bade2f707632e1a4bdc2b7e97521b4d8 GIT binary patch literal 1796 zcmeH`{ZrC+0LMQ(2w!=SuRw}~^UG<@kQzF5nyo<4$TW2`Pn&CE+U#o0T4il!pkk(` zSX;B*F0klfs~_-Tsf;=_OdDIGS=losF3K%aNkz%;s&%)!tsi%{U-teB-tX7F-piK9 zMMlY3fCVOZ11{5R+&Me57dJLGcIu17XKbIM!jkDLTW?oL>@9_ZkEdrX!8V(1mKS_{ z4r4kzVy2+rLTA?x4En7?o)3f7*W2faPei}Rq7+J<7jrT%&(Yh|)ZBbk9#L0U_pHl% z;Et`Ty873%l{W@$ED{MdV~%N$4|6ygHsu1r&BR487>r^5eAJpg5FWvxdiGN(H?Q}j zZ5Z_C>XmVE=po!T8jPAS%92u^f8b5!B6}sVO|Pdww6FysdKtg7-O!(lxhsF`;qdUP zq%?{rJz%b%)9KtK|I#@**>a|B#^o9r8F|{Kw_LlwC_HiqMO`zlMs1~pU4kwkfKJ<*{Xd;gQ1n`arL%s_T+a{cg?PAH&7G#wjvC5xu%BtEth&v zgzzRNr_RH$!Pq%*EcVfUTF-XhhC^km(lbBLOn5RnT2)Z+IGEpUww$Renlzgyn#1)i zE$8$tGe0Lz7&BYmT|$8%^ku;R`A-ROQS!>z)c3`r^1UB^w)R%+Jq} zl`~mc(tH)S1jllF&uXtw5dq)}vhpleQAyN7z)aZ>gT0)@)RXx#5e^@nTxIxu23xIW zuw2rE9B?VS6!2gnZfBz!kQ!5gP6eQ_oIs*#i_(~^%vyvz2`#+{=KFtZuS;GhQ+biM z2Ix98@x>wJ)%c77QFqM)OMQ|(zd`?Wc;FNf|2h`q{~n95u(9lAd+G1wWWrgd@)!^n zsj(Nw$Pbdk@tS-qfT)1j1`rue%y#z(&B@ms5t0CCMI7L3Hv)yqUToQb5!S*au`RE- zUQU2MI9IC3#&^{!KXqm8u%6g51SD*_@H1>l?otdhrs*ZrC~Q?z=Evz4ENyA%7i*p}%uDzsKDluD1-j z?StU2k_V=WJ1Un1azb~=@a2B~MRG?*NTdK_>xu<^$>+r+BI3O20;0S@X){2M;L>@_N+$`Y&`YR_sB!dcmK*!#&H{qoLZhw1&@t@0K|2QP3zKhKEM844&N8Oa(yAmREKx56t1Hrs7 z6UM4tK_VO!I8yp@)!tD@1RK|nYik22N!Zb~CYtKN?&=_l?7UVzN18SjvL4qJ0|Ioq z48hv6!_gabAgEC#@ra`1Iq5$VS3v&2>l`w=%+2qOz{RDS@ja4EY-6 pdy_y~NrNP&ELe=khAb%N|AyH1Jm^usxwTxXZ+>{0fWw05KLB@?Q566H literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/97.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/97.gif new file mode 100755 index 0000000000000000000000000000000000000000..cf29be87c890a6633eda84dacba996a29183c09e GIT binary patch literal 5300 zcmeI0YgE(s8OQ&@5E6nc2?+@yAy<+RLN1VmV1ncVA>2a{0tg`pB8p|v=@D9`34}`p z5kwRyR6&N;gDv31j^d64m{g}GMH$we0wY?SbI01XN@dO1&V0c+o}IpL-u+&G&iC{E zJk5yqKP5QaM_l4I-Z!Ck{=N!2=&S!Kcz#9Jcu0P7s66b8X%nC5dCRBIH|>(^3r>6kZmk zIYOc5=Ir^GotqLtd$n-Ob%znJ-sW1&4)7=W`w=5Ws-G71uO8i7F!R2y;xOr4ytnrf znRJ6rzsg`-B4Q;X)#&Kx+S==}v9VZ{R+qkmLFZDC$j}gx)A^|Ca7|zU^&n5&*WFXa z3r*J=eqfLt_SqFO>He%^?e*H~>M9l);DbcHUR(RpVZY-Au|vI@nwx*yKd}1prK>2z z6(_tpI_8o|Gt;tWXJ@yFB?0@$m^7eTL4sqoC}@)bz!H^K=5` zivY~E@$tOvdyp9H$0+pISWKN*5U0|at1KgzM`vbkR)&T?%Zzmyl1~QUPqv-vYH#oD z>AQvSd5py_E-d^YKf z3Z=EV$zgZwGaa~pe@-cl?#E*DIT7dasP_&XQ7TgAaQ;V0R0ok*keU4~gn67B^6Oo@ zGt#m@>^hs1nw}TKD=?G^_|im8+E!`eFb4hP$R*~S7xac4(QPiL1lIelvC#x#+*@`0CHnfUDK(+VnWWcYWnO0D^D z)vOQP8YV0*+^tb(>e7v4qo1cJ7uycsd3vfR0?feIG4W(1ONbK6%2y_ zE`YQCUY7(10MH)+7mT18Iy+GV^<(GF3>8i)jx6@$(r1pVEbnn!u9GKPTG59H&6VGJ zfGlKX6Am^q&vuVBt|W%}sq7taNh#S|NtOh!-apY{$6)eoUtk-L(Vh)l9<9(nH51rp9?{_Lp@ z<`IA|)xJ_%>io$p2o3BgnepPoB^5c!n#t;*-_V(dmzEUZqO_{gY{U}ibZvt1dg(}C zeG@VK0@;GxN%<8czNAe)d%FDW3JsgowUx?3SXN#~SA^mo0o0O@12=*G3#B z)<0W@RS*oF-^X!IIH4vK zG>dHR1$!T_jqG2vw-(jCBy2Gyd;flTczpG{mD^t6x8eDIBc7q&$$GD{{>k=G&rAD` z1vOWm0)ZefZ>v?_KiCU+@ie$>IlTc4FUF6)`)%JBH&3Dbx0OmPkKcquIk~;*K-`Z` zxZg#cGgp{*1#V`Sj~fJ=w6U|cy?^^}BnBUl!qxA{FF<24P-t=KS;Z3E6Q9esf`;de zeT75ahk?uHn$y8T2?wx!0J>m(SXWVjn3!)P;r(M*kmZ!o3{av;BhQ^~gMh7J$x0t} z8z#CKOqP4Xnpp5ke$-#Pz||P2k!7(JEo}~w9B_6_$m)Fw8Rhcs)N5l0>p-Blk#Kvn zp+?-^xV`yV-nfJEe}m$#l?}Dx{%_vQX>M=a-u(PA*6qz3Z`_5tp-|m5vav?IH*Ukf zTyH!BHj?;-d*jLa4-PN@27CeN`k6$(zWA>FxzN$@zUjq5oCKjiio{aC{M_7FcnvMm zecxDN`Ka;TO{<0DrsK=C{8vBS-u~dyAG?k)@}YlMXPilB=F0!HH=Wsd_e{=8!w}PM PZ8)cCg}lHb0O`L0!%Y2- literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/98.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/98.gif new file mode 100755 index 0000000000000000000000000000000000000000..c70e7d339fca9d0d12b9e66a1fbb6a68f4c6f4b4 GIT binary patch literal 1629 zcmb``=~Gi@6bA5n69`%1hU^O_VUs1YNKo85LD@k-ML@-o;D$O{A}%mRNgzPbfT)au z0}6-&gS0Fv7O^6mK~ZB_+%Xtzp|n5|p@G0#=yayjPCxWRpFiN7Ilp<1ufLDS3JDWp zLQ?}!gG6XaV|MR`S>`mLjWjnUw>@ZN>^x2)IwKpi-t!8-M<`VRJ}05sRIi0VOO#5eH8u;CUP#ht3%q9cPeP0x|`S zLI*gQeFWfI>2+W*9FpZuPELYF7R6-b$D4_OKxk`uI35r(m}xQ>A3s-KQ9`AzboUr) zNPc_HtIC2gYiIvXA^P0g2m%8OzuH*l>M&<(_qK3Pe|}Wo#i*XH$0w6g-zz=U>W=y2 zXAFk-GUwTcj2Q~0_uW9h!dW*s{7&WDcT(7DEtqw4t4iNGr^*^Bovj&kvZ>jKqp*@MCS!|$$hXVp%_We+uykX;pNWES^<>uzL#1)jo`}Te*Ad~Me;w|R#oEAIA5eSo0 z`iA=YtH%PqYp8!}f&t&4T!bQoNE}p|lrUL_83Sm8iDYvtCTH?w^46H0mJD`RSC@Wj zDl02X^Yr;8F16m)wtzz$=J7xSJWQu2P^pbPUQ%>O3l1xwQqxiu8m!5&qsO~FR!~gI z2@!r@C#@fsNK|yj^vczsnfzwy(y7OfK><4dfFJlH^9cWM1b`6i9kywmXQ=m5Cl@q4 zKV6_V!kIw>kZ@ts!ka+YIj952^{Xy=kcy=^M5(KbTQaa^6E25!tr&M?w}$^g&;|*t zE_fW-P?Rc{^4eKra)tLgpA@mGMPt-*$I4bC>Wo4Arc3?X)0DraAe?jrAGS}^gcSMb zq>IPeLOZSas}A3k6$`L*r*^tS!u7S!h;~%F!SYYLjNLcmC`OUd{*SJ>ZvQ#I{jCvRc<%R5{3wV@EaJif%GTGVfWLEu@@p6Q94dGjdZS;=5-Ah>T*Ydo4ShRxFgp5eh7^;;mpsoo%SUuvcd2MZ zi4&3PUN)VTM4gigVjB6a=>i3+5fM!H+}K8& nf|?2vjZkXVvPb9>MGz{H?Jm^WG#qu_Ej(q+3%Q&mhF1L!e4&X{ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/99.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/99.gif new file mode 100755 index 0000000000000000000000000000000000000000..05c18635da1b3258e044e30de4f7a72058bfd6c8 GIT binary patch literal 2261 zcmeIy`&X0q9l-JLlRODYAQwm=PeKAoxCO`{gou$=7jgp>FkDo?C<%(As1z7g>V+j- zBt+CqprWWv0@YY*8>_OmoOa<-q)dBg#e(*@1?(JhdN$BbYfs@BP&VmK_aE%}`TP9v zeSJUgPjae8w#I+}1fbzyZfh< zePbt7dw*N`ZFKbGiJOHI3EBsBO8urE&kHzF(=hHE8297YJ#kPa9aQ3e#I(In| z9i-0R7B?L~Udv;mPoF+zG8YWaDCh;@kp~VQI2{%?HTCFrNC^5F^hXv8MUV(i@JAnh z%x5r4!@`D!{!~LEJ^I_!QHzyLB2^!*eLOqc)%EVy0zClGE$gQ0eN~3ctP(Dl$qnjb zu?jYA(Qe$>6B;pfB{fZ2dg$6@MaPZVkN&ETpuFIEi+!%_Bi;I=6 z630q=n9NhHXWmDU{8({^<6@bF?y$f0JH3zdXgv7;_df*q&tW11H~=5@&QRxME0eTp zNsJf^EgTmu{<4?}AfP}^7CabdaH6~^-??Q@RZU)dxupC%t z6tF4O?`5%GZuI_@2-eApB{jjO6p~PDOfuCHy@I6ts)!mReLt`=u49y@i?{%htc(Zu z(kU$^{vUt=BsRXn4aM2smj60hxAV^1sXUx${eaFit4?Rf@Ba4M_-#|xNkU~erM#k! zfa7Y~t~EZvlh0GQY@+n_@3N0VQYURZP5${V>Sp}S$Q@Rd1;QRGyW3~GPG)WEOJmu} zfW?>0F1~XBug27esODxyKyN7>RH^cEaVb_G*87N;Q9j@oxr$L@F7If-i8-=dCJm}j z^Cgp3rx4tqe0-1?C>VZoBdV8!fAcL^;TNQ+%T|o~2dO3^e)}P0$i?qx5Pb-~JbeQo z08UBh?>#06i_sMu_?{X~!%CU*@kg+F9cGJO=)UT%!Ff^YXjKBtrwj_nq4CNfbKLe_ z-x#rlMs4P)d6yH|qQTlyILqx&-SkHaMmyuK4rbV)(s}Dt)O4MjpK+XKxAha66UzT= z>y6hNg$=6rUZv)gI2+%_$?Yx1Wn#5W z#Ut*nv3Q~1S%yq8N~Mx%;|Y*4x#d2l3lLB8l>rlgX3iD7g|8sTm44>}N3dSrCYzNS z>42W&iO`o_1+j+yzZ+i|K?_FoC8H+`^E5Eq>4vef>j=6bt=j*TL62O4WJee}% zHbPL$H5aXn-ysjhF@$cLySENYJ=3-{H0{enqg?CDG3SHArc=!RM6p=Q(Dc z1rrcf_^$hVNBFVRt6oby1mv6Dw1{N0cEnJZ+Ae!_q>j6F-y+0gKWpO8AkaAnhA3COd8|^gBe+m(2*$cJY zOl+~1FYkV*Lv=RM_|M)V@7g~k?5rg2(4P<{gs`Q^Fw@OSNK`NOkW@equTuGLTJ8b= zQxDRC55DNfAQX-Wu2EbtA0hi;oZD~Z_Z?aB#4lFHre9bYA?wekWKJHnc!}5QvE>?y zHcSNpt%9aP3SK5wx|~XtqVdj-3nG&yx!w{t4%Q1$Pm9j%wW8jmT?BrW;mb zl}n<}IDI7l@Zu`Ey1a_YmsXK@8`t(2O6rkURLJfVMwP1Y-y>LX6t$O55EK%#)kl2`WNaZ!~XyP literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/static.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/emoticons/images/static.gif new file mode 100755 index 0000000000000000000000000000000000000000..b8c444b5a2e0e25d8bbc988d8d72d1582e15e904 GIT binary patch literal 35504 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 +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('filemanager', function(K) { + var self = this, name = 'filemanager', + fileManagerJson = K.undef(self.fileManagerJson, self.basePath + 'php/file_manager_json.php'), + imgPath = self.pluginsPath + name + '/images/', + lang = self.lang(name + '.'); + function makeFileTitle(filename, filesize, datetime) { + return filename + ' (' + Math.ceil(filesize / 1024) + 'KB, ' + datetime + ')'; + } + function bindTitle(el, data) { + if (data.is_dir) { + el.attr('title', data.filename); + } else { + el.attr('title', makeFileTitle(data.filename, data.filesize, data.datetime)); + } + } + self.plugin.filemanagerDialog = function(options) { + var width = K.undef(options.width, 650), + height = K.undef(options.height, 510), + dirName = K.undef(options.dirName, ''), + viewType = K.undef(options.viewType, 'VIEW').toUpperCase(), // "LIST" or "VIEW" + clickFn = options.clickFn; + var html = [ + '

      ', + // header start + '
      ', + // left start + '
      ', + ' ', + '' + lang.moveup + '', + '
      ', + // right start + '
      ', + lang.viewType + ' ', + lang.orderType + ' ', + '
      ', + '
      ', + '
      ', + // body start + '
      ', + '
      ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : width, + height : height, + title : self.lang(name), + body : html + }), + div = dialog.div, + bodyDiv = K('.ke-plugin-filemanager-body', div), + moveupImg = K('[name="moveupImg"]', div), + moveupLink = K('[name="moveupLink"]', div), + viewServerBtn = K('[name="viewServer"]', div), + viewTypeBox = K('[name="viewType"]', div), + orderTypeBox = K('[name="orderType"]', div); + function reloadPage(path, order, func) { + var param = 'path=' + path + '&order=' + order + '&dir=' + dirName; + dialog.showLoading(self.lang('ajaxLoading')); + K.ajax(K.addParam(fileManagerJson, param + '&' + new Date().getTime()), function(data) { + dialog.hideLoading(); + func(data); + }); + } + var elList = []; + function bindEvent(el, result, data, createFunc) { + var fileUrl = K.formatUrl(result.current_url + data.filename, 'absolute'), + dirPath = encodeURIComponent(result.current_dir_path + data.filename + '/'); + if (data.is_dir) { + el.click(function(e) { + reloadPage(dirPath, orderTypeBox.val(), createFunc); + }); + } else if (data.is_photo) { + el.click(function(e) { + clickFn.call(this, fileUrl, data.filename); + }); + } else { + el.click(function(e) { + clickFn.call(this, fileUrl, data.filename); + }); + } + elList.push(el); + } + function createCommon(result, createFunc) { + // remove events + K.each(elList, function() { + this.unbind(); + }); + moveupLink.unbind(); + viewTypeBox.unbind(); + orderTypeBox.unbind(); + // add events + if (result.current_dir_path) { + moveupLink.click(function(e) { + reloadPage(result.moveup_dir_path, orderTypeBox.val(), createFunc); + }); + } + function changeFunc() { + if (viewTypeBox.val() == 'VIEW') { + reloadPage(result.current_dir_path, orderTypeBox.val(), createView); + } else { + reloadPage(result.current_dir_path, orderTypeBox.val(), createList); + } + } + viewTypeBox.change(changeFunc); + orderTypeBox.change(changeFunc); + bodyDiv.html(''); + } + function createList(result) { + createCommon(result, createList); + var table = document.createElement('table'); + table.className = 'ke-table'; + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + bodyDiv.append(table); + var fileList = result.file_list; + for (var i = 0, len = fileList.length; i < len; i++) { + var data = fileList[i], row = K(table.insertRow(i)); + row.mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + var iconUrl = imgPath + (data.is_dir ? 'folder-16.gif' : 'file-16.gif'), + img = K('' + data.filename + ''), + cell0 = K(row[0].insertCell(0)).addClass('ke-cell ke-name').append(img).append(document.createTextNode(' ' + data.filename)); + if (!data.is_dir || data.has_file) { + row.css('cursor', 'pointer'); + cell0.attr('title', data.filename); + bindEvent(cell0, result, data, createList); + } else { + cell0.attr('title', lang.emptyFolder); + } + K(row[0].insertCell(1)).addClass('ke-cell ke-size').html(data.is_dir ? '-' : Math.ceil(data.filesize / 1024) + 'KB'); + K(row[0].insertCell(2)).addClass('ke-cell ke-datetime').html(data.datetime); + } + } + function createView(result) { + createCommon(result, createView); + var fileList = result.file_list; + for (var i = 0, len = fileList.length; i < len; i++) { + var data = fileList[i], + div = K('
      '); + bodyDiv.append(div); + var photoDiv = K('
      ') + .mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + div.append(photoDiv); + var fileUrl = result.current_url + data.filename, + iconUrl = data.is_dir ? imgPath + 'folder-64.gif' : (data.is_photo ? fileUrl : imgPath + 'file-64.gif'); + var img = K('' + data.filename + ''); + if (!data.is_dir || data.has_file) { + photoDiv.css('cursor', 'pointer'); + bindTitle(photoDiv, data); + bindEvent(photoDiv, result, data, createView); + } else { + photoDiv.attr('title', lang.emptyFolder); + } + photoDiv.append(img); + div.append('
      ' + data.filename + '
      '); + } + } + viewTypeBox.val(viewType); + reloadPage('', orderTypeBox.val(), viewType == 'VIEW' ? createView : createList); + return dialog; + } + +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/file-16.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/file-16.gif new file mode 100755 index 0000000000000000000000000000000000000000..2cf6e47ede1f2e26bd3452c23176ebaf79a5fd57 GIT binary patch literal 170 zcmZ?wbhEHb6krfw*v!B%b?Vgb-@jkGcJ0WKBYXGm{r~^}(&bC<-Mcq)=FG>BAFo)o z0w}_O1QdU=u!=BnGw6WCKxQzogcqFjTf`mx3xJ)z~&)qMzN*+PXmCFv_ zx|XjqoqOKda0QQ+4FQRnJd@^~*7*Emjpt%t9)?{u94s1A+Z8leL`2ty2pB}H2yFbl O_W%zE%L5fA25SIajYC=h literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/file-64.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/file-64.gif new file mode 100755 index 0000000000000000000000000000000000000000..2e211da0eb40f61300841085bb83d410e8b5e741 GIT binary patch literal 1149 zcmcJ~jXTo`0KoCzm`y_}qBt8uDQ|hXyms7;@aPUtkL0{;m%N;phuP#M{8sbYHt(?! z!$KI7w>(+R%gFnCGd<@$PwZwZuSMssKjOasz~}kiaB;GHF#KwxT6A-^@PLZLf8 zUa3R7F~v_CJeX@q!_N0sAu{mcXla^#pmqZN@6f&?*$?O#O~)Qv-4>nE(GuE zzj1xN2!tKF^^#qlbIRop#imT%8k-7Nfiq^4NcGadj+!$X1T8*Qq^Y&pAa8=r_|Vf5 zm7#gJ2u1%an-1go-@LYB6@2m~7mAaWN?3>JD5+lmuTYK$GPBw_aoekABVGTIa;jyJk?A|UqY;AYaK&|{or7i-3stM3IABYFo{xmH#G0yG%N!i78}Mb62zj5%Njd|*ke?v3N;vm0}4V`GIc#) z`e&dJ)ys~T`a>$ScAG;kkfsOqR;e17Cs!!YF3VBsgPr2OY{6W$;A|+>jiU_TB z1-hli9N7?u+l-2SxaQJxT?;Sk+jTP7`N_h1HjbFb!aO+#Rv}CP2(15W9l*vuND!7` zH;3$@s<&p&LYuO*L;w$&=*d*_j)Ftv?1gm0<{7oHh>EiZ^vDiI=|}yNmt`61&lT)3 zL@3oXCzOqSONX%z+J8@v$^AKpCt8X97<}%c$$PH=o`k)=OTm zd2vA*WVRcwhrC%Ylvc3?9fplmJ#epQ^AO$8^O&6N(|Ab;zC}iJ352Q2Cy~0N&>SbY cie<#^tamVL_nq&3(Jmj8ZrDET001`s0_4gG<^TWy literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/folder-16.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/folder-16.gif new file mode 100755 index 0000000000000000000000000000000000000000..850b5a350d8943232c10a12e42b3edf0c0d78472 GIT binary patch literal 226 zcmZ?wbhEHb6krfwIKsg2ezM@^&6}Ui^7?nQE{`KzUoAE%4&*|X=z-JL(SNB_Mr;oCgrA4~N9-P`o{c=fjh8he;ee>Up~G!%G< zIEnFf6rD`5l9;-p#46Rt=t_>Nv1J6;gAEcnmI*p9wnX(V)VTMdVos6ejrSFQT%BJ0 X{$DR7Ey&o~*4`?p+uhTn$Y2csGiPY9 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/folder-64.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/filemanager/images/folder-64.gif new file mode 100755 index 0000000000000000000000000000000000000000..e8a1b09c04162bb4f2e9a2c195c61c9b753d30e1 GIT binary patch literal 1272 zcmd7PiC5AG0KoBIK*Yk8n%6QE<>%FOIcH_%YhXUZu!gf0Yp!dX8R~nqj#V~?gn6Ul znI|GDDml{@UKt))UV%E%npZJFg#-i-3i<8zU+nuAeBS#W4G!`XhFK1jKcv=ox&K*Maqa4{ri8N|8JAai|? zwecd}^!)bPb0*aD>v9icwd=M?6s;BAF+7RVbzC#GUxeDuPIs^kZNC^=E4em+~F7c{UslN0V*wCi%!z{C*aTm5`7S8yicb(Wq2v zL_`DxLBRhwCj(-$6+i+!KN>$i0k%MN65}p2;a*}=a!P7iIx8bHi=Ca5o0ng3zp$vd zq_m7v&aL28R#o$BYU_%S)|iHejTp;Kf?Vqzt!?dXJ0A<#&elE8dV8OCW;xpoy%b9v zME&VF$+!fA`)6`$dS-S8V_qnoP|PnZj$`KR)Ee!wPQS9M#}&G+88=KiSKn7;LIbDs zE^5c_@B+y_SLY+n$BKy$xzAGVyew;SI^l^K4go2`y0}5%;`b!h|%_raSgv%gv*kAIiF~ zgyJoS^AqO=3ciY(9&EX)=y1l~Y9_qDrx@jjUH#(sZaDbq-izbp<83!Cz1r)GZ>7g3 zs%J!Z(T*qDZ(f=fNpf++Z0^kO$O*9z{<>grIE69KRI8}2N)3Oi0bRgA_ukn#C9YyIzMp}VCV9}>*+2?HibTy9iDd!L{rXS`w(Czje(~1 zdMJvoNiQo(ek+y85o~_|hH~-qnCCEUsPpAXTfgrr+fE!2A?@!-4|h}wlM znftKGFm<#>!RO^s7i;)cwTnpggl#aamEt`hcqFANA3Q$8A;H+Y%n1l*;UWi_s!0;`xz{5LPy6#A!qc9xXYz*fop3hphZs15=!}PN3#nUbRUK5~;V_~l z9bqN-S^Z>PUZ?Ibz9td8*jDBN$j|gqnoiVA5dpOsq3X6Ef>}&UtJBfi@1EIR5@>sE zNohS6hkZT!U>=B2riFX8V7cE@s9GNIvb6}@il%%E!2A>f-An&9l}`M1YRHfz&^AUt fOmuso9|_t2PCrUM>b3Is$cTvXaLwRrlOX**u!PuS+2(IcSY)xF}7f9oC(wHtC;mR-I7&MR-0VMts5rYB~}i!-{mRnOY{?&FuHWjFR7K7Huy zT~ULmyq?vfT3)@&&X&zOUpi%5RQ)yqMX%t}CG0#RvzP7cT64-GvRlqF!76#}|Ns9P z1}jkf$-*ka;KQH;av&&97})z8e43hl92{CYT4dyOZ8|$Fy*>C%MEaW<4Vamkw5I#$ znX#*?va`7N8*wUWuGO^jV(k<)cH-I2W=jzf1_d#3N51(!5@OP(R`2F>iJ2-|alO|Oe(i8$cZw1- OH?vCJo@faU25SJW- +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('flash', function(K) { + var self = this, name = 'flash', lang = self.lang(name + '.'), + allowFlashUpload = K.undef(self.allowFlashUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); + self.plugin.flash = { + edit : function() { + var html = [ + '
      ', + //url + '
      ', + '', + '  ', + '  ', + '', + '', + '', + '
      ', + //width + '
      ', + '', + ' ', + '
      ', + //height + '
      ', + '', + ' ', + '
      ', + '
      ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + var html = K.mediaImg(self.themesPath + 'common/blank.gif', { + src : url, + type : K.mediaType('.swf'), + width : width, + height : height, + quality : 'high' + }); + self.insertHtml(html).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('[name="width"]', div), + heightBox = K('[name="height"]', div); + urlBox.val('http://'); + + if (allowFlashUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : 'imgFile', + url : K.addParam(uploadJson, 'dir=flash'), + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'flash', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + + var img = self.plugin.getSelectedFlash(); + if (img) { + var attrs = K.mediaAttrs(img.attr('data-ke-tag')); + urlBox.val(attrs.src); + widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); + heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.plugin.getSelectedFlash().remove(); + } + }; + self.clickToolbar(name, self.plugin.flash.edit); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/image.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/image.js new file mode 100755 index 000000000..598392821 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/image.js @@ -0,0 +1,293 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('image', function(K) { + var self = this, name = 'image', + allowImageUpload = K.undef(self.allowImageUpload, true), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + allowFileManager = K.undef(self.allowFileManager, false), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + imageTabIndex = K.undef(self.imageTabIndex, 0), + imgPath = self.pluginsPath + 'image/images/', + lang = self.lang(name + '.'); + + self.plugin.imageDialog = function(options) { + var imageUrl = options.imageUrl, + imageWidth = K.undef(options.imageWidth, ''), + imageHeight = K.undef(options.imageHeight, ''), + imageTitle = K.undef(options.imageTitle, ''), + imageAlign = K.undef(options.imageAlign, ''), + tabIndex = K.undef(options.tabIndex, 0), + clickFn = options.clickFn; + var target = 'kindeditor_upload_iframe_' + new Date().getTime(); + var html = [ + '
      ', + //tabs + '
      ', + //remote image - start + '', + //remote image - end + //local upload - start + '', + //local upload - end + '
      ' + ].join(''); + var dialogWidth = allowImageUpload ? 450 : 400, + dialogHeight = allowImageUpload ? 300 : 250; + var dialog = self.createDialog({ + name : name, + width : dialogWidth, + height : dialogHeight, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + // Bugfix: http://code.google.com/p/kindeditor/issues/detail?id=319 + if (dialog.isLoading) { + return; + } + // insert local image + if (tabs && tabs.selectedIndex === 1) { + if (uploadbutton.fileBox.val() == '') { + alert(self.lang('pleaseSelectFile')); + return; + } + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + localUrlBox.val(''); + return; + } + // insert remote image + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(), + title = titleBox.val(), + align = ''; + alignBox.each(function() { + if (this.checked) { + align = this.value; + return false; + } + }); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + clickFn.call(self, url, title, width, height, 0, align); + } + }, + beforeRemove : function() { + viewServerBtn.unbind(); + widthBox.unbind(); + heightBox.unbind(); + refreshBtn.unbind(); + } + }), + div = dialog.div; + + var urlBox = K('[name="url"]', div), + localUrlBox = K('[name="localUrl"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('.tab1 [name="width"]', div), + heightBox = K('.tab1 [name="height"]', div), + refreshBtn = K('.ke-refresh-btn', div), + titleBox = K('.tab1 [name="title"]', div), + alignBox = K('.tab1 [name="align"]', div); + + var tabs; + if (allowImageUpload) { + tabs = K.tabs({ + src : K('.tabs', div), + afterSelect : function(i) {} + }); + tabs.add({ + title : lang.remoteImage, + panel : K('.tab1', div) + }); + tabs.add({ + title : lang.localImage, + panel : K('.tab2', div) + }); + tabs.select(tabIndex); + } else { + K('.tab1', div).show(); + } + + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : 'imgFile', + url : K.addParam(uploadJson, 'dir=image'), + form : K('.ke-form', div), + target : target, + width: 60, + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + clickFn.call(self, url, '', '', '', 0, ''); + if (self.afterUpload) { + self.afterUpload.call(self, url); + } + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + localUrlBox.val(uploadbutton.fileBox.val()); + }); + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'VIEW', + dirName : 'image', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + var originalWidth = 0, originalHeight = 0; + function setSize(width, height) { + widthBox.val(width); + heightBox.val(height); + originalWidth = width; + originalHeight = height; + } + refreshBtn.click(function(e) { + var tempImg = K('', document).css({ + position : 'absolute', + visibility : 'hidden', + top : 0, + left : '-1000px' + }); + tempImg.bind('load', function() { + setSize(tempImg.width(), tempImg.height()); + tempImg.remove(); + }); + K(document.body).append(tempImg); + }); + widthBox.change(function(e) { + if (originalWidth > 0) { + heightBox.val(Math.round(originalHeight / originalWidth * parseInt(this.value, 10))); + } + }); + heightBox.change(function(e) { + if (originalHeight > 0) { + widthBox.val(Math.round(originalWidth / originalHeight * parseInt(this.value, 10))); + } + }); + urlBox.val(options.imageUrl); + setSize(options.imageWidth, options.imageHeight); + titleBox.val(options.imageTitle); + alignBox.each(function() { + if (this.value === options.imageAlign) { + this.checked = true; + return false; + } + }); + if (tabIndex === 0) { + urlBox[0].focus(); + urlBox[0].select(); + } + return dialog; + }; + self.plugin.image = { + edit : function() { + var img = self.plugin.getSelectedImage(); + self.plugin.imageDialog({ + imageUrl : img ? img.attr('data-ke-src') : 'http://', + imageWidth : img ? img.width() : '', + imageHeight : img ? img.height() : '', + imageTitle : img ? img.attr('title') : '', + imageAlign : img ? img.attr('align') : '', + tabIndex: img ? 0 : imageTabIndex, + clickFn : function(url, title, width, height, border, align) { + self.exec('insertimage', url, title, width, height, border, align); + // Bugfix: [Firefox] 上传图片后,总是出现正在加载的样式,需要延迟执行hideDialog + setTimeout(function() { + self.hideDialog().focus(); + }, 0); + } + }); + }, + 'delete' : function() { + var target = self.plugin.getSelectedImage(); + if (target.parent().name == 'a') { + target = target.parent(); + } + target.remove(); + } + }; + self.clickToolbar(name, self.plugin.image.edit); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_left.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_left.gif new file mode 100755 index 0000000000000000000000000000000000000000..ab17f56797aa3d6e54901251faa46a1d6a82ecc2 GIT binary patch literal 639 zcmZ?wbhEHb6laiRc*Xz%|NsC0`0~w_!xw)2{{Q;@?_a&NfY0z5d|Swfi6U&e?h5*55TdugqP( zd*;H87jM76djIpEzyB>GCR#^MvW=c(7cI+l#-3m0}y zcJ59}OkpzDnv~J$$H>AGkq{Y`Dyz9*QTmegj1G+QjN!@AF|o4h>pJZ^-9ysiBZ<4U~gn1Eh#H-meJE9h{xDp##LCC|K?)G$u@y(readQX2D_;9K@9y+PT?P z0vw!B1o0RN>)3}#UYWYsacTM!QqbB%B71u_a>d%Vtz8! mdxmkb+nP*aA-}msk>9>>^1Sd_=q&ls=hvqR!OI&N7_0$|A|OKm literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_right.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_right.gif new file mode 100755 index 0000000000000000000000000000000000000000..e8ebe6a6367b8f2abe19eab1e888f62b31ebcafa GIT binary patch literal 636 zcmZ?wbhEHb6laiRc*Xz%|NsC0`0~w_!xw)2{{Q;@?_a&NfY0z5d|Swfi6U&e?h5*55TdugqP( zd*;H87jM76djIpEzyB>GCR#^MvW=c(7cQXIJ30E;dRiOk=~#A7 z?se`?N=#ug*IJU%Ic>ThBMVDJLS$5`tmgWO4vg}Q;mOf4v9jv>r)*-h>vRuEi;rWL zRXx+|#po7bZ)74ZDJyVhQ#zxkMG%j%zl^J}F8{3_n?N>GF)3fOU~Z2&#bU}0?cD4t z0S-<_x;U!4<3x5eC@{8haZL;1G`tYRAgdkb;*iMH)GWyB;LxMO8D?B!Fqc*1=%lAh jW?1N-Es4Cm?DQOq@NY3C!WupcohPc<9@&zqz+epk_}(0^ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_top.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/align_top.gif new file mode 100755 index 0000000000000000000000000000000000000000..d8826a5bce1462216379abff027077225394620d GIT binary patch literal 625 zcmZ?wbhEHb6laiRc*Xz%|NsC0`0~w_!xw)2{{Q;@?_a&NfY0z5d|Swfi6U&e?h5*55TdugqP( zd*;H87jM76djIpEzyB>GCR#^MvW=c(7cI+i_?yPUg| z5>uGWwH9Rb_%X7uL?lE;rOIlq?r~t0XADn{j)|33-`Q=~=^m06AIB`KdaTQf(JjE< z$V6IFR^U>nr$rEtvA>L~urB|7Mw>u3Q!y!DvtVwOH-?OI;_N~q9vu;a2j96ia&rhJ ztXPoXIaT0I$(jg3##T-aJ~tDFgL;!x!WhqW$arpAa>8YyP1T%~O{$(#6hharyxgSb XGgB+_T27_#bNBi3{G7HT91PX~icA-s literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/refresh.png b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/image/images/refresh.png new file mode 100755 index 0000000000000000000000000000000000000000..77e12d1c6acb7ad8defd5410e695d603097fba04 GIT binary patch literal 800 zcmV+*1K<3KP);XHLv^X{MWe`Tlinj{a@#N-#PzxnA+M}IA}100Yb>4X_(gy!}zoRE}P9-Gcn=d zkLP%hWjQ4)@@JM~+i8G(XAfenZNtG5HYNzd8%dOYyWMWnOnF3+72tRd!jUi}2NK|K@I&8)OF&qx6p4}p zNk|SR-ebsy13*!0YHDW7YT0sZYHEb3naQ_!H+||v`?BIuOy6N2+`4@WqS457TO^h) zm&>rVwN(K?sZ?EUrDdq93cY>3t8LL(cd1me(hdXzFq59yt*$=OA8Cm$X{rYHyV)7A z#X?cQ`YiyT&v&O(EP<};pb-roKY8>C?|NIBLs@#ZUja+Twe?j%i2xe~G);pCbMras zNLeT#2A>Qz9?$BUE+N?{W;%*H`IOjtzBJ zbcqY1Brc%;m;*rB&UK$%qceTbLcVYjRapQA4pnLuP|^uxzK1(Rn)UJR(iAxgof;y1uelRaG_g>g8*| zAi&Pe?eA0t^n1W zX4Kl&3PZywBhVa}N1wF+SVMXH*LDTK>)l&an7)3`#Be)-7DtoN3TR7cbNHakwn95Q eJ67C30R{j{$`Q#a2a=)y0000 +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('insertfile', function(K) { + var self = this, name = 'insertfile', + allowFileUpload = K.undef(self.allowFileUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + lang = self.lang(name + '.'); + self.plugin.fileDialog = function(options) { + var fileUrl = K.undef(options.fileUrl, 'http://'), + fileTitle = K.undef(options.fileTitle, ''), + clickFn = options.clickFn; + var html = [ + '
      ', + '
      ', + '', + '  ', + '  ', + '', + '', + '', + '
      ', + //title + '
      ', + '', + '
      ', + '
      ', + //form end + '', + '' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + title = titleBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (K.trim(title) === '') { + title = url; + } + clickFn.call(self, url, title); + } + } + }), + div = dialog.div; + + var urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + titleBox = K('[name="title"]', div); + + if (allowFileUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : 'imgFile', + url : K.addParam(uploadJson, 'dir=file'), + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'file', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + urlBox.val(fileUrl); + titleBox.val(fileTitle); + urlBox[0].focus(); + urlBox[0].select(); + }; + self.clickToolbar(name, function() { + self.plugin.fileDialog({ + clickFn : function(url, title) { + var html = '' + title + ''; + self.insertHtml(html).hideDialog().focus(); + } + }); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/lineheight/lineheight.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/lineheight/lineheight.js new file mode 100755 index 000000000..2125587a4 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/lineheight/lineheight.js @@ -0,0 +1,38 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('lineheight', function(K) { + var self = this, name = 'lineheight', lang = self.lang(name + '.'); + self.clickToolbar(name, function() { + var curVal = '', commonNode = self.cmd.commonNode({'*' : '.line-height'}); + if (commonNode) { + curVal = commonNode.css('line-height'); + } + var menu = self.createMenu({ + name : name, + width : 150 + }); + K.each(lang.lineHeight, function(i, row) { + K.each(row, function(key, val) { + menu.addItem({ + title : val, + checked : curVal === key, + click : function() { + self.cmd.toggle('', { + span : '.line-height=' + key + }); + self.updateState(); + self.addBookmark(); + self.hideMenu(); + } + }); + }); + }); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/link/link.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/link/link.js new file mode 100755 index 000000000..f707bc617 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/link/link.js @@ -0,0 +1,66 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('link', function(K) { + var self = this, name = 'link'; + self.plugin.link = { + edit : function() { + var lang = self.lang(name + '.'), + html = '
      ' + + //url + '
      ' + + '' + + '
      ' + + //type + '
      ' + + '' + + '' + + '
      ' + + '
      ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + self.exec('createlink', url, typeBox.val()).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('input[name="url"]', div), + typeBox = K('select[name="type"]', div); + urlBox.val('http://'); + typeBox[0].options[0] = new Option(lang.newWindow, '_blank'); + typeBox[0].options[1] = new Option(lang.selfWindow, ''); + self.cmd.selection(); + var a = self.plugin.getSelectedLink(); + if (a) { + self.cmd.range.selectNode(a[0]); + self.cmd.select(); + urlBox.val(a.attr('data-ke-src')); + typeBox.val(a.attr('target')); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.exec('unlink', null); + } + }; + self.clickToolbar(name, self.plugin.link.edit); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/map/map.html b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/map/map.html new file mode 100755 index 000000000..0e34169d2 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/map/map.html @@ -0,0 +1,57 @@ + + + + + + + + + +
      + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/map/map.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/map/map.js new file mode 100755 index 000000000..38521cff4 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/map/map.js @@ -0,0 +1,137 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +// Google Maps: http://code.google.com/apis/maps/index.html + +KindEditor.plugin('map', function(K) { + var self = this, name = 'map', lang = self.lang(name + '.'); + self.clickToolbar(name, function() { + var html = ['
      ', + '
      ', + lang.address + ' ', + '', + '', + '', + '
      ', + '
      ', + '
      '].join(''); + var dialog = self.createDialog({ + name : name, + width : 600, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var geocoder = win.geocoder, + map = win.map, + center = map.getCenter().lat() + ',' + map.getCenter().lng(), + zoom = map.getZoom(), + maptype = map.getMapTypeId(), + url = 'http://maps.googleapis.com/maps/api/staticmap'; + url += '?center=' + encodeURIComponent(center); + url += '&zoom=' + encodeURIComponent(zoom); + url += '&size=558x360'; + url += '&maptype=' + encodeURIComponent(maptype); + url += '&markers=' + encodeURIComponent(center); + url += '&language=' + self.langType; + url += '&sensor=false'; + self.exec('insertimage', url).hideDialog().focus(); + } + }, + beforeRemove : function() { + searchBtn.remove(); + if (doc) { + doc.write(''); + } + iframe.remove(); + } + }); + var div = dialog.div, + addressBox = K('[name="address"]', div), + searchBtn = K('[name="searchBtn"]', div), + win, doc; + var iframeHtml = ['', + '', + '', + '', + '', + '', + '', + '
      ', + ''].join('\n'); + // TODO:用doc.write(iframeHtml)方式加载时,在IE6上第一次加载报错,暂时使用src方式 + var iframe = K(''); + function ready() { + win = iframe[0].contentWindow; + doc = K.iframeDoc(iframe); + //doc.open(); + //doc.write(iframeHtml); + //doc.close(); + } + iframe.bind('load', function() { + iframe.unbind('load'); + if (K.IE) { + ready(); + } else { + setTimeout(ready, 0); + } + }); + K('.ke-map', div).replaceWith(iframe); + // search map + searchBtn.click(function() { + win.search(addressBox.val()); + }); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/media/media.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/media/media.js new file mode 100755 index 000000000..be6c2c289 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/media/media.js @@ -0,0 +1,162 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('media', function(K) { + var self = this, name = 'media', lang = self.lang(name + '.'), + allowMediaUpload = K.undef(self.allowMediaUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); + self.plugin.media = { + edit : function() { + var html = [ + '
      ', + //url + '
      ', + '', + '  ', + '  ', + '', + '', + '', + '
      ', + //width + '
      ', + '', + '', + '
      ', + //height + '
      ', + '', + '', + '
      ', + //autostart + '
      ', + '', + ' ', + '
      ', + '
      ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + height : 230, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + var html = K.mediaImg(self.themesPath + 'common/blank.gif', { + src : url, + type : K.mediaType(url), + width : width, + height : height, + autostart : autostartBox[0].checked ? 'true' : 'false', + loop : 'true' + }); + self.insertHtml(html).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('[name="width"]', div), + heightBox = K('[name="height"]', div), + autostartBox = K('[name="autostart"]', div); + urlBox.val('http://'); + + if (allowMediaUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : 'imgFile', + url : K.addParam(uploadJson, 'dir=media'), + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'media', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + + var img = self.plugin.getSelectedMedia(); + if (img) { + var attrs = K.mediaAttrs(img.attr('data-ke-tag')); + urlBox.val(attrs.src); + widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); + heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); + autostartBox[0].checked = (attrs.autostart === 'true'); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.plugin.getSelectedMedia().remove(); + } + }; + self.clickToolbar(name, self.plugin.media.edit); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/multiimage/images/image.png b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/multiimage/images/image.png new file mode 100755 index 0000000000000000000000000000000000000000..fe79cf0ad566d774635ae23fcd10722361d4b56d GIT binary patch literal 1862 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 +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + + +(function(K) { + +function KSWFUpload(options) { + this.init(options); +} +K.extend(KSWFUpload, { + init : function(options) { + var self = this; + options.afterError = options.afterError || function(str) { + alert(str); + }; + self.options = options; + self.progressbars = {}; + // template + self.div = K(options.container).html([ + '
      ', + '
      ', + '
      ', + '', + '
      ', + '
      ' + options.uploadDesc + '
      ', + '', + '', + '', + '
      ', + '
      ', + '
      ' + ].join('')); + self.bodyDiv = K('.ke-swfupload-body', self.div); + + function showError(itemDiv, msg) { + K('.ke-status > div', itemDiv).hide(); + K('.ke-message', itemDiv).addClass('ke-error').show().html(K.escape(msg)); + } + + var settings = { + debug : false, + upload_url : options.uploadUrl, + flash_url : options.flashUrl, + file_post_name : options.filePostName, + button_placeholder : K('.ke-swfupload-button > input', self.div)[0], + button_image_url: options.buttonImageUrl, + button_width: options.buttonWidth, + button_height: options.buttonHeight, + button_cursor : SWFUpload.CURSOR.HAND, + file_types : options.fileTypes, + file_types_description : options.fileTypesDesc, + file_upload_limit : options.fileUploadLimit, + file_size_limit : options.fileSizeLimit, + file_queued_handler : function(file) { + file.url = self.options.fileIconUrl; + self.appendFile(file); + }, + file_queue_error_handler : function(file, errorCode, message) { + var errorName = ''; + switch (errorCode) { + case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED: + errorName = options.queueLimitExceeded; + break; + case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT: + errorName = options.fileExceedsSizeLimit; + break; + case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: + errorName = options.zeroByteFile; + break; + case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: + errorName = options.invalidFiletype; + break; + default: + errorName = options.unknownError; + break; + } + K.DEBUG && alert(errorName); + }, + upload_start_handler : function(file) { + var self = this; + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv); + K('.ke-status > div', itemDiv).hide(); + K('.ke-progressbar', itemDiv).show(); + }, + upload_progress_handler : function(file, bytesLoaded, bytesTotal) { + var percent = Math.round(bytesLoaded * 100 / bytesTotal); + var progressbar = self.progressbars[file.id]; + progressbar.bar.css('width', Math.round(percent * 80 / 100) + 'px'); + progressbar.percent.html(percent + '%'); + }, + upload_error_handler : function(file, errorCode, message) { + if (file && file.filestatus == SWFUpload.FILE_STATUS.ERROR) { + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv).eq(0); + showError(itemDiv, self.options.errorMessage); + } + }, + upload_success_handler : function(file, serverData) { + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv).eq(0); + var data = {}; + try { + data = K.json(serverData); + } catch (e) { + self.options.afterError.call(this, '' + serverData + ''); + } + if (data.error !== 0) { + showError(itemDiv, K.DEBUG ? data.message : self.options.errorMessage); + return; + } + file.url = data.url; + K('.ke-img', itemDiv).attr('src', file.url).attr('data-status', file.filestatus); + K('.ke-status > div', itemDiv).hide(); + } + }; + self.swfu = new SWFUpload(settings); + + K('.ke-swfupload-startupload input', self.div).click(function() { + self.swfu.startUpload(); + }); + }, + getUrlList : function() { + var list = []; + K('.ke-img', self.bodyDiv).each(function() { + var img = K(this); + var url = img.attr('src'); + var status = img.attr('data-status'); + if (status == SWFUpload.FILE_STATUS.COMPLETE) { + list.push(url); + } + }); + return list; + }, + removeFile : function(fileId) { + var self = this; + self.swfu.cancelUpload(fileId); + var itemDiv = K('div[data-id="' + fileId + '"]', self.bodyDiv); + K('.ke-photo', itemDiv).unbind(); + K('.ke-delete', itemDiv).unbind(); + itemDiv.remove(); + }, + removeFiles : function() { + var self = this; + K('.ke-item', self.bodyDiv).each(function() { + self.removeFile(K(this).attr('data-id')); + }); + }, + appendFile : function(file) { + var self = this; + var itemDiv = K('
      '); + self.bodyDiv.append(itemDiv); + var photoDiv = K('
      ') + .mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + itemDiv.append(photoDiv); + + var img = K('' + file.name + ''); + photoDiv.append(img); + K('').appendTo(photoDiv).click(function() { + self.removeFile(file.id); + }); + var statusDiv = K('
      ').appendTo(photoDiv); + // progressbar + K(['
      ', + '
      ', + '
      0%
      '].join('')).hide().appendTo(statusDiv); + // message + K('
      ' + self.options.pendingMessage + '
      ').appendTo(statusDiv); + + itemDiv.append('
      ' + file.name + '
      '); + + self.progressbars[file.id] = { + bar : K('.ke-progressbar-bar-inner', photoDiv), + percent : K('.ke-progressbar-percent', photoDiv) + }; + }, + remove : function() { + this.removeFiles(); + this.swfu.destroy(); + this.div.html(''); + } +}); + +K.swfupload = function(element, options) { + return new KSWFUpload(element, options); +}; + +})(KindEditor); + +KindEditor.plugin('multiimage', function(K) { + var self = this, name = 'multiimage', + formatUploadUrl = K.undef(self.formatUploadUrl, true), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + imgPath = self.pluginsPath + 'multiimage/images/', + imageSizeLimit = K.undef(self.imageSizeLimit, '1MB'), + imageFileTypes = K.undef(self.imageFileTypes, '*.jpg;*.gif;*.png'), + imageUploadLimit = K.undef(self.imageUploadLimit, 20), + lang = self.lang(name + '.'); + + self.plugin.multiImageDialog = function(options) { + var clickFn = options.clickFn, + uploadDesc = K.tmpl(lang.uploadDesc, {uploadLimit : imageUploadLimit, sizeLimit : imageSizeLimit}); + var html = [ + '
      ', + '
      ', + '
      ', + '
      ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 650, + height : 510, + title : self.lang(name), + body : html, + previewBtn : { + name : lang.insertAll, + click : function(e) { + clickFn.call(self, swfupload.getUrlList()); + } + }, + yesBtn : { + name : lang.clearAll, + click : function(e) { + swfupload.removeFiles(); + } + }, + beforeRemove : function() { + swfupload.remove(); + } + }), + div = dialog.div; + + var swfupload = K.swfupload({ + container : K('.swfupload', div), + buttonImageUrl : imgPath + (self.langType == 'zh_CN' ? 'select-files-zh_CN.png' : 'select-files-en.png'), + buttonWidth : self.langType == 'zh_CN' ? 72 : 88, + buttonHeight : 23, + fileIconUrl : imgPath + 'image.png', + uploadDesc : uploadDesc, + startButtonValue : lang.startUpload, + uploadUrl : K.addParam(uploadJson, 'dir=image'), + flashUrl : imgPath + 'swfupload.swf', + filePostName : 'imgFile', + fileTypes : '*.jpg;*.jpeg;*.gif;*.png;*.bmp', + fileTypesDesc : 'Image Files', + fileUploadLimit : imageUploadLimit, + fileSizeLimit : imageSizeLimit, + queueLimitExceeded : lang.queueLimitExceeded, + fileExceedsSizeLimit : lang.fileExceedsSizeLimit, + zeroByteFile : lang.zeroByteFile, + invalidFiletype : lang.invalidFiletype, + unknownError : lang.unknownError, + pendingMessage : lang.pending, + errorMessage : lang.uploadError, + afterError : function(html) { + self.errorDialog(html); + } + }); + + return dialog; + }; + self.clickToolbar(name, function() { + self.plugin.multiImageDialog({ + clickFn : function (urlList) { + if (urlList.length === 0) { + return; + } + var html = ''; + K.each(urlList, function(i, url) { + html += '
      '; + }); + self.insertHtml(html); + // Bugfix: [Firefox] 上传图片后,总是出现正在加载的样式,需要延迟执行hideDialog + setTimeout(function() { + self.hideDialog().focus(); + }, 0); + } + }); + }); +}); + + +/** + * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com + * + * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/ + * + * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz閚 and Mammon Media and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + */ + + +/* ******************* */ +/* Constructor & Init */ +/* ******************* */ +var SWFUpload; + +if (SWFUpload == undefined) { + SWFUpload = function (settings) { + this.initSWFUpload(settings); + }; +} + +SWFUpload.prototype.initSWFUpload = function (settings) { + try { + this.customSettings = {}; // A container where developers can place their own settings associated with this instance. + this.settings = settings; + this.eventQueue = []; + this.movieName = "SWFUpload_" + SWFUpload.movieCount++; + this.movieElement = null; + + + // Setup global control tracking + SWFUpload.instances[this.movieName] = this; + + // Load the settings. Load the Flash movie. + this.initSettings(); + this.loadFlash(); + this.displayDebugInfo(); + } catch (ex) { + delete SWFUpload.instances[this.movieName]; + throw ex; + } +}; + +/* *************** */ +/* Static Members */ +/* *************** */ +SWFUpload.instances = {}; +SWFUpload.movieCount = 0; +SWFUpload.version = "2.2.0 2009-03-25"; +SWFUpload.QUEUE_ERROR = { + QUEUE_LIMIT_EXCEEDED : -100, + FILE_EXCEEDS_SIZE_LIMIT : -110, + ZERO_BYTE_FILE : -120, + INVALID_FILETYPE : -130 +}; +SWFUpload.UPLOAD_ERROR = { + HTTP_ERROR : -200, + MISSING_UPLOAD_URL : -210, + IO_ERROR : -220, + SECURITY_ERROR : -230, + UPLOAD_LIMIT_EXCEEDED : -240, + UPLOAD_FAILED : -250, + SPECIFIED_FILE_ID_NOT_FOUND : -260, + FILE_VALIDATION_FAILED : -270, + FILE_CANCELLED : -280, + UPLOAD_STOPPED : -290 +}; +SWFUpload.FILE_STATUS = { + QUEUED : -1, + IN_PROGRESS : -2, + ERROR : -3, + COMPLETE : -4, + CANCELLED : -5 +}; +SWFUpload.BUTTON_ACTION = { + SELECT_FILE : -100, + SELECT_FILES : -110, + START_UPLOAD : -120 +}; +SWFUpload.CURSOR = { + ARROW : -1, + HAND : -2 +}; +SWFUpload.WINDOW_MODE = { + WINDOW : "window", + TRANSPARENT : "transparent", + OPAQUE : "opaque" +}; + +// Private: takes a URL, determines if it is relative and converts to an absolute URL +// using the current site. Only processes the URL if it can, otherwise returns the URL untouched +SWFUpload.completeURL = function(url) { + if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) { + return url; + } + + var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : ""); + + var indexSlash = window.location.pathname.lastIndexOf("/"); + if (indexSlash <= 0) { + path = "/"; + } else { + path = window.location.pathname.substr(0, indexSlash) + "/"; + } + + return /*currentURL +*/ path + url; + +}; + + +/* ******************** */ +/* Instance Members */ +/* ******************** */ + +// Private: initSettings ensures that all the +// settings are set, getting a default value if one was not assigned. +SWFUpload.prototype.initSettings = function () { + this.ensureDefault = function (settingName, defaultValue) { + this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName]; + }; + + // Upload backend settings + this.ensureDefault("upload_url", ""); + this.ensureDefault("preserve_relative_urls", false); + this.ensureDefault("file_post_name", "Filedata"); + this.ensureDefault("post_params", {}); + this.ensureDefault("use_query_string", false); + this.ensureDefault("requeue_on_error", false); + this.ensureDefault("http_success", []); + this.ensureDefault("assume_success_timeout", 0); + + // File Settings + this.ensureDefault("file_types", "*.*"); + this.ensureDefault("file_types_description", "All Files"); + this.ensureDefault("file_size_limit", 0); // Default zero means "unlimited" + this.ensureDefault("file_upload_limit", 0); + this.ensureDefault("file_queue_limit", 0); + + // Flash Settings + this.ensureDefault("flash_url", "swfupload.swf"); + this.ensureDefault("prevent_swf_caching", true); + + // Button Settings + this.ensureDefault("button_image_url", ""); + this.ensureDefault("button_width", 1); + this.ensureDefault("button_height", 1); + this.ensureDefault("button_text", ""); + this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;"); + this.ensureDefault("button_text_top_padding", 0); + this.ensureDefault("button_text_left_padding", 0); + this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES); + this.ensureDefault("button_disabled", false); + this.ensureDefault("button_placeholder_id", ""); + this.ensureDefault("button_placeholder", null); + this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW); + this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW); + + // Debug Settings + this.ensureDefault("debug", false); + this.settings.debug_enabled = this.settings.debug; // Here to maintain v2 API + + // Event Handlers + this.settings.return_upload_start_handler = this.returnUploadStart; + this.ensureDefault("swfupload_loaded_handler", null); + this.ensureDefault("file_dialog_start_handler", null); + this.ensureDefault("file_queued_handler", null); + this.ensureDefault("file_queue_error_handler", null); + this.ensureDefault("file_dialog_complete_handler", null); + + this.ensureDefault("upload_start_handler", null); + this.ensureDefault("upload_progress_handler", null); + this.ensureDefault("upload_error_handler", null); + this.ensureDefault("upload_success_handler", null); + this.ensureDefault("upload_complete_handler", null); + + this.ensureDefault("debug_handler", this.debugMessage); + + this.ensureDefault("custom_settings", {}); + + // Other settings + this.customSettings = this.settings.custom_settings; + + // Update the flash url if needed + if (!!this.settings.prevent_swf_caching) { + this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime(); + } + + if (!this.settings.preserve_relative_urls) { + //this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url); // Don't need to do this one since flash doesn't look at it + this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url); + this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url); + } + + delete this.ensureDefault; +}; + +// Private: loadFlash replaces the button_placeholder element with the flash movie. +SWFUpload.prototype.loadFlash = function () { + var targetElement, tempParent; + + // Make sure an element with the ID we are going to use doesn't already exist + if (document.getElementById(this.movieName) !== null) { + throw "ID " + this.movieName + " is already in use. The Flash Object could not be added"; + } + + // Get the element where we will be placing the flash movie + targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder; + + if (targetElement == undefined) { + throw "Could not find the placeholder element: " + this.settings.button_placeholder_id; + } + + // Append the container and load the flash + tempParent = document.createElement("div"); + tempParent.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers) + targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement); + + // Fix IE Flash/Form bug + if (window[this.movieName] == undefined) { + window[this.movieName] = this.getMovieElement(); + } + +}; + +// Private: getFlashHTML generates the object tag needed to embed the flash in to the document +SWFUpload.prototype.getFlashHTML = function () { + // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay + return ['', + '', + '', + '', + '', + '', + '', + ''].join(""); +}; + +// Private: getFlashVars builds the parameter string that will be passed +// to flash in the flashvars param. +SWFUpload.prototype.getFlashVars = function () { + // Build a string from the post param object + var paramString = this.buildParamString(); + var httpSuccessString = this.settings.http_success.join(","); + + // Build the parameter string + return ["movieName=", encodeURIComponent(this.movieName), + "&uploadURL=", encodeURIComponent(this.settings.upload_url), + "&useQueryString=", encodeURIComponent(this.settings.use_query_string), + "&requeueOnError=", encodeURIComponent(this.settings.requeue_on_error), + "&httpSuccess=", encodeURIComponent(httpSuccessString), + "&assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout), + "&params=", encodeURIComponent(paramString), + "&filePostName=", encodeURIComponent(this.settings.file_post_name), + "&fileTypes=", encodeURIComponent(this.settings.file_types), + "&fileTypesDescription=", encodeURIComponent(this.settings.file_types_description), + "&fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit), + "&fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit), + "&fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit), + "&debugEnabled=", encodeURIComponent(this.settings.debug_enabled), + "&buttonImageURL=", encodeURIComponent(this.settings.button_image_url), + "&buttonWidth=", encodeURIComponent(this.settings.button_width), + "&buttonHeight=", encodeURIComponent(this.settings.button_height), + "&buttonText=", encodeURIComponent(this.settings.button_text), + "&buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding), + "&buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding), + "&buttonTextStyle=", encodeURIComponent(this.settings.button_text_style), + "&buttonAction=", encodeURIComponent(this.settings.button_action), + "&buttonDisabled=", encodeURIComponent(this.settings.button_disabled), + "&buttonCursor=", encodeURIComponent(this.settings.button_cursor) + ].join(""); +}; + +// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload +// The element is cached after the first lookup +SWFUpload.prototype.getMovieElement = function () { + if (this.movieElement == undefined) { + this.movieElement = document.getElementById(this.movieName); + } + + if (this.movieElement === null) { + throw "Could not find Flash element"; + } + + return this.movieElement; +}; + +// Private: buildParamString takes the name/value pairs in the post_params setting object +// and joins them up in to a string formatted "name=value&name=value" +SWFUpload.prototype.buildParamString = function () { + var postParams = this.settings.post_params; + var paramStringPairs = []; + + if (typeof(postParams) === "object") { + for (var name in postParams) { + if (postParams.hasOwnProperty(name)) { + paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString())); + } + } + } + + return paramStringPairs.join("&"); +}; + +// Public: Used to remove a SWFUpload instance from the page. This method strives to remove +// all references to the SWF, and other objects so memory is properly freed. +// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state. +// Credits: Major improvements provided by steffen +SWFUpload.prototype.destroy = function () { + try { + // Make sure Flash is done before we try to remove it + this.cancelUpload(null, false); + + + // Remove the SWFUpload DOM nodes + var movieElement = null; + movieElement = this.getMovieElement(); + + if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE + // Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround) + for (var i in movieElement) { + try { + if (typeof(movieElement[i]) === "function") { + movieElement[i] = null; + } + } catch (ex1) {} + } + + // Remove the Movie Element from the page + try { + movieElement.parentNode.removeChild(movieElement); + } catch (ex) {} + } + + // Remove IE form fix reference + window[this.movieName] = null; + + // Destroy other references + SWFUpload.instances[this.movieName] = null; + delete SWFUpload.instances[this.movieName]; + + this.movieElement = null; + this.settings = null; + this.customSettings = null; + this.eventQueue = null; + this.movieName = null; + + + return true; + } catch (ex2) { + return false; + } +}; + + +// Public: displayDebugInfo prints out settings and configuration +// information about this SWFUpload instance. +// This function (and any references to it) can be deleted when placing +// SWFUpload in production. +SWFUpload.prototype.displayDebugInfo = function () { + this.debug( + [ + "---SWFUpload Instance Info---\n", + "Version: ", SWFUpload.version, "\n", + "Movie Name: ", this.movieName, "\n", + "Settings:\n", + "\t", "upload_url: ", this.settings.upload_url, "\n", + "\t", "flash_url: ", this.settings.flash_url, "\n", + "\t", "use_query_string: ", this.settings.use_query_string.toString(), "\n", + "\t", "requeue_on_error: ", this.settings.requeue_on_error.toString(), "\n", + "\t", "http_success: ", this.settings.http_success.join(", "), "\n", + "\t", "assume_success_timeout: ", this.settings.assume_success_timeout, "\n", + "\t", "file_post_name: ", this.settings.file_post_name, "\n", + "\t", "post_params: ", this.settings.post_params.toString(), "\n", + "\t", "file_types: ", this.settings.file_types, "\n", + "\t", "file_types_description: ", this.settings.file_types_description, "\n", + "\t", "file_size_limit: ", this.settings.file_size_limit, "\n", + "\t", "file_upload_limit: ", this.settings.file_upload_limit, "\n", + "\t", "file_queue_limit: ", this.settings.file_queue_limit, "\n", + "\t", "debug: ", this.settings.debug.toString(), "\n", + + "\t", "prevent_swf_caching: ", this.settings.prevent_swf_caching.toString(), "\n", + + "\t", "button_placeholder_id: ", this.settings.button_placeholder_id.toString(), "\n", + "\t", "button_placeholder: ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n", + "\t", "button_image_url: ", this.settings.button_image_url.toString(), "\n", + "\t", "button_width: ", this.settings.button_width.toString(), "\n", + "\t", "button_height: ", this.settings.button_height.toString(), "\n", + "\t", "button_text: ", this.settings.button_text.toString(), "\n", + "\t", "button_text_style: ", this.settings.button_text_style.toString(), "\n", + "\t", "button_text_top_padding: ", this.settings.button_text_top_padding.toString(), "\n", + "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n", + "\t", "button_action: ", this.settings.button_action.toString(), "\n", + "\t", "button_disabled: ", this.settings.button_disabled.toString(), "\n", + + "\t", "custom_settings: ", this.settings.custom_settings.toString(), "\n", + "Event Handlers:\n", + "\t", "swfupload_loaded_handler assigned: ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n", + "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n", + "\t", "file_queued_handler assigned: ", (typeof this.settings.file_queued_handler === "function").toString(), "\n", + "\t", "file_queue_error_handler assigned: ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n", + "\t", "upload_start_handler assigned: ", (typeof this.settings.upload_start_handler === "function").toString(), "\n", + "\t", "upload_progress_handler assigned: ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n", + "\t", "upload_error_handler assigned: ", (typeof this.settings.upload_error_handler === "function").toString(), "\n", + "\t", "upload_success_handler assigned: ", (typeof this.settings.upload_success_handler === "function").toString(), "\n", + "\t", "upload_complete_handler assigned: ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n", + "\t", "debug_handler assigned: ", (typeof this.settings.debug_handler === "function").toString(), "\n" + ].join("") + ); +}; + +/* Note: addSetting and getSetting are no longer used by SWFUpload but are included + the maintain v2 API compatibility +*/ +// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used. +SWFUpload.prototype.addSetting = function (name, value, default_value) { + if (value == undefined) { + return (this.settings[name] = default_value); + } else { + return (this.settings[name] = value); + } +}; + +// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found. +SWFUpload.prototype.getSetting = function (name) { + if (this.settings[name] != undefined) { + return this.settings[name]; + } + + return ""; +}; + + + +// Private: callFlash handles function calls made to the Flash element. +// Calls are made with a setTimeout for some functions to work around +// bugs in the ExternalInterface library. +SWFUpload.prototype.callFlash = function (functionName, argumentArray) { + argumentArray = argumentArray || []; + + var movieElement = this.getMovieElement(); + var returnValue, returnString; + + // Flash's method if calling ExternalInterface methods (code adapted from MooTools). + try { + returnString = movieElement.CallFunction('' + __flash__argumentsToXML(argumentArray, 0) + ''); + returnValue = eval(returnString); + } catch (ex) { + throw "Call to " + functionName + " failed"; + } + + // Unescape file post param values + if (returnValue != undefined && typeof returnValue.post === "object") { + returnValue = this.unescapeFilePostParams(returnValue); + } + + return returnValue; +}; + +/* ***************************** + -- Flash control methods -- + Your UI should use these + to operate SWFUpload + ***************************** */ + +// WARNING: this function does not work in Flash Player 10 +// Public: selectFile causes a File Selection Dialog window to appear. This +// dialog only allows 1 file to be selected. +SWFUpload.prototype.selectFile = function () { + this.callFlash("SelectFile"); +}; + +// WARNING: this function does not work in Flash Player 10 +// Public: selectFiles causes a File Selection Dialog window to appear/ This +// dialog allows the user to select any number of files +// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names. +// If the selection name length is too long the dialog will fail in an unpredictable manner. There is no work-around +// for this bug. +SWFUpload.prototype.selectFiles = function () { + this.callFlash("SelectFiles"); +}; + + +// Public: startUpload starts uploading the first file in the queue unless +// the optional parameter 'fileID' specifies the ID +SWFUpload.prototype.startUpload = function (fileID) { + this.callFlash("StartUpload", [fileID]); +}; + +// Public: cancelUpload cancels any queued file. The fileID parameter may be the file ID or index. +// If you do not specify a fileID the current uploading file or first file in the queue is cancelled. +// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter. +SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) { + if (triggerErrorEvent !== false) { + triggerErrorEvent = true; + } + this.callFlash("CancelUpload", [fileID, triggerErrorEvent]); +}; + +// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue. +// If nothing is currently uploading then nothing happens. +SWFUpload.prototype.stopUpload = function () { + this.callFlash("StopUpload"); +}; + +/* ************************ + * Settings methods + * These methods change the SWFUpload settings. + * SWFUpload settings should not be changed directly on the settings object + * since many of the settings need to be passed to Flash in order to take + * effect. + * *********************** */ + +// Public: getStats gets the file statistics object. +SWFUpload.prototype.getStats = function () { + return this.callFlash("GetStats"); +}; + +// Public: setStats changes the SWFUpload statistics. You shouldn't need to +// change the statistics but you can. Changing the statistics does not +// affect SWFUpload accept for the successful_uploads count which is used +// by the upload_limit setting to determine how many files the user may upload. +SWFUpload.prototype.setStats = function (statsObject) { + this.callFlash("SetStats", [statsObject]); +}; + +// Public: getFile retrieves a File object by ID or Index. If the file is +// not found then 'null' is returned. +SWFUpload.prototype.getFile = function (fileID) { + if (typeof(fileID) === "number") { + return this.callFlash("GetFileByIndex", [fileID]); + } else { + return this.callFlash("GetFile", [fileID]); + } +}; + +// Public: addFileParam sets a name/value pair that will be posted with the +// file specified by the Files ID. If the name already exists then the +// exiting value will be overwritten. +SWFUpload.prototype.addFileParam = function (fileID, name, value) { + return this.callFlash("AddFileParam", [fileID, name, value]); +}; + +// Public: removeFileParam removes a previously set (by addFileParam) name/value +// pair from the specified file. +SWFUpload.prototype.removeFileParam = function (fileID, name) { + this.callFlash("RemoveFileParam", [fileID, name]); +}; + +// Public: setUploadUrl changes the upload_url setting. +SWFUpload.prototype.setUploadURL = function (url) { + this.settings.upload_url = url.toString(); + this.callFlash("SetUploadURL", [url]); +}; + +// Public: setPostParams changes the post_params setting +SWFUpload.prototype.setPostParams = function (paramsObject) { + this.settings.post_params = paramsObject; + this.callFlash("SetPostParams", [paramsObject]); +}; + +// Public: addPostParam adds post name/value pair. Each name can have only one value. +SWFUpload.prototype.addPostParam = function (name, value) { + this.settings.post_params[name] = value; + this.callFlash("SetPostParams", [this.settings.post_params]); +}; + +// Public: removePostParam deletes post name/value pair. +SWFUpload.prototype.removePostParam = function (name) { + delete this.settings.post_params[name]; + this.callFlash("SetPostParams", [this.settings.post_params]); +}; + +// Public: setFileTypes changes the file_types setting and the file_types_description setting +SWFUpload.prototype.setFileTypes = function (types, description) { + this.settings.file_types = types; + this.settings.file_types_description = description; + this.callFlash("SetFileTypes", [types, description]); +}; + +// Public: setFileSizeLimit changes the file_size_limit setting +SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) { + this.settings.file_size_limit = fileSizeLimit; + this.callFlash("SetFileSizeLimit", [fileSizeLimit]); +}; + +// Public: setFileUploadLimit changes the file_upload_limit setting +SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) { + this.settings.file_upload_limit = fileUploadLimit; + this.callFlash("SetFileUploadLimit", [fileUploadLimit]); +}; + +// Public: setFileQueueLimit changes the file_queue_limit setting +SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) { + this.settings.file_queue_limit = fileQueueLimit; + this.callFlash("SetFileQueueLimit", [fileQueueLimit]); +}; + +// Public: setFilePostName changes the file_post_name setting +SWFUpload.prototype.setFilePostName = function (filePostName) { + this.settings.file_post_name = filePostName; + this.callFlash("SetFilePostName", [filePostName]); +}; + +// Public: setUseQueryString changes the use_query_string setting +SWFUpload.prototype.setUseQueryString = function (useQueryString) { + this.settings.use_query_string = useQueryString; + this.callFlash("SetUseQueryString", [useQueryString]); +}; + +// Public: setRequeueOnError changes the requeue_on_error setting +SWFUpload.prototype.setRequeueOnError = function (requeueOnError) { + this.settings.requeue_on_error = requeueOnError; + this.callFlash("SetRequeueOnError", [requeueOnError]); +}; + +// Public: setHTTPSuccess changes the http_success setting +SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) { + if (typeof http_status_codes === "string") { + http_status_codes = http_status_codes.replace(" ", "").split(","); + } + + this.settings.http_success = http_status_codes; + this.callFlash("SetHTTPSuccess", [http_status_codes]); +}; + +// Public: setHTTPSuccess changes the http_success setting +SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) { + this.settings.assume_success_timeout = timeout_seconds; + this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]); +}; + +// Public: setDebugEnabled changes the debug_enabled setting +SWFUpload.prototype.setDebugEnabled = function (debugEnabled) { + this.settings.debug_enabled = debugEnabled; + this.callFlash("SetDebugEnabled", [debugEnabled]); +}; + +// Public: setButtonImageURL loads a button image sprite +SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) { + if (buttonImageURL == undefined) { + buttonImageURL = ""; + } + + this.settings.button_image_url = buttonImageURL; + this.callFlash("SetButtonImageURL", [buttonImageURL]); +}; + +// Public: setButtonDimensions resizes the Flash Movie and button +SWFUpload.prototype.setButtonDimensions = function (width, height) { + this.settings.button_width = width; + this.settings.button_height = height; + + var movie = this.getMovieElement(); + if (movie != undefined) { + movie.style.width = width + "px"; + movie.style.height = height + "px"; + } + + this.callFlash("SetButtonDimensions", [width, height]); +}; +// Public: setButtonText Changes the text overlaid on the button +SWFUpload.prototype.setButtonText = function (html) { + this.settings.button_text = html; + this.callFlash("SetButtonText", [html]); +}; +// Public: setButtonTextPadding changes the top and left padding of the text overlay +SWFUpload.prototype.setButtonTextPadding = function (left, top) { + this.settings.button_text_top_padding = top; + this.settings.button_text_left_padding = left; + this.callFlash("SetButtonTextPadding", [left, top]); +}; + +// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button +SWFUpload.prototype.setButtonTextStyle = function (css) { + this.settings.button_text_style = css; + this.callFlash("SetButtonTextStyle", [css]); +}; +// Public: setButtonDisabled disables/enables the button +SWFUpload.prototype.setButtonDisabled = function (isDisabled) { + this.settings.button_disabled = isDisabled; + this.callFlash("SetButtonDisabled", [isDisabled]); +}; +// Public: setButtonAction sets the action that occurs when the button is clicked +SWFUpload.prototype.setButtonAction = function (buttonAction) { + this.settings.button_action = buttonAction; + this.callFlash("SetButtonAction", [buttonAction]); +}; + +// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button +SWFUpload.prototype.setButtonCursor = function (cursor) { + this.settings.button_cursor = cursor; + this.callFlash("SetButtonCursor", [cursor]); +}; + +/* ******************************* + Flash Event Interfaces + These functions are used by Flash to trigger the various + events. + + All these functions a Private. + + Because the ExternalInterface library is buggy the event calls + are added to a queue and the queue then executed by a setTimeout. + This ensures that events are executed in a determinate order and that + the ExternalInterface bugs are avoided. +******************************* */ + +SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) { + // Warning: Don't call this.debug inside here or you'll create an infinite loop + + if (argumentArray == undefined) { + argumentArray = []; + } else if (!(argumentArray instanceof Array)) { + argumentArray = [argumentArray]; + } + + var self = this; + if (typeof this.settings[handlerName] === "function") { + // Queue the event + this.eventQueue.push(function () { + this.settings[handlerName].apply(this, argumentArray); + }); + + // Execute the next queued event + setTimeout(function () { + self.executeNextEvent(); + }, 0); + + } else if (this.settings[handlerName] !== null) { + throw "Event handler " + handlerName + " is unknown or is not a function"; + } +}; + +// Private: Causes the next event in the queue to be executed. Since events are queued using a setTimeout +// we must queue them in order to garentee that they are executed in order. +SWFUpload.prototype.executeNextEvent = function () { + // Warning: Don't call this.debug inside here or you'll create an infinite loop + + var f = this.eventQueue ? this.eventQueue.shift() : null; + if (typeof(f) === "function") { + f.apply(this); + } +}; + +// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have +// properties that contain characters that are not valid for JavaScript identifiers. To work around this +// the Flash Component escapes the parameter names and we must unescape again before passing them along. +SWFUpload.prototype.unescapeFilePostParams = function (file) { + var reg = /[$]([0-9a-f]{4})/i; + var unescapedPost = {}; + var uk; + + if (file != undefined) { + for (var k in file.post) { + if (file.post.hasOwnProperty(k)) { + uk = k; + var match; + while ((match = reg.exec(uk)) !== null) { + uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16))); + } + unescapedPost[uk] = file.post[k]; + } + } + + file.post = unescapedPost; + } + + return file; +}; + +// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working) +SWFUpload.prototype.testExternalInterface = function () { + try { + return this.callFlash("TestExternalInterface"); + } catch (ex) { + return false; + } +}; + +// Private: This event is called by Flash when it has finished loading. Don't modify this. +// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded. +SWFUpload.prototype.flashReady = function () { + // Check that the movie element is loaded correctly with its ExternalInterface methods defined + var movieElement = this.getMovieElement(); + + if (!movieElement) { + this.debug("Flash called back ready but the flash movie can't be found."); + return; + } + + this.cleanUp(movieElement); + + this.queueEvent("swfupload_loaded_handler"); +}; + +// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE. +// This function is called by Flash each time the ExternalInterface functions are created. +SWFUpload.prototype.cleanUp = function (movieElement) { + // Pro-actively unhook all the Flash functions + try { + if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE + this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)"); + for (var key in movieElement) { + try { + if (typeof(movieElement[key]) === "function") { + movieElement[key] = null; + } + } catch (ex) { + } + } + } + } catch (ex1) { + + } + + // Fix Flashes own cleanup code so if the SWFMovie was removed from the page + // it doesn't display errors. + window["__flash__removeCallback"] = function (instance, name) { + try { + if (instance) { + instance[name] = null; + } + } catch (flashEx) { + + } + }; + +}; + + +/* This is a chance to do something before the browse window opens */ +SWFUpload.prototype.fileDialogStart = function () { + this.queueEvent("file_dialog_start_handler"); +}; + + +/* Called when a file is successfully added to the queue. */ +SWFUpload.prototype.fileQueued = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("file_queued_handler", file); +}; + + +/* Handle errors that occur when an attempt to queue a file fails. */ +SWFUpload.prototype.fileQueueError = function (file, errorCode, message) { + file = this.unescapeFilePostParams(file); + this.queueEvent("file_queue_error_handler", [file, errorCode, message]); +}; + +/* Called after the file dialog has closed and the selected files have been queued. + You could call startUpload here if you want the queued files to begin uploading immediately. */ +SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) { + this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]); +}; + +SWFUpload.prototype.uploadStart = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("return_upload_start_handler", file); +}; + +SWFUpload.prototype.returnUploadStart = function (file) { + var returnValue; + if (typeof this.settings.upload_start_handler === "function") { + file = this.unescapeFilePostParams(file); + returnValue = this.settings.upload_start_handler.call(this, file); + } else if (this.settings.upload_start_handler != undefined) { + throw "upload_start_handler must be a function"; + } + + // Convert undefined to true so if nothing is returned from the upload_start_handler it is + // interpretted as 'true'. + if (returnValue === undefined) { + returnValue = true; + } + + returnValue = !!returnValue; + + this.callFlash("ReturnUploadStart", [returnValue]); +}; + + + +SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]); +}; + +SWFUpload.prototype.uploadError = function (file, errorCode, message) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_error_handler", [file, errorCode, message]); +}; + +SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_success_handler", [file, serverData, responseReceived]); +}; + +SWFUpload.prototype.uploadComplete = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_complete_handler", file); +}; + +/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the + internal debug console. You can override this event and have messages written where you want. */ +SWFUpload.prototype.debug = function (message) { + this.queueEvent("debug_handler", message); +}; + + +/* ********************************** + Debug Console + The debug console is a self contained, in page location + for debug message to be sent. The Debug Console adds + itself to the body if necessary. + + The console is automatically scrolled as messages appear. + + If you are using your own debug handler or when you deploy to production and + have debug disabled you can remove these functions to reduce the file size + and complexity. +********************************** */ + +// Private: debugMessage is the default debug_handler. If you want to print debug messages +// call the debug() function. When overriding the function your own function should +// check to see if the debug setting is true before outputting debug information. +SWFUpload.prototype.debugMessage = function (message) { + if (this.settings.debug) { + 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: "); + SWFUpload.Console.writeLine(exceptionMessage); + } else { + SWFUpload.Console.writeLine(message); + } + } +}; + +SWFUpload.Console = {}; +SWFUpload.Console.writeLine = function (message) { + var console, documentForm; + + try { + console = document.getElementById("SWFUpload_Console"); + + if (!console) { + documentForm = document.createElement("form"); + document.getElementsByTagName("body")[0].appendChild(documentForm); + + console = document.createElement("textarea"); + console.id = "SWFUpload_Console"; + console.style.fontFamily = "monospace"; + console.setAttribute("wrap", "off"); + console.wrap = "off"; + console.style.overflow = "auto"; + console.style.width = "700px"; + 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); + } +}; + +/* + Queue Plug-in + + Features: + *Adds a cancelQueue() method for cancelling the entire queue. + *All queued files are uploaded when startUpload() is called. + *If false is returned from uploadComplete then the queue upload is stopped. + If false is not returned (strict comparison) then the queue upload is continued. + *Adds a QueueComplete event that is fired when all the queued files have finished uploading. + Set the event handler with the queue_complete_handler setting. + + */ + +if (typeof(SWFUpload) === "function") { + SWFUpload.queue = {}; + + SWFUpload.prototype.initSettings = (function (oldInitSettings) { + return function () { + if (typeof(oldInitSettings) === "function") { + oldInitSettings.call(this); + } + + this.queueSettings = {}; + + this.queueSettings.queue_cancelled_flag = false; + this.queueSettings.queue_upload_count = 0; + + this.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler; + this.queueSettings.user_upload_start_handler = this.settings.upload_start_handler; + this.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler; + this.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler; + + this.settings.queue_complete_handler = this.settings.queue_complete_handler || null; + }; + })(SWFUpload.prototype.initSettings); + + SWFUpload.prototype.startUpload = function (fileID) { + this.queueSettings.queue_cancelled_flag = false; + this.callFlash("StartUpload", [fileID]); + }; + + SWFUpload.prototype.cancelQueue = function () { + this.queueSettings.queue_cancelled_flag = true; + this.stopUpload(); + + var stats = this.getStats(); + while (stats.files_queued > 0) { + this.cancelUpload(); + stats = this.getStats(); + } + }; + + SWFUpload.queue.uploadStartHandler = function (file) { + var returnValue; + if (typeof(this.queueSettings.user_upload_start_handler) === "function") { + returnValue = this.queueSettings.user_upload_start_handler.call(this, file); + } + + // To prevent upload a real "FALSE" value must be returned, otherwise default to a real "TRUE" value. + returnValue = (returnValue === false) ? false : true; + + this.queueSettings.queue_cancelled_flag = !returnValue; + + return returnValue; + }; + + SWFUpload.queue.uploadCompleteHandler = function (file) { + var user_upload_complete_handler = this.queueSettings.user_upload_complete_handler; + var continueUpload; + + if (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) { + this.queueSettings.queue_upload_count++; + } + + if (typeof(user_upload_complete_handler) === "function") { + continueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true; + } else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) { + // If the file was stopped and re-queued don't restart the upload + continueUpload = false; + } else { + continueUpload = true; + } + + if (continueUpload) { + var stats = this.getStats(); + if (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) { + this.startUpload(); + } else if (this.queueSettings.queue_cancelled_flag === false) { + this.queueEvent("queue_complete_handler", [this.queueSettings.queue_upload_count]); + this.queueSettings.queue_upload_count = 0; + } else { + this.queueSettings.queue_cancelled_flag = false; + this.queueSettings.queue_upload_count = 0; + } + } + }; +} diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/pagebreak/pagebreak.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/pagebreak/pagebreak.js new file mode 100755 index 000000000..fa22a92c7 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/pagebreak/pagebreak.js @@ -0,0 +1,26 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('pagebreak', function(K) { + var self = this, name = 'pagebreak'; + self.clickToolbar(name, function() { + var cmd = self.cmd, range = cmd.range; + self.focus(); + range.enlarge(true); + cmd.split(true); + var tail = self.newlineTag == 'br' || K.WEBKIT ? '' : '

      '; + self.insertHtml('
      ' + tail); + if (tail !== '') { + var p = K('#__kindeditor_tail_tag__', self.edit.doc); + range.selectNodeContents(p[0]); + p.removeAttr('id'); + cmd.select(); + } + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/plainpaste/plainpaste.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/plainpaste/plainpaste.js new file mode 100755 index 000000000..1faec864d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/plainpaste/plainpaste.js @@ -0,0 +1,41 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('plainpaste', function(K) { + var self = this, name = 'plainpaste'; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '
      ' + + '
      ' + lang.comment + '
      ' + + '' + + '
      ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var html = textarea.val(); + html = K.escape(html); + html = html.replace(/ {2}/g, '  '); + if (self.newlineTag == 'p') { + html = html.replace(/^/, '

      ').replace(/$/, '

      ').replace(/\n/g, '

      '); + } else { + html = html.replace(/\n/g, '
      $&'); + } + self.insertHtml(html).hideDialog().focus(); + } + } + }), + textarea = K('textarea', dialog.div); + textarea[0].focus(); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/preview/preview.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/preview/preview.js new file mode 100755 index 000000000..3bbb7b58f --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/preview/preview.js @@ -0,0 +1,31 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('preview', function(K) { + var self = this, name = 'preview', undefined; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '

      ' + + '' + + '
      ', + dialog = self.createDialog({ + name : name, + width : 750, + title : self.lang(name), + body : html + }), + iframe = K('iframe', dialog.div), + doc = K.iframeDoc(iframe); + doc.open(); + doc.write(self.fullHtml()); + doc.close(); + K(doc.body).css('background-color', '#FFF'); + iframe[0].contentWindow.focus(); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/quickformat/quickformat.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/quickformat/quickformat.js new file mode 100755 index 000000000..a7af1e54e --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/quickformat/quickformat.js @@ -0,0 +1,81 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('quickformat', function(K) { + var self = this, name = 'quickformat', + blockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p'); + function getFirstChild(knode) { + var child = knode.first(); + while (child && child.first()) { + child = child.first(); + } + return child; + } + self.clickToolbar(name, function() { + self.focus(); + var doc = self.edit.doc, + range = self.cmd.range, + child = K(doc.body).first(), next, + nodeList = [], subList = [], + bookmark = range.createBookmark(true); + while(child) { + next = child.next(); + var firstChild = getFirstChild(child); + if (!firstChild || firstChild.name != 'img') { + if (blockMap[child.name]) { + child.html(child.html().replace(/^(\s| | )+/ig, '')); + child.css('text-indent', '2em'); + } else { + subList.push(child); + } + if (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) { + if (subList.length > 0) { + nodeList.push(subList); + } + subList = []; + } + } + child = next; + } + K.each(nodeList, function(i, subList) { + var wrapper = K('

      ', doc); + subList[0].before(wrapper); + K.each(subList, function(i, knode) { + wrapper.append(knode); + }); + }); + range.moveToBookmark(bookmark); + self.addBookmark(); + }); +}); + +/** +-------------------------- +abcd
      +1234
      + +to + +

      + abcd
      + 1234
      +

      + +-------------------------- + +  abcd1233 +

      1234

      + +to + +

      abcd1233

      +

      1234

      + +-------------------------- +*/ \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/table/table.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/table/table.js new file mode 100755 index 000000000..341eb297a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/table/table.js @@ -0,0 +1,686 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('table', function(K) { + var self = this, name = 'table', lang = self.lang(name + '.'), zeroborder = 'ke-zeroborder'; + // 设置颜色 + function _setColor(box, color) { + color = color.toUpperCase(); + box.css('background-color', color); + box.css('color', color === '#000000' ? '#FFFFFF' : '#000000'); + box.html(color); + } + // 初始化取色器 + var pickerList = []; + function _initColorPicker(dialogDiv, colorBox) { + colorBox.bind('click,mousedown', function(e){ + e.stopPropagation(); + }); + function removePicker() { + K.each(pickerList, function() { + this.remove(); + }); + pickerList = []; + K(document).unbind('click,mousedown', removePicker); + dialogDiv.unbind('click,mousedown', removePicker); + } + colorBox.click(function(e) { + removePicker(); + var box = K(this), + pos = box.pos(); + var picker = K.colorpicker({ + x : pos.x, + y : pos.y + box.height(), + z : 811214, + selectedColor : K(this).html(), + colors : self.colorTable, + noColor : self.lang('noColor'), + shadowMode : self.shadowMode, + click : function(color) { + _setColor(box, color); + removePicker(); + } + }); + pickerList.push(picker); + K(document).bind('click,mousedown', removePicker); + dialogDiv.bind('click,mousedown', removePicker); + }); + } + // 取得下一行cell的index + function _getCellIndex(table, row, cell) { + var rowSpanCount = 0; + for (var i = 0, len = row.cells.length; i < len; i++) { + if (row.cells[i] == cell) { + break; + } + rowSpanCount += row.cells[i].rowSpan - 1; + } + return cell.cellIndex - rowSpanCount; + } + self.plugin.table = { + //insert or modify table + prop : function(isInsert) { + var html = [ + '
      ', + //rows, cols + '
      ', + '', + lang.rows + '   ', + lang.cols + ' ', + '
      ', + //width, height + '
      ', + '', + lang.width + '   ', + '   ', + lang.height + '   ', + '', + '
      ', + //space, padding + '
      ', + '', + lang.padding + '   ', + lang.spacing + ' ', + '
      ', + //align + '
      ', + '', + '', + '
      ', + //border + '
      ', + '', + lang.borderWidth + '   ', + lang.borderColor + ' ', + '
      ', + //background color + '
      ', + '', + '', + '
      ', + '
      ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang(name), + body : html, + beforeRemove : function() { + colorBox.unbind(); + }, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var rows = rowsBox.val(), + cols = colsBox.val(), + width = widthBox.val(), + height = heightBox.val(), + widthType = widthTypeBox.val(), + heightType = heightTypeBox.val(), + padding = paddingBox.val(), + spacing = spacingBox.val(), + align = alignBox.val(), + border = borderBox.val(), + borderColor = K(colorBox[0]).html() || '', + bgColor = K(colorBox[1]).html() || ''; + if (rows == 0 || !/^\d+$/.test(rows)) { + alert(self.lang('invalidRows')); + rowsBox[0].focus(); + return; + } + if (cols == 0 || !/^\d+$/.test(cols)) { + alert(self.lang('invalidRows')); + colsBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + if (!/^\d*$/.test(padding)) { + alert(self.lang('invalidPadding')); + paddingBox[0].focus(); + return; + } + if (!/^\d*$/.test(spacing)) { + alert(self.lang('invalidSpacing')); + spacingBox[0].focus(); + return; + } + if (!/^\d*$/.test(border)) { + alert(self.lang('invalidBorder')); + borderBox[0].focus(); + return; + } + //modify table + if (table) { + if (width !== '') { + table.width(width + widthType); + } else { + table.css('width', ''); + } + if (table[0].width !== undefined) { + table.removeAttr('width'); + } + if (height !== '') { + table.height(height + heightType); + } else { + table.css('height', ''); + } + if (table[0].height !== undefined) { + table.removeAttr('height'); + } + table.css('background-color', bgColor); + if (table[0].bgColor !== undefined) { + table.removeAttr('bgColor'); + } + if (padding !== '') { + table[0].cellPadding = padding; + } else { + table.removeAttr('cellPadding'); + } + if (spacing !== '') { + table[0].cellSpacing = spacing; + } else { + table.removeAttr('cellSpacing'); + } + if (align !== '') { + table[0].align = align; + } else { + table.removeAttr('align'); + } + if (border !== '') { + table.attr('border', border); + } else { + table.removeAttr('border'); + } + if (border === '' || border === '0') { + table.addClass(zeroborder); + } else { + table.removeClass(zeroborder); + } + if (borderColor !== '') { + table.attr('borderColor', borderColor); + } else { + table.removeAttr('borderColor'); + } + self.hideDialog().focus(); + return; + } + //insert new table + var style = ''; + if (width !== '') { + style += 'width:' + width + widthType + ';'; + } + if (height !== '') { + style += 'height:' + height + heightType + ';'; + } + if (bgColor !== '') { + style += 'background-color:' + bgColor + ';'; + } + var html = '') + ''; + } + html += '
    '; + } + html += '
    '; + if (!K.IE) { + html += '
    '; + } + self.insertHtml(html); + self.select().hideDialog().focus(); + self.addBookmark(); + } + } + }), + div = dialog.div, + rowsBox = K('[name="rows"]', div).val(3), + colsBox = K('[name="cols"]', div).val(2), + widthBox = K('[name="width"]', div).val(100), + heightBox = K('[name="height"]', div), + widthTypeBox = K('[name="widthType"]', div), + heightTypeBox = K('[name="heightType"]', div), + paddingBox = K('[name="padding"]', div).val(2), + spacingBox = K('[name="spacing"]', div).val(0), + alignBox = K('[name="align"]', div), + borderBox = K('[name="border"]', div).val(1), + colorBox = K('.ke-input-color', div); + _initColorPicker(div, colorBox.eq(0)); + _initColorPicker(div, colorBox.eq(1)); + _setColor(colorBox.eq(0), '#000000'); + _setColor(colorBox.eq(1), ''); + // foucs and select + rowsBox[0].focus(); + rowsBox[0].select(); + var table; + if (isInsert) { + return; + } + //get selected table node + table = self.plugin.getSelectedTable(); + if (table) { + rowsBox.val(table[0].rows.length); + colsBox.val(table[0].rows.length > 0 ? table[0].rows[0].cells.length : 0); + rowsBox.attr('disabled', true); + colsBox.attr('disabled', true); + var match, + tableWidth = table[0].style.width || table[0].width, + tableHeight = table[0].style.height || table[0].height; + if (tableWidth !== undefined && (match = /^(\d+)((?:px|%)*)$/.exec(tableWidth))) { + widthBox.val(match[1]); + widthTypeBox.val(match[2]); + } else { + widthBox.val(''); + } + if (tableHeight !== undefined && (match = /^(\d+)((?:px|%)*)$/.exec(tableHeight))) { + heightBox.val(match[1]); + heightTypeBox.val(match[2]); + } + paddingBox.val(table[0].cellPadding || ''); + spacingBox.val(table[0].cellSpacing || ''); + alignBox.val(table[0].align || ''); + borderBox.val(table[0].border === undefined ? '' : table[0].border); + _setColor(colorBox.eq(0), K.toHex(table.attr('borderColor') || '')); + _setColor(colorBox.eq(1), K.toHex(table[0].style.backgroundColor || table[0].bgColor || '')); + widthBox[0].focus(); + widthBox[0].select(); + } + }, + //modify cell + cellprop : function() { + var html = [ + '
    ', + //width, height + '
    ', + '', + lang.width + '   ', + '   ', + lang.height + '   ', + '', + '
    ', + //align + '
    ', + '', + lang.textAlign + ' ', + lang.verticalAlign + ' ', + '
    ', + //border + '
    ', + '', + lang.borderWidth + '   ', + lang.borderColor + ' ', + '
    ', + //background color + '
    ', + '', + '', + '
    ', + '
    ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang('tablecell'), + body : html, + beforeRemove : function() { + colorBox.unbind(); + }, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var width = widthBox.val(), + height = heightBox.val(), + widthType = widthTypeBox.val(), + heightType = heightTypeBox.val(), + padding = paddingBox.val(), + spacing = spacingBox.val(), + textAlign = textAlignBox.val(), + verticalAlign = verticalAlignBox.val(), + border = borderBox.val(), + borderColor = K(colorBox[0]).html() || '', + bgColor = K(colorBox[1]).html() || ''; + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + if (!/^\d*$/.test(border)) { + alert(self.lang('invalidBorder')); + borderBox[0].focus(); + return; + } + cell.css({ + width : width !== '' ? (width + widthType) : '', + height : height !== '' ? (height + heightType) : '', + 'background-color' : bgColor, + 'text-align' : textAlign, + 'vertical-align' : verticalAlign, + 'border-width' : border, + 'border-style' : border !== '' ? 'solid' : '', + 'border-color' : borderColor + }); + self.hideDialog().focus(); + self.addBookmark(); + } + } + }), + div = dialog.div, + widthBox = K('[name="width"]', div).val(100), + heightBox = K('[name="height"]', div), + widthTypeBox = K('[name="widthType"]', div), + heightTypeBox = K('[name="heightType"]', div), + paddingBox = K('[name="padding"]', div).val(2), + spacingBox = K('[name="spacing"]', div).val(0), + textAlignBox = K('[name="textAlign"]', div), + verticalAlignBox = K('[name="verticalAlign"]', div), + borderBox = K('[name="border"]', div).val(1), + colorBox = K('.ke-input-color', div); + _initColorPicker(div, colorBox.eq(0)); + _initColorPicker(div, colorBox.eq(1)); + _setColor(colorBox.eq(0), '#000000'); + _setColor(colorBox.eq(1), ''); + // foucs and select + widthBox[0].focus(); + widthBox[0].select(); + // get selected cell + var cell = self.plugin.getSelectedCell(); + var match, + cellWidth = cell[0].style.width || cell[0].width || '', + cellHeight = cell[0].style.height || cell[0].height || ''; + if ((match = /^(\d+)((?:px|%)*)$/.exec(cellWidth))) { + widthBox.val(match[1]); + widthTypeBox.val(match[2]); + } else { + widthBox.val(''); + } + if ((match = /^(\d+)((?:px|%)*)$/.exec(cellHeight))) { + heightBox.val(match[1]); + heightTypeBox.val(match[2]); + } + textAlignBox.val(cell[0].style.textAlign || ''); + verticalAlignBox.val(cell[0].style.verticalAlign || ''); + var border = cell[0].style.borderWidth || ''; + if (border) { + border = parseInt(border); + } + borderBox.val(border); + _setColor(colorBox.eq(0), K.toHex(cell[0].style.borderColor || '')); + _setColor(colorBox.eq(1), K.toHex(cell[0].style.backgroundColor || '')); + widthBox[0].focus(); + widthBox[0].select(); + }, + insert : function() { + this.prop(true); + }, + 'delete' : function() { + var table = self.plugin.getSelectedTable(); + self.cmd.range.setStartBefore(table[0]).collapse(true); + self.cmd.select(); + table.remove(); + self.addBookmark(); + }, + colinsert : function(offset) { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + index = cell.cellIndex + offset; + for (var i = 0, len = table.rows.length; i < len; i++) { + var newRow = table.rows[i], + newCell = newRow.insertCell(index); + newCell.innerHTML = K.IE ? '' : '
    '; + // 调整下一行的单元格index + index = _getCellIndex(table, newRow, newCell); + } + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colinsertleft : function() { + this.colinsert(0); + }, + colinsertright : function() { + this.colinsert(1); + }, + rowinsert : function(offset) { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + newRow; + if (offset === 1) { + newRow = table.insertRow(row.rowIndex + (cell.rowSpan - 1) + offset); + } else { + newRow = table.insertRow(row.rowIndex); + } + for (var i = 0, len = row.cells.length; i < len; i++) { + var newCell = newRow.insertCell(i); + // copy colspan + if (offset === 1 && row.cells[i].colSpan > 1) { + newCell.colSpan = row.cells[i].colSpan; + } + newCell.innerHTML = K.IE ? '' : '
    '; + } + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + rowinsertabove : function() { + this.rowinsert(0); + }, + rowinsertbelow : function() { + this.rowinsert(1); + }, + rowmerge : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex, // 当前行的index + nextRowIndex = rowIndex + cell.rowSpan, // 下一行的index + nextRow = table.rows[nextRowIndex]; // 下一行 + // 最后一行不能合并 + if (table.rows.length <= nextRowIndex) { + return; + } + var cellIndex = _getCellIndex(table, row, cell); // 下一行单元格的index + if (nextRow.cells.length <= cellIndex) { + return; + } + var nextCell = nextRow.cells[cellIndex]; // 下一行单元格 + // 上下行的colspan不一致时不能合并 + if (cell.colSpan !== nextCell.colSpan) { + return; + } + cell.rowSpan += nextCell.rowSpan; + nextRow.deleteCell(cellIndex); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colmerge : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex, // 当前行的index + cellIndex = cell.cellIndex, + nextCellIndex = cellIndex + 1; + // 最后一列不能合并 + if (row.cells.length <= nextCellIndex) { + return; + } + var nextCell = row.cells[nextCellIndex]; + // 左右列的rowspan不一致时不能合并 + if (cell.rowSpan !== nextCell.rowSpan) { + return; + } + cell.colSpan += nextCell.colSpan; + row.deleteCell(nextCellIndex); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + rowsplit : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex; + // 不是可分割单元格 + if (cell.rowSpan === 1) { + return; + } + var cellIndex = _getCellIndex(table, row, cell); + for (var i = 1, len = cell.rowSpan; i < len; i++) { + var newRow = table.rows[rowIndex + i], + newCell = newRow.insertCell(cellIndex); + if (cell.colSpan > 1) { + newCell.colSpan = cell.colSpan; + } + newCell.innerHTML = K.IE ? '' : '
    '; + // 调整下一行的单元格index + cellIndex = _getCellIndex(table, newRow, newCell); + } + K(cell).removeAttr('rowSpan'); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colsplit : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + cellIndex = cell.cellIndex; + // 不是可分割单元格 + if (cell.colSpan === 1) { + return; + } + for (var i = 1, len = cell.colSpan; i < len; i++) { + var newCell = row.insertCell(cellIndex + i); + if (cell.rowSpan > 1) { + newCell.rowSpan = cell.rowSpan; + } + newCell.innerHTML = K.IE ? '' : '
    '; + } + K(cell).removeAttr('colSpan'); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + coldelete : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + index = cell.cellIndex; + for (var i = 0, len = table.rows.length; i < len; i++) { + var newRow = table.rows[i], + newCell = newRow.cells[index]; + if (newCell.colSpan > 1) { + newCell.colSpan -= 1; + if (newCell.colSpan === 1) { + K(newCell).removeAttr('colSpan'); + } + } else { + newRow.deleteCell(index); + } + // 跳过不需要删除的行 + if (newCell.rowSpan > 1) { + i += newCell.rowSpan - 1; + } + } + if (row.cells.length === 0) { + self.cmd.range.setStartBefore(table).collapse(true); + self.cmd.select(); + K(table).remove(); + } else { + self.cmd.selection(true); + } + self.addBookmark(); + }, + rowdelete : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex; + // 从下到上删除 + for (var i = cell.rowSpan - 1; i >= 0; i--) { + table.deleteRow(rowIndex + i); + } + if (table.rows.length === 0) { + self.cmd.range.setStartBefore(table).collapse(true); + self.cmd.select(); + K(table).remove(); + } else { + self.cmd.selection(true); + } + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.table.prop); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/1.html b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/1.html new file mode 100755 index 000000000..01736a287 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/1.html @@ -0,0 +1,14 @@ + + + + + + +

    + 在此处输入标题 +

    +

    + 在此处输入内容 +

    + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/2.html b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/2.html new file mode 100755 index 000000000..900dcac9d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/2.html @@ -0,0 +1,42 @@ + + + + + + +

    + 标题 +

    + + + + + + + + + + + + + + + +
    +

    标题1

    +
    +

    标题1

    +
    + 内容1 + + 内容2 +
    + 内容3 + + 内容4 +
    +

    + 表格说明 +

    + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/3.html b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/3.html new file mode 100755 index 000000000..4e051ce2d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/html/3.html @@ -0,0 +1,36 @@ + + + + + + +

    + 在此处输入内容 +

    +
      +
    1. + 描述1 +
    2. +
    3. + 描述2 +
    4. +
    5. + 描述3 +
    6. +
    +

    + 在此处输入内容 +

    +
      +
    • + 描述1 +
    • +
    • + 描述2 +
    • +
    • + 描述3 +
    • +
    + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/template.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/template.js new file mode 100755 index 000000000..95419def2 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/template/template.js @@ -0,0 +1,58 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('template', function(K) { + var self = this, name = 'template', lang = self.lang(name + '.'), + htmlPath = self.pluginsPath + name + '/html/'; + function getFilePath(fileName) { + return htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION); + } + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + arr = ['
    ', + '
    ', + // left start + '
    ', + lang. selectTemplate + '
    ', + // right start + '
    ', + ' ', + '
    ', + '
    ', + '
    ', + '', + '
    '].join(''); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var doc = K.iframeDoc(iframe); + self[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus(); + } + } + }); + var selectBox = K('select', dialog.div), + checkbox = K('[name="replaceFlag"]', dialog.div), + iframe = K('iframe', dialog.div); + checkbox[0].checked = true; + iframe.attr('src', getFilePath(selectBox.val())); + selectBox.change(function() { + iframe.attr('src', getFilePath(this.value)); + }); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/wordpaste/wordpaste.js b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/wordpaste/wordpaste.js new file mode 100755 index 000000000..d3af21b37 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/plugins/wordpaste/wordpaste.js @@ -0,0 +1,51 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('wordpaste', function(K) { + var self = this, name = 'wordpaste'; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '
    ' + + '
    ' + lang.comment + '
    ' + + '' + + '
    ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var str = doc.body.innerHTML; + str = K.clearMsWord(str, self.filterMode ? self.htmlTags : K.options.htmlTags); + self.insertHtml(str).hideDialog().focus(); + } + } + }), + div = dialog.div, + iframe = K('iframe', div), + doc = K.iframeDoc(iframe); + if (!K.IE) { + doc.designMode = 'on'; + } + doc.open(); + doc.write('WordPaste'); + doc.write(''); + if (!K.IE) { + doc.write('
    '); + } + doc.write(''); + doc.close(); + if (K.IE) { + doc.body.contentEditable = 'true'; + } + iframe[0].contentWindow.focus(); + }); +}); diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/anchor.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/anchor.gif new file mode 100755 index 0000000000000000000000000000000000000000..61145ea78138f12df43b666409bcc4b8e3231a60 GIT binary patch literal 371 zcmZ?wbhEHb6krfwxN6QYDW2i~>#Uh+4FA{5|NoTr{}#jK1cv|r8K$Q&OaU@(FieVN zn48I*>dcU0&(ImhkmAVj|0cu#%M2+_4F5kfq&hJ~TQO9G2;_J&L|HM+%VPe&MQ&C) z)BiVF|KBtGUnBJY9mD^(IUOMk|2NBZhcf(sRXQn=;s4jN|DPBp#xP8bXXprI=#FCe zf19B@45+gB{|AQI=^Wh=4F5Ms{Qp)u1*rHM&^`YdZ~(=hEQ|~c<_tO@d61tN*d`p9 zUBIEi)aIe0aDYcB+&yV9KvzU~I(C$-u_p#Ky|bWX>%jt!B=|&dL_YB{V~Gw$?l$E`JVT wW>zLW4P_lBR%X%3<`U-X1)1cSnFM$4@f6r##-+BwLW0RJL(*8l(j literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/blank.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/blank.gif new file mode 100755 index 0000000000000000000000000000000000000000..5bfd67a2d6f72ac3a55cbfcea5866e841d22f5d9 GIT binary patch literal 43 mcmZ?wbhEHbWMp7uXkdT>#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/flash.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/flash.gif new file mode 100755 index 0000000000000000000000000000000000000000..2cb12b28429f8c2e5294a177e14dfda6f533e6fc GIT binary patch literal 1089 zcmV-H1it%6Nk%w1VITk?0OkMy03afP|W&d}4=YJZZjyvFwT_~zc`k)Er>%FkqZjiIl;5K(o%zrQM3b^te9 zd4`jDi=FT9?{#&eq?= z&Da1aLZ`OBD`bS6tF=*bg7@$DY?G-hUVMa=piygoaD&NUadR3gv@04*cpk2HtAZvUIW`(NU|>7P#~?T>bqX|Nt1v+(S;PTf64}~3U<`K* zQ47$GNYff1*Ai|w>^DYkFnuK@BVh*%D~w4xavESj>TdAhksv{a02d;V89-(NkSuI; z@L1#^M-~tO-3&CsF~bdc0~it*00hhu2Mr1pabN>S0CfZnW|*lULdY2te1viHB@CVg z1qgY7;qQyaf-`3(IU!=e3^X@bV92&33(G+gUc?FW@&?kR8L&(l;AaAlsoK7*fT3iN z0U~q%z!>FW1nj{GBFO03AO)K?31H&ra3iS90S#U0+HDYFh8`v}B6JudMca-!L3sT^ zB4-6QuXZzBP@(6_l|57_pkSd5ND(Cl1R*iu`HMTd2E>>~fPf1Z)vU7t(V(D)Y}#Lv z-%h%q%M}DvqCe@fy0r!+#{ZCzBP6+ZHyZ7Ti2>ch3OeWm$Y^af)1M-T0sfWn#*7#Q z57J1*z<<5vB_D7g$Pfy|HD3m001!hA6j%`4eA$42M_Yq1qe%EK|&)k zXh97SJe+Zc4BqwW9T;;c;l(B#Xc2{!1+=56qF~s7#h|Om(1QYaXaIyvU>PAn5irQv z%OD}Npnx28(D6@68rYBn78UUL=^z+{(1R8VC{e2eSZKkAtFJC1!w^jb+eRKz^lI#< HfdBwIq8;my literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/loading.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/loading.gif new file mode 100755 index 0000000000000000000000000000000000000000..c69e937232b24ea30f01c68bbd2ebc798dcecfcb GIT binary patch literal 2608 zcmdVcdr(tX9tZGC9yiG~=H_*Q-0%n(kWqP*D#hw{AQu8;1%gl-Hrf&{2?48KX;hHy z3Ze*zEz4t3XdUFyLbNPUYlA`|B}P=N1fqtL1*}S;87#|-W9v<#G;ul(e%d3)N(^9c$d2Dz{7}?ErjNd;{EMKkCsk21~b9Gvg zDo<7L=3Z5HNbVlZUcm1eg#o#CZCJU`3IYHwM->zCd?uYrF3vKFeM}v?f+%s?E>ly|3W25ry9#NNbTx-}0ON58dTrs^ix{_1O0Wh~SVSBlH)Ajn zPn^Gbjz}PCtN@#keR&hK&Dhl-b$kZ8^S)x#dh0{7X=X%CCJk7P1PSO>T&S8I4{#Lg zb5#)o=;!ZP*1nM{cI4@(x7o27*SA()NHmrn67aN@Pmi~(i_SnrjYnwh36aG%!@i0d zqbvfa44f|?OG4ntP|nbjhEl1)Yp6ZN@yjy zy4==QmLy%t;ps3R?~f2KfTTI|2?q8dFd6^z5GF+Xa&Y)sjG)hxit80pPcOP zJ z*LW{SyGHD%hUotV+W%I}fBLAIx!8|7#}$;clKQ+{&FjDqGQ2ZNx(lYM3*%~}ILnao zM`aui55~ZFJlu^!5rdA9Q_7H68H_;##u{x(Yn-vSfIRCb^Nqsg zGRS!Egm>h+o<}LeV4&CLReo9FrDjDvs}8?JwC)#Qs|ie=r?~xUh)&*d`Fx>FG}%X# zNdtDHBKhLPC0wpooFDAQKL%*6T|ULH$=wX!NhcasgD3d;-d$I6yRK3yN+E~C1335_iLOt+*9uvSZ`>*KA}vm}08wRq=>5l|t*Na&jR z-C1&C`nkEk#sB|@yyt-#fXngP04My zm7u$Q%EJbHp`>~`5W&L{W!6`y&}LMS;jfUpgO~7TLVMRZ9IC)IZp0A${`yp0{&wco z#1nx@XMkhqeK%7?RE7JdLr1^nwFfaJ0Q&Lv?WNJ%9}VSJsNY2+UYs2%EU0J~ayFXv zi*?7KCXQHkD)O6!0Q%4N+HTODHxJ{kQSuQX$l-rSwkwh(zMkdfzxyGwl@yHC)C4p< z&n2%8#M?)Q@mgHL1ot8`SFdSEj9ye|jHy+U8#@HoUExG=@AVkRAe_qYm4EpzK6L*& zh`)26?V#f4#_h^P9G^%>h2-H3)$QP zQovu6J9qDvsxqweDdNNa!Lb?L4_UF{tLX_nN7r0U_vF14YKcGR-*Gl} zx3oG)bzf|65dBxD-;2ZCp??K;+TuQ9onnK?==5hzbkb^r_g>z4#D8mcv8(+XdoszA zCx-qhdgxMNMotj}SiL_6V(tLcsK7(M(r(%u<}QrVfOvyK6_;~NOTlPGfX@M7S5YQF z&*$(ylJMHJt^_aQeu{C6NaTE$G3HNN@_SnN8YcaKn%`)F@~L1x+ah7-gEJPpc6w%3 zyX}r+Qk$4RHZzfH){e~F*qJ{d*L8a6n4;U?+{de0-t)mal#TVxe)3F}^UBh+zd T)6_**#cgp_+?JL9(ew3BlNF>u literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/media.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/media.gif new file mode 100755 index 0000000000000000000000000000000000000000..e1c0e30afb2587f6d4ed4f8bd90bd4f865a98aa6 GIT binary patch literal 1036 zcmV+n1oQhxNk%w1VITk?0OkMy0A@37!Q*M$LcQvWmF_2mBqn_S(Z}jxMfqHi`g}=qph8>ajebfv(>`m;o;&^Lc|^(|NrX%akkXw-P74|0GZ6czP`)p_nDcQGnvdD zc0~XGnV{C}vBAMgeD0s2|`x$DghH8$$U7>xK#;fx3!ne0y#NE=_*_PMt z_y>GB^Uu$Ge1HG_;FiYa=8%l{_V#|d-OC&c_xDxA;Ovc%k|v_lc$J`Bwb{dadH?@r z@x;Xc|NqR)%}29%<|$If5zj<+@0oSRV;#1JEGEmvzHHo zK^dCR=H%o1@9)CL*8l%AwbJdn)bQZ%_W*P=|NlRu%(O41eiycq}AUsoyi)CnB1Zg8JKLBrW4U~m-5(Hdm1!Wys z4Ipt4096R0e^4V_5gm0MWn~S&2w8n^EmxFg1QETHV3Fir9=USl7#n1P3KbeR3g1gYqk`oMXDUdJ zg6G5<1`H+;N>ZXUoIFKRM`?WK43#rR-li^s2Z;d#4Ac+;Q@Vtg4^vcISU~)S9(%L( zWLR^X0f|Bt4oEkWMfidX7Ld;_BBsr40~!n&k?v(lk}OlwTaZ0F{ggZ!u-tZFNROBM zUII+Xg1(6R|5=FP02TxqAjBatc!2^6bG#4?e-QFV2OWA$Py>NjJb?%pb1?XT9|=uC zM+hX6s0SDm@Nvh5H9Uui3Ue%xR$D%Rv0V{DxbVaieAG~bZi-m(VE{u6@xoO;2%!dP z87{~m1CMu*K}ix#5P6jfD)^wrmPuopT&2f}B#@w_3l8kC!dHw;kpcxC zFu_3*$Ei6%4`Fx^L<(@mDTM+`1d)IeE3BYI0zoLDfE0n!l0^toq+n?ZQiPBNEu1nE G2mm`UjPBh4 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/rm.gif b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/common/rm.gif new file mode 100755 index 0000000000000000000000000000000000000000..d013d551de909a5588a7d81be96aba60089a846b GIT binary patch literal 989 zcmV<310wuKNk%w1VITk?0OkMy0!fO7(d!x1vrw+q9#)Y6nas=J??8L1wang{j*6Pl=&;@Hf}+8--sXvYcn4dU zBZIas|JI-=;-JdPm1R7 z_XtOZ$=c^+!QzqB>;;U(l*HkTz1wT0#bS`RMUul|e~QY(!2kdMA^8La6aaq!EC2ui z03ZM$000O7fPaF6goTEOh>41ei!?V?RW~$@i!&HvFmVtNaWG;SGn9o&UUMfHRWmd+ zGgTNTb6!fKe>V^(Kr~9MGrhVrKqnA4lvV%^Sy?yB%+1LT09K1P0DE**6clA;Of@x3 z+u0O!djQ0UN@EigKM1Af(LLXatAr11&%Z_h6`n=>lNV z^yR^)?+hs*-k51&=*gSwS6oPNys-?J0@t4$no{7-ofRFn=RGLr!Ik$@5FIFD9txBn z7M?WOueJ%1BS+j(!~uzL0pNXFXt9P6FFe80K`&@QMu1!_ase4+D7eNCYj9!J0d{nt zMFeDAKuH55?C?V!b#MU{14O9s!ww@fAW8`zEI@_;P6WUJ16{~Y*f4+wG9-Cp2n1B1!4Q40z(OBGXixzGA!td9AaI}%LI{5N@g@pz LtZAnrfdBwIov+u= literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/default/background.png b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/default/background.png new file mode 100755 index 0000000000000000000000000000000000000000..bbfb056bd3e3bc7e7ada31f2ac3cb6ea37fc58b9 GIT binary patch literal 788 zcmeAS@N?(olHy`uVBq!ia0y~yVAKJ!w{S26Ny&!~?*b|2VkgfK4i1jn5B(nixr+jP zLR|m<|NrmbzrTO~{`vC4eT^vIy=DfX`88q2Zr0pWNp^$=r z0nahU!Y*Mg#l-*7n=jvVs879nXxq7)2X248^7s13rnHY&_+NO&T=H4NctlEJU545< zhK&nmMlc`Ap4DmUuxBBNX$@vBkE{VpsLwh&DeYrxS`x3o{S2}DnPTcD-4~z!J-n=Z z;u;^DJMn#wvNoTY_sd?#Jba_o&DZf|E3Aq(b$z{8_kUCJ+pudJ@5z7Fx4xE_Dm**= z{O{?q+1rDXde#1(?hAF_Hr>?jReaeRDd|qo#uBpGd@zseXN37<2*S8Ln zwba?zw+^Urb)U@Ch~w*jfmzcdE^h~GSf+aI*fFE{LBXNS0A;gW&_3$VbD;2Uw+L;!7@*W4txEcY@d*F`AcdHT8{004J`5a-_{zRQsOk8r#c z;Rb|+ge#jm8vp?I;Y&>e<$toko4e@-UiZjsb8~Zt#$^l!)7;!lsa0=)_~9R4lRg&< zHtm~QyP7Hiu(PvUw_5R-`Jqs#Bs{#-C^tn#SaM-=QO{+t17IRDk}QSv*H>HJX2_H0 z#+cmzy4TA+s2)pAz{0|UpiZM_#p~KH?-J^+JaebKyu88#U8}3BcPIU)+TYuGrd%Fe z9`|ZO1&Gtr(=p?KgJ$XHMs?w(H{;{ueg9Do*C^J*V4GdAqN1Xclat}*G_Smq(#CI1 z?LS1-Y?{7ZI;4*$mwtLO-ZG zmmAAao;6Z=cY6-c?S#jqAc{B6PTn%mQWiGPz0h?jOOHZU|8j6}2%o%{ju|N$F8}PK zfN=tbhleM)h`Mlsnr81}D;ioEp z;DbKv83zE~q@u5zxa>T_H_uTH4q^t8cN{7aMKy!t4i2)y^v&I)m~pYj4@~z*2@u0^ zO`o~&)S~Bd#zI_x^#(x0;NJY|E&&cf+| zw*S|xL}#jTN!!WQv?HSU%sF9v7?p4Def^qKfLN%CJU#pSqmWns<37wf zbmTKFL@!BGQ7n@u=VB!A@>4;Ql*v;lLlvx>aLoytYTy z87g#ec&2G^sb{RvN{#OEtQYe;SIO_*z#&|(QZG8Q#-rwp$E!Z2;&N?>G33jje9SXz zpF+$u4O;?Ro1tNB>ztf)&CSh84*-)6 zm@cOEMx^wNujbOx?HoL~rK8jPS5qnm!Dc%lqdx1@K73vbNy+1uOOqBySqx9)e|dfNK`mi%7<{*V4Y zVKyum|6d419%`mu0Kk*e|7|SADoENtk<(k*#9QCp!TY_nr#(Q++Sb$E&EC%08mQvz zY5(5c)5Qy@Wdalx7KTLnR!so_Oq*~esDWSBQFgFZ^3Yl@8)wJT8v%!-IW0S_Y_!Duc|S1a6wuJE#Ge$cL_GE7>RHr>%XZxz0R z)*UpdLr~i*hbDoARqgY=QUtRskacja!RK;Ob38Bu9*vM3_|{o#cN(1e#E|q%I}~&R zg?}SyM42yFEx;M|%2VVexbkOtv+;)HE62)bonMg;$scw_sh4u&!M%+P6^p5%me)*v zP-O*MTS&&vA31DoS$17Me*TXhb>g20g$P^n(zQZ1h>&1G;xj=dftbcC$f%uXeGH-5 z;AcAAQ3#?4CXq18L#I+$y7ajjyQE2yrX@30rErvW_Nk+e-m~8xX+8~UEM!@P*s^Or zeO7fflLCbF^-D)|pYT#$Z}D&H{bu+5UTHh8(l2gHx6m@w?~AaQ^OO;rU8)UL5l1w@ z6?xqRC88PLI2T{!&GXnNz?5U@Ok*L|pA-vTSFY;PnHu8Sr)Gkb0Rlo5?&o(ujRi|b zJP8A}w3@qpV}5)|`SB;v5U{$`9RoVL;%tVuuK!R(WwN0)|JePB|HCAth#7*6|I6}!`HfW?=(=l$-9+5|LZQf zFW4=p^w@fPGcOVCB&BTBJn*~f{4Oz9O>gN3?)%S+pMQK^oRfZGXZatIH;p|sfEvQk zUKY(Yy#|jkI^l@rL`|fm z)j$RQy4oDLr%jTPLNwPYt&w+K+@78h$Tyk3xeagck=#O3ILYbMRvkNd>*lTW;;5uc82PPfx~quxeRFg{K6W2qDB}3-;0= zoV}2H(IP-FthexvmR3;g{Ne)c>87mwu^QB4|828P)nOXkQ*3j*`oIv$U>CsysqdTK zV@RDKhm=LJaxQ8;Fr>wDo+mCi9VbJcD2?!w|YR6X-mAl5!@ z5}UX~*_jCGKm__7$jtsDV>E6!J(jR|ri5u>Cs>kls2xt3A*=+hQUp;u+)+mNDtJ1P z6b*8ah!F9?%2NeELGl^jfwMlKH-^+SiB_bzC1Pq#?DJDG+|L>7?x{%yW{+H(7~2_e z@$9ainia3tt!jUWl8e1{Q4b|i%~jF+keSAY;4`wmKThvlya|Z;P0s|J_H;JU2F148ZYp@L-<13hSy7JJE^k@xa*Vo7}|C zt>Y-SWo$$3(H~tzOF2MCdfpdK#0aKi0>Uk@Qe;JP?!dfGAN3MBf7$ZehgNZ5b758U zRqp#i;3mwiHcf?YV%K(aa;BEUMJBS9d0cg9sF5s0q+rX|fy%@eTpA7DW~VXZkBltwQ_}+M z>BofVv#Ut?U(YemoY_+kXnw`#O<$hmDo;O7$LHd$AULW_$Ni=!=_MD|>PY8iA=gMj zfu{k!5=)Abu)_j1I!q#D>eEFiH}k7M3*?w84mVoFVlhgJDN{>v9!`ziCia}%tE%{J z?wpWg?m8ImE^^)0`OXR%g z>|pIu*8+zH|8+tBo*mEbS=^8^gWam0_kT^Ku%PerD&#ou^-_sU{zi4pzLub$~TCM4KtIzoAVRHV_pwPJOb+7UxIr*-b4X?uzlqYLH@! zHawCY@_Iv%{Zm|No7w&#@GcxDX8o6Ru3|B%N>OFJX4JGKv+WKAXBruSsBWV47{gGL z8-!O*J_?J}T~s&$t6x-XO_zGaog+3<${4L1( zrAyS=&fa;aKAuu#wo&C3$(5x{Y`9&fO%{s%6EKFA`>Ty2Qm5tZnzT8cLgI3x%bPbr z_j4GiBJ!(yhsR1^u43C!%Zi%k0O|A9cf%~tqZE<;8kTaWeA1oX`+5jMe-;9=&YwwN zjL{w&7dF8CCGRP@+Gi6N($Bi-ttRZ$IxWRmT%GyULlQnMg`H-Mu7JQbA z7)S}Wc8*b8+N)1D8MJ<4E*d|U7$5e%F}IIpJy^MCK&nCxxuA#JB3l`Ge8OV5b=7-A`qM{u-?%t$^j=1t#oBQQKZQrzE4i5{eo~CE4b}rj!i>tV;1N`NbDxuC|_O+`U3^~?#FmsY!!xpW=$oW&(4ICUv=C{ z0*N3`k_tbWPxCT9nX&u11rOn}ak?HlAq43T*|wQ=wp2#R`Nc`%sJoXEb*f13jA|FT zEw3^#7rB1l;Q_kMQIVm%aujS3HjxNQKu%drO%S%$224mibkRX3&|b)HmAWAcx_l%V zx=t`#ML>hh@T13#nQ#y*OiZ+k<`v94cdkwDo&uh7N`W*qV+{L;o)T{g=NAsf9?SdU zCmqW#y^`cD@_W^d*#I*!wqurv3QRs7%UjDfwSukF@_kn&@;EI+!XbyxUa7%`YYrBT z)YNMJL=b|Es$f~!6?_9a?9agXC0xGrY9;Yn->9huRP&dmkV``b;V)Z#ks%af9Ft-9 zSJ@i6%?F0yGEX1J&#w0j?3rpT22VR+6$#eTrFMOh#;>ZND2PQL*j6a`V(gDdwLsg$ z0QqqI-$z>4Y<^T{ZZS^y_gX*w0Yv>5j6zuAx$;Q=N6m&hd-U11j5%G!NKJOZxBl!7 zo(31RORb>NIb*0~oyV$6hi?~tvCX2(Hr>|F?a!EOnLoZq2P$l76SSdkZ|HNYA|zW(R(QJe3*^!oBT zwmn8hGV$VmH@E9za>{~B^fHjgtCx*oE0Su9NoPFgTGa|Bk$#wh5*}103CvsB_vXqD zeT$0LBHoNp0ETuu3tw{k;aoFkdfnf>VqJ(DCh+t}Q%LZKUtCaz1=~Lt>e+1JH1Z|5 z&z@y^Wd0L4@?7&blT!m0%4HKehu=)5#Ke;q-U5A)u_xAqn=rH#KmoD|&jFIj)a|a3 zMA*OD9IEmsrAQz0-#V?tAH$}-Oct?+!(e0o^-nU9ZAx>Y#tO;U=o6BMI3GBlI;F4sz*7aD){@KgruU2 zxv$;PzCCvfrP*MtjrKz&me%>{wvP)l@dS-Wf{3&n4aXfR*oM`uZ@Sz zhD~T;3^;O#Af~F*wht)3~?)JVu#;@&I zgGut@=v!Ed?jnfC`jE`*Pr0S6M)95kDLQtjgp#i@B`ETo_{FW&i!@xh`<an@8vb#Tc7xh!%X=EpFZ$9DadM1k{@T* zm#u_Tj{aCMIXcr=#$@6XUm3h-RYZ~Em)BLEd)i9 zv$00#8GTOn`c41O5G#Yx3(FMF9_7b$xh&>MksbPLvTa<%Xk#R4BD2`|BF z+flp$84_Y)!~@PK$~NFBvpL}3?6q^mT=!npvkw7=a=|bP4IA|L!$gv?d+v_NP-@-y z*WNSA#7g-@udaqko^+M2Q4#b*( zhA1Zg`EJ)IJt$Qlrv6HiWC1vLdtmXdU^ZHATe5s!Iy)XdThjXMt$L&P^tsLD#*o+h z?jyR$-Y?|Sg=i@VcDG9-1i!m8khqv5KI7?dFEws;bO@h!S#I}_Ay8S%HaJS`;N}l? zv>g?x1h-lt)$IM%Ezr+ELtib19+#Ym%@6^?@59+2<%^Zug;0cT*n__1kFlVH2=E4n zsy&b_n0Oq%T9H$COo;xqj^==Tgh?!S^j0pr4HEm9%@f(b%x{{DLf!2j<=Wu-zZFNW zj4pAHRVfDm zjp5cHx)ra-t45ywftQ235sXZxIp*ZB3|iX{WDzuiIota6ir0*~o$M_u zL*R+}eou*Vfz@g#eb(3g7`K`sR@xVD+8{X?gFhCC^@^nQJ3_UlzN!WTiq+?oet9(YS zV%NhHG)6Tf6q73q`eWZ7!xNr@#N?j?hxiPl#%Vs8Oar-NFE1|*B%&Nu zb#SCA1?-~?3olf%7f)}G&o`blGfDb&25N*9bKpPA!I@^sr|`Pc$y_57`=SM`tB)eU zCciNCArx#d9R@YIS;l6qUE2MHm7-nm(7$usO%-$9o8Xp-c?1GwD1;60J98%iv0S|g zyDVQ~cw{w|c@?7tHC~1ZPR-syzx9`9nY?Fxrx}vH-RD;)7HgHzvF4i3e{sy4qMBER zxC-0jbL#o4KF2D6C=CK!4TOfveoY@X+pDR=2yz_S-hgiO#h+7u34#-(0!<7`fQYZ) zK_p&+j;T$t8C$)g!I33)apvr(QC1mKHj;HBr6gk+wqsME-+PL>Xzej%rScY@@=HX)M<~8h>0>yDh z_sM;+#utmZ$RxdKe=SDveU9Z=M^+7+eTU(YxX4T)dHX1Ms?q_H4!k={2#zI7LD1-S zeN%fwr}fe)mMd8jZT?17m)1Qx>fPW77d4p3HyLhft^fM$(eawR68 z<0D#bAFrBAFvD`{?X1mXemk@1W2lx{PwqKFCHZ>i(R##`gSwfpe!5bTOEg4nYy(Q0 z=>14dw1SQQQede7+fwDYEGp?Q1ryb$km!%V_}|oTGpxc6;2^88BVL=%`-}2i;_UbD zQKUScS7^lP`Hz4+&Ek=@g#3^a#e5&7{vUVD5fY@UN3AQ+L+_yO{|?ZAtG3yeQJftX zF6u`nLQ_y$xUf{tDmHja_+$AzO-df#0h&fwXu6Vj@Dov=ij7`Ra>#sv+eQKoj(u>r z-u0J0Xw_FnN(t2ztVF%&&R|hiHN2&VV1#rv}zWVbsqvpu*f^lNdjkz=Fg}#!;P|J|NL&0_cuaq z3}$gf-K9h+5UL0`DAtJ(D`=>IqW^5{N_UJR2miZS`!e!2YWf&pPFlZdw87*qTf=HdL??H*lkBe0q^8`| z4T`_qcJDmfVak>DKZGEQw60y;l^LJwXv~3Y)`JhLzXq{N%y6jY=>;DAXw44H0skR* zjWOhH2H5W1Xb8~2U6A9qe6*u9mb9Z!;QdRaiCIFngRE0YyyEtdANxr|&{`>M{TN(} z@;SN;wQ>R9M4n_lE1_o&=+HdvDW~%gKPotd?$%&60mnP0&gvC|#=5+v=_z3;S3at* z%d--fdXxzpA~8bZ@PR^SI->L)d0J=j(O^CsiP7LvD8l#d1QIn_ll*8nSR%IXeOf$; zV^t}ZuIW>?-j67Y#}5f;w_o0|7gP;Zm-Ktsw@*%JPcAn6Az5SposW<2vtjSrx3`{l zt4XE&;W4Ah39NXqXa(egDbK+vRzay*JbK^fZ~;pn@k{PSjH~$q;+o}tAae9lsaG0I zUM2I;i*rMv6tv*{%J{w)$C7)5V%A@wr)Jmb*Wm|5)PDp*?(Y8gw(%dhCc}Klm*g!Z z?rh2A1Hd*}*YCd1B*?hVIg55J`_kasXHGhOU+Nvc{Ht={6-97p@Er8apb8dD*Es4+ zozi1ZWE9-7e|xt5+&)^nt&?b@q=%)CsM9;oRN(ZSZ`J!jQI9)&zRiOwf1AQ5wqO!m z?dOzzqHy;;&$`PDEt6#VD*bZGY-)Ocf1j63HEB{(y|kyNr%eRQ$AW%1YS_){7ti8z zdh+tH-Ib)j^vL|uj;QSykS#qnGx2TpMf?$4)V0%H zX?S<{=o4km%T)K=qL;XTHwvSF<;uBC4jisL<(DTv(*Ke>*Nst_#U1SiDWZ37*wWVj zsH^`vpW|Flr?;Ruk>_MOT%67c+jV5SoKi_E5$cnlHUG(4S_&H()FxRSgv(|xxKMQE zz<*o+$K29KUunX)t)}X3OwBW7z{aj(05h?6F@B|`^uU5@jVx0>9Qd#Vx$+AsoOcl0 zR;n}6BPuBR zt1aH?s=B*aV8In~9?X0F{Zq7EpgEEVph==5SF|ZN<*hcgmj%l~7HP&s+5C#!=gxMk zx&d=5-DEO%wWm#Zf-EU+tc~7-u0}}+*;?1kFW|lSPBPunFwmaW^e3uX;syVU1COox zaD;!I^P3hwZ-4fzU)|ROY>z}-y2jT7@_(a$V?9i~o`0XewjNl0pHPIyh#fs!Nl_Y{ zYa}&?$I)fv8IiVQ?`nvf#;lO*K-Dp7*Cb3tf%{Vo?b!nw2J3Ng{f;UyV__&|EK|4Z1BfYYYl^!!!jBO8tJytO@d$(MiMK>%D?Td79T3h_T7hH#ny literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/simple/simple.css b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/simple/simple.css new file mode 100755 index 000000000..07d43827c --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/editor/themes/simple/simple.css @@ -0,0 +1,100 @@ +/* container */ +.ke-container-simple { + display: block; + border: 1px solid #CCC; + background-color: #FFF; + overflow: hidden; +} +/* toolbar */ +.ke-container-simple .ke-toolbar { + border-bottom: 1px solid #CCC; + background-color: #FFF; + padding: 2px 5px; + overflow: hidden; +} +.ke-container-simple .ke-toolbar .ke-outline { + border: 1px solid #FFF; + background-color: transparent; + margin: 1px; + padding: 1px 2px; + font-size: 0; + line-height: 0; + overflow: hidden; + cursor: pointer; +} +.ke-container-simple .ke-toolbar .ke-on { + border: 1px solid #5690D2; +} +.ke-container-simple .ke-toolbar .ke-selected { + border: 1px solid #5690D2; + background-color: #E9EFF6; +} +.ke-container-simple .ke-toolbar .ke-disabled { + cursor: default; +} +/* statusbar */ +.ke-container-simple .ke-statusbar { + position: relative; + background-color: #FFF; + border-top: 1px solid #CCCCCC; + font-size: 0; + line-height: 0; + *height: 12px; + overflow: hidden; + text-align: center; + cursor: s-resize; +} +/* menu */ +.ke-menu-simple { + border: 1px solid #A0A0A0; + background-color: #FFF; + color: #222222; + padding: 2px; + font-family: "sans serif",tahoma,verdana,helvetica; + font-size: 12px; + text-align: left; + overflow: hidden; +} +.ke-menu-simple .ke-menu-item { + border: 1px solid #FFF; + background-color: #FFF; + color: #222222; + height: 24px; + overflow: hidden; + cursor: pointer; +} +.ke-menu-simple .ke-menu-item-on { + border: 1px solid #5690D2; + background-color: #FFF; +} +/* colorpicker */ +.ke-colorpicker-simple { + border: 1px solid #A0A0A0; + background-color: #FEFEFE; + color: #222222; + padding: 2px; +} +.ke-colorpicker-simple .ke-colorpicker-cell { + font-size: 0; + line-height: 0; + border: 1px solid #FEFEFE; + cursor: pointer; + margin:3px; + padding:0; +} +.ke-colorpicker-simple .ke-colorpicker-cell-top { + font-family: "sans serif",tahoma,verdana,helvetica; + font-size: 12px; + line-height: 24px; + border: 1px solid #FEFEFE; + cursor: pointer; + margin:0; + padding:0; + text-align: center; +} +.ke-colorpicker-simple .ke-colorpicker-cell-on { + border: 1px solid #5690D2; +} +.ke-colorpicker-simple .ke-colorpicker-cell-selected { + border: 1px solid #2446AB; +} diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/WdatePicker.js b/phpshe/1.1/php-fpm/src/include/plugin/my97/WdatePicker.js new file mode 100755 index 000000000..067f42494 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/my97/WdatePicker.js @@ -0,0 +1,48 @@ +/* + * My97 DatePicker 4.8 Beta2 + * License: http://www.my97.net/dp/license.asp + */ +var $dp,WdatePicker;(function(){var $={ +$langList:[{name:"en",charset:"UTF-8"},{name:"zh-cn",charset:"UTF-8"},{name:"zh-tw",charset:"UTF-8"}], +$skinList:[ + {name:"default",charset:"gb2312"}, + {name:"whyGreen",charset:"gb2312"}, + {name:"blue",charset:"gb2312"}, + {name:"green",charset:"gb2312"}, + {name:"ext",charset:"gb2312"}, + {name:"blueFresh",charset:"gb2312"} +], +$wdate:true, +$crossFrame:true, +$preLoad:false, +doubleCalendar:false, +enableKeyboard:true, +enableInputMask:true, +autoUpdateOnChanged:null, +weekMethod:"ISO8601", +position:{}, +lang:"zh-cn", +skin:"default", +dateFmt:"yyyy-MM-dd", +realDateFmt:"yyyy-MM-dd", +realTimeFmt:"HH:mm:ss", +realFullFmt:"%Date %Time", +minDate:"1900-01-01 00:00:00", +maxDate:"2099-12-31 23:59:59", +startDate:"", +alwaysUseStartDate:false, +yearOffset:1911, +firstDayOfWeek:0, +isShowWeek:false, +highLineWeekDay:true, +isShowClear:true, +isShowToday:true, +isShowOK:true, +isShowOthers:true, +readOnly:false, +errDealMode:0, +autoPickDate:null, +qsEnabled:true, +autoShowQS:false, + +specialDates:null,specialDays:null,disabledDates:null,disabledDays:null,opposite:false,onpicking:null,onpicked:null,onclearing:null,oncleared:null,ychanging:null,ychanged:null,Mchanging:null,Mchanged:null,dchanging:null,dchanged:null,Hchanging:null,Hchanged:null,mchanging:null,mchanged:null,schanging:null,schanged:null,eCont:null,vel:null,elProp:"",errMsg:"",quickSel:[],has:{},getRealLang:function(){var _=$.$langList;for(var A=0;A<_.length;A++)if(_[A].name==this.lang)return _[A];return _[0]}};WdatePicker=T;var X=window,S={innerHTML:""},M="document",H="documentElement",C="getElementsByTagName",U,A,R,G,a,W=navigator.appName;if(W=="Microsoft Internet Explorer")R=true;else if(W=="Opera")a=true;else G=true;A=J();if($.$wdate)K(A+"skin/WdatePicker.css");U=X;if($.$crossFrame){try{while(U.parent&&U.parent[M]!=U[M]&&U.parent[M][C]("frameset").length==0)U=U.parent}catch(N){}}if(!U.$dp)U.$dp={ff:G,ie:R,opera:a,status:0,defMinDate:$.minDate,defMaxDate:$.maxDate};B();if($.$preLoad&&$dp.status==0)E(X,"onload",function(){T(null,true)});if(!X[M].docMD){E(X[M],"onmousedown",D);X[M].docMD=true}if(!U[M].docMD){E(U[M],"onmousedown",D);U[M].docMD=true}E(X,"onunload",function(){if($dp.dd)O($dp.dd,"none")});function B(){U.$dp=U.$dp||{};obj={$:function($){return(typeof $=="string")?X[M].getElementById($):$},$D:function($,_){return this.$DV(this.$($).value,_)},$DV:function(_,$){if(_!=""){this.dt=$dp.cal.splitDate(_,$dp.cal.dateFmt);if($)for(var B in $)if(this.dt[B]===undefined)this.errMsg="invalid property:"+B;else{this.dt[B]+=$[B];if(B=="M"){var C=$["M"]>0?1:0,A=new Date(this.dt["y"],this.dt["M"],0).getDate();this.dt["d"]=Math.min(A+C,this.dt["d"])}}if(this.dt.refresh())return this.dt}return""},show:function(){var A=U[M].getElementsByTagName("div"),$=100000;for(var B=0;B$)$=_}this.dd.style.zIndex=$+2;O(this.dd,"block")},hide:function(){O(this.dd,"none")},attachEvent:E};for(var $ in obj)U.$dp[$]=obj[$];$dp=U.$dp}function E(A,$,_){if(R)A.attachEvent($,_);else if(_){var B=$.replace(/on/,"");_._ieEmuEventHandler=function($){return _($)};A.addEventListener(B,_._ieEmuEventHandler,false)}}function J(){var _,A,$=X[M][C]("script");for(var B=0;B<$.length;B++){_=$[B].getAttribute("src")||"";_=_.substr(0,_.toLowerCase().indexOf("wdatepicker.js"));A=_.lastIndexOf("/");if(A>0)_=_.substring(0,A+1);if(_)break}return _}function K(A,$,B){var D=X[M][C]("HEAD").item(0),_=X[M].createElement("link");if(D){_.href=A;_.rel="stylesheet";_.type="text/css";if($)_.title=$;if(B)_.charset=B;D.appendChild(_)}}function F($){$=$||U;var A=0,_=0;while($!=U){var D=$.parent[M][C]("iframe");for(var F=0;F_.scrollTop||A.scrollLeft>_.scrollLeft))?A:_;return{"top":B.scrollTop,"left":B.scrollLeft}}function D($){var _=$?($.srcElement||$.target):null;try{if($dp.cal&&!$dp.eCont&&$dp.dd&&_!=$dp.el&&$dp.dd.style.display=="block")$dp.cal.close()}catch($){}}function Y(){$dp.status=2}var P,_;function T(N,F){$dp.win=X;B();N=N||{};for(var K in $)if(K.substring(0,1)!="$"&&N[K]===undefined)N[K]=$[K];if(F){if(!L()){_=_||setInterval(function(){if(U[M].readyState=="complete")clearInterval(_);T(null,true)},50);return}if($dp.status==0){$dp.status=1;N.el=S;I(N,true)}else return}else if(N.eCont){N.eCont=$dp.$(N.eCont);N.el=S;N.autoPickDate=true;N.qsEnabled=false;I(N)}else{if($.$preLoad&&$dp.status!=2)return;var J=H();if(J){N.srcEl=J.srcElement||J.target;J.cancelBubble=true}N.el=N.el=$dp.$(N.el||N.srcEl);if(!N.el||N.el["My97Mark"]===true||N.el.disabled||($dp.dd&&O($dp.dd)!="none"&&$dp.dd.style.left!="-970px")){try{N.el["My97Mark"]=false}catch(C){}return}I(N);if(J&&N.el.nodeType==1&&N.el["My97Mark"]===undefined){var A,D;if(J.type=="focus"){A="onclick";D="onfocus"}else{A="onfocus";D="onclick"}E(N.el,A,N.el[D])}}function L(){if(R&&U!=X&&U[M].readyState!="complete")return false;return true}function H(){if(G){func=H.caller;while(func!=null){var $=func.arguments[0];if($&&($+"").indexOf("Event")>=0)return $;func=func.caller}return null}return event}}function Q(_,$){return _.currentStyle?_.currentStyle[$]:document.defaultView.getComputedStyle(_,false)[$]}function O(_,$){if(_)if($!=null)_.style.display=$;else return Q(_,"display")}function I(G,_){var D=G.el?G.el.nodeName:"INPUT";if(_||G.eCont||new RegExp(/input|textarea|div|span|p|a/ig).test(D))G.elProp=D=="INPUT"?"value":"innerHTML";else return;if(G.lang=="auto")G.lang=R?navigator.browserLanguage.toLowerCase():navigator.language.toLowerCase();if(!G.eCont)for(var C in G)$dp[C]=G[C];if(!$dp.dd||G.eCont||($dp.dd&&(G.getRealLang().name!=$dp.dd.lang||G.skin!=$dp.dd.skin))){if(G.eCont)E(G.eCont,G);else{$dp.dd=U[M].createElement("DIV");$dp.dd.style.cssText="position:absolute";U[M].body.appendChild($dp.dd);E($dp.dd,G);if(_)$dp.dd.style.left=$dp.dd.style.top="-970px";else{$dp.show();B($dp)}}}else if($dp.cal){$dp.show();$dp.cal.init();if(!$dp.eCont)B($dp)}function E(F,E){F.innerHTML="";var D=F.lastChild.contentWindow[M],_=$.$langList,C=$.$skinList,H=E.getRealLang();F.lang=H.name;F.skin=E.skin;var G=[""];for(var I=0;I");G.push("");G.push("");G.push("");E.setPos=B;E.onload=Y;D.write("");D.cfg=E;D.write(G.join(""))}function B(I){var G=I.position.left,B=I.position.top,C=I.el;if(C==S)return;if(C!=I.srcEl&&(O(C)=="none"||C.type=="hidden"))C=I.srcEl;var H=V(C),$=F(X),D=L(U),A=Z(U),E=$dp.dd.offsetHeight,_=$dp.dd.offsetWidth;if(isNaN(B))B=0;if(($.topM+H.bottom+E>D.height)&&($.topM+H.top-E>0))B+=A.top+$.topM+H.top-E-2;else B+=A.top+$.topM+Math.min(H.bottom,D.height-E)+2;if(isNaN(G))G=0;G+=A.left+Math.min($.leftM+H.left,D.width-_-5)-(R?2:0);I.dd.style.top=B+"px";I.dd.style.left=G+"px"}}})() \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/calendar.js b/phpshe/1.1/php-fpm/src/include/plugin/my97/calendar.js new file mode 100755 index 000000000..25e207843 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/my97/calendar.js @@ -0,0 +1,5 @@ +/* + * My97 DatePicker 4.8 Beta2 + * License: http://www.my97.net/dp/license.asp + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c35?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;}('k($4j.3X){$f={};19(o p 4i $2l)k(5Z $2l[p]=="6d"){$f[p]={};19(o 4B 4i $2l[p])$f[p][4B]=$2l[p][4B]}q $f[p]=$2l[p]}q $f=$2l;19(p 4i $4j)$f[p]=$4j[p];o $c;k($62){6o.2N.7c("6W",l($){k(!$)h.2h();t $});6o.2N.7b("6N",l(){o $=h.6K;3l($.5f!=1)$=$.7e;t $});7a.2N.2T=l($,b){o A=$.1l(/6C/,"");b.6B=l($){6M.1Q=$;t b()};h.7g(A,b.6B,1n)}}l 5n(){$c=h;h.2F=[];$d=1P.75("x");$d.1d="4r";$d.1I="<1t Y=3Y><1t Y=3Y><1x 2t=0 2r=0 2u=0><1j><18 7V=2><4k 1E=7W>&4A;<1t Y=7u 4g=2><1t 1f=\\":\\" Y=6i 6p><1t Y=6q 4g=2><1t 1f=\\":\\" Y=6i 6p><1t Y=6q 4g=2><18><1N 1E=7s><1j><18><1N 1E=7r><1t Y=4h 1E=7y 3a=1N><1t Y=4h 1E=7C 3a=1N><1t Y=4h 1E=73 3a=1N>";6S($d,l(){3x()});A();h.5o();$f.22=[1P,$d.1K,$d.1v,$d.2B,$d.2Q,$d.2S,$d.2W,$d.2d,$d.1X];19(o B=0;B<$f.22.u;B++){o b=$f.22[B];b.34=B==$f.22.u-1?$f.22[1]:$f.22[B+1];$f.2T(b,"56",4P)}$();4K("y,M,H,m,s");$d.5s.1r=l(){58(1)};$d.5t.1r=l(){58(-1)};$d.4s.1r=l(){k($d.1F.1c.2g!="6t"){$c.4I();3v($d.1F)}q 1m($d.1F)};1P.6G.4x($d);l A(){o b=$("a");1q=$("x"),1M=$("1t"),4n=$("1N"),5q=$("4k");$d.3R=b[0];$d.3H=b[1];$d.3E=b[3];$d.3G=b[2];$d.41=1q[9];$d.1K=1M[0];$d.1v=1M[1];$d.4z=1q[0];$d.3C=1q[4];$d.3g=1q[6];$d.1F=1q[10];$d.2Y=1q[11];$d.2V=1q[12];$d.6F=1q[13];$d.6I=1q[14];$d.6T=1q[15];$d.4s=1q[16];$d.3Z=1q[17];$d.2B=1M[2];$d.2Q=1M[4];$d.2S=1M[6];$d.2W=1M[7];$d.2d=1M[8];$d.1X=1M[9];$d.5s=4n[0];$d.5t=4n[1];$d.5w=5q[0];l $($){t $d.6P($)}}l $(){$d.3R.1r=l(){$1L=$1L<=0?$1L-1:-1;k($1L%5==0){$d.1v.1U();t}$d.1v.1f=$n.y-1;$d.1v.2m()};$d.3H.1r=l(){$n.2q("M",-1);$d.1K.2m()};$d.3E.1r=l(){$n.2q("M",1);$d.1K.2m()};$d.3G.1r=l(){$1L=$1L>=0?$1L+1:1;k($1L%5==0){$d.1v.1U();t}$d.1v.1f=$n.y+1;$d.1v.2m()}}}5n.2N={5o:l(){$1L=0;$f.5h=h;k($f.3L&&$f.z.3L!=1h){$f.z.3L=1a;$f.z.4d()}h.4w();$n=h.5J=1b 1G();$1B=1b 1G();$1u=h.2A=1b 1G();h.1A=h.3j($f.1A);h.2L=$f.2L==1h?($f.Z.25&&$f.Z.25?1n:1a):$f.2L;$f.3r=$f.3r==1h?($f.4t&&$f.Z.d?1n:1a):$f.3r;h.4a=h.3p("7A");h.5S=h.3p("7G");h.5U=h.3p("7H");h.5O=h.3p("7F");h.1T=h.3s($f.1T,$f.1T!=$f.5A?$f.1Z:$f.2G,$f.5A);h.1W=h.3s($f.1W,$f.1W!=$f.5B?$f.1Z:$f.2G,$f.5B);k(h.1T.2z(h.1W)>0)$f.4o=$1k.7D;k(h.1R()){h.5C();h.3F=$f.z[$f.1y]}q h.35(1n,2);4H($n);$d.5w.1I=$1k.7q;$d.2W.1f=$1k.7o;$d.2d.1f=$1k.7p;$d.1X.1f=$1k.7w;$d.1X.28=!$c.1w($1u);h.5Y();h.6O();k($f.4o)7v($f.4o);h.4F();k($f.z.5f==1&&$f.z["3z"]===6J){$f.2T($f.z,"56",4P);$f.2T($f.z,"2m",l(){k($f&&$f.1J.1c.2g=="2s"){$c.3I();k($f.5h.3F!=$f.z[$f.1y]&&$f.z.7t)4J($f.z,"7I")}});$f.z["3z"]=1n}$c.1i=$f.z;3x()},5C:l(){o b=h.3f();k(b!=0){o $;k(b>0)$=h.1W;q $=h.1T;k($f.Z.3T){$n.y=$.y;$n.M=$.M;$n.d=$.d}k($f.Z.25){$n.H=$.H;$n.m=$.m;$n.s=$.s}}},3i:l(J,C,Q,E,B,G,F,K,L){o $;k(J&&J.1R)$=J;q{$=1b 1G();k(J!=""){C=C||$f.1A;o H,P=0,O,A=/3d|2n|3m|y|2w|3b|3K|M|1J|d|%2i|4O|H|4U|m|4V|s|3h|D|4Z|W|w/g,b=C.2Z(A);A.2C=0;k(L)O=J.43(/\\W+/);q{o D=0,M="^";3l((O=A.3k(C))!==1h){k(D>=0)M+=C.1D(D,O.3Q);D=A.2C;2R(O[0]){1e"3d":M+="(\\\\d{4})";1g;1e"2n":M+="(\\\\d{3})";1g;1e"2w":1e"3b":1e"3h":1e"D":M+="(\\\\D+)";1g;63:M+="(\\\\d\\\\d?)";1g}}M+=".*$";O=1b 4u(M).3k(J);P=1}k(O){19(H=0;H=0){A=A.1l(/%2i/g,"0");$.d=0;$.M=2e($.M)+1}$.1S()}t $},1R:l(){o b,$;k($f.7R||($f.6c!=""&&$f.z[$f.1y]=="")){b=h.3j($f.6c);$=$f.1Z}q{b=$f.z[$f.1y];$=h.1A}$n.2k(h.3i(b,$));k(b!=""){o A=1;k($f.Z.3T&&!h.4l($n)){$n.y=$1B.y;$n.M=$1B.M;$n.d=$1B.d;A=0}k($f.Z.25&&!h.4m($n)){$n.H=$1B.H;$n.m=$1B.m;$n.s=$1B.s;A=0}t A&&h.1w($n)}t 1},4l:l($){k($.y!=1h)$=2I($.y,4)+"-"+$.M+"-"+$.d;t $.2Z(/^((\\d{2}(([6f][7Q])|([6e][26]))[\\-\\/\\s]?((((0?[6b])|(1[68]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[67])))|(((0?[69])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([6f][7P])|([6e][72]))[\\-\\/\\s]?((((0?[6b])|(1[68]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[67])))|(((0?[69])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$/)},4m:l($){k($.H!=1h)$=$.H+":"+$.m+":"+$.s;t $.2Z(/^([0-9]|([0-1][0-9])|([2][0-3])):([0-9]|([0-5][0-9])):([0-9]|([0-5][0-9]))$/)},3f:l($,A){$=$||$n;o b=$.2z(h.1T,A);k(b>0){b=$.2z(h.1W,A);k(b<0)b=0}t b},1w:l($,A,B){A=A||$f.Z.49;o b=h.3f($,A);k(b==0){b=1;k(A=="d"&&B==1h)B=24.5F((1b 1z($.y,$.M-1,$.d).1H()-$f.3M+7)%7);b=!h.5T(B)&&!h.5M($,A)}q b=0;t b},5L:l(){o b=$f.z,A=h,$=$f.z[$f.1y];k($f.4q>=0&&$f.4q<=2&&$!=1h){k($!="")A.2A.2k(A.3i($,A.1A));k($==""||(A.4l(A.2A)&&A.4m(A.2A)&&A.1w(A.2A))){k($!=""){A.5J.2k(A.2A);A.3D()}q A.3W("")}q t 1n}t 1a},3I:l($){3x();k(h.5L()){h.35(1a);$f.1m()}q{k($){2J($);h.35(1n,2)}q h.35(1n);$f.20()}},44:l(){o E,C,D,K,A,H=1b 2p(),F=$1k.5l,G=$f.3M,I="",$="",b=1b 1G($n.y,$n.M,$n.d,0,0,0),J=b.y,B=b.M;A=1-1b 1z(J,B-1,1).1H()+G;k(A>1)A-=7;H.a("<1x Y=5E 2U=33% 2u=0 2t=0 2r=0>");H.a("<1j Y=5H 4D=5P>");k($f.5G)H.a("<18>"+F[0]+"");19(E=0;E<7;E++)H.a("<18>"+F[(G+E)%7+1]+"");H.a("");19(E=1,C=A;E<7;E++){H.a("<1j>");19(D=0;D<7;D++){b.1R(J,B,C++);b.1S();k(b.M==B){K=1a;k(b.2z($1u,"d")==0)I="74";q k(b.2z($1B,"d")==0)I="6X";q I=($f.5D&&(0==(G+D)%7||6==(G+D)%7)?"7i":"7j");$=($f.5D&&(0==(G+D)%7||6==(G+D)%7)?"7h":"7k")}q k($f.5y){K=1a;I="7l";$="7f"}q K=1n;k($f.5G&&D==0&&(E<4||K))H.a("<18 Y=77>"+4v(b,$f.3M==0?1:0)+"");H.a("<18 ");k(K){k(h.1w(b,"d",D)){k(h.5R(24.5F((1b 1z(b.y,b.M-1,b.d).1H()-$f.3M+7)%7))||h.5V(b))I="78";H.a("1r=\\"2K("+b.y+","+b.M+","+b.d+");\\" ");H.a("2y=\\"h.1d=\'"+$+"\'\\" ");H.a("2v=\\"h.1d=\'"+I+"\'\\" ")}q I="7d";H.a("Y="+I);H.a(">"+b.d+"")}q H.a(">")}H.a("")}H.a("");t H.j()},5M:l(b,A){o $=h.4e(b,h.4a,A);t(h.4a&&$f.5N)?!$:$},5T:l($){t h.4f($,h.5S)},5V:l($){t h.4e($,h.5U)},5R:l($){t h.4f($,h.5O)},4e:l($,B,A){o b=A=="d"?$f.4E:$f.1Z;t B?B.4Q(h.3J(b,$)):0},4f:l(b,$){t $?$.4Q(b):0},2H:l(p,c,r,e,2b){o s=1b 2p(),4c=2b?"r"+p:p;5Q=$n[p];s.a("<1x 2t=0 2r=3 2u=0");19(o i=0;i");19(o j=0;j"+(p=="M"?$1k.29[$n[p]-1]:$n[p])+"")}s.a("")}s.a("");$n[p]=5Q;t s.j()},4C:l($,b){k($){o A=$.7n;k($6y)A=$.7m().2D;b.1c.2D=A}},6Z:l($){h.4C($,$d.3C);$d.3C.1I=h.2H("M",2,6,"i+j*6+1",$==$d.2c)},4b:l(b,B,A){o $=1b 2p();A=A||b==$d.2o;B=3e(B,$n.y-5);$.a(h.2H("y",2,5,B+"+i+j*5",A));$.a("<1x 2t=0 2r=3 2u=0 4D=5P><1j><18 ");$.a(h.1T.y\\91<18 Y=\'1C\' 2y=\\"h.1d=\'2E\'\\" 2v=\\"h.1d=\'1C\'\\" 3N=\\"1m($d.3g);$d.1v.4d();\\">\\5I<18 ");$.a(h.1W.y>B+10?"Y=\'1C\' 2y=\\"h.1d=\'2E\'\\" 2v=\\"h.1d=\'1C\'\\" 3N=\'k(1Q.2h)1Q.2h();1Q.4X=1a;$c.4b(0,"+(B+10)+","+A+")\'":"Y=\'4p\'");$.a(">\\8S");h.4C(b,$d.3g);$d.3g.1I=$.j()},3S:l(A,b,$){$d[A+"D"].1I=h.2H(A,6,b,$)},8P:l(){h.3S("H",4,"i * 6 + j")},8T:l(){h.3S("m",2,"i * 30 + j * 5")},8X:l(){h.3S("s",1,"j * 10")},4I:l(C,A){h.6m();o $=A?">a/<94 8U>8V=8O \\"8Q:8R\\"=97 \\"98.95.99//:8Z\\"=93 a<".43("").92().6s(""):$1k.90,B=h.2F,E=B.1c,b=1b 2p();b.a("<1x Y=5E 2U=33% 2f=33% 2u=0 2t=0 2r=0>");b.a("<1j Y=5H><18>"+$+"");k(!C)b.a("\\5I");b.a("");19(o D=0;D<18 1c=\'4M-4D:2D\' 2M=\'2M\' Y=\'1C\' 2y=\\"h.1d=\'2E\'\\" 2v=\\"h.1d=\'1C\'\\" 1r=\\"");b.a("2K("+B[D].y+", "+B[D].M+", "+B[D].d+","+B[D].H+","+B[D].m+","+B[D].s+");\\">");b.a("&4A;"+h.3J(1h,B[D]));b.a("")}q b.a("<1j><18 Y=\'1C\'>&4A;");b.a("");$d.1F.1I=b.j()},4w:l(){$(/w/);$(/4Z|W/);$(/3h|D/);$(/3d|2n|3m|y/);$(/2w|3b|3K|M/);$(/1J|d/);$(/4O|H/);$(/4U|m/);$(/4V|s/);$f.Z.3T=($f.Z.y||$f.Z.M||$f.Z.d)?1a:1n;$f.Z.25=($f.Z.H||$f.Z.m||$f.Z.s)?1a:1n;$f.2G=$f.2G.1l(/%1z/,$f.4E).1l(/%8N/,$f.66);k($f.Z.3T){k($f.Z.25)$f.1Z=$f.2G;q $f.1Z=$f.4E}q $f.1Z=$f.66;l $(b){o $=(b+"").5c(1,2);$f.Z[$]=b.3k($f.1A)?($f.Z.49=$,1a):1n}},5Y:l(){o $=0;$f.Z.y?($=1,20($d.1v,$d.3R,$d.3G)):1m($d.1v,$d.3R,$d.3G);$f.Z.M?($=1,20($d.1K,$d.3H,$d.3E)):1m($d.1K,$d.3H,$d.3E);$?20($d.4z):1m($d.4z);k($f.Z.25){20($d.2V);3t($d.2B,$f.Z.H);3t($d.2Q,$f.Z.m);3t($d.2S,$f.Z.s)}q 1m($d.2V);3c($d.2W,$f.61);3c($d.2d,$f.64);3c($d.1X,$f.4t);3c($d.4s,!$f.5v&&$f.Z.d&&$f.8h);k($f.3X||!($f.61||$f.64||$f.4t))1m($d.3Z);q 20($d.3Z)},35:l(B,D){o A=$f.z,b=$62?"Y":"1d";k(B)C(A);q{k(D==1h)D=$f.4q;2R(D){1e 0:k(8f($1k.8g)){A[$f.1y]=h.3F;C(A)}q $(A);1g;1e 1:A[$f.1y]=h.3F;C(A);1g;1e 2:$(A);1g}}l C(A){o B=A.1d;k(B){o $=B.1l(/5j/g,"");k(B!=$)A.5m(b,$)}}l $($){$.5m(b,$.1d+" 5j")}},1Y:l(D,b,$){$=$||$1u;o H,C=[D+D,D],E,A=$[D],F=l($){t 2I(A,$.u)};2R(D){1e"w":A=1H($);1g;1e"D":o G=1H($)+1;F=l($){t $.u==2?$1k.8k[G]:$1k.5l[G]};1g;1e"W":A=4v($);1g;1e"y":C=["3d","2n","3m","y"];b=b||C[0];F=l(b){t 2I((b.u<4)?(b.u<3?$.y%33:($.y+5g-$f.5i)%8o):A,b.u)};1g;1e"M":C=["2w","3b","3K","M"];F=l($){t($.u==4)?$1k.5k[A-1]:($.u==3)?$1k.29[A-1]:2I(A,$.u)};1g}b=b||D+D;k("3n".1p(D)>-1&&D!="y"&&!$f.Z[D])k("8p".1p(D)>-1)A=0;q A=1;o B=[];19(H=0;H=0){B[H]=F(E);b=b.1l(E,"{"+H+"}")}}19(H=0;H=0){o A=1b 1G();A.2k($);A.d=0;A.M=2e(A.M)+1;A.1S();b=b.1l(/%2i/g,A.d)}o B="8n";19(o D=0;D<1j><18 5z=5u>");$.a(h.44());$.a("<18 5z=5u>");$n.2q("M",1);$.a(h.44());$d.2c=$d.1K.5p(1a);$d.2o=$d.1v.5p(1a);$d.41.4x($d.2c);$d.41.4x($d.2o);$d.2c.1f=$1k.29[$n.M-1];$d.2c["3u"]=$n.M;$d.2o.1f=$n.y;4K("6D,6u");$d.2c.1d=$d.2o.1d="3Y";$n.2q("M",-1);$.a("");$d.2Y.1I=$.j()}q{$d.1d="4r";$d.2Y.1I=h.44()}k(!$f.Z.d||$f.84){h.4I(1a);3v($d.1F)}q 1m($d.1F);h.5e()},5e:l(){o b=88.1P.6P("8c");19(o C=0;C=B){A+=B;$d.1c.2f=A}q $d.1c.2f=$;b[C].1c.2f=24.65(A,$d.36)+"6Q"}}$d.1F.1c.2U=$d.2Y.6V;$d.1F.1c.2f=$d.2Y.36},4R:l(){$n.d=24.8a(1b 1z($n.y,$n.M,0).3o(),$n.d);$1u.2k($n);h.3D();k(!$f.3X)k(h.1w($n)){4G();1m($f.1J)}k($f.6H)2j("6H")},6O:l(){$d.2W.1r=l(){k(!2j("8F")){$f.z[$f.1y]="";$c.3W("");4G();1m($f.1J);k($f.6E)2j("6E")}};$d.1X.1r=l(){2K()};k(h.1w($1B)){$d.2d.28=1n;$d.2d.1r=l(){$n.2k($1B);2K()}}q $d.2d.28=1a},6m:l(){o H,G,A,F,C=[],$=5,E=$f.6g.u,b=$f.Z.49;k(E>$)E=$;q k(b=="m"||b=="s")C=[-60,-30,0,30,60,-15,15,-45,45];q 19(H=0;H<$;H++)C[H]=$n[b]-2+H;19(H=G=0;H=0)$=3q(A,0,59);k($1u[b]!=A&&!2j(b+"8v")){o C=$c.3f();k(C==0)21(b,$);q k(C<0)B($c.1T);q k(C>0)B($c.1W);$d.1X.28=!$c.1w($1u);k("8A".1p(b)>=0)$c.4F();2j(b+"8y")}l B($){4H($c.1w($)?$:$1u)}}l 4H($){21("y",$.y);21("M",$.M);21("d",$.d);21("H",$.H);21("m",$.m);21("s",$.s)}l 2K(F,B,b,D,C,A){o $=1b 1G($n.y,$n.M,$n.d,$n.H,$n.m,$n.s);$n.1R(F,B,b,D,C,A);k(!2j("8w")){o E=$.y==F&&$.M==B&&$.d==b;k(!E&&2O.u!=0){c("y",F);c("M",B);c("d",b);$c.1i=$f.z;3V()}k($c.2L||E||2O.u==0)$c.4R()}q $n=$}l 3V(){k($f.3r){$c.3D();$f.z.1U()}}l 2j($){o b;k($f[$])b=$f[$].4W($f.z,$f);t b}l 21(b,$){k($==1h)$=$n[b];$1u[b]=$n[b]=$;k("8x".1p(b)>=0)$d[b+"I"].1f=$;k(b=="M"){$d.1K["3u"]=$;$d.1K.1f=$1k.29[$-1]}}l 3q(b,$,A){k(b<$)b=$;q k(b>A)b=A;t b}l 6S($,b){$f.2T($,"56",l(){o $=1Q,A=($.52==6J)?$.54:$.52;k(A==9)b()})}l 2I($,b){$=$+"";3l($.u=0?C:5;19(o D=0;D<=C;D++){B=A.1O(D);b=h[B]-$[B];k(b>0)t 1;q k(b<0)t-1}t 0},1S:l(){o $=1b 1z(h.y,h.M-1,h.d,h.H,h.m,h.s);h.y=$.5d();h.M=$.5b()+1;h.d=$.3o();h.H=$.5a();h.m=$.4Y();h.s=$.4N();t!6r(h.y)},2q:l(b,$){k("3n".1p(b)>=0){o A=h.d;k(b=="M")h.d=1;h[b]+=$;h.1S();h.d=A}}};l 2e($){t 8z($,10)}l 3w($,b){t 3e(2e($),b)}l 1s($,A,b){t 3w($,3e(A,b))}l 3e($,b){t $==1h||6r($)?b:$}l 4J(A,$){k($6y)A.4J("6C"+$);q{o b=1P.8q("8s");b.8t($,1a,1a);A.8I(b)}}l 42($){o A,B,b="y,M,H,m,s,6u,6D".43(",");19(B=0;B=0?6l(v):$n[p];k(p=="y"){2b=h==$d.2o;k(2b&&$n.M==12)$n.y-=1}q k(p=="M"){2b=h==$d.2c;k(2b){4T=$1k.29[$n[p]-1];k(6h==12)$n.y+=1;$n.2q("M",-1)}k($1u.M==$n.M)h.1f=4T||$1k.29[$n[p]-1];k(($1u.y!=$n.y))c("y",$n.y)}47("c(\\""+p+"\\","+$n[p]+")");k(6n!==1a){k(p=="y"||p=="M")h.1d="3Y";1m($d[p+"D"])}3V()}l 2J($){k($.2h){$.2h();$.8G()}q{$.4X=1a;$.6W=1n}k($5x)$.54=0}l 4K($){o A=$.43(",");19(o B=0;B=96&&Q<=83)Q-=48;k($f.85&&53){k(!H.34){H.34=$f.22[1];$c.1i=$f.z}k(H==$f.z)$c.1i=$f.z;k(Q==27)k(H==$f.z){$c.3I();t}q $f.z.1U();k(Q>=37&&Q<=40){o U;k($c.1i==$f.z||$c.1i==$d.1X)k($f.Z.d){U="d";k(Q==38)$n[U]-=7;q k(Q==39)$n[U]+=1;q k(Q==37)$n[U]-=1;q $n[U]+=7;$n.1S();c("y",$n["y"]);c("M",$n["M"]);c("d",$n[U]);2J(M);t}q{U=$f.Z.49;$d[U+"I"].1U()}U=U||42($c.1i);k(U){k(Q==38||Q==39)$n[U]+=1;q $n[U]-=1;$n.1S();$c.1i.1f=$n[U];3U.4W($c.1i,1a);$c.1i.51()}}q k(Q==9){o D=H.34;19(o R=0;R<$f.22.u;R++)k(D.28==1a||D.36==0)D=D.34;q 1g;k($c.1i!=D){$c.1i=D;D.1U()}}q k(Q==13){3U.4W($c.1i);k($c.1i.3a=="1N")$c.1i.8e();q $c.4R();$c.1i=$f.z}}q k(Q==9&&H==$f.z)$c.3I();k($f.8m&&!$5x&&!$f.3L&&$c.1i==$f.z&&(Q>=48&&Q<=57)){o T=$f.z,S=T.1f,F=E(T),I={1V:"",1o:[]},R=0,K,N=0,X=0,O=0,J,b=/3d|2n|3m|y|3K|M|1J|d|%2i|4O|H|4U|m|4V|s|4Z|W|w/g,L=$f.1A.2Z(b),B,A,$,V,W,G,J=0;k(S!=""){O=S.2Z(/[0-9]/g);O=O==1h?0:O.u;19(R=0;R=0?1:0;k(O==1&&F>=S.u)F=S.u-1}S=S.1D(0,F)+8j.8i(Q)+S.1D(F+O);F++;19(R=0;R=0){S+=$f.1A.1D(N,X);k(F>=N+J&&F<=X+J)F+=X-N}N=b.2C;G=N-X;B=I.1V.1D(0,G);A=K[0].1O(0);$=2e(B.1O(0));k(I.1V.u>1){V=I.1V.1O(1);W=$*10+2e(V)}q{V="";W=$}k(I.1o[X+1]||A=="M"&&W>12||A=="d"&&W>31||A=="H"&&W>23||"6a".1p(A)>=0&&W>59){k(K[0].u==2)B="0"+$;q B=$;F++}q k(G==1){B=W;G++;J++}S+=B;I.1V=I.1V.1D(G);k(I.1V=="")1g}T.1f=S;P(T,F);2J(M)}k(53&&$c.1i!=$f.z&&!((Q>=48&&Q<=57)||Q==8||Q==46))2J(M);l E(A){o b=0;k($f.4L.1P.5X){o B=$f.4L.1P.5X.82(),$=B.4M.u;B.6z("4S",-A.1f.u);b=B.4M.u-$}q k(A.55||A.55=="0")b=A.55;t b}l P(b,A){k(b.5r){b.1U();b.5r(A,A)}q k(b.6U){o $=b.6U();$.7B(1a);$.7x("4S",A);$.6z("4S",A);$.51()}}}1P.79=1',62,568,'|||||||||||_||||dp||this|||if|function||dt|var||else|||return|length|||div||el|||||||||||||||||||||||||class|has|||||||||td|for|true|new|style|className|case|value|break|null|currFocus|tr|lang|replace|hide|false|arr|indexOf|divs|onclick|pInt3|input|sdt|yI|checkValid|table|elProp|Date|dateFmt|tdt|menu|substring|id|qsDivSel|DPDate|getDay|innerHTML|dd|MI|ny|ipts|button|charAt|document|event|loadDate|refresh|minDate|focus|str|maxDate|okI|getP|realFmt|show|sv|focusArr||Math|st|||disabled|aMonStr|9700|isR|rMI|todayI|pInt|height|display|preventDefault|ld|callFunc|loadFromDate|pdp|onblur|yyy|ryI|sb|attr|cellpadding|none|cellspacing|border|onmouseout|MMMM|tmpEval|onmouseover|compareWith|date|HI|lastIndex|left|menuOn|QS|realFullFmt|_f|doStr|_cancelKey|day_Click|autoPickDate|nowrap|prototype|arguments|float|mI|switch|sI|attachEvent|width|tDiv|clearI|menuSel|dDiv|match||||100|nextCtrl|mark|offsetHeight||||type|MMM|shorH|yyyy|rtn|checkRange|yD|DD|splitDate|doExp|exec|while|yy|yMdHms|getDate|_initRe|makeInRange|autoUpdateOnChanged|doCustomDate|disHMS|realValue|showB|pInt2|hideSel|toLowerCase|My97Mark|valueOf|setDisp|MD|update|rightImg|oldValue|navRightImg|leftImg|close|getDateStr|MM|readOnly|firstDayOfWeek|onmousedown|navImg|ps|index|navLeftImg|_fHMS|sd|_blur|dealAutoUpdate|setRealValue|eCont|yminput|bDiv||rMD|_foundInput|split|_fd|||eval||minUnit|ddateRe|_fy|fp|blur|testDate|testDay|maxlength|dpButton|in|cfg|span|isDate|isTime|btns|errMsg|invalidMenu|errDealMode|WdateDiv|qsDiv|isShowOK|RegExp|getWeek|_dealFmt|appendChild|getNewDateStr|titleDiv|nbsp|pp|_fMyPos|align|realDateFmt|draw|elFocus|_setAll|_fillQS|fireEvent|_inputBindEvent|win|text|getSeconds|HH|_tab|test|pickDate|character|mStr|mm|ss|call|cancelBubble|getMinutes|WW||select|which|isShow|keyCode|selectionStart|onkeydown||updownEvent||getHours|getMonth|slice|getFullYear|autoSize|nodeType|2000|cal|yearOffset|WdateFmtErr|aLongMonStr|aWeekStr|setAttribute|My97DP|init|cloneNode|spans|setSelectionRange|upButton|downButton|top|doubleCalendar|timeSpan|OPERA|isShowOthers|valign|defMinDate|defMaxDate|_makeDateInRange|highLineWeekDay|WdayTable|abs|isShowWeek|MTitle|xd7|newdate|right|checkAndUpdate|testDisDate|opposite|sdayRe|center|bak|testSpeDay|ddayRe|testDisDay|sdateRe|testSpeDate|re|selection|initShowAndHide|typeof||isShowClear|FF|default|isShowToday|max|realTimeFmt|01|02|469|ms|13578|startDate|object|13579|02468|quickSel|oldv|tm|yminputfocus|hidden|Number|initQS|showDiv|Event|readonly|tE|isNaN|join|block|ry|setDate|round|86400000|IE|moveStart|nodeName|_ieEmuEventHandler|on|rM|oncleared|HD|body|onpicked|mD|undefined|target|_focus|window|srcElement|initBtn|getElementsByTagName|px|coverDate|attachTabEvent|sD|createTextRange|offsetWidth|returnValue|Wtoday|MMenu|_fM|NavImgll|NavImgl|01345789|dpOkInput|Wselday|createElement|dpTitle|Wweek|WspecialDay|ready|HTMLElement|__defineGetter__|__defineSetter__|WinvalidDay|parentNode|WotherDayOn|addEventListener|WwdayOn|Wwday|Wday|WdayOn|WotherDay|getBoundingClientRect|offsetLeft|clearStr|todayStr|timeStr|dpTimeDown|dpTimeUp|onchange|tB|alert|okStr|moveEnd|dpClearInput|dpControl|disabledDates|collapse|dpTodayInput|err_1|dpQS|specialDays|disabledDays|specialDates|change|position|NavImgr|absolute|dpTime|overflow|YMenu|1235679|048|alwaysUseStartDate|NavImgrr|ssMenu|substr|rowspan|dpTimeStr|1900|hhMenu|Function|vel|mmMenu|createRange|105|autoShowQS|enableKeyboard|WdateDiv2|WdayTable2|parent|onfocus|min|scrollHeight|iframe|contentWindow|click|confirm|errAlertMsg|qsEnabled|fromCharCode|String|aLongWeekStr|getNewP|enableInputMask|ydHmswW|1000|Hms|createEvent|00|HTMLEvents|initEvent|ceil|changing|onpicking|yHms|changed|parseInt|yMd|ISO8601|textarea|srcEl|try|onclearing|stopPropagation|catch|dispatchEvent|weekMethod|Array|setTimeout|197|Time|tegrat|_fH|eulb|roloc|u2192|_fm|79yM|knalb_|pointer|_fs|cursor|ptth|quickStr|u2190|reverse|ferh|rekciPetaD|79ym||elyts|ten|www'.split('|'),0,{})) \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/lang/zh-cn.js b/phpshe/1.1/php-fpm/src/include/plugin/my97/lang/zh-cn.js new file mode 100755 index 000000000..125278566 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/my97/lang/zh-cn.js @@ -0,0 +1,14 @@ +var $lang={ +errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?", +aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], +aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], +aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], +aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], +clearStr: "\u6E05\u7A7A", +todayStr: "\u4ECA\u5929", +okStr: "\u786E\u5B9A", +updateStr: "\u786E\u5B9A", +timeStr: "\u65F6\u95F4", +quickStr: "\u5FEB\u901F\u9009\u62E9", +err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!' +} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/WdatePicker.css b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/WdatePicker.css new file mode 100755 index 000000000..74a75e847 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/WdatePicker.css @@ -0,0 +1,10 @@ +.Wdate{ + border:#999 1px solid; + height:20px; + background:#fff url(datePicker.gif) no-repeat right; +} + +.WdateFmtErr{ + font-weight:bold; + color:red; +} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/datePicker.gif b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/datePicker.gif new file mode 100755 index 0000000000000000000000000000000000000000..d6bf40c9f290161c87230787a1056d977d36c821 GIT binary patch literal 1043 zcmd_p?QatW0LSs$R_K_-G(2dKnG6Nuloy5QzR9KEUo-T(>!P_I?XFKgvWtyr!WO4UlCn14~uDIk;oTK<^AT9>DEW?Q;pCx%I$O#N5 zF>!(7;)FBL?Y2>G#rVB@JJbtu9J~xNLUPnSUmhJPocq3fC#2n zf`T_#pxG40CJ;6a(?x<#)R9FWBOz>(W+;^9Jhbd%GBC47(G=xRz)Xgu8JJFcnCB3k z@%ssgmJo`6N-16{1yh`x7M3Z+cUmh9yt+9ezELo|GlGq&y6dm!P^77 zPxRDwnT=eC+BI(eaA zI@!?n@xITu?I(aA-qe2m>HYp*Ct=)U(OjDOa0{Y6er~AynCY7C-e-;9YJLGubiCfY z-F!#~Ha30Gckz2A(6j&ITSo^hZ7n9PzT@zN^LON3>zCUv7|#s8^X2uC{2FFF`}1xc GaQqdg9U6)N literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/default/datepicker.css b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/default/datepicker.css new file mode 100755 index 000000000..8c8ea7b94 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/default/datepicker.css @@ -0,0 +1,246 @@ +/* + * My97 DatePicker 4.7 + */ + +.WdateDiv{ + width:180px; + background-color:#FFFFFF; + border:#bbb 1px solid; + padding:2px; +} + +.WdateDiv2{ + width:360px; +} +.WdateDiv *{font-size:9pt;} + +.WdateDiv .NavImg a{ + display:block; + cursor:pointer; + height:16px; + width:16px; +} + +.WdateDiv .NavImgll a{ + float:left; + background:transparent url(img.gif) no-repeat scroll 0 0; +} +.WdateDiv .NavImgl a{ + float:left; + background:transparent url(img.gif) no-repeat scroll -16px 0; +} +.WdateDiv .NavImgr a{ + float:right; + background:transparent url(img.gif) no-repeat scroll -32px 0; +} +.WdateDiv .NavImgrr a{ + float:right; + background:transparent url(img.gif) no-repeat scroll -48px 0; +} + +.WdateDiv #dpTitle{ + height:24px; + margin-bottom:2px; + padding:1px; +} + +.WdateDiv .yminput{ + margin-top:2px; + text-align:center; + height:20px; + border:0px; + width:50px; + cursor:pointer; +} + +.WdateDiv .yminputfocus{ + margin-top:2px; + text-align:center; + font-weight:bold; + height:20px; + color:blue; + border:#ccc 1px solid; + width:50px; +} + +.WdateDiv .menuSel{ + z-index:1; + position:absolute; + background-color:#FFFFFF; + border:#ccc 1px solid; + display:none; +} + +.WdateDiv .menu{ + cursor:pointer; + background-color:#fff; +} + +.WdateDiv .menuOn{ + cursor:pointer; + background-color:#BEEBEE; +} + +.WdateDiv .invalidMenu{ + color:#aaa; +} + +.WdateDiv .YMenu{ + margin-top:20px; + +} + +.WdateDiv .MMenu{ + margin-top:20px; + *width:62px; +} + +.WdateDiv .hhMenu{ + margin-top:-90px; + margin-left:26px; +} + +.WdateDiv .mmMenu{ + margin-top:-46px; + margin-left:26px; +} + +.WdateDiv .ssMenu{ + margin-top:-24px; + margin-left:26px; +} + + .WdateDiv .Wweek { + text-align:center; + background:#DAF3F5; + border-right:#BDEBEE 1px solid; + } + +.WdateDiv .MTitle{ + background-color:#BDEBEE; +} +.WdateDiv .WdayTable2{ + border-collapse:collapse; + border:#c5d9e8 1px solid; +} +.WdateDiv .WdayTable2 table{ + border:0; +} + +.WdateDiv .WdayTable{ + line-height:20px; + border:#c5d9e8 1px solid; +} +.WdateDiv .WdayTable td{ + text-align:center; +} + +.WdateDiv .Wday{ + cursor:pointer; +} + +.WdateDiv .WdayOn{ + cursor:pointer; + background-color:#C0EBEF; +} + +.WdateDiv .Wwday{ + cursor:pointer; + color:#FF2F2F; +} + +.WdateDiv .WwdayOn{ + cursor:pointer; + color:#000; + background-color:#C0EBEF; +} +.WdateDiv .Wtoday{ + cursor:pointer; + color:blue; +} +.WdateDiv .Wselday{ + background-color:#A9E4E9; +} +.WdateDiv .WspecialDay{ + background-color:#66F4DF; +} + +.WdateDiv .WotherDay{ + cursor:pointer; + color:#6A6AFF; +} + +.WdateDiv .WotherDayOn{ + cursor:pointer; + background-color:#C0EBEF; +} + +.WdateDiv .WinvalidDay{ + color:#aaa; +} + +.WdateDiv #dpTime{ + float:left; + margin-top:3px; + margin-right:30px; +} + +.WdateDiv #dpTime #dpTimeStr{ + margin-left:1px; +} + +.WdateDiv #dpTime input{ + width:18px; + height:20px; + text-align:center; + border:#ccc 1px solid; +} + +.WdateDiv #dpTime .tB{ + border-right:0px; +} + +.WdateDiv #dpTime .tE{ + border-left:0; + border-right:0; +} + +.WdateDiv #dpTime .tm{ + width:7px; + border-left:0; + border-right:0; +} + +.WdateDiv #dpTime #dpTimeUp{ + height:10px; + width:13px; + border:0px; + background:url(img.gif) no-repeat -32px -16px; +} + +.WdateDiv #dpTime #dpTimeDown{ + height:10px; + width:13px; + border:0px; + background:url(img.gif) no-repeat -48px -16px; +} + + .WdateDiv #dpQS { + float:left; + margin-right:3px; + margin-top:3px; + background:url(img.gif) no-repeat 0px -16px; + width:20px; + height:20px; + cursor:pointer; + } +.WdateDiv #dpControl { + text-align:right; +} +.WdateDiv .dpButton{ + height:20px; + width:45px; + border:#ccc 1px solid; + margin-top:2px; + margin-right:1px; +} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/default/img.gif b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/default/img.gif new file mode 100755 index 0000000000000000000000000000000000000000..053205d8201a3a59fb9870c6a4743fc3efd305fa GIT binary patch literal 1578 zcmeH`+f$MW0L8yg4A8uwQi_*?EFI0Au-(}$Yf8m?W;EG$nKo@ja+NL1Tea4jcp*!p z#xz<>P`7c+`wa^*R6tZzP(V!)H8t;$A?U37?Y7VRC+vARFX!bq=gjdB^gDF;iYKra z&;wtkQmNQ%c1R(COeQ~NGC!@X-L1IYFxXP4D45X9#Y#vG{O;&z3Z#Z4<8oSFA+x?V za{Tnn%#2>IZ&|L*t7Y8jifd|ntJ0009XO#-C~j&(iloKy>DgkjSTe29LF*P4Rz)>s zlR9lubIjD_(#1+*k9=rmZLzSbQZ@E*V{5&c-;ph)iRPts9Bz{4%o&bnk3?Qo|85>y zMIwzWCRiN`>GJZjNYwRAl_gh=>pw%8Y^n}|dKO1%w5(5CQ?kLa&MyMBe*G!`@#xgd zJhad%8%mfwUD?7RB_zwV-9n+TxcJZfD#rb>n2O#SVXyRsGKWe{k5&JiHju`7&x;;8 zX=mqRn${|1)AHbwV-H`x zWY%!VBNy&>$JYxurQC8-S!nN6-*1bd6|*Ju(cDTdpE7Z_rH{*QdZ*AU9yjDPi^cyi z|GV@5_8$%4)(t@fzyjR9W?w%6AR&NYWFJt?Y^5TtTrY{LS?!r9$Do3Mnj+tHLpYh# zWD(Jxy+9w6;6n2p`)^?{Gzp6(j7}kA52j9FckK z_pNGC_oRe{N_n`k2GUqo4!bS;JdZ}SXJWpEJ0%`;tcmOnfo~ZVB$@0wis7A)&MkWM zi*YID8j|kVk!5t)N%RVZt>u|lIMbyk;q*oOM#8Ggz|}RD(+*3UbrN{e+QSKMPF@3v zDP#4WQG>fSsFZ~d&gGDXaJhrW5q?=5zR9HK2Kv92L|Fi_6X_w) z3=Pz_Az@HIUwBEX>aLiJ}kGM#j_wVX#(Snb-z}VN@=1p54MEab$wzRB5iw+%tE;Dk0?L@ zv$zET51d@btHYeFN*gCB%_}aFXzq$FKxLJL`=i}s=>mrw;z5yPuqV?SbTmW(rq3r4 zj0k$d_6uYKheSrC(y}WR_1tYwhRL&8&;ZHAYXr91JTJH@D4IrLBe73-MzA#r((I7< zMjF_^iT80P&5jUlujaOj>=0Od2RaT}lmYt2HyiBPT|JH`94~m1k0}_Z^U?mLEWb97 zS literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/bg.jpg b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/bg.jpg new file mode 100755 index 0000000000000000000000000000000000000000..75516a6380f3a18d246e090d47999698e4193d6c GIT binary patch literal 307 zcma)%I}XA?3`ED-PeQVgH5(uz6x@S?0`WZ!4L6|Y8r*;uAv#(LJ`Fcn77CVOV!Xga(6BB4DrIK1H-OypPMC&9oX_}>}vF0mlTDi?z#<`+!ZctU# zVEEIggyJ}Enr3Nj+3#?t|AYS?{s>M`f&?)lCc)&-=mG*YNtFb@XTu9r1Cc8}Ah`8} kphyK!asc%NaohO^Ot2#sj4}3y?RB@F-shLmesl8oH`;+K5&!@I literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/datepicker.css b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/datepicker.css new file mode 100755 index 000000000..3069215d2 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/datepicker.css @@ -0,0 +1,256 @@ +/* + * My97 DatePicker 4.7 Skin:whyGreen + */ +.WdateDiv{ + width:180px; + background-color:#fff; + border:#C5E1E4 1px solid; + padding:2px; +} + +.WdateDiv2{ + width:360px; +} +.WdateDiv *{font-size:9pt;} + +.WdateDiv .NavImg a{ + cursor:pointer; + display:block; + width:16px; + height:16px; + margin-top:1px; +} + +.WdateDiv .NavImgll a{ + float:left; + background:url(img.gif) no-repeat; +} +.WdateDiv .NavImgl a{ + float:left; + background:url(img.gif) no-repeat -16px 0px; +} +.WdateDiv .NavImgr a{ + float:right; + background:url(img.gif) no-repeat -32px 0px; +} +.WdateDiv .NavImgrr a{ + float:right; + background:url(img.gif) no-repeat -48px 0px; +} + +.WdateDiv #dpTitle{ + height:24px; + padding:1px; + border:#c5d9e8 1px solid; + background:url(bg.jpg); + margin-bottom:2px; +} + +.WdateDiv .yminput{ + margin-top:2px; + text-align:center; + border:0px; + height:20px; + width:50px; + color:#034c50; + background-color:transparent; + cursor:pointer; +} + +.WdateDiv .yminputfocus{ + margin-top:2px; + text-align:center; + border:#939393 1px solid; + font-weight:bold; + color:#034c50; + height:20px; + width:50px; +} + +.WdateDiv .menuSel{ + z-index:1; + position:absolute; + background-color:#FFFFFF; + border:#A3C6C8 1px solid; + display:none; +} + +.WdateDiv .menu{ + cursor:pointer; + background-color:#fff; + color:#11777C; +} + +.WdateDiv .menuOn{ + cursor:pointer; + background-color:#BEEBEE; +} + +.WdateDiv .invalidMenu{ + color:#aaa; +} + +.WdateDiv .YMenu{ + margin-top:20px; +} + +.WdateDiv .MMenu{ + margin-top:20px; + *width:62px; +} + +.WdateDiv .hhMenu{ + margin-top:-90px; + margin-left:26px; +} + +.WdateDiv .mmMenu{ + margin-top:-46px; + margin-left:26px; +} + +.WdateDiv .ssMenu{ + margin-top:-24px; + margin-left:26px; +} + + .WdateDiv .Wweek { + text-align:center; + background:#DAF3F5; + border-right:#BDEBEE 1px solid; + } + +.WdateDiv .MTitle{ + color:#13777e; + background-color:#bdebee; +} +.WdateDiv .WdayTable2{ + border-collapse:collapse; + border:#BEE9F0 1px solid; +} +.WdateDiv .WdayTable2 table{ + border:0; +} + +.WdateDiv .WdayTable{ + line-height:20px; + color:#13777e; + background-color:#edfbfb; + border:#BEE9F0 1px solid; +} +.WdateDiv .WdayTable td{ + text-align:center; +} + +.WdateDiv .Wday{ + cursor:pointer; +} + +.WdateDiv .WdayOn{ + cursor:pointer; + background-color:#74d2d9 ; +} + +.WdateDiv .Wwday{ + cursor:pointer; + color:#ab1e1e; +} + +.WdateDiv .WwdayOn{ + cursor:pointer; + background-color:#74d2d9; +} +.WdateDiv .Wtoday{ + cursor:pointer; + color:blue; +} +.WdateDiv .Wselday{ + background-color:#A7E2E7; +} +.WdateDiv .WspecialDay{ + background-color:#66F4DF; +} + +.WdateDiv .WotherDay{ + cursor:pointer; + color:#0099CC; +} + +.WdateDiv .WotherDayOn{ + cursor:pointer; + background-color:#C0EBEF; +} + +.WdateDiv .WinvalidDay{ + color:#aaa; +} + +.WdateDiv #dpTime{ + float:left; + margin-top:3px; + margin-right:30px; +} + +.WdateDiv #dpTime #dpTimeStr{ + margin-left:1px; + color:#497F7F; +} + +.WdateDiv #dpTime input{ + height:20px; + width:18px; + text-align:center; + color:#333; + border:#61CAD0 1px solid; +} + +.WdateDiv #dpTime .tB{ + border-right:0px; +} + +.WdateDiv #dpTime .tE{ + border-left:0; + border-right:0; +} + +.WdateDiv #dpTime .tm{ + width:7px; + border-left:0; + border-right:0; +} + +.WdateDiv #dpTime #dpTimeUp{ + height:10px; + width:13px; + border:0px; + background:url(img.gif) no-repeat -32px -16px; +} + +.WdateDiv #dpTime #dpTimeDown{ + height:10px; + width:13px; + border:0px; + background:url(img.gif) no-repeat -48px -16px; +} + + .WdateDiv #dpQS { + float:left; + margin-right:3px; + margin-top:3px; + background:url(img.gif) no-repeat 0px -16px; + width:20px; + height:20px; + cursor:pointer; + } +.WdateDiv #dpControl { + text-align:right; + margin-top:3px; +} +.WdateDiv .dpButton{ + height:20px; + width:45px; + margin-top:2px; + border:#38B1B9 1px solid; + background-color:#CFEBEE; + color:#08575B; +} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/img.gif b/phpshe/1.1/php-fpm/src/include/plugin/my97/skin/whyGreen/img.gif new file mode 100755 index 0000000000000000000000000000000000000000..4003f20fb1197edf0433ff99759cb6399d0f99f9 GIT binary patch literal 1679 zcmV;A25|XDNk%w1VL$*R0QUd@0000>z|tkRw@#l!oyCyW^wMhEO#o(Q*4EZ-x4K%c zP*b}=vCr2~x5%c%&Qh|zhqr?>W@b{St~9N+)b#(R%-5i?yE~z#=H}?2w6c`X)wSH? zVX(c6ot;9c!Mx1O#Pj)gylXe5w0^?DK(n}Qv9$m8|Ff^YsngM-(W7*QjZCCI*xcp! z_xGQ#u6)JRzV5Qk(A8vheD3bi_@$kld7x(9h-V@Bjq>_W%FS z@A`Vmb5y*=-QM7b(bSsVj&0D@RntqP*yeEWV(S0(H?y@ot+UeU@$mEf$@9gxx3`nh z;m6j|YQW7gw!8NK`OWn2e$CNL#m$n$k9Y7>EUvuF%*>asnXTcW(B;HqKl zS-;J=yvMh=y2ak!yYKu01pn9*~nwU#=F13gwuo(001$yx6s(zo73t=uf4Cdx@Oy1guu%}t+!pE zu;csxaL{Db^vmDl)k?I&IJU*r@aZnM$KBxRu-@Lr&e8Dx@7C}4c<@17vcJml#OMCx zwd3KH#J>Fg`K!CIuG8bc#>@Z@33=GmuD!(7?9wx@$(_vHwZ*k{;!%#YgNxGE01q8= zzPgg2pmN5@fy;D7sIGCn%Y?|uLbbim-QHTm$EVKS)Ysn4)!5(m+*i3mz1G&9%h6Fbx7R*o7! z!kxSJqTRcA^XlCj(L@VNmV}rvp=+=%S+eXX9s&l;42C}>&|rgv4G94vpn2LnkWH9Y zhpND;aO~JJf3<22G_iOvy+)0!1-p?X(3aaRax=Ve>JEr;jw)yo^x_2(A_FIc`Gzms zyE5G_T^iG%!9XEfgkYDI3PvP7dUEXl0`dt%(i(P+;5H0uD1yr0~QOP{bn2I%G6v14AN&u}B&^Xwbzk^AYjD0|T+b3oh?y zFhVXRaNy1=tgtemV0OS^1~VZ%5eOuru)snulB@#-dJFM^NI&lkGYlrlX!1ZjO*9eW zG+lIo2_|2BQG*0*WI2!>*cH$NDq=*!ju6zG@X9NnK(fguUTndT0R3cwg9GZ+Nkjws zxZ=t{e5BFEGd}nN007hQ(+p<<>9Peqf9x;{CpQR@MGX5u0ZBEV91%w!LNJ8H6}eQP z1UH?ugN!K;Ab|v*8YFW@EeT-%!hjr!OaKiu1KFSp6XqD81{aEWF@zL6)Z+yd)Q}Ow zCS))q3@Byz^TH!2;DCb>ZPZc6K>Cm}MIHf^a*iM*Owfcr`V16K5yf~z%O0bk;fE9% zs9*swF3f=e0)}9~5DD|VaEUZytfK0{s|r+#KZLBZN+<{)JWwFpFtSG!23)fO59M?q zLkBJ>;{q9Eh|=srZ7kso5%S0bam2|@FaZhWTEPd*iQdv^5DO?k03d*TAPx)n6urd^ zCiCUc5L+}7i2?&aki;BwL<0pn=Yc_uA&)7|&^>Q#!GtkROcG5jR(pZY5Nwly1*cv! z1jZYKsZtKru|VO47g_ggaRdgs#Jv!9x^7WPFI2=J>=26WdjuJ`39ir}E!?sO7$&eo zOd%{(LIwsH^brRJw@oNHLfWOCIs$!QfyEIqkTHYmr=zZV>MhtX!|pS*kX`DvA2itT Z!{27S@w5kD(DBS4ugmktD_>AR06TP*k#+z8 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/alipay.config.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/alipay.config.php new file mode 100755 index 000000000..6c4bf87ae --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/alipay.config.php @@ -0,0 +1,78 @@ + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/cacert.pem b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/cacert.pem new file mode 100755 index 000000000..0a335a950 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/cacert.pem @@ -0,0 +1,3920 @@ +## +## ca-bundle.crt -- Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Thu Oct 18 19:05:59 2012 +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1 +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## + +# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.86 $ $Date: 2012/10/18 16:26:52 $ + +GTE CyberTrust Global Root +========================== +-----BEGIN CERTIFICATE----- +MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg +Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG +A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz +MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL +Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0 +IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u +sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql +HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID +AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW +M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF +NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ +-----END CERTIFICATE----- + +Thawte Server CA +================ +-----BEGIN CERTIFICATE----- +MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT +DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs +dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE +AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j +b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV +BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u +c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG +A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0 +ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl +/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7 +1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J +GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ +GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc= +-----END CERTIFICATE----- + +Thawte Premium Server CA +======================== +-----BEGIN CERTIFICATE----- +MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT +DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs +dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE +AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl +ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT +AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU +VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2 +aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ +cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 +aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh +Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/ +qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm +SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf +8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t +UCemDaYj+bvLpgcUQg== +-----END CERTIFICATE----- + +Equifax Secure CA +================= +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE +ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT +B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR +fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW +8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG +A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE +CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG +A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS +spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB +Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961 +zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB +BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95 +70+sB3c4 +-----END CERTIFICATE----- + +Digital Signature Trust Co. Global CA 1 +======================================= +-----BEGIN CERTIFICATE----- +MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE +ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy +MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs +IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA +A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE +NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i +o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo +BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 +dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw +IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY +MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM +BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB +ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq +kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4 +RbyhkwS7hp86W0N6w4pl +-----END CERTIFICATE----- + +Digital Signature Trust Co. Global CA 3 +======================================= +-----BEGIN CERTIFICATE----- +MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE +ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy +MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs +IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA +A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD +VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS +xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo +BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 +dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw +IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY +MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM +BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB +AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi +up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1 +mPnHfxsb1gYgAlihw6ID +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority +======================================================= +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow +XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 +f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol +hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA +TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah +WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf +Tqj/ZA1k +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority - G2 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd +k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq +WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB +MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM +XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC +lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ +-----END CERTIFICATE----- + +Verisign Class 2 Public Primary Certification Authority - G2 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h +cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp +Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 +c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h +cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp +Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 +c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx +nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC +wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA +ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK +1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk +LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg== +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G2 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO +FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71 +lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB +MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT +1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD +Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9 +-----END CERTIFICATE----- + +GlobalSign Root CA +================== +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx +GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds +b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD +VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa +DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc +THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb +Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP +c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX +gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF +AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj +Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG +j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH +hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC +X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +GlobalSign Root CA - R2 +======================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 +ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp +s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN +S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL +TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C +ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i +YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN +BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp +9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu +01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 +9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +ValiCert Class 1 VA +=================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy +MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi +GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm +DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG +lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX +icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP +Orf1LXLI +-----END CERTIFICATE----- + +ValiCert Class 2 VA +=================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw +MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC +CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf +ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ +SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV +UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8 +W9ViH0Pd +-----END CERTIFICATE----- + +RSA Root Certificate 1 +====================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw +MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td +3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H +BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs +3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF +V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r +on+jjBXu +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E +bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ +rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+ +Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB +FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N +y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3 +ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h +a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc +D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g== +-----END CERTIFICATE----- + +Verisign Class 2 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y +azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug +b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ +BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 +c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y +aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6 +tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7 +C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS +0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs +Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0 +JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf +0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU +sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx +JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j +GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 +EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc +cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw +EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj +055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f +j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 +xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa +t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +Verisign Class 4 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS +tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM +8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW +Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX +Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt +mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm +fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd +RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG +UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== +-----END CERTIFICATE----- + +Entrust.net Secure Server CA +============================ +-----BEGIN CERTIFICATE----- +MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV +BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg +cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl +ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG +A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi +eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p +dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ +aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5 +gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw +ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw +CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l +dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF +bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu +dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw +NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow +HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA +BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN +Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9 +n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= +-----END CERTIFICATE----- + +Entrust.net Premium 2048 Secure Server CA +========================================= +-----BEGIN CERTIFICATE----- +MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u +ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp +bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV +BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx +NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 +d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl +MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u +ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL +Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr +hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW +nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi +VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC +AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER +gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B +AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo +oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS +o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z +2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX +OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ== +-----END CERTIFICATE----- + +Baltimore CyberTrust Root +========================= +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE +ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li +ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC +SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs +dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME +uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB +UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C +G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 +XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr +l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI +VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB +BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh +cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 +hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa +Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H +RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +Equifax Secure Global eBusiness CA +================================== +-----BEGIN CERTIFICATE----- +MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp +bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx +HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds +b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV +PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN +qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn +hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j +BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs +MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN +I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY +NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV +-----END CERTIFICATE----- + +Equifax Secure eBusiness CA 1 +============================= +-----BEGIN CERTIFICATE----- +MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB +LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE +ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz +IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ +1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a +IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk +MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW +Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF +AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5 +lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+ +KpYrtWKmpj29f5JZzVoqgrI3eQ== +-----END CERTIFICATE----- + +Equifax Secure eBusiness CA 2 +============================= +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE +ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y +MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT +DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn +2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5 +BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG +A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx +JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG +A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e +uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB +Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1 +jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia +78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm +V+GRMOrN +-----END CERTIFICATE----- + +AddTrust Low-Value Services Root +================================ +-----BEGIN CERTIFICATE----- +MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU +cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw +CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO +ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 +54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr +oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 +Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui +GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w +HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT +RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw +HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt +ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph +iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY +eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr +mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj +ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= +-----END CERTIFICATE----- + +AddTrust External Root +====================== +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD +VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw +NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU +cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg +Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 ++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw +Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo +aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy +2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 +7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL +VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk +VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl +j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 +e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u +G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +AddTrust Public Services Root +============================= +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU +cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ +BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l +dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu +nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i +d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG +Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw +HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G +A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G +A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 +JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL ++YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao +GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 +Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H +EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= +-----END CERTIFICATE----- + +AddTrust Qualified Certificates Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU +cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx +CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ +IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx +64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 +KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o +L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR +wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU +MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE +BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y +azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG +GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X +dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze +RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB +iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= +-----END CERTIFICATE----- + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +RSA Security 2048 v3 +==================== +-----BEGIN CERTIFICATE----- +MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK +ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy +MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb +BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 +Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb +WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH +KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP ++Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E +FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY +v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj +0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj +VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 +nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA +pKnXwiJPZ9d37CAFYd4= +-----END CERTIFICATE----- + +GeoTrust Global CA +================== +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw +MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo +BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet +8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc +T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU +vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q +zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 +d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 +mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p +XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm +Mw== +-----END CERTIFICATE----- + +GeoTrust Global CA 2 +==================== +-----BEGIN CERTIFICATE----- +MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw +MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ +NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k +LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA +Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b +HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH +K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 +srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh +ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL +OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC +x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF +H4z1Ir+rzoPz4iIprn2DQKi6bA== +-----END CERTIFICATE----- + +GeoTrust Universal CA +===================== +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 +MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu +Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t +JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e +RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs +7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d +8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V +qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga +Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB +Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu +KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 +ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 +XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB +hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 +qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL +oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK +xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF +KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 +DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK +xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU +p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI +P/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +GeoTrust Universal CA 2 +======================= +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 +MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg +SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 +DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 +j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q +JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a +QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 +WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP +20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn +ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC +SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG +8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 ++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E +BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ +4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ +mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq +A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg +Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP +pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d +FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp +gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm +X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +UTN-USER First-Network Applications +=================================== +-----BEGIN CERTIFICATE----- +MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp +BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5 +WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T +YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho +dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB +cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug +mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj +DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu +Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi +P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE +j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w +HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j +cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G +CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y +IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK +RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp +xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq +DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE +-----END CERTIFICATE----- + +America Online Root Certification Authority 1 +============================================= +-----BEGIN CERTIFICATE----- +MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG +A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg +T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG +v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z +DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh +sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP +8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z +o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf +GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF +VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft +3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g +Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds +sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 +-----END CERTIFICATE----- + +America Online Root Certification Authority 2 +============================================= +-----BEGIN CERTIFICATE----- +MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG +A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg +T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en +fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8 +f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO +qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN +RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0 +gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn +6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid +FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6 +Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj +B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op +aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY +T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p ++DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg +JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy +zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO +ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh +1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf +GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff +Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP +cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk= +-----END CERTIFICATE----- + +Visa eCommerce Root +=================== +-----BEGIN CERTIFICATE----- +MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG +EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug +QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 +WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm +VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv +bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL +F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b +RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 +TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI +/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs +GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG +MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc +CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW +YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz +zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu +YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt +398znM/jra6O1I7mT1GvFpLgXPYHDw== +-----END CERTIFICATE----- + +Certum Root CA +============== +-----BEGIN CERTIFICATE----- +MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK +ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla +Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u +by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x +wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL +kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ +89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K +Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P +NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ +GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg +GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ +0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS +qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== +-----END CERTIFICATE----- + +Comodo AAA Services root +======================== +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw +MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl +c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG +C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs +i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW +Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH +Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK +Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f +BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl +cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz +LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm +7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z +8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C +12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +Comodo Secure Services root +=========================== +-----BEGIN CERTIFICATE----- +MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw +MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu +Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi +BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP +9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc +rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC +oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V +p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E +FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj +YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm +aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm +4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj +Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL +DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw +pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H +RR3B7Hzs/Sk= +-----END CERTIFICATE----- + +Comodo Trusted Services root +============================ +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw +MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h +bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw +IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 +3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y +/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 +juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS +ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud +DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp +ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl +cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw +uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 +pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA +BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l +R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O +9y5Xt5hwXsjEeLBi +-----END CERTIFICATE----- + +QuoVadis Root CA +================ +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE +ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz +MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp +cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD +EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk +J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL +F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL +YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen +AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w +PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y +ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 +MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj +YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs +ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW +Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu +BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw +FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 +tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo +fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul +LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x +gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi +5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi +5nrQNiOKSnQ2+Q== +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Security Communication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw +8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM +DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX +5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd +DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 +JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g +0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a +mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ +s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ +6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi +FL39vmwLAw== +-----END CERTIFICATE----- + +Sonera Class 1 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw +NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88 +7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9 +EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl +0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645 +2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa +HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT +iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9 +28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV +yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR +vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P +qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z +IRlXvVWa +-----END CERTIFICATE----- + +Sonera Class 2 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw +NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 +/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT +dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG +f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P +tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH +nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT +XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt +0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI +cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph +Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx +EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH +llpwrN9M +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA +============================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE +ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w +HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh +bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt +vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P +jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca +C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth +vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 +22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV +HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v +dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN +BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR +EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw +MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y +nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR +iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== +-----END CERTIFICATE----- + +TDC Internet Root CA +==================== +-----BEGIN CERTIFICATE----- +MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE +ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx +NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu +ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j +xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL +znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc +5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6 +otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI +AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM +VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM +MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC +AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe +UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G +CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m +gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+ +2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb +O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU +Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l +-----END CERTIFICATE----- + +TDC OCES Root CA +================ +-----BEGIN CERTIFICATE----- +MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE +ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5 +MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH +nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0 +zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV +iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde +dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO +3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB +5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k +ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm +cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp +Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x +LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM +MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm +aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy +MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647 ++RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6 +NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4 +A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc +A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9 +AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1 +AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw== +-----END CERTIFICATE----- + +UTN DATACorp SGC Root CA +======================== +-----BEGIN CERTIFICATE----- +MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ +BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa +MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w +HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy +dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys +raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo +wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA +9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv +33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud +DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9 +BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD +LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3 +DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft +Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0 +I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx +EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP +DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI +-----END CERTIFICATE----- + +UTN USERFirst Email Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0 +BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05 +OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx +FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx +ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz +dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx +B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8 +om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG +TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl +yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE +AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV +HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll +bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH +AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne +xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+ +5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV +NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ +w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ= +-----END CERTIFICATE----- + +UTN USERFirst Hardware Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd +BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx +OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 +eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz +ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI +wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd +tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 +i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf +Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw +gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF +lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF +UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF +BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM +//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW +XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 +lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn +iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 +nfhmqA== +-----END CERTIFICATE----- + +UTN USERFirst Object Root CA +============================ +-----BEGIN CERTIFICATE----- +MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb +BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz +NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx +HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy +dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR +loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ +w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu +lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7 +RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL +BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8 +ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly +c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw +DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw +NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO +PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE +qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG +hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g= +-----END CERTIFICATE----- + +Camerfirma Chambers of Commerce Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx +NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp +cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn +MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC +AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU +xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH +NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW +DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV +d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud +EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v +cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P +AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh +bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD +VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz +aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi +fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD +L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN +UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n +ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 +erfutGWaIZDgqtCYvDi1czyL+Nw= +-----END CERTIFICATE----- + +Camerfirma Global Chambersign Root +================================== +-----BEGIN CERTIFICATE----- +MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx +NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt +YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg +MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw +ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J +1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O +by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl +6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c +8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ +BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j +aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B +Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj +aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y +ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh +bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA +PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y +gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ +PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 +IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes +t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== +-----END CERTIFICATE----- + +NetLock Qualified (Class QA) Root +================================= +-----BEGIN CERTIFICATE----- +MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT +CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV +BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn +eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0 +bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER +MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0 +LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0 +dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP +aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV +CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e +8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb +m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ +0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM +0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV +HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2 +YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh +biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p +a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz +YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg +YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg +ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov +L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr +Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0 +aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg +YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0 +IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3 +DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN +wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg +W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc +R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR +5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko +-----END CERTIFICATE----- + +NetLock Notary (Class A) Root +============================= +-----BEGIN CERTIFICATE----- +MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI +EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 +dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j +ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX +DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH +EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD +VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz +cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM +D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ +z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC +/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 +tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 +4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG +A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC +Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv +bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu +IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn +LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 +ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz +IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh +IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu +b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh +bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg +Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp +bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 +ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP +ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB +CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr +KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM +8CgHrTwXZoi1/baI +-----END CERTIFICATE----- + +NetLock Business (Class B) Root +=============================== +-----BEGIN CERTIFICATE----- +MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT +CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV +BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg +VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD +VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv +bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg +VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S +o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr +1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV +HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ +RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh +dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0 +ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv +c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg +YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh +c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz +Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA +bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl +IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2 +YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj +cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM +43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR +stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI +-----END CERTIFICATE----- + +NetLock Express (Class C) Root +============================== +-----BEGIN CERTIFICATE----- +MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT +CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV +BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD +KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ +BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 +dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j +ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB +jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z +W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63 +euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw +DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN +RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn +YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB +IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i +aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0 +ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs +ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo +dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y +emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k +IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ +UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg +YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2 +xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW +gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A== +-----END CERTIFICATE----- + +XRamp Global CA Root +==================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE +BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj +dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx +HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg +U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu +IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx +foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE +zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs +AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry +xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap +oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC +AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc +/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n +nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz +8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +Go Daddy Class 2 CA +=================== +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY +VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG +A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g +RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD +ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv +2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 +qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j +YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY +vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O +BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o +atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu +MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG +A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim +PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt +I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI +Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b +vZ8= +-----END CERTIFICATE----- + +Starfield Class 2 CA +==================== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc +U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo +MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG +A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG +SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY +bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ +JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm +epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN +F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF +MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f +hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo +bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g +QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs +afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM +PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD +KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 +QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE +FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 +Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj +YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH +AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw +Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg +U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 +LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh +cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT +dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC +AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh +3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm +vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk +fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 +fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ +EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq +yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl +1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ +lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro +g14= +-----END CERTIFICATE----- + +Taiwan GRCA +=========== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG +EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X +DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv +dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN +w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 +BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O +1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO +htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov +J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 +Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t +B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB +O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 +lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV +HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 +09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj +Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 +Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU +D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz +DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk +Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk +7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ +CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy ++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS +-----END CERTIFICATE----- + +Firmaprofesional Root CA +======================== +-----BEGIN CERTIFICATE----- +MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT +GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp +Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA +ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL +MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT +OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2 +ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V +j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH +lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf +3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8 +NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww +KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG +AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD +ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq +u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf +wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm +7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG +VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA= +-----END CERTIFICATE----- + +Wells Fargo Root CA +=================== +-----BEGIN CERTIFICATE----- +MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV +BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN +MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl +bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv +MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX +x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3 +E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5 +OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j +sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj +YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF +BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD +ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv +m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R +OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx +x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023 +tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s= +-----END CERTIFICATE----- + +Swisscom Root CA 1 +================== +-----BEGIN CERTIFICATE----- +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 +NY6E0F/6MBr1mmz0DlP5OlvRHA== +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +Certplus Class 2 Primary CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE +BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN +OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy +dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR +5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ +Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO +YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e +e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME +CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ +YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t +L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD +P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R +TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ +7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW +//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +DST Root CA X3 +============== +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK +ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X +DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 +cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT +rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 +UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy +xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d +utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ +MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug +dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE +GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw +RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS +fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +DST ACES CA X6 +============== +-----BEGIN CERTIFICATE----- +MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT +MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha +MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE +CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI +DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa +pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow +GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy +MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu +Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy +dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU +CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 +5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t +Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq +nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs +vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 +oKfN5XozNmr6mis= +-----END CERTIFICATE----- + +TURKTRUST Certificate Services Provider Root 1 +============================================== +-----BEGIN CERTIFICATE----- +MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP +MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0 +acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx +MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg +U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB +TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC +aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX +yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i +Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ +8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4 +W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME +BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46 +sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE +q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy +B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY +nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H +-----END CERTIFICATE----- + +TURKTRUST Certificate Services Provider Root 2 +============================================== +-----BEGIN CERTIFICATE----- +MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP +MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg +QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN +MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr +dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G +A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls +acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe +LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI +x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g +QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr +5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB +AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt +Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 +Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+ +hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P +9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5 +UrbnBEI= +-----END CERTIFICATE----- + +SwissSign Platinum CA - G2 +========================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +SwissSign Silver CA - G2 +======================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx +CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ +cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN +b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 +nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge +RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt +tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI +hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K +Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN +NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa +Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG +1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +thawte Primary Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 +MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg +SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv +KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT +FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs +oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ +1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc +q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K +aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p +afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF +AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE +uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 +jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH +z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G5 +============================================================ +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln +biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh +dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz +j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD +Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r +fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ +BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv +Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG +SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ +X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE +KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC +Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE +ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +Network Solutions Certificate Authority +======================================= +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG +EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr +IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx +MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx +jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT +aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT +crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc +/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB +AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv +bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA +A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q +4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ +GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD +ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +WellsSecure Public Root Certificate Authority +============================================= +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM +F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw +NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN +MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl +bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD +VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 +iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 +i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 +bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB +K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB +AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu +cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm +lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB +i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww +GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI +K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 +bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj +qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es +E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ +tylv2G0xffX8oRAHh84vWdw+WNs= +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +IGC/A +===== +-----BEGIN CERTIFICATE----- +MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD +VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE +Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy +MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI +EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT +STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2 +TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW +So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy +HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd +frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ +tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB +egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC +iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK +q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q +MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg +Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI +lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF +0mBWWg== +-----END CERTIFICATE----- + +Security Communication EV RootCA1 +================================= +-----BEGIN CERTIFICATE----- +MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE +BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl +Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO +/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX +WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z +ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 +bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK +9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG +SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm +iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG +Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW +mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW +T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GA CA +=============================== +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE +BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG +A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH +bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD +VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw +IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 +IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 +Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg +Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD +d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ +/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R +LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm +MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 ++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY +okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= +-----END CERTIFICATE----- + +S-TRUST Authentication and Encryption Root CA 2005 PN +===================================================== +-----BEGIN CERTIFICATE----- +MIIEezCCA2OgAwIBAgIQNxkY5lNUfBq1uMtZWts1tzANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE +BhMCREUxIDAeBgNVBAgTF0JhZGVuLVd1ZXJ0dGVtYmVyZyAoQlcpMRIwEAYDVQQHEwlTdHV0dGdh +cnQxKTAnBgNVBAoTIERldXRzY2hlciBTcGFya2Fzc2VuIFZlcmxhZyBHbWJIMT4wPAYDVQQDEzVT +LVRSVVNUIEF1dGhlbnRpY2F0aW9uIGFuZCBFbmNyeXB0aW9uIFJvb3QgQ0EgMjAwNTpQTjAeFw0w +NTA2MjIwMDAwMDBaFw0zMDA2MjEyMzU5NTlaMIGuMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFk +ZW4tV3VlcnR0ZW1iZXJnIChCVykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNj +aGVyIFNwYXJrYXNzZW4gVmVybGFnIEdtYkgxPjA8BgNVBAMTNVMtVFJVU1QgQXV0aGVudGljYXRp +b24gYW5kIEVuY3J5cHRpb24gUm9vdCBDQSAyMDA1OlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA2bVKwdMz6tNGs9HiTNL1toPQb9UY6ZOvJ44TzbUlNlA0EmQpoVXhOmCTnijJ4/Ob +4QSwI7+Vio5bG0F/WsPoTUzVJBY+h0jUJ67m91MduwwA7z5hca2/OnpYH5Q9XIHV1W/fuJvS9eXL +g3KSwlOyggLrra1fFi2SU3bxibYs9cEv4KdKb6AwajLrmnQDaHgTncovmwsdvs91DSaXm8f1Xgqf +eN+zvOyauu9VjxuapgdjKRdZYgkqeQd3peDRF2npW932kKvimAoA0SVtnteFhy+S8dF2g08LOlk3 +KC8zpxdQ1iALCvQm+Z845y2kuJuJja2tyWp9iRe79n+Ag3rm7QIDAQABo4GSMIGPMBIGA1UdEwEB +/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTVFJv +bmxpbmUxLTIwNDgtNTAdBgNVHQ4EFgQUD8oeXHngovMpttKFswtKtWXsa1IwHwYDVR0jBBgwFoAU +D8oeXHngovMpttKFswtKtWXsa1IwDQYJKoZIhvcNAQEFBQADggEBAK8B8O0ZPCjoTVy7pWMciDMD +pwCHpB8gq9Yc4wYfl35UvbfRssnV2oDsF9eK9XvCAPbpEW+EoFolMeKJ+aQAPzFoLtU96G7m1R08 +P7K9n3frndOMusDXtk3sU5wPBG7qNWdX4wple5A64U8+wwCSersFiXOMy6ZNwPv2AtawB6MDwidA +nwzkhYItr5pCHdDHjfhA7p0GVxzZotiAFP7hYy0yh9WUUpY6RsZxlj33mA6ykaqP2vROJAA5Veit +F7nTNCtKqUDMFypVZUF0Qn71wK/Ik63yGFs9iQzbRzkk+OBM8h+wPQrKBU6JIRrjKpms/H+h8Q8b +Hz2eBIPdltkdOpQ= +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA +========================= +-----BEGIN CERTIFICATE----- +MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE +BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL +EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0 +MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz +dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT +GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG +d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N +oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc +QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ +PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb +MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG +IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD +VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3 +LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A +dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn +AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA +4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg +AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA +egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6 +Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO +PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv +c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h +cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw +IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT +WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV +MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER +MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp +Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal +HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT +nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE +aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a +86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK +yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB +S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +AC Ra\xC3\xADz Certic\xC3\xA1mara S.A. +====================================== +-----BEGIN CERTIFICATE----- +MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT +AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg +LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w +HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+ +U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh +IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN +yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU +2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3 +4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP +2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm +8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf +HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa +Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK +5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b +czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE +AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g +ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF +BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug +cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf +AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX +EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v +/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3 +MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4 +3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk +eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f +/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h +RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU +Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ== +-----END CERTIFICATE----- + +TC TrustCenter Class 2 CA II +============================ +-----BEGIN CERTIFICATE----- +MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy +IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw +MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 +c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE +AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw +IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2 +xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ +Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u +SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB +7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 +Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU +cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i +SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u +TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G +dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ +KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj +TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP +JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk +vQ== +-----END CERTIFICATE----- + +TC TrustCenter Class 3 CA II +============================ +-----BEGIN CERTIFICATE----- +MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy +IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw +MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 +c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE +AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W +yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo +6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ +uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk +2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB +7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 +Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU +cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i +SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u +TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE +O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8 +yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9 +IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal +092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc +5A== +-----END CERTIFICATE----- + +TC TrustCenter Universal CA I +============================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy +IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN +MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg +VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw +JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC +qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv +xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw +ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O +gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j +BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG +1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy +vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3 +ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT +ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a +7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY +-----END CERTIFICATE----- + +Deutsche Telekom Root CA 2 +========================== +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT +RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG +A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 +MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G +A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS +b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 +bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI +KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY +AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK +Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV +jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV +HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr +E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy +zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 +rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G +dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +ComSign CA +========== +-----BEGIN CERTIFICATE----- +MIIDkzCCAnugAwIBAgIQFBOWgxRVjOp7Y+X8NId3RDANBgkqhkiG9w0BAQUFADA0MRMwEQYDVQQD +EwpDb21TaWduIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTMy +MThaFw0yOTAzMTkxNTAyMThaMDQxEzARBgNVBAMTCkNvbVNpZ24gQ0ExEDAOBgNVBAoTB0NvbVNp +Z24xCzAJBgNVBAYTAklMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8ORUaSvTx49q +ROR+WCf4C9DklBKK8Rs4OC8fMZwG1Cyn3gsqrhqg455qv588x26i+YtkbDqthVVRVKU4VbirgwTy +P2Q298CNQ0NqZtH3FyrV7zb6MBBC11PN+fozc0yz6YQgitZBJzXkOPqUm7h65HkfM/sb2CEJKHxN +GGleZIp6GZPKfuzzcuc3B1hZKKxC+cX/zT/npfo4sdAMx9lSGlPWgcxCejVb7Us6eva1jsz/D3zk +YDaHL63woSV9/9JLEYhwVKZBqGdTUkJe5DSe5L6j7KpiXd3DTKaCQeQzC6zJMw9kglcq/QytNuEM +rkvF7zuZ2SOzW120V+x0cAwqTwIDAQABo4GgMIGdMAwGA1UdEwQFMAMBAf8wPQYDVR0fBDYwNDAy +oDCgLoYsaHR0cDovL2ZlZGlyLmNvbXNpZ24uY28uaWwvY3JsL0NvbVNpZ25DQS5jcmwwDgYDVR0P +AQH/BAQDAgGGMB8GA1UdIwQYMBaAFEsBmz5WGmU2dst7l6qSBe4y5ygxMB0GA1UdDgQWBBRLAZs+ +VhplNnbLe5eqkgXuMucoMTANBgkqhkiG9w0BAQUFAAOCAQEA0Nmlfv4pYEWdfoPPbrxHbvUanlR2 +QnG0PFg/LUAlQvaBnPGJEMgOqnhPOAlXsDzACPw1jvFIUY0McXS6hMTXcpuEfDhOZAYnKuGntewI +mbQKDdSFc8gS4TXt8QUxHXOZDOuWyt3T5oWq8Ir7dcHyCTxlZWTzTNity4hp8+SDtwy9F1qWF8pb +/627HOkthIDYIb6FUtnUdLlphbpN7Sgy6/lhSuTENh4Z3G+EER+V9YMoGKgzkkMn3V0TBEVPh9VG +zT2ouvDzuFYkRes3x+F2T3I5GN9+dHLHcy056mDmrRGiVod7w2ia/viMcKjfZTL0pECMocJEAw6U +AGegcQCCSA== +-----END CERTIFICATE----- + +ComSign Secured CA +================== +-----BEGIN CERTIFICATE----- +MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE +AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w +NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD +QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs +49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH +7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB +kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1 +9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw +AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t +U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA +j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC +AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a +BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp +FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP +51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz +OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw== +-----END CERTIFICATE----- + +Cybertrust Global Root +====================== +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li +ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 +MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD +ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW +0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL +AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin +89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT +8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 +MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G +A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO +lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi +5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 +hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T +X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 +============================================================================================================================= +-----BEGIN CERTIFICATE----- +MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH +DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q +aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry +b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV +BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg +S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 +MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl +IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF +n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl +IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft +dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl +cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO +Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 +xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR +6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL +hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd +BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 +N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT +y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh +LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M +dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= +-----END CERTIFICATE----- + +Buypass Class 2 CA 1 +==================== +-----BEGIN CERTIFICATE----- +MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2 +MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh +c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M +cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83 +0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4 +0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R +uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P +AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV +1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt +7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2 +fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w +wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho +-----END CERTIFICATE----- + +Buypass Class 3 CA 1 +==================== +-----BEGIN CERTIFICATE----- +MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1 +MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh +c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx +ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0 +n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia +AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c +1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P +AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7 +pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA +EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5 +htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj +el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915 +-----END CERTIFICATE----- + +EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 +========================================================================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +CNNIC ROOT +========== +-----BEGIN CERTIFICATE----- +MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE +ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw +OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD +o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz +VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT +VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or +czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK +y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC +wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S +lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5 +Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM +O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8 +BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2 +G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m +mxE= +-----END CERTIFICATE----- + +ApplicationCA - Japanese Government +=================================== +-----BEGIN CERTIFICATE----- +MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT +SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw +MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl +cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4 +fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN +wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE +jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu +nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU +WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV +BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD +vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs +o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g +/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD +io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW +dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL +rosot4LKGAfmt1t06SAZf7IbiVQ= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G3 +============================================= +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 +IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz +NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo +YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT +LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j +K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE +c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C +IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu +dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr +2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 +cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE +Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s +t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +thawte Primary Root CA - G2 +=========================== +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC +VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu +IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg +Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV +MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG +b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt +IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS +LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 +8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN +G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K +rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +thawte Primary Root CA - G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w +ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD +VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG +A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At +P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC ++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY +7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW +vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ +KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK +A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC +8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm +er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G2 +============================================= +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu +Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 +OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl +b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG +BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc +KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ +EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m +ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 +npaqBA+K +-----END CERTIFICATE----- + +VeriSign Universal Root Certification Authority +=============================================== +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj +1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP +MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 +9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I +AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR +tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G +CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O +a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 +Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx +Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx +P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P +wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 +mJO37M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G4 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC +VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 +b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz +ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU +cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo +b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 +Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz +rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw +HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u +Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD +A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx +AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) F?tanstvny +============================================ +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G2 +================================== +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ +5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn +vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj +CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil +e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR +OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI +CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 +48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi +trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 +qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB +AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC +ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA +A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz ++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj +f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN +kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk +CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF +URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb +CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h +oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV +IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm +66+KAQ== +-----END CERTIFICATE----- + +CA Disig +======== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK +QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw +MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz +bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm +GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD +Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo +hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt +ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w +gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P +AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz +aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff +ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa +BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t +WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3 +mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ +CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K +ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA +4Z7CRneC9VkGjCFMhwnN5ag= +-----END CERTIFICATE----- + +Juur-SK +======= +-----BEGIN CERTIFICATE----- +MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA +c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw +DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG +SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy +aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf +TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC ++Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw +UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa +Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF +MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD +HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh +AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA +cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr +AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw +cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE +FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G +A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo +ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL +abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678 +IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh +Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2 +yyqcjg== +-----END CERTIFICATE----- + +Hongkong Post Root CA 1 +======================= +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT +DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx +NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n +IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 +ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr +auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh +qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY +V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV +HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i +h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio +l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei +IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps +T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT +c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== +-----END CERTIFICATE----- + +SecureSign RootCA11 +=================== +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi +SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS +b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw +KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 +cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL +TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO +wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq +g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP +O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA +bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX +t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh +OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r +bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ +Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 +y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 +lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +ACEDICOM Root +============= +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority +======================================================= +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow +XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAx +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0fzGVuDLDQ +VoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHiTkVWaR94AoDa3EeRKbs2 +yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFgVKTk8d6Pa +XCUDfGD67gmZPCcQcMgMCeazh88K4hiWNWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n +0a3hUKw8fGJLj7qE1xIVGx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZ +RjXZ+Hxb +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority +======================================================= +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow +XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 +f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol +hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky +CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX +bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/ +D/xwzoiQ +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi +=================================================== +-----BEGIN CERTIFICATE----- +MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz +ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3 +MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0 +cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u +aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY +8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y +jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI +JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk +9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD +AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG +SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d +F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq +D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4 +Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq +fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +TC TrustCenter Universal CA III +=============================== +-----BEGIN CERTIFICATE----- +MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy +IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe +Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU +QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex +KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt +QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO +juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut +CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1 +M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G +A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA +g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+ +KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK +BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV +CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq +woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg== +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud +EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH +DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA +bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx +ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx +51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk +R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP +T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f +Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl +osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR +crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR +saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD +KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi +6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Chambers of Commerce Root - 2008 +================================ +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy +Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl +ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF +EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl +cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA +XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj +h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ +ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk +NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g +D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 +lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ +0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 +EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI +G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ +BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh +bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh +bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC +CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH +AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 +wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH +3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU +RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 +M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 +YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF +9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK +zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG +nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ +-----END CERTIFICATE----- + +Global Chambersign Root - 2008 +============================== +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx +NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg +Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ +QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf +VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf +XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 +ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB +/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA +TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M +H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe +Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF +HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB +AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT +BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE +BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm +aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm +aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp +1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 +dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG +/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 +ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s +dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg +9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH +foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du +qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr +P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq +c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +Certinomis - Autorit Racine +============================= +-----BEGIN CERTIFICATE----- +MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg +LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG +A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw +JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa +wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly +Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw +2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N +jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q +c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC +lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb +xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g +530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna +4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ +KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x +WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva +R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 +nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B +CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv +JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE +qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b +WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE +wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ +vgt2Fl43N+bYdJeimUV5 +-----END CERTIFICATE----- + +Root CA Generalitat Valenciana +============================== +-----BEGIN CERTIFICATE----- +MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE +ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 +IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 +WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE +CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 +F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B +ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ +D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte +JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB +AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n +dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB +ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl +AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA +YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy +AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA +aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt +AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA +YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu +AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA +OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 +dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV +BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G +A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S +b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh +TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz +Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 +NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH +iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt ++GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= +-----END CERTIFICATE----- + +A-Trust-nQual-03 +================ +-----BEGIN CERTIFICATE----- +MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE +Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy +a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R +dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw +RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0 +ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1 +c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA +zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n +yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE +SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4 +iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V +cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV +eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40 +ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr +sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd +JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS +mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6 +ahq97BvIxYSazQ== +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +EC-ACC +====== +-----BEGIN CERTIFICATE----- +MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE +BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w +ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD +VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE +CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT +BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 +MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt +SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl +Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh +cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK +w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT +ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 +HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a +E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw +0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD +VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 +Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l +dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ +lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa +Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe +l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 +E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D +5EI= +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2011 +======================================================= +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT +O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y +aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT +AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo +IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI +1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa +71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u +8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH +3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ +MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 +MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu +b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt +XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD +/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N +7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Trustis FPS Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 +IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV +BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ +RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk +H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa +cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt +o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA +AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd +BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c +GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC +yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P +8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV +l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl +iB6XzCGcKQENZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ +Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0 +dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu +c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv +bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0 +aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t +L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG +cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5 +fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm +N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN +Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T +tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX +e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA +2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs +HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE +JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib +D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8= +-----END CERTIFICATE----- + +StartCom Certification Authority G2 +=================================== +-----BEGIN CERTIFICATE----- +MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE +ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O +o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG +4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi +Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul +Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs +O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H +vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L +nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS +FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa +z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ +KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K +2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk +J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+ +JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG +/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc +nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld +blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc +l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm +7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm +obp573PYtlNXLfbQ4ddI +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +TRKTRUST Elektronik Sertifika Hizmet Sa?lay?c?s? +====================================================== +-----BEGIN CERTIFICATE----- +MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP +MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg +QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X +DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl +a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN +BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp +bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N +YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv +KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya +KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT +rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC +AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s +Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I +aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO +Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb +BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK +poRq0Tl9 +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- + +EE Certification Centre Root CA +=============================== +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy +dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw +MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB +UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy +ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM +TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 +rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw +93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN +P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ +MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF +BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj +xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM +lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU +3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM +dcGWxZ0= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_core.function.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_core.function.php new file mode 100755 index 000000000..a93e3eacc --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_core.function.php @@ -0,0 +1,176 @@ + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_md5.function.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_md5.function.php new file mode 100755 index 000000000..52c6a1468 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_md5.function.php @@ -0,0 +1,41 @@ + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_notify.class.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_notify.class.php new file mode 100755 index 000000000..d98f16b0d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_notify.class.php @@ -0,0 +1,163 @@ +alipay_config = $alipay_config; + } + function AlipayNotify($alipay_config) { + $this->__construct($alipay_config); + } + /** + * 针对notify_url验证消息是否是支付宝发出的合法消息 + * @return 验证结果 + */ + function verifyNotify(){ + if(empty($_POST)) {//判断POST来的数组是否为空 + return false; + } + else { + //生成签名结果 + $isSign = $this->getSignVeryfy($_POST, $_POST["sign"]); + //获取支付宝远程服务器ATN结果(验证是否是支付宝发来的消息) + $responseTxt = 'true'; + if (! empty($_POST["notify_id"])) {$responseTxt = $this->getResponse($_POST["notify_id"]);} + + //写日志记录 + //if ($isSign) { + // $isSignStr = 'true'; + //} + //else { + // $isSignStr = 'false'; + //} + //$log_text = "responseTxt=".$responseTxt."\n notify_url_log:isSign=".$isSignStr.","; + //$log_text = $log_text.createLinkString($_POST); + //logResult($log_text); + + //验证 + //$responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关 + //isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关 + if (preg_match("/true$/i",$responseTxt) && $isSign) { + return true; + } else { + return false; + } + } + } + + /** + * 针对return_url验证消息是否是支付宝发出的合法消息 + * @return 验证结果 + */ + function verifyReturn(){ + if(empty($_GET)) {//判断POST来的数组是否为空 + return false; + } + else { + //生成签名结果 + $isSign = $this->getSignVeryfy($_GET, $_GET["sign"]); + //获取支付宝远程服务器ATN结果(验证是否是支付宝发来的消息) + $responseTxt = 'true'; + if (! empty($_GET["notify_id"])) {$responseTxt = $this->getResponse($_GET["notify_id"]);} + + //写日志记录 + //if ($isSign) { + // $isSignStr = 'true'; + //} + //else { + // $isSignStr = 'false'; + //} + //$log_text = "responseTxt=".$responseTxt."\n return_url_log:isSign=".$isSignStr.","; + //$log_text = $log_text.createLinkString($_GET); + //logResult($log_text); + + //验证 + //$responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关 + //isSign的结果不是true,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关 + if (preg_match("/true$/i",$responseTxt) && $isSign) { + return true; + } else { + return false; + } + } + } + + /** + * 获取返回时的签名验证结果 + * @param $para_temp 通知返回来的参数数组 + * @param $sign 返回的签名结果 + * @return 签名验证结果 + */ + function getSignVeryfy($para_temp, $sign) { + //除去待签名参数数组中的空值和签名参数 + $para_filter = paraFilter($para_temp); + + //对待签名参数数组排序 + $para_sort = argSort($para_filter); + + //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 + $prestr = createLinkstring($para_sort); + + $isSgin = false; + switch (strtoupper(trim($this->alipay_config['sign_type']))) { + case "MD5" : + $isSgin = md5Verify($prestr, $sign, $this->alipay_config['key']); + break; + default : + $isSgin = false; + } + + return $isSgin; + } + + /** + * 获取远程服务器ATN结果,验证返回URL + * @param $notify_id 通知校验ID + * @return 服务器ATN结果 + * 验证结果集: + * invalid命令参数不对 出现这个错误,请检测返回处理中partner和key是否为空 + * true 返回正确信息 + * false 请检查防火墙或者是服务器阻止端口问题以及验证时间是否超过一分钟 + */ + function getResponse($notify_id) { + $transport = strtolower(trim($this->alipay_config['transport'])); + $partner = trim($this->alipay_config['partner']); + $veryfy_url = ''; + if($transport == 'https') { + $veryfy_url = $this->https_verify_url; + } + else { + $veryfy_url = $this->http_verify_url; + } + $veryfy_url = $veryfy_url."partner=" . $partner . "¬ify_id=" . $notify_id; + $responseTxt = getHttpResponseGET($veryfy_url, $this->alipay_config['cacert']); + + return $responseTxt; + } +} +?> diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_submit.class.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_submit.class.php new file mode 100755 index 000000000..9b15b75fc --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/lib/alipay_submit.class.php @@ -0,0 +1,165 @@ +alipay_config = $alipay_config; + } + function AlipaySubmit($alipay_config) { + $this->__construct($alipay_config); + } + + /** + * 生成签名结果 + * @param $para_sort 已排序要签名的数组 + * return 签名结果字符串 + */ + function buildRequestMysign($para_sort) { + //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 + $prestr = createLinkstring($para_sort); + + $mysign = ""; + switch (strtoupper(trim($this->alipay_config['sign_type']))) { + case "MD5" : + $mysign = md5Sign($prestr, $this->alipay_config['key']); + break; + default : + $mysign = ""; + } + + return $mysign; + } + + /** + * 生成要请求给支付宝的参数数组 + * @param $para_temp 请求前的参数数组 + * @return 要请求的参数数组 + */ + function buildRequestPara($para_temp) { + //除去待签名参数数组中的空值和签名参数 + $para_filter = paraFilter($para_temp); + + //对待签名参数数组排序 + $para_sort = argSort($para_filter); + + //生成签名结果 + $mysign = $this->buildRequestMysign($para_sort); + + //签名结果与签名方式加入请求提交参数组中 + $para_sort['sign'] = $mysign; + $para_sort['sign_type'] = strtoupper(trim($this->alipay_config['sign_type'])); + + return $para_sort; + } + + /** + * 生成要请求给支付宝的参数数组 + * @param $para_temp 请求前的参数数组 + * @return 要请求的参数数组字符串 + */ + function buildRequestParaToString($para_temp) { + //待请求参数数组 + $para = $this->buildRequestPara($para_temp); + + //把参数组中所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对字符串做urlencode编码 + $request_data = createLinkstringUrlencode($para); + + return $request_data; + } + + /** + * 建立请求,以表单HTML形式构造(默认) + * @param $para_temp 请求参数数组 + * @param $method 提交方式。两个值可选:post、get + * @param $button_name 确认按钮显示文字 + * @return 提交表单HTML文本 + */ + function buildRequestForm($para_temp, $method, $button_name) { + //待请求参数数组 + $para = $this->buildRequestPara($para_temp); + + $sHtml = "
    "; + while (list ($key, $val) = each ($para)) { + $sHtml.= ""; + } + + //submit按钮控件请不要含有name属性 + //$sHtml = $sHtml."
    "; + + $sHtml = $sHtml.""; + + return $sHtml; + } + + /** + * 建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果 + * @param $para_temp 请求参数数组 + * @return 支付宝处理结果 + */ + function buildRequestHttp($para_temp) { + $sResult = ''; + + //待请求参数数组字符串 + $request_data = $this->buildRequestPara($para_temp); + + //远程获取数据 + $sResult = getHttpResponsePOST($this->alipay_gateway_new, $this->alipay_config['cacert'],$request_data,trim(strtolower($this->alipay_config['input_charset']))); + + return $sResult; + } + + /** + * 建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果,带文件上传功能 + * @param $para_temp 请求参数数组 + * @param $file_para_name 文件类型的参数名 + * @param $file_name 文件完整绝对路径 + * @return 支付宝返回处理结果 + */ + function buildRequestHttpInFile($para_temp, $file_para_name, $file_name) { + + //待请求参数数组 + $para = $this->buildRequestPara($para_temp); + $para[$file_para_name] = "@".$file_name; + + //远程获取数据 + $sResult = getHttpResponsePOST($this->alipay_gateway_new, $this->alipay_config['cacert'],$para,trim(strtolower($this->alipay_config['input_charset']))); + + return $sResult; + } + + /** + * 用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数 + * 注意:该功能PHP5环境及以上支持,因此必须服务器、本地电脑中装有支持DOMDocument、SSL的PHP配置环境。建议本地调试时使用PHP开发软件 + * return 时间戳字符串 + */ + function query_timestamp() { + $url = $this->alipay_gateway_new."service=query_timestamp&partner=".trim(strtolower($this->alipay_config['input_charset'])); + $encrypt_key = ""; + + $doc = new DOMDocument(); + $doc->load($url); + $itemEncrypt_key = $doc->getElementsByTagName( "encrypt_key" ); + $encrypt_key = $itemEncrypt_key->item(0)->nodeValue; + + return $encrypt_key; + } +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/log.txt b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/log.txt new file mode 100755 index 000000000..636ac94c7 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/log.txt @@ -0,0 +1,3 @@ +集成时请注意: +本文件log.txt请不要删除。 +该文本用于写日志函数。 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/logo.gif b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/logo.gif new file mode 100755 index 0000000000000000000000000000000000000000..94cf20126c997c2f1240291fbd5afc7cd8062a45 GIT binary patch literal 2138 zcmeH``#;lr1HiwwnVHSThRtyv_go$?m)z^5UB1b7tTUz16H#vA#gcA1r;IfYN6m5> zM?`XV?8NNwq?2Bm4Ye*Pk(WzTD&=tIQsLn9JpC8X56}BAc)#AS*LycBI3O^t9NG$f zJ`MdB0Kkdxe?8MYKAc=OJo+{xyTOH7M30oLu5C~PifMrVX;sm!RX%y!KlHcZJ|yA?PXw>MNkH5@>2SAKw7|QZOh3&lO5I0jse{?Se$vDs0wfdvO&P$*rJ@vMee-71o=RfJoHL@FO`>_P(nBekFuS&y@T!psRZdy^Yl7p{%mbj;} zOJ+IJtcE>!dAF$}gPJ%z_dV;oJYPOh}gNAeR!55i&37^>Td!KQB(>UBn>EwHnh zl8;2=%l*{bW+q?VxxFio_Qh=|e zrP<2f4|VOfPSd;9fHF+kk>uAg{tErFoKSNh%A_ZxtiZZEJt$20(>vGpVBit3V;;8f ziEECuKD1oOA9rcQ?VOBVl@Pxz?P#v~;oObC48!;3kZiY5SY~Zp>$7qfG6L0u578c6 zFkCr&&Qc<`$*c8UjumVi8>zc!fvA`gq9$&UnTEV;Px+2FlZX~RR&CKgc5w>o3kfG_ zPmj8(&0o>dX>}@NE-j3kr%?*(vjPf-qae35Eh3qT=1$}NUR=vFW_SD77nlY8dZd&f z6^R50v(Yy{M+;rzD_e?J8+LgpVLl`64@0NwxUHZ(;PMB(j8cG=``&@C#TFo!TLUwdxauta9z;MIqGn%}bwN5fW z8oNo>`b5LM={te_Cu??2)6|kxNR|C&b=*tel(sHc8Shvp3QWV(7DTvT_IT0}9d>`$ zC@!GaW?Kg)FQQGh>DCen?8vwtMtS$L(jc#DYzw(YLv^{cvSB30v(wbD@uEV*G>x>H zhAudSiJ;qWf^1&jdw*m!?cTsJPxo`?fpFM_S2ZZK$`DL#C4WbrLds|~FC?AXg`$f% zYu`>QS?;&zt7?mJ(p{Xc2SPm$XBbWL_ODVA_vb(i4pmes8*aIz`MSldOv$T2Wa+r( zQ4}w~>gX(`5ONHIkRz6}A-Y17%AOB+)2qOiNXqCgX@}#jT0hmsbWZq8eD!(U9ZsZj zGI!Bm@KktQH8*T3AKYe|>>uDB?Jdqb#GCw@9iyNh300~|n2)hc%VWuDC0LA_pVxWV zSZ@~Y#ITrll$Fgl#f5QAo|!ZM4HbCefF7B8dhDSS-OPe&?F@jNb;PNCb*<)F;_h}7}M zT*5U7>)=du_o>^rH}tyY$o=4$1sV>|Vi;#$%kdPO*m_Zvzp}-AeH%4?Kc$=4G1SYj zTof%W9$=He@S!Ug#-;>7ymX0PO_Tt)H-Jh=W8@*EzoMU^J>_;AL@gFgC%E*jI>r-Asy)zIwp$_|9vK>+Q zz<-a+qSj!ib1tdEQ|*b71^MtQ$+5#~5~8gbpk@dHEo^UN%Sw%8QtVC*T*_X)Zi9D$ J5eR7ee*l>LDoOwV literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_db.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_db.php new file mode 100755 index 000000000..f3e5a0c96 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_db.php @@ -0,0 +1,71 @@ +verifyNotify(); +//验证成功 +if ($verify_result) { + //商户订单号 + $out_trade_no = $_POST['out_trade_no']; + //支付宝交易号 + $trade_no = $_POST['trade_no']; + + $info = $db->pe_select('order', array('order_id'=>$out_trade_no)); + //该判断表示买家已在支付宝交易管理中产生了交易记录,但没有付款 + if ($_POST['trade_status'] == 'WAIT_BUYER_PAY') { + echo "success"; //请不要修改或删除 + } + //该判断表示买家已在支付宝交易管理中产生了交易记录且付款成功,但卖家没有发货 + elseif ($_POST['trade_status'] == 'WAIT_SELLER_SEND_GOODS') { + if ($info['order_state'] == 'notpay') { + $order['order_outid'] = $trade_no; + $order['order_payway'] = 'alipay_db'; + $order['order_state'] = 'paid'; + $order['order_ptime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + echo "success"; //请不要修改或删除 + } + //该判断表示卖家已经发了货,但买家还没有做确认收货的操作 + elseif ($_POST['trade_status'] == 'WAIT_BUYER_CONFIRM_GOODS') { + if ($info['order_state'] == 'paid') { + $order['order_state'] = 'send'; + $order['order_stime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + echo "success"; //请不要修改或删除 + } + //该判断表示买家已经确认收货,这笔交易完成 + else if($_POST['trade_status'] == 'TRADE_FINISHED') { + if ($info['order_state'] == 'send') { + $order['order_state'] = 'success'; + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + echo "success"; //请不要修改或删除 + } + //其他状态判断 + else { + echo "success"; + } +} +//验证失败 +else { + echo "fail"; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_js.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_js.php new file mode 100755 index 000000000..1a765c043 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_js.php @@ -0,0 +1,44 @@ +verifyNotify(); +//验证成功 +if ($verify_result) { + //商户订单号 + $out_trade_no = $_POST['out_trade_no']; + //支付宝交易号 + $trade_no = $_POST['trade_no']; + + $info = $db->pe_select('order', array('order_id'=>$out_trade_no)); + if ($_POST['trade_status'] == 'TRADE_FINISHED' || $_POST['trade_status'] == 'TRADE_SUCCESS') { + $order['order_outid'] = $trade_no; + $order['order_payway'] = 'alipay_js'; + $order['order_state'] = 'paid'; + $order['order_ptime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + echo "success"; //请不要修改或删除 +} +//验证失败 +else { + echo "fail"; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_sgn.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_sgn.php new file mode 100755 index 000000000..c4345501d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/notify_url_sgn.php @@ -0,0 +1,90 @@ +verifyNotify(); +//验证成功 +if ($verify_result) { + //商户订单号 + $out_trade_no = $_POST['out_trade_no']; + //支付宝交易号 + $trade_no = $_POST['trade_no']; + + $info = $db->pe_select('order', array('order_id'=>$out_trade_no)); + //该判断表示买家已在支付宝交易管理中产生了交易记录,但没有付款 + if ($_POST['trade_status'] == 'WAIT_BUYER_PAY') { + echo "success"; //请不要修改或删除 + } + //该判断表示买家已在支付宝交易管理中产生了交易记录且付款成功,但卖家没有发货 + elseif ($_POST['trade_status'] == 'WAIT_SELLER_SEND_GOODS') { + if ($info['order_state'] == 'notpay') { + $order['order_outid'] = $trade_no; + $order['order_payway'] = 'alipay_db'; + $order['order_state'] = 'paid'; + $order['order_ptime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + echo "success"; //请不要修改或删除 + } + //该判断表示卖家已经发了货,但买家还没有做确认收货的操作 + elseif ($_POST['trade_status'] == 'WAIT_BUYER_CONFIRM_GOODS') { + if ($info['order_state'] == 'paid') { + $order['order_state'] = 'send'; + $order['order_stime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + echo "success"; //请不要修改或删除 + } + //该判断表示买家已经确认收货,这笔交易完成 + elseif ($_POST['trade_status'] == 'TRADE_FINISHED') { + if ($info['order_state'] == 'notpay') { + $order['order_outid'] = $trade_no; + $order['order_payway'] = 'alipay_js'; + $order['order_state'] = 'paid'; + $order['order_ptime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + elseif ($info['order_state'] == 'send') { + $order['order_state'] = 'success'; + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + echo "success"; //请不要修改或删除 + } + //其他状态判断 + else { + echo "success"; + } +} +//验证失败 +else { + echo "fail"; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/order_pay.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/order_pay.php new file mode 100755 index 000000000..4c79a3d2f --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/order_pay.php @@ -0,0 +1,107 @@ + + + + + 支付宝标准双接口接口 + + "trade_create_by_buyer", + "partner" => trim($alipay_config['partner']), + "payment_type" => $payment_type, + "notify_url" => $notify_url, + "return_url" => $return_url, + "seller_email" => $seller_email, + "out_trade_no" => $out_trade_no, + "subject" => $subject, + "price" => $price, + "quantity" => $quantity, + "logistics_fee" => $logistics_fee, + "logistics_type" => $logistics_type, + "logistics_payment" => $logistics_payment, + "body" => $body, + "show_url" => $show_url, + "receive_name" => $receive_name, + "receive_address" => $receive_address, + "receive_zip" => $receive_zip, + "receive_phone" => $receive_phone, + "receive_mobile" => $receive_mobile, + "_input_charset" => trim(strtolower($alipay_config['input_charset'])) + ); + break; + case 'alipay_js': + //异步通知页面路径,需http://格式的完整路径,不能加?id=123这类自定义参数 + $notify_url = "{$pe['host_root']}include/plugin/payway/alipay/notify_url_js.php"; + //同步通知页面路径,需http://格式的完整路径,不能加?id=123这类自定义参数 + $return_url = "{$pe['host_root']}include/plugin/payway/alipay/return_url_js.php"; + $parameter = array( + "service" => "create_direct_pay_by_user", + "partner" => trim($alipay_config['partner']), + "payment_type" => $payment_type, + "notify_url" => $notify_url, + "return_url" => $return_url, + "seller_email" => $seller_email, + "out_trade_no" => $out_trade_no, + "subject" => $subject, + "total_fee" => $total_fee, + "body" => $body, + "show_url" => $show_url, + "anti_phishing_key" => $anti_phishing_key, + "exter_invoke_ip" => $exter_invoke_ip, + "_input_charset" => trim(strtolower($alipay_config['input_charset'])) + ); + break; + case 'alipay_db': + //异步通知页面路径,需http://格式的完整路径,不能加?id=123这类自定义参数 + $notify_url = "{$pe['host_root']}include/plugin/payway/alipay/notify_url_db.php"; + //同步通知页面路径,需http://格式的完整路径,不能加?id=123这类自定义参数 + $return_url = "{$pe['host_root']}include/plugin/payway/alipay/return_url_db.php"; + $parameter = array( + "service" => "create_partner_trade_by_buyer", + "partner" => trim($alipay_config['partner']), + "payment_type" => $payment_type, + "notify_url" => $notify_url, + "return_url" => $return_url, + "seller_email" => $seller_email, + "out_trade_no" => $out_trade_no, + "subject" => $subject, + "price" => $price, + "quantity" => $quantity, + "logistics_fee" => $logistics_fee, + "logistics_type" => $logistics_type, + "logistics_payment" => $logistics_payment, + "body" => $body, + "show_url" => $show_url, + "receive_name" => $receive_name, + "receive_address" => $receive_address, + "receive_zip" => $receive_zip, + "receive_phone" => $receive_phone, + "receive_mobile" => $receive_mobile, + "_input_charset" => trim(strtolower($alipay_config['input_charset'])) + ); + break; +} +//建立请求 +$alipaySubmit = new AlipaySubmit($alipay_config); +$html_text = $alipaySubmit->buildRequestForm($parameter,"get", "确认"); +echo $html_text; +?> + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/order_send.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/order_send.php new file mode 100755 index 000000000..c293cfb99 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/order_send.php @@ -0,0 +1,51 @@ + + + + + 支付宝确认发货接口接口 + + "send_goods_confirm_by_platform", + "partner" => trim($alipay_config['partner']), + "trade_no" => $trade_no, + "logistics_name" => $logistics_name, + "invoice_no" => $invoice_no, + "transport_type" => $transport_type, + "_input_charset" => trim(strtolower($alipay_config['input_charset'])) +); +//建立请求 +$alipaySubmit = new AlipaySubmit($alipay_config); +$html_text = $alipaySubmit->buildRequestHttp($parameter); +?> + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_db.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_db.php new file mode 100755 index 000000000..ffc735651 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_db.php @@ -0,0 +1,60 @@ + + + + + +verifyReturn(); +//验证成功 +if ($verify_result) { + //商户订单号 + $out_trade_no = $_GET['out_trade_no']; + //支付宝交易号 + $trade_no = $_GET['trade_no']; + + $info = $db->pe_select('order', array('order_id'=>$out_trade_no)); + if ($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS') { + if ($info['order_state'] == 'notpay') { + $order['order_outid'] = $trade_no; + $order['order_payway'] = 'alipay_db'; + $order['order_state'] = 'paid'; + $order['order_ptime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + } + else { + echo "trade_status=".$_GET['trade_status']; + } + pe_goto("{$pe['host_root']}index.php?mod=user&act=order"); + //echo "验证成功
    "; + //echo "trade_no=".$trade_no; +} +//验证失败 +else { + echo "验证失败"; +} +?> + 支付宝纯担保交易接口 + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_js.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_js.php new file mode 100755 index 000000000..8e85b9187 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_js.php @@ -0,0 +1,57 @@ + + + + + +verifyReturn(); +//验证成功 +if ($verify_result) { + //商户订单号 + $out_trade_no = $_GET['out_trade_no']; + //支付宝交易号 + $trade_no = $_GET['trade_no']; + + $info = $db->pe_select('order', array('order_id'=>$out_trade_no)); + if ($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') { + $order['order_outid'] = $trade_no; + $order['order_payway'] = 'alipay_js'; + $order['order_state'] = 'paid'; + $order['order_ptime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + else { + echo "trade_status=".$_GET['trade_status']; + } + pe_goto("{$pe['host_root']}index.php?mod=user&act=order"); + //echo "验证成功
    "; +} +//验证失败 +else { + echo "验证失败"; +} +?> + 支付宝即时到账交易接口 + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_sgn.php b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_sgn.php new file mode 100755 index 000000000..7d0cd33ea --- /dev/null +++ b/phpshe/1.1/php-fpm/src/include/plugin/payway/alipay/return_url_sgn.php @@ -0,0 +1,71 @@ + + + + + +verifyReturn(); +//验证成功 +if ($verify_result) { + //商户订单号 + $out_trade_no = $_GET['out_trade_no']; + //支付宝交易号 + $trade_no = $_GET['trade_no']; + + $info = $db->pe_select('order', array('order_id'=>$out_trade_no)); + if ($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS') { + //担保交易 + if ($info['order_state'] == 'notpay') { + $order['order_outid'] = $trade_no; + $order['order_payway'] = 'alipay_db'; + $order['order_state'] = 'paid'; + $order['order_ptime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + } + elseif ($_GET['trade_status'] == 'TRADE_FINISHED') { + //即时到帐 + if ($info['order_state'] == 'notpay') { + $order['order_outid'] = $trade_no; + $order['order_payway'] = 'alipay_js'; + $order['order_state'] = 'paid'; + $order['order_ptime'] = time(); + $db->pe_update('order', array('order_id'=>$out_trade_no), $order); + } + } + else { + echo "trade_status=".$_GET['trade_status']; + } + pe_goto("{$pe['host_root']}index.php?mod=user&act=order"); + //echo "验证成功
    "; + //echo "trade_no=".$trade_no; +} +//验证失败 +else { + echo "验证失败"; +} +?> + 支付宝标准双接口 + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/include/plugin/payway/bank/logo.gif b/phpshe/1.1/php-fpm/src/include/plugin/payway/bank/logo.gif new file mode 100755 index 0000000000000000000000000000000000000000..9baad24c8f8c84627c6d4e45711173c04c3454f1 GIT binary patch literal 3348 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 SFYa9)t~yWDW&?o$e*XhdjORQ6 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/index.php b/phpshe/1.1/php-fpm/src/index.php new file mode 100755 index 000000000..97789efa9 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/index.php @@ -0,0 +1,17 @@ +pe_num('cart', array('user_id'=>$_s_user_id)) : (unserialize($_c_cart_list) ? count(unserialize($_c_cart_list)) : 0); + +include("{$pe['path_root']}module/{$module}/{$mod}.php"); +pe_result(); +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/install/css/style.css b/phpshe/1.1/php-fpm/src/install/css/style.css new file mode 100755 index 000000000..9d2d638cf --- /dev/null +++ b/phpshe/1.1/php-fpm/src/install/css/style.css @@ -0,0 +1,58 @@ +/*公共样式表部分开始*/ +body {background:#fff; margin:0 auto; font-size:12px; font-family:"宋体",Arial, Helvetica, sans-serif; color:#333; line-height:20px;} +a,a:hover{color:#333;text-decoration:none;} +a:hover{color:#FF5A00;} +ol,ul,li,dl,dd,dt{list-style:none;} +h1,h2,h3{font-size:14px;} +.clear{clear:both; height:0; overflow:hidden;} +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;} +table{border-collapse:collapse;} +.center{text-align:center;} +img{border:0;} +.cred{color:#F14D59;} +.cred1{color:#C70404;} +.corg{color:#FF5A00;} +.cgreen{color:#090;} +.cblue{color:#244395;} +.c666{color:#666} +.c888{color:#888} +.c333{color:#333} +.fl{float:left;} +.fr{float:right;} +.mat5{margin-top:5px;} +.mat8{margin-top:8px;} +.mat10{margin-top:10px;} +.mab5{margin-bottom:5px;} +.mab10{margin-bottom:10px;} +.mar5{margin-right:5px;} +.mar10{margin-right:10px;} +.mal5{margin-left:5px;} +.mal10{margin-left:10px;} +.font12{font-size:12px;} +.font14{font-size:14px;} +.font16{font-size:16px;} +.more{float:right; color:#999;font-size:12px;padding-right:10px;font-weight:normal;} +.more a:hover{color:#ff4400;} +.num{font-family:"Arial";} +.strong{font-weight:bold;} +.normal{font-weight:normal;} +.xuxian{border-bottom:1px dashed #ccc;} +/*公共样式表部分结束*/ +body{background:#BEE7FD;} +.content{width:800px; margin:0 auto;} +.logo{text-align:center; margin-top:10px;} +.liucheng{width:270px; margin-left:270px; font-size:13px; margin-bottom:5px; font-weight:bold;} +.liucheng td{padding:5px;} +.liucheng td a.sel{color:#ff0000;} +.main_l{background:url(../images/main_l.gif) no-repeat; width:20px; height:566px; float:left; overflow:hidden;} +.main_r{background:url(../images/main_r.gif) no-repeat; width:20px; height:566px; float:left; overflow:hidden;} +.main_m{background:url(../images/main_m.gif) repeat-x; width:730px; height:516px; float:left; padding:25px 15px;} +.xieyi{border:1px #ddd solid; background:#f8f8f8; padding:10px; margin-top:10px} +.xieyi_text{border:1px #ddd solid; padding:8px; background:#fff; color:#666; height:350px; overflow-y:auto;} +.xieyi td{padding:5px;} +.xieyi .input50{width:50px; height:24px; line-height:24px; border:1px #5893B4 solid;} +.xieyi .input150{width:150px; height:24px; line-height:24px; border:1px #5893B4 solid;} +.xieyi .input200{width:200px; height:24px; line-height:24px; border:1px #5893B4 solid;} +.btn{background:url(../images/anzhuang.gif) no-repeat; width:133px; height:34px; border:0; cursor:pointer;} +.main{background:#F7FBE9; width:500px; height:160px; margin:0 auto; border:1px #9DD3F0 solid; padding:30px;} +.main a{color:#244395; text-decoration:underline;} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/install/images/anzhuang.gif b/phpshe/1.1/php-fpm/src/install/images/anzhuang.gif new file mode 100755 index 0000000000000000000000000000000000000000..3c23e18c2a206efdea6e160d08e042d3cc146ea1 GIT binary patch literal 2332 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 at7X`freOSPpH1tCd9>P<9A{}PaQuHPp(&pL literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/install/images/main_l.gif b/phpshe/1.1/php-fpm/src/install/images/main_l.gif new file mode 100755 index 0000000000000000000000000000000000000000..8e7ddd30a7396698fdbd3033841a7f188732d188 GIT binary patch literal 4370 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/install/images/next.gif b/phpshe/1.1/php-fpm/src/install/images/next.gif new file mode 100755 index 0000000000000000000000000000000000000000..1b6e3f007a84b14670a1086584c3022100db1cb4 GIT binary patch literal 2226 zcmV;j2u=4#Nk%w1VTAx90OkMyI5;=~0Rd}kYh+|(Ha0dM9v(C_G!709!NI}U*x2{? z_tw_d+1c6k_4V-Z@ayaA>FMe0?Ci{cXxN=h*M zdOtruqobqd=H_v6ajveeo}Qj~cz8QIJH^GtrlzK!pPw@`GkJM=#KgpU3JzP_lasJOVeE-o%ADk^eva<8wiY;0^iJUl%;J&B2lgoK2g zoSaBVNN;a%kdTm=n3$E7mA$>aSy@@Px3`9dhI4asjg5^*M@J_oC&I$Q*Vot5($de* z&(6-y(9qEO`ug47-TC?X^z`)a@9)vk(X+F&)6>)P^78%t{mjhFA^8LV00000EC2ui z0EGY|000O7fFm0mA_z7wOm8*_jE#R$mAs@*y-x)?CsKZATr1$89RL-F6SE?=XV=*00RmfNU)&6g9sBUT*&Ysh!X$g zZP)`LgOd_>0Q$Sbv7^V2AVZ2ANwTELlPF1+P;dvtoeUd5n5fWT&m9FgbL!m5v!~CV zH#0QYaHoO426Zm%+t46G(3?LM>>K)00iLQ=qiWrn0Vd8ndqUvZ!?c0fvuM+*UCZ_? z&I}&^m?rI`z(Jp+c)G^L(*UQ3wt1Uc?UUhxf(v&pv|Y>?ZCA5GVTK)R6_4f1m@{kM z%=vO2zHssMvD|e71_cfJG{B>v&jk;MIbWEa!LHQ{eCxK}(7Cs7%(E{mn7k)LpX11r zD__pMd2-PX@VxeL9FGIsc@$r8aD8-l=G`s#;c+}qAL_HsJ73Qp`Kj}&iCgDRzrOwZ z`19Mx(7?=+B}M2!LlHFS;DZl3=wLjxA((833_Li;KNrUr3C3}_S(gAg$Uki!}@Xi)?k(;lntx)8id0kst5 z!E31$)NAj(_~xtczWmm^W&&ay07eTGv|vO42q&yC!d(oJ0}VoG;lluJ~Xyi5L~dlBtlTZ$tb6+^2#i?>@vzo1i%6gWgI|&3M`l)g%wRmF~bZ^%z(rU zPXIB+3Ny2jh8Ipuorf01Ti22S~sI8W4a`2tXXjCkH;TP6K*a zfF5E;hXv3<1KsQ10$>0K*uek{SvY_I$QOs)=>dZWOrZ)f$U+qG%6}@1p$rQch5&E? zgB;*M9O59s8}ea-dgxvpbhyJS5J3P22tXFVa0J*baDsH;zznDOzXfVQiW*n}uk65w zIOySv3+&TiBxC9La6t{wA&pODBM0<%U=5Om%#MpDgVHSPT~@njTEIGn7Fu(+MXuu8_08a_1Km-?MXi9g=({fTl z1avrp1sp2Tp~9e?;k+nFRS?gi_VlS0wE#{nU{g6HU=Jk!z{4Lz5QjO4K%`q$K}g3+ z*0P%QtY|GORaGzt70{EaXVs`wVK7w*hybTyg+W^P%GbS0HK(flgAMF}hZC%iG@i_P4+du5gD-+}`rZwkg2r4t13$*9K5RR}9geOel=7`4wvoVS&Mi2-9JJ{7d AfdBvi literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/install/images/quxiao.gif b/phpshe/1.1/php-fpm/src/install/images/quxiao.gif new file mode 100755 index 0000000000000000000000000000000000000000..f13a228a16b2b4353256186044c097f3a49768ce GIT binary patch literal 2336 zcmV+*3E%cdNk%w1VTAx90OkMyG&D3gI5=)@ZVe3$B_$;=FffyolPM`FfPjEHIyzEP zQUL)0Ha0dwLP8oE8W9l@FE1|`7#JQN9@yB}@bK`^(9reu_2}s6*4EbS?CkFD?$XlI z$;rv->FL?o+3V};;NalR&CScp%l7v6%F4>s)z$d;`2PO>)YR1T^YiNJ>fhhr@$vEP z?d|{n|NQ*?-rnBY+S;_Vw6e0Y$jHe1`}^G7+~?=#+uPgb=H{`nv3YrUu&}VMuCBww z!)$D9;o;%p;^Lv9p*%c1$H&LS#Kb*4J!)!dYinzEc6MD|U3+_bT3T9dZEZe2KI7x# zzrVl6#>Swapm=zAs;a7VbaZHFXmxdUaBy&ff`X5akG;LUXJ==xudjM~dbqf_iHV8A z!osz+wYIjlX=!OJEG(v`rsU-0PEJmvqoaj|g}}hTmzS5Fot><#th>9r&d$#C^z`@l z_s`GI!NI}T*Vp>``uX|!@9*#3-QCgA(X+F&)6>)P^78%t{mjhFA^8LV00000EC2ui z0EGY|000O7fG#dCF+M&;hIERHjE#PM8Z9h% ztgWuEu(7hUw6(UkxU(&)EIA%@EP^O8pmu(PCw|Jy%+1cv(9zP<)YaC{FM==GgLM@z zCtq?k+kQ31*Xio(?CsDss*(;|Q8KbL!m5vnS6H zcP!8xVe`%ip+jrRAu7j$iJDJuB7GXis8XL;v--TVCr?a_7LJA$YoV;!vuM+*U0c=! zg%NT8j>eS}$LR>TaZ=RPJ0eBXy?6RNmBS(q-4uP@b@K>QTT%89>M|03RtNF+>V;JTLy>5?8d)!4NVaz(pS_ zY*EISH?&|%3paouWfd?mNrx7uXz;<8cyxf~qKq!e!j>^nkbw#xP+I8+m}aW!rkr-_ zsiqoSfJYSrF2I8f3FK*j0+UXvf({A5paK*|1mJ`N4WLI+0EAYSs7i{ps1_#^$7FTqT!w@~(KtKpUNDzYmvN`XvN<5E^2#i?@KQ_{fUtthAkbX%%{b?*^UgfuJo6JxluE@4 zN+9rt11rD)0uVN=a0bn0JP^Rt01N@Z0xQf61Pn9x?Df}PtMKw3L3mKd1a)|T_5^IV z?e^Pn$1V5U78PhZ`UEkca0C)K@IinQVDJ&Z03nos!r6S_P=Wyq zpdf?;KL}uj08JdRfZ3C?t@`uOLm$NEF$EEN=onjB390S*jcegj}c zA%O!u)SW#aCDic)03Jx;KoiH4fdmo@d|txj;0vGt1qcH8tN;akKp+D7z`zDN@PQDF zpadV7JuPTK3K%E>0EAG4GW-Am1L(m9^nkVv*zO2=5CQ<;hXNFopaj87pa~~P!y4Lf z1@M6Z0(HlS8QSoNKs4b7T37)MW`O``fS(!$U;uBxj}Hrw!Uo!~!a8h#3_oDP05G5j z1}+eYV65Q^Wbl|3Y~YM~*gyq(c*Zum@r`hdqa5F;ha$qE1bP5K1DL?THD-Yddgx*a z#GrsMpuh}DfI|-zV1*-4VGbxTVFgf7fjL_8l4oS#2m@)t70h7&1u@A(1x7iC4a{K< zqfDhLSINp&x^k6u)WaW25P}N8A&{u#Lk0d&0X@J04s*~$?*4!R67cjHWazkjzSsumU)=!3kzygHz6-mZbEiILArOa+;HzwM0QM;Sd5f>Oln5`~x4p zS%OklAOs;0CLclo%s}2U1iZZGH_u7Xf_jshbNJ;cZ6E_1xL^i2U?&_z@P~^2@}d~c zs75!+QH{=l1|kr_EkPPki-uqhA|L??P&$V{z<~rVg#!&_3D8qg6rdf=sZM|S2Ydpw zr*MeD9#-H29eCgm9Kh!vC|c2`I`yegjjB|i8Ul*$5~=t9Tq;bf3e!KFk^{R8X+k;R zQh@rD1R@RTRM*PZivE( z9EcDC6703ANhK=>Xzf+tb-=;s)J8cJ;9z&{HQRj4 zJKp~Km%G^=+y?&e1rY?{1$KY|9b_PbJ?voyGjOndgeOel3S0QX7|yVUH_YJKuWS)ha!y}$s`QV3vH}k#!p9lZDY73oaZJ|>i)%S`3 z*4i0sZR6zaPk)6J1B{`5YF}WDX&k@xejB6^VA7Os*HJ%R4NR6bj^2Db1W^EouD@z3 zrDjG!&d=@-x?Mx1QsVA|b}S;{n=6M~1Hgf+FQZErjs*R_MFd0yAU{KrY@+oh0F}x( z_a45EMI>CkcC0l9kZDb?XINiP2U9a^`MHshXib)7IOhO(_rarfq8h9`Uuyt4AW86j zk8;_^IN^&ne0L5z;p4`4(9@27`rE}=54a7<5n zd|Y0Ml~Q4+d8Spg007E!i_zYvBGqRi<+;UZ&&8#oEsPZbOq#OGgKu|Qu~I7R->(l% zRz(2++I@HTMj&6C$KwLY3qXh++IWfh+I711`YzfTz$a(>A=q)mi`gV h0vgD2xuOJx^$YHB!Z+nXvX%e<002ovPDHLkV1j`++Kd1I literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/install/index.php b/phpshe/1.1/php-fpm/src/install/index.php new file mode 100755 index 000000000..8f36d859c --- /dev/null +++ b/phpshe/1.1/php-fpm/src/install/index.php @@ -0,0 +1,88 @@ + + * @creatdate 2012-1111 koyshe + */ +error_reporting(E_ALL ^ E_NOTICE); +date_default_timezone_set('PRC'); +header('Content-Type: text/html; charset=utf-8'); + +//改写不安全的register_global和防sql注入处理 +if (@ini_get('register_globals')) { + foreach($_REQUEST as $name => $value){unset($$name);} +} + +$pe['host_root'] = 'http://'.str_ireplace(rtrim(str_replace('\\','/',$_SERVER['DOCUMENT_ROOT']), '/'), $_SERVER['HTTP_HOST'], str_replace('\\', '/', dirname(__FILE__))).'/../'; +$pe['path_root'] = str_replace('\\','/',dirname(__FILE__)).'/../'; +include("{$pe['path_root']}/include/class/cache.class.php"); +include("{$pe['path_root']}/include/function/global.func.php"); + +if (get_magic_quotes_gpc()) { + !empty($_GET) && extract(pe_trim(pe_stripslashes($_GET)), EXTR_PREFIX_ALL, '_g'); + !empty($_POST) && extract(pe_trim(pe_stripslashes($_POST)), EXTR_PREFIX_ALL, '_p'); +} +else { + !empty($_GET) && extract(pe_trim($_GET),EXTR_PREFIX_ALL,'_g'); + !empty($_POST) && extract(pe_trim($_POST),EXTR_PREFIX_ALL,'_p'); +} + +switch ($_g_step) { + //#####################@ 配置信息 @#####################// + case 'setting': + if (isset($_p_pesubmit)) { + $dbconn = mysql_connect("{$_p_db_host}:{$_p_db_port}", $_p_db_user, $_p_db_pw); + if (!$dbconn) pe_error('数据库连接失败...数据库ip,用户名,密码对吗?'); + if (!mysql_select_db($_p_db_name, $dbconn)) { + mysql_query("CREATE DATABASE `{$_p_db_name}` DEFAULT CHARACTER SET utf8", $dbconn); + !mysql_select_db($_p_db_name, $dbconn) && pe_error('数据库选择失败...数据库名对吗?'); + } + mysql_query("SET NAMES utf8", $dbconn); + mysql_query("SET sql_mode = ''", $dbconn); + + $sql_arr = explode('/*#####################@ pe_cutsql @#####################*/', file_get_contents("{$pe['path_root']}install/phpshe.sql")); + foreach ($sql_arr as $v) { + $result = mysql_query(trim(str_ireplace('{dbpre}', $_p_dbpre, $v))); + } + if ($result) { + mysql_query("update `{$_p_dbpre}admin` set `admin_name` = '{$_p_admin_name}', `admin_pw` = '".md5($_p_admin_pw)."' where `admin_id`=1", $dbconn); + $config = ""; + file_put_contents("{$pe['path_root']}config.php", $config); + pe_goto("{$pe['host_root']}install/index.php?step=success"); + } + else { + pe_error('数据库安装失败!'); + } + } + if (is_writeable("{$pe['path_root']}data/")) { + $mod_data = 'Yes'; + $mod_data_result = true; + } + else { + $mod_data = 'No'; + $mod_data_result = false; + } + if (is_writeable("{$pe['path_root']}config.php")) { + $mod_config = 'Yes'; + $mod_config_result = true; + } + else { + $mod_config = 'No'; + $mod_config_result = false; + } + $menucss_2 = "sel"; + $seo = pe_seo($menutitle='配置信息 -> PHPSHE商城系统安装向导', '', '', 'admin'); + break; + //#####################@ 安装成功 @#####################// + case 'success': + $menucss_3 = "sel"; + $seo = pe_seo($menutitle='安装成功 -> PHPSHE商城系统安装向导'); + break; + //#####################@ 安装协议 @#####################// + default : + $menucss_1 = "sel"; + $seo = pe_seo($menutitle='安装协议 -> PHPSHE商城系统安装向导'); + break; +} +include('install.html'); +pe_result(); +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/install/install.html b/phpshe/1.1/php-fpm/src/install/install.html new file mode 100755 index 000000000..81198eb7e --- /dev/null +++ b/phpshe/1.1/php-fpm/src/install/install.html @@ -0,0 +1,229 @@ + + + + + +{$seo['title']} + + + + + + + +
    + + + +
    +
    +

    欢迎使用PHPSHE商城系统(当前版本PHPSHE1.1),请阅读PHPSHE安装许可协议!

    +
    +
    +

    版权所有 (c) 2008-2013,简好技术(河南)保留所有权利。

    +

    感谢您选择 PHPSHE 产品。希望我们的努力能为您提供一个高效便捷和可靠的电商商务网站解决方案。 +
    PHPSHE 全称为 PHPSHE商城系统。 +
    PHPSHE商城系统的官方网站为 http://www.phpshe.com,是 PHPSHE 产品的开发商,依法独立拥有 PHPSHE 的全部知识产权。无论您是个人或组织、盈利与否、用途如何(包括以学习和研究为目的),均需仔细阅读本协议,在理解、同意、并遵守本协议的全部条款后,方可开始使用 PHPSHE 软件。 +
    本授权协议适用且仅适用于 PHPSHE1.1 版本,简好技术(河南)拥有对本授权协议的最终解释权。

    +

    +I、协议许可的权利 +
    1> 您可以在完全遵守本最终用户授权协议的基础上,将本软件应用于非商业用途,而不必支付软件版权授权费用。 +
    2> 您可以在协议规定的约束和限制范围内修改 PHPSHE 源代码(如果被提供的话)或界面风格以适应您的网站要求。 +
    3> 您拥有使用本软件构建网站中全部会员资料、商品及相关信息的所有权,并独立承担与商品、文章内容的相关法律义务。 +
    4> 获得商业授权之后,您可以将本软件应用于商业用途,同时依据所购买的授权类型中确定的技术支持期限、技术支持方式和技术支持内容,自购买时刻起,在技术支持期限内拥有通过指定的方式获得指定范围内的技术支持服务。商业授权用户享有反映和提出意见的权力,相关意见将被作为首要考虑,但没有一定被采纳的承诺或保证。 +

    +

    +II、协议规定的约束和限制 +
    1> 未获商业授权之前,不得将本软件用于商业用途(包括但不限于企业网站、经营性网站、以营利为目或实现盈利的网站)。购买商业授权请登陆http://www.phpshe.com参考相关说明。 +
    2> 不得对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。 +
    3> 无论如何,即无论用途如何、是否经过修改或美化、修改程度如何,只要使用 PHPSHE 的整体或任何部分,未经书面许可,网站页面页脚处的 PHPSHE 名称和http://www.phpshe.com 的链接都必须保留,而不能清除或修改。 +
    4> 禁止在 PHPSHE 的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。 +
    5> 如果您未能遵守本协议的条款,您的授权将被终止,所被许可的权利将被收回,并承担相应法律责任。 +

    +

    +III、有限担保和免责声明 +
    1> 本软件及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。 +
    2> 用户出于自愿而使用本软件,您必须了解使用本软件的风险,在尚未购买产品技术服务之前,我们不承诺提供任何形式的技术支持、使用担保,也不承担任何因使用本软件而产生问题的相关责任。 +
    3> 简好技术(河南)不对使用本软件构建网站中的商品或文章信息承担责任。 +
    有关 PHPSHE 最终用户授权协议、商业授权与技术服务的详细内容,均由 PHPSHE 官方网站独家提供。简好技术(河南)拥有在不事先通知的情况下,修改授权协议和服务价目表的权力,修改后的协议或价目表对自改变之日起的新授权用户生效。 +

    +

    +电子文本形式的授权协议如同双方书面签署的协议一样,具有完全的和等同的法律效力。您一旦开始安装 PHPSHE,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的权力的同时,受到相关的约束和限制。协议许可范围以外的行为,将直接违反本授权协议并构成侵权,我们有权随时终止授权,责令停止损害,并保留追究相关责任的权力。 +

    +
    +
    +
    + + + + + +
    我已看过并同意安装许可协议
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +

    确认您的配置

    +
    +
    +
    ①环境要求
    + + + + + + + + + + +
    PHPSHE商城系统对服务器环境没有特殊要求,但必须满足以下基础安装条件
    检查./data及其子目录777权限:{$mod_data}
    检查./config.php文件777权限:{$mod_config}
    +
    ②数据库配置
    + + + + + + + + + + + + + + + + + +
    数据库服务器 + + 端口 +
    数据库用户名 + + 密码 +
    数据库名
    数据表前缀 默认是 "pe_"
    +
    ③管理帐号
    + + + + + + + + + +
    管理帐号 网站管理员登录帐号
    管理密码 网站管理员登录密码
    +
    +
    + + +
    +
    +
    +
    +
    + + +
    +

    恭喜!PHPSHE商城系统安装成功。

    +

    请立即删除./install目录,以保证网站数据安全!

    +

    访问网站前台首页

    +

    访问网站后台管理

    +

    尽情享用 PHPSHE 带来的乐趣!

    +
    + +
    Copyright © 2008-2013 简好技术 版权所有
    +
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/install/phpshe.sql b/phpshe/1.1/php-fpm/src/install/phpshe.sql new file mode 100755 index 000000000..c988f5543 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/install/phpshe.sql @@ -0,0 +1,280 @@ +DROP TABLE IF EXISTS `{dbpre}ad`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}ad` ( + `ad_id` int(10) unsigned NOT NULL auto_increment, + `ad_logo` varchar(100) NOT NULL, + `ad_url` varchar(100) NOT NULL, + `ad_position` varchar(15) NOT NULL, + `ad_order` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`ad_id`) +) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +INSERT INTO `{dbpre}ad` VALUES('1','data/attachment/2012-11/jdt1.jpg','','index_jdt','0'), +('2','data/attachment/2012-11/jdt2.jpg','','index_jdt','0'), +('3','data/attachment/2012-11/ad1.jpg','','header','0'), +('4','data/attachment/2012-11/ad2.jpg','','footer','0'); +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}admin`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}admin` ( + `admin_id` int(10) unsigned NOT NULL auto_increment COMMENT '管理id', + `admin_name` varchar(20) NOT NULL COMMENT '管理名', + `admin_pw` varchar(32) NOT NULL COMMENT '管理密码', + `admin_atime` int(10) unsigned NOT NULL default '0' COMMENT '管理注册时间', + `admin_ltime` int(10) unsigned NOT NULL default '0' COMMENT '管理上次登录时间', + PRIMARY KEY (`admin_id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +INSERT INTO `{dbpre}admin` VALUES('1','admin','21232f297a57a5a743894a0e4a801fc3','1269059337','1357002345'); +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}article`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}article` ( + `article_id` int(10) unsigned NOT NULL auto_increment, + `article_name` varchar(100) NOT NULL, + `article_text` text NOT NULL, + `article_atime` int(10) unsigned NOT NULL default '0', + `article_clicknum` int(10) unsigned NOT NULL default '0', + `class_id` smallint(5) unsigned NOT NULL default '0', + PRIMARY KEY (`article_id`), + KEY `class_id` (`class_id`) +) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +INSERT INTO `{dbpre}article` VALUES('1','关于简好技术','

    \r\n 简好技术,优秀的互联网平台与服务提供商,专业从事互联网软件开发等网络服务。自2008年成立至今,简好技术始终秉承“产品简单好用,用心服务客户”的核心经营理念,在自主研发的创新之路稳健前行。\r\n

    \r\n

    \r\n
    \r\n

    \r\n

    \r\n 严谨的程序开发人员、专业的美工设计、良好的服务让我们在竞争激烈的互联网行业中蓬勃发展。通过我们多年在上百个不同行业领域的项目历练,加之对各行业、各类型客户需求的理解,抛开炒作与虚夸,以一贯低调、踏实、诚信的风格为企、事业单位提供更好更实用的一站式网站建设服务!\r\n

    \r\n

    \r\n
    \r\n

    \r\n

    \r\n 简好技术坚信质量和信誉是我们存在的基石。我们注重客户提出的每个要求并充分考虑每一个细节,我们积极的做好服务,不断地完善自己,通过不懈的努力, 我们把每一位客户都做成了朋友,感谢你们对简好技术的信任与支持,这种信任与支持激励着我们提供更优质的服务。在所有新老客户面前,我们都很乐意朴实的跟您接触,深入的了解您的企业,每一次倾心的合作,都是一个全新的体会和挑战, 我们随时与您同在。\r\n

    \r\n

    \r\n 详情请访问:简好技术官方网站 \r\n

    ','1335834720','905','1'), +('2','PHPSHE商城系统1.1版演示站上线','PHPSHE商城系统主要包括商品分类、商品列表、商品咨询、商品评价、订单列表、文章分类、文章列表、单页列表、会员列表、管理列表、基本信息、支付方式、缓存管理、数据安全、友情链接、广告列表等功能模块。操作简单好用,会上网者就可以操作。
    \r\n

    \r\n
    \r\n

    \r\n

    \r\n 【安装说明】:\r\n

    \r\n1.用FTP工具(如flashfxp)把程序上传到服务器;
    \r\n2.给./data 目录及其子目录 777 权限(windows服务器可忽略此步);
    \r\n3.访问http://您的网址/install进行安装。
    \r\n
    \r\n【PHPSHE商城功能概述】:
    \r\n软件适用于于各行业产品销售的商家,主要包括有以下功能:
    \r\n(1)管理员发布、修改,删除商品信息,商品多级分类检索、关键词模糊搜索等;
    \r\n(2)管理员对商品咨询管理,商品评价管理;
    \r\n(3)订单流程清晰,可及时便捷查询和修改订单信息;
    \r\n(4)管理员对文章分类管理、文章管理、单页信息管理;
    \r\n(5)管理员对会员信息管理,管理帐号管理;
    \r\n(6)管理员对网站整体基本信息的系统设置;
    \r\n(7)订单支付方式集成支付宝即时到帐,担保交易,双功能收款等接口方便用户支付;
    \r\n(8)数据缓存处理,提高系统的运行效率;
    \r\n(9)一键对网站进行备份恢复,保障数据安全;
    \r\n(10)支持友情链接、首页广告图管理;
    \r\n(11)会员注册、登录,查询历史订单,咨询,评价以及商品收藏等。
    \r\n

    \r\n 详情请访问:PHPSHE商城系统简介 \r\n

    ','1335856260','687','1'), +('3','请购买正版PHPSHE商城系统','\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n 购买授权 \r\n
    \r\n 商业授权许可 \r\n \r\n 单年授权:600RMB \r\n (一次性购买两年可升级为终身授权,永久免费使用)\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n 购买服务 \r\n
    \r\n 服务价格 \r\n \r\n 980RMB \r\n
    \r\n 服务年限 \r\n \r\n 1年\r\n
    \r\n 商业授权 \r\n \r\n 1年\r\n
    \r\n 网站数量 \r\n \r\n 1个\r\n
    \r\n 站点迁移 \r\n \r\n 1次\r\n
    \r\n 在线文档 \r\n \r\n \r\n
    \r\n 软件安装指导 \r\n \r\n \r\n
    \r\n 软件使用指导 \r\n \r\n \r\n
    \r\n 软件升级指导 \r\n \r\n \r\n
    \r\n 二次开发咨询 \r\n \r\n \r\n
    \r\n 版权信息去除 \r\n \r\n \r\n
    \r\n 技术支持 \r\n \r\n 如网站打不开、出现乱码、页面显示不正确、黑客入侵、程序出错等,都会及时给予维护服务,对于软件操作不明白的,也可负责培训。\r\n
    \r\n
    \r\n

    \r\n 注意:简好技术未授权任何公司或个人代理销售! 请注意鉴别,以免上当。\r\n

    \r\n

    \r\n 说明: \r\n

    \r\n

    \r\n ①商业授权\r\n

    \r\n1、企业、政府单位、教育机构、协会团体、厂矿、工作室等所有以营利为目的的用户必须购买软件授权后方可使用。\r\n

    \r\n ②以下情况不属于服务范围\r\n

    \r\n1、自行修改或使用非原始PHPSHE商城系统程序代码产生的问题;
    \r\n2、自行对PHPSHE商城系统数据库进行直接操作导致数据库出错或者崩溃;
    \r\n3、非PHPSHE商城系统官方的模块/插件的安装以及由于安装模块/插件造成的故障;
    \r\n4、服务器、虚拟主机原因造成的系统故障;
    \r\n5、二次开发或定制及其它可能产生问题的情况。
    \r\n
    \r\n
    \r\n

    \r\n 详情请访问:PHPSHE商城系统购买 \r\n

    ','1335863100','680','1'); +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}ask`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}ask` ( + `ask_id` int(10) unsigned NOT NULL auto_increment, + `ask_text` text NOT NULL, + `ask_atime` int(10) unsigned NOT NULL default '0', + `ask_replytext` text NOT NULL, + `ask_replytime` int(10) unsigned NOT NULL default '0', + `ask_state` tinyint(1) unsigned NOT NULL default '0', + `product_id` int(10) unsigned NOT NULL, + `user_id` int(10) unsigned NOT NULL default '0', + `user_name` varchar(20) NOT NULL, + `user_ip` char(15) NOT NULL default '0.0.0.0', + PRIMARY KEY (`ask_id`), + KEY `product_id` (`product_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}cart`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}cart` ( + `cart_id` int(10) unsigned NOT NULL auto_increment, + `cart_atime` int(10) unsigned NOT NULL default '0', + `product_id` int(10) unsigned NOT NULL default '0', + `product_num` smallint(5) unsigned NOT NULL default '1', + `user_id` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`cart_id`), + KEY `product_id` (`product_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}category`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}category` ( + `category_id` smallint(5) unsigned NOT NULL auto_increment, + `category_pid` smallint(5) unsigned NOT NULL default '0', + `category_name` varchar(30) NOT NULL, + `category_order` smallint(5) unsigned NOT NULL default '0', + PRIMARY KEY (`category_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}class`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}class` ( + `class_id` smallint(5) unsigned NOT NULL auto_increment, + `class_name` varchar(30) NOT NULL, + `class_order` smallint(5) unsigned NOT NULL default '0', + PRIMARY KEY (`class_id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +INSERT INTO `{dbpre}class` VALUES('1','网站公告','0'); +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}collect`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}collect` ( + `collect_id` int(10) unsigned NOT NULL auto_increment, + `collect_atime` int(10) unsigned NOT NULL default '0', + `product_id` int(10) unsigned NOT NULL default '0', + `user_id` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`collect_id`), + KEY `product_id` (`product_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}comment`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}comment` ( + `comment_id` int(10) unsigned NOT NULL auto_increment COMMENT '留言id', + `comment_text` text NOT NULL COMMENT '留言内容', + `comment_atime` int(10) NOT NULL default '0' COMMENT '留言时间', + `product_id` int(10) unsigned NOT NULL, + `user_id` int(10) unsigned NOT NULL COMMENT '接受方用户id', + `user_name` varchar(20) NOT NULL, + `user_ip` char(15) NOT NULL default '0.0.0.0', + PRIMARY KEY (`comment_id`), + KEY `product_id` (`product_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}link`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}link` ( + `link_id` int(10) unsigned NOT NULL auto_increment COMMENT '友情链接id', + `link_name` varchar(50) NOT NULL COMMENT '友情链接名称', + `link_url` varchar(100) NOT NULL COMMENT '友情链接url', + `link_order` int(10) unsigned NOT NULL default '0' COMMENT '友情链接排序', + PRIMARY KEY (`link_id`) +) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +INSERT INTO `{dbpre}link` VALUES('1','简好技术官方网站','http://www.phpshe.com','1'), +('2','PHPSHE商城系统','http://www.phpshe.com/phpshe','2'); +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}order`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}order` ( + `order_id` int(10) unsigned NOT NULL auto_increment COMMENT '订单id', + `order_money` decimal(10,1) unsigned NOT NULL default '0.0' COMMENT '订单金额', + `order_productmoney` decimal(10,1) unsigned NOT NULL default '0.0', + `order_state` varchar(10) NOT NULL default 'notpay', + `order_payway` varchar(10) NOT NULL default 'alipay_js', + `order_text` varchar(255) NOT NULL COMMENT '订单留言', + `order_atime` int(10) unsigned NOT NULL default '0' COMMENT '下单时间', + `order_ptime` int(10) unsigned NOT NULL default '0' COMMENT '付款时间', + `order_stime` int(10) unsigned NOT NULL default '0' COMMENT '发货时间', + `order_wlname` varchar(20) NOT NULL, + `order_wlid` varchar(20) NOT NULL, + `order_wlmoney` decimal(5,1) NOT NULL, + `order_outid` bigint(15) unsigned NOT NULL default '0', + `user_id` int(10) unsigned NOT NULL, + `user_name` varchar(20) NOT NULL, + `user_tname` varchar(10) NOT NULL, + `user_phone` char(11) NOT NULL COMMENT '用户手机', + `user_tel` varchar(20) NOT NULL, + `user_address` varchar(255) NOT NULL COMMENT '用户地址', + PRIMARY KEY (`order_id`), + KEY `user_id` (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}orderdata`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}orderdata` ( + `orderdata_id` int(10) unsigned NOT NULL auto_increment COMMENT '订单数据id', + `order_id` int(10) unsigned NOT NULL default '0' COMMENT '订单id', + `product_id` int(10) unsigned NOT NULL default '0' COMMENT '商品id', + `product_name` varchar(50) NOT NULL COMMENT '订单名称', + `product_smoney` decimal(10,1) NOT NULL default '0.0', + `product_num` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`orderdata_id`), + KEY `order_id` (`order_id`), + KEY `product_id` (`product_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}page`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}page` ( + `page_id` smallint(5) unsigned NOT NULL auto_increment, + `page_name` varchar(20) NOT NULL, + `page_text` text NOT NULL, + PRIMARY KEY (`page_id`) +) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +INSERT INTO `{dbpre}page` VALUES('1','购物指南','请在此填写相关内容'), +('2','支付方式','请在此填写相关内容'), +('3','常见问题','请在此填写相关内容'), +('4','配送时间及运费','请在此填写相关内容'), +('5','验货与签收','请在此填写相关内容'), +('6','订单查询','请在此填写相关内容'), +('7','退换货流程','请在此填写相关内容'), +('8','退换货条款','请在此填写相关内容'), +('9','用户协议','请在此填写相关内容'), +('10','公司简介','请在此填写相关内容'), +('11','联系我们','请在此填写相关内容'), +('12','诚聘英才','请在此填写相关内容'); +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}payway`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}payway` ( + `payway_id` tinyint(3) unsigned NOT NULL auto_increment, + `payway_name` varchar(10) NOT NULL, + `payway_mark` varchar(15) NOT NULL, + `payway_logo` varchar(100) NOT NULL, + `payway_model` text NOT NULL, + `payway_config` text NOT NULL, + `payway_text` varchar(255) NOT NULL, + `payway_order` tinyint(3) unsigned NOT NULL default '0', + `payway_state` tinyint(1) unsigned NOT NULL default '1', + PRIMARY KEY (`payway_id`) +) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +INSERT INTO `{dbpre}payway` VALUES('1','支付宝','alipay','include/plugin/payway/alipay/logo.gif','a:4:{s:12:\"alipay_class\";a:3:{s:4:\"name\";s:15:\"支付宝接口\";s:9:\"form_type\";s:6:\"select\";s:10:\"form_value\";a:3:{s:9:\"alipay_js\";s:18:\"即时到账收款\";s:9:\"alipay_db\";s:18:\"担保交易收款\";s:10:\"alipay_sgn\";s:15:\"双功能收款\";}}s:11:\"alipay_name\";a:2:{s:4:\"name\";s:15:\"支付宝账户\";s:9:\"form_type\";s:4:\"text\";}s:10:\"alipay_pid\";a:2:{s:4:\"name\";s:18:\"合作者身份Pid\";s:9:\"form_type\";s:4:\"text\";}s:10:\"alipay_key\";a:2:{s:4:\"name\";s:18:\"安全校验码Key\";s:9:\"form_type\";s:4:\"text\";}}','a:4:{s:12:\"alipay_class\";s:10:\"alipay_sgn\";s:11:\"alipay_name\";s:16:\"koyshe@gmail.com\";s:10:\"alipay_pid\";s:16:\"2088102457797916\";s:10:\"alipay_key\";s:32:\"esfsclzgahxncgzi3bbe7giwa2ywxyv3\";}','国内领先的第三方支付平台,为电子商务提供“简单、安全、快速”的在线支付解决方案。','0','1'), +('2','银行转账/汇款','bank','include/plugin/payway/bank/logo.gif','a:1:{s:9:\"bank_text\";a:2:{s:4:\"name\";s:12:\"收款信息\";s:9:\"form_type\";s:8:\"textarea\";}}','a:1:{s:9:\"bank_text\";s:130:\"建设银行 621700254000005xxxx 刘某某\r\n工商银行 621700254000005xxxx 刘某某\r\n农业银行 621700254000005xxxx 刘某某\";}','当您提交订单后,请到银行汇款所购商品款项,待款项到达后我们安排发货。','0','1'); +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}product`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}product` ( + `product_id` smallint(5) unsigned NOT NULL auto_increment COMMENT '商品id', + `product_name` varchar(50) NOT NULL COMMENT '商品名称', + `product_text` text NOT NULL COMMENT '商品描述', + `product_logo` varchar(200) NOT NULL COMMENT '商品logo', + `product_mmoney` decimal(10,1) unsigned NOT NULL default '0.0' COMMENT '商品市场价', + `product_smoney` decimal(10,1) unsigned NOT NULL default '0.0' COMMENT '商品商城价', + `product_wlmoney` decimal(5,1) unsigned NOT NULL default '0.0' COMMENT '商品物流价', + `product_mark` varchar(10) NOT NULL COMMENT '商品货号', + `product_weight` decimal(7,2) NOT NULL COMMENT '商品尺寸', + `product_state` tinyint(1) unsigned NOT NULL default '1' COMMENT '商品状态', + `product_atime` int(10) unsigned NOT NULL default '0' COMMENT '商品发布时间', + `product_num` smallint(5) unsigned NOT NULL COMMENT '商品库存数', + `product_sellnum` int(10) unsigned NOT NULL default '0' COMMENT '商品销售数', + `product_clicknum` int(10) unsigned NOT NULL default '0' COMMENT '商品点击数', + `product_collectnum` int(10) unsigned NOT NULL default '0' COMMENT '商品收藏数', + `product_asknum` int(10) unsigned NOT NULL default '0' COMMENT '商品咨询数', + `product_commentnum` int(10) unsigned NOT NULL default '0' COMMENT '商品评价数', + `product_istuijian` tinyint(1) unsigned NOT NULL default '0', + `category_id` smallint(5) unsigned NOT NULL COMMENT '商品分类id', + PRIMARY KEY (`product_id`), + KEY `category_id` (`category_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}setting`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}setting` ( + `setting_key` varchar(50) NOT NULL, + `setting_value` text NOT NULL, + KEY `setting_key` (`setting_key`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +/*#####################@ pe_cutsql @#####################*/ +INSERT INTO `{dbpre}setting` VALUES('web_title','欢迎使用PHPSHE商城系统'), +('web_keywords','phpshe,php,shop,php商城系统,b2c商城系统,php商城源码,b2c商城源码,开源免费网上商城系统'), +('web_description','phpshe,php,shop,php商城系统,b2c商城系统,php商城源码,b2c商城源码,开源免费网上商城系统'), +('web_copyright','2008-2013 简好技术'), +('web_tpl','default'), +('web_phone','15839823500'), +('web_icp',''), +('web_weibo',''), +('web_tongji',''), +('web_logo','data/attachment/2012-11/20121231231911x.gif'), +('web_qq','1318321,1517735'); +/*#####################@ pe_cutsql @#####################*/ +DROP TABLE IF EXISTS `{dbpre}user`; +/*#####################@ pe_cutsql @#####################*/ +CREATE TABLE `{dbpre}user` ( + `user_id` int(10) unsigned NOT NULL auto_increment COMMENT '用户id', + `user_name` varchar(20) NOT NULL COMMENT '用户名', + `user_pw` varchar(32) NOT NULL COMMENT '用户密码', + `user_tname` varchar(10) NOT NULL COMMENT '用户姓名', + `user_phone` char(11) NOT NULL COMMENT '用户手机', + `user_tel` varchar(20) NOT NULL COMMENT '固定电话', + `user_qq` varchar(10) NOT NULL COMMENT '用户QQ', + `user_email` varchar(30) NOT NULL COMMENT '用户email', + `user_atime` int(10) unsigned NOT NULL default '0' COMMENT '用户注册时间', + `user_ltime` int(10) unsigned NOT NULL default '0' COMMENT '用户上次登录时间', + `user_address` varchar(255) NOT NULL COMMENT '用户地址', + PRIMARY KEY (`user_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; diff --git a/phpshe/1.1/php-fpm/src/install/update/index.php b/phpshe/1.1/php-fpm/src/install/update/index.php new file mode 100755 index 000000000..fc55858f7 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/install/update/index.php @@ -0,0 +1,39 @@ + + + + +PHPSHE商城系统升级程序 + + + + + + +
    +
    +【PHPSHE1.0 =====升级至=====> PHPSHE1.1】 +

    升级步骤:

    +

    1> 请务必先备份整站程序和数据库到本地,防止升级失败造成数据丢失;(数据库备份可参考:phpmyadmin备份mysql数据库)

    +

    2> 删除FTP中除./data目录和./config.php文件之外的其他目录和文件;

    +

    3> 上传PHPSHE1.1程序中除./data目录和./config.php文件之外的其他目录和文件;

    +

    4> 访问http://您的网址/install/update/,然后点此更新数据库,最后删除./install目录;

    +

    由于PHPSHE1.1版本相比1.0有较多优化与完善,请在第4步完成后继续执行以下操作;

    +

    (1)如果您之前新增加了文章分类,请检查这些分类是否已经归到商品分类中,如有请自行更正;

    +

    (2)网站logo需要在后台【基本信息】中重新上传;

    +

    (3)请到后台【支付方式】重新填写支付信息;

    +

    (4)最后执行【更新缓存】操作;

    +
    +
    Copyright © 2008-2013 简好技术 版权所有
    +
    + + +html; +pe_result(); +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/install/update/update1.0_1.1.php b/phpshe/1.1/php-fpm/src/install/update/update1.0_1.1.php new file mode 100755 index 000000000..d0100875c --- /dev/null +++ b/phpshe/1.1/php-fpm/src/install/update/update1.0_1.1.php @@ -0,0 +1,48 @@ +query("ALTER TABLE `".dbpre."ad` ADD `ad_position` VARCHAR( 15 ) NOT NULL AFTER `ad_url`"); +$db->query("UPDATE `".dbpre."ad` set `ad_position` = 'index_jdt'"); +$db->query("UPDATE `".dbpre."ad` SET `ad_logo` = REPLACE(`ad_logo`, '{$pe['host_root']}', '')"); +//更新article表 +$db->query("ALTER TABLE `".dbpre."article` CHANGE `category_id` `class_id` SMALLINT( 5 ) UNSIGNED NOT NULL DEFAULT '0'"); +$db->query("ALTER TABLE `".dbpre."article` DROP INDEX `category_id`"); +$db->query("ALTER TABLE `".dbpre."article` ADD INDEX ( `class_id` )"); +$db->query("UPDATE `".dbpre."article` set `class_id` = 1"); +//更新ask表 +$db->query("ALTER TABLE `".dbpre."ask` CHANGE `user_name` `user_name` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL"); +//更新category表 +$db->query("ALTER TABLE `".dbpre."category` DROP `category_type`"); +//更新class表 +$db->query("CREATE TABLE IF NOT EXISTS `".dbpre."class` (`class_id` smallint(5) unsigned NOT NULL auto_increment, `class_name` varchar(30) NOT NULL, `class_order` smallint(5) unsigned NOT NULL default '0', PRIMARY KEY (`class_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2;"); +$db->query("INSERT INTO `".dbpre."class` (`class_id`, `class_name`, `class_order`) VALUES(1, '网站公告', 0)"); +//更新comment表 +$db->query("ALTER TABLE `".dbpre."comment` CHANGE `user_name` `user_name` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL"); +//更新order表 +$db->query("ALTER TABLE `".dbpre."order` CHANGE `order_paytype` `order_payway` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'alipay_js'"); +$db->query("ALTER TABLE `order` CHANGE `user_tname` `user_tname` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL"); +//更新payway表 +$db->query("CREATE TABLE IF NOT EXISTS `".dbpre."payway` (`payway_id` tinyint(3) unsigned NOT NULL auto_increment, `payway_name` varchar(10) NOT NULL, `payway_mark` varchar(15) NOT NULL, `payway_logo` varchar(100) NOT NULL, `payway_model` text NOT NULL, `payway_config` text NOT NULL, `payway_text` varchar(255) NOT NULL, `payway_order` tinyint(3) unsigned NOT NULL default '0', `payway_state` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`payway_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3"); +$db->query("INSERT INTO `".dbpre."payway` (`payway_id`, `payway_name`, `payway_mark`, `payway_logo`, `payway_model`, `payway_config`, `payway_text`, `payway_order`, `payway_state`) VALUES (1, '支付宝', 'alipay', 'include/plugin/payway/alipay/logo.gif', 'a:4:{s:12:\"alipay_class\";a:3:{s:4:\"name\";s:15:\"支付宝接口\";s:9:\"form_type\";s:6:\"select\";s:10:\"form_value\";a:3:{s:9:\"alipay_js\";s:18:\"即时到账收款\";s:9:\"alipay_db\";s:18:\"担保交易收款\";s:10:\"alipay_sgn\";s:15:\"双功能收款\";}}s:11:\"alipay_name\";a:2:{s:4:\"name\";s:15:\"支付宝账户\";s:9:\"form_type\";s:4:\"text\";}s:10:\"alipay_pid\";a:2:{s:4:\"name\";s:18:\"合作者身份Pid\";s:9:\"form_type\";s:4:\"text\";}s:10:\"alipay_key\";a:2:{s:4:\"name\";s:18:\"安全校验码Key\";s:9:\"form_type\";s:4:\"text\";}}', 'a:4:{s:12:\"alipay_class\";s:10:\"alipay_sgn\";s:11:\"alipay_name\";s:16:\"koyshe@gmail.com\";s:10:\"alipay_pid\";s:16:\"2088102457797916\";s:10:\"alipay_key\";s:32:\"esfsclzgahxncgzi3bbe7giwa2ywxyv3\";}', '国内领先的第三方支付平台,为电子商务提供“简单、安全、快速”的在线支付解决方案。', 0, 1), (2, '银行转账/汇款', 'bank', 'include/plugin/payway/bank/logo.gif', 'a:1:{s:9:\"bank_text\";a:2:{s:4:\"name\";s:12:\"收款信息\";s:9:\"form_type\";s:8:\"textarea\";}}', 'a:1:{s:9:\"bank_text\";s:130:\"建设银行 621700254000005xxxx 刘某某\r\n工商银行 621700254000005xxxx 刘某某\r\n农业银行 621700254000005xxxx 刘某某\";}', '当您提交订单后,请到银行汇款所购商品款项,待款项到达后我们安排发货。', 0, 1)"); +//更新product表 +$db->query("ALTER TABLE `".dbpre."product` ADD `product_istuijian` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' COMMENT '商品是否推荐' AFTER `product_commentnum`"); +$db->query("UPDATE `".dbpre."product` SET `product_logo` = REPLACE(`product_logo`, '{$pe['host_root']}', '')"); +//更新setting表 +$db->query("ALTER TABLE `".dbpre."setting` ADD INDEX ( `setting_key` )"); +$db->query("DELETE from `".dbpre."setting` where `setting_key` in('alipay_name','alipay_pid','alipay_key')"); +$db->query("INSERT INTO `".dbpre."setting` (`setting_key`, `setting_value`) VALUES ('web_phone', '15839823500'), ('web_qq', '1318321,1517735'), ('web_weibo', ''), ('web_logo', '')"); +$db->query("UPDATE `".dbpre."setting` set `setting_value` = 'default' where `setting_key` = 'web_tpl'"); +//更新tag表 +$db->query("DROP TABLE `".dbpre."tag`"); +//更新user表 +$db->query("ALTER TABLE `".dbpre."user` ADD `user_tel` VARCHAR( 20 ) NOT NULL COMMENT '固定电话' AFTER `user_phone`"); +//更新数据库 +$db->query("ALTER DATABASE `".dbpre."{$pe['db_name']}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); +//更新cart表 +$db->query("ALTER TABLE `".dbpre."cart` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); +//更新collect表 +$db->query("ALTER TABLE `".dbpre."collect` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); +cache_write(); +pe_success('数据库更新完成!'); +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/ad.php b/phpshe/1.1/php-fpm/src/module/admin/ad.php new file mode 100755 index 000000000..a221ace2d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/ad.php @@ -0,0 +1,80 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'ad'; +pe_lead('hook/cache.hook.php'); +$ad_position = array('index_jdt'=>'首页焦点图广告(730*300)', 'index_header'=>'首页顶部广告(980*80)','index_footer'=>'首页底部广告(980*80)', 'header'=>'所有页面顶部广告(980*80)','footer'=>'所有页面底部广告(980*80)'); +switch ($act) { + //#####################@ 增加广告 @#####################// + case 'add': + if (isset($_p_pesubmit)) { + if ($_FILES['ad_logo']['size']) { + pe_lead('include/class/upload.class.php'); + $upload = new upload($_FILES['ad_logo']); + $_p_info['ad_logo'] = $upload->filehost; + } + if ($db->pe_insert('ad', pe_dbhold($_p_info))) { + cache_write('ad'); + pe_success('广告增加成功!', 'admin.php?mod=ad'); + } + else { + pe_error('广告增加失败...'); + } + } + $seo = pe_seo($menutitle='增加广告', '', '', 'admin'); + include(pe_tpl('ad_add.html')); + break; + //#####################@ 修改广告 @#####################// + case 'edit': + $ad_id = intval($_g_id); + if (isset($_p_pesubmit)) { + if ($_FILES['ad_logo']['size']) { + pe_lead('include/class/upload.class.php'); + $upload = new upload($_FILES['ad_logo']); + $_p_info['ad_logo'] = $upload->filehost; + } + if ($db->pe_update('ad', array('ad_id'=>$ad_id), pe_dbhold($_p_info))) { + cache_write('ad'); + pe_success('广告修改成功!', 'admin.php?mod=ad'); + } + else { + pe_error('广告修改失败...'); + } + } + $info = $db->pe_select('ad', array('ad_id'=>$ad_id)); + $seo = pe_seo($menutitle='修改广告', '', '', 'admin'); + include(pe_tpl('ad_add.html')); + break; + //#####################@ 广告排序 @#####################// + case 'order': + foreach ($_p_ad_order as $k=>$v) { + $result = $db->pe_update('ad', array('ad_id'=>$k), array('ad_order'=>$v)); + } + if ($result) { + cache_write('ad'); + pe_success('广告排序成功!'); + } + else { + pe_error('广告排序失败...'); + } + break; + //#####################@ 广告删除 @#####################// + case 'del': + if ($db->pe_delete('ad', array('ad_id'=>is_array($_p_ad_id) ? $_p_ad_id : $_g_id))) { + cache_write('ad'); + pe_success('广告删除成功!'); + } + else { + pe_error('广告删除失败...'); + } + break; + //#####################@ 广告列表 @#####################// + default : + $info_list = $db->pe_selectall('ad', array('order by'=>'`ad_order` asc, `ad_id` asc'), '*', array(10, $_g_page)); + $seo = pe_seo($menutitle='广告列表', '', '', 'admin'); + include(pe_tpl('ad_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/admin.php b/phpshe/1.1/php-fpm/src/module/admin/admin.php new file mode 100755 index 000000000..e2a82a3e9 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/admin.php @@ -0,0 +1,55 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'admin'; +switch ($act) { + //#####################@ 管理增加 @#####################// + case 'add': + if (isset($_p_pesubmit)) { + $_p_admin_pw && $_p_info['admin_pw'] = md5($_p_admin_pw); + if ($db->pe_insert('admin', $_p_info)) { + pe_success('管理增加成功!', 'admin.php?mod=admin'); + } + else { + pe_error('管理增加失败...'); + } + } + $seo = pe_seo($menutitle='增加管理', '', '', 'admin'); + include(pe_tpl('admin_add.html')); + break; + //#####################@ 管理修改 @#####################// + case 'edit': + $admin_id = intval($_g_id); + if (isset($_p_pesubmit)) { + $_p_admin_pw && $_p_info['admin_pw'] = md5($_p_admin_pw); + if ($db->pe_update('admin', array('admin_id'=>$admin_id), $_p_info)) { + pe_success('管理信息修改成功!', 'admin.php?mod=admin'); + } + else { + pe_error('管理信息修改失败...'); + } + } + $info = $db->pe_select('admin', array('admin_id'=>$admin_id)); + $seo = pe_seo($menutitle='修改管理信息', '', '', 'admin'); + include(pe_tpl('admin_add.html')); + break; + //#####################@ 管理删除 @#####################// + case 'del': + $_g_id == 1 && pe_error('抱歉,默认管理员不可删除...'); + if ($db->pe_delete('admin', array('admin_id'=>$_g_id))) { + pe_success('管理删除成功!'); + } + else { + pe_error('管理删除失败...'); + } + break; + //#####################@ 管理列表 @#####################// + default: + $info_list = $db->pe_selectall('admin', '', '*', array(20, $_g_page)); + $seo = pe_seo($menutitle='管理列表', '', '', 'admin'); + include(pe_tpl('admin_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/article.php b/phpshe/1.1/php-fpm/src/module/admin/article.php new file mode 100755 index 000000000..9ee6ee2dc --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/article.php @@ -0,0 +1,59 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'article'; +$cache_class = cache::get('class'); +switch ($act) { + //#####################@ 文章增加 @#####################// + case 'add': + if (isset($_p_pesubmit)) { + $_p_info['article_atime'] = $_p_info['article_atime'] ? strtotime($_p_info['article_atime']) : time(); + if ($db->pe_insert('article', pe_dbhold($_p_info, array('article_text')))) { + pe_success('文章发布成功!', 'admin.php?mod=article'); + } + else { + pe_error('文章发布失败...'); + } + } + $seo = pe_seo($menutitle='发布文章', '', '', 'admin'); + include(pe_tpl('article_add.html')); + break; + //#####################@ 文章修改 @#####################// + case 'edit': + $article_id = intval($_g_id); + if (isset($_p_pesubmit)) { + $_p_info['article_atime'] = $_p_info['article_atime'] ? strtotime($_p_info['article_atime']) : time(); + if ($db->pe_update('article', array('article_id'=>$article_id), pe_dbhold($_p_info, array('article_text')))) { + pe_success('文章修改成功!', $_g_fromto); + } + else { + pe_error('文章修改失败...'); + } + } + $info = $db->pe_select('article', array('article_id'=>$article_id)); + $seo = pe_seo($menutitle='修改文章', '', '', 'admin'); + include(pe_tpl('article_add.html')); + break; + //#####################@ 文章删除sql @#####################// + case 'del': + if ($db->pe_delete('article', array('article_id'=>is_array($_p_article_id) ? $_p_article_id : $_g_id))) { + pe_success('文章删除成功!'); + } + else { + pe_error('文章删除失败...'); + } + break; + //#####################@ 文章列表sql @#####################// + default : + $_g_name && $sqlwhere .= " and `article_name` like '%{$_g_name}%'"; + $_g_class_id && $sqlwhere .= " and `class_id` = '{$_g_class_id}'"; + $sqlwhere .= " order by `article_id` desc"; + $info_list = $db->pe_selectall('article', $sqlwhere, '*', array(20, $_g_page)); + + $seo = pe_seo($menutitle='文章列表', '', '', 'admin'); + include(pe_tpl('article_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/ask.php b/phpshe/1.1/php-fpm/src/module/admin/ask.php new file mode 100755 index 000000000..bb826cdae --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/ask.php @@ -0,0 +1,54 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'ask'; +switch ($act) { + //#####################@ 咨询回复 @#####################// + case 'edit': + $ask_id = intval($_g_id); + if (isset($_p_pesubmit)) { + if ($_p_info['ask_replytext']) { + $_p_info['ask_replytime'] = time(); + $_p_info['ask_state'] = 1; + } + else { + $_p_info['ask_replytime'] = $_p_info['ask_state'] = 0; + } + if ($db->pe_update('ask', array('ask_id'=>$ask_id), pe_dbhold($_p_info))) { + pe_success('咨询回复成功!', $_g_fromto); + } + else { + pe_error('咨询回复失败...'); + } + } + $sql = "select * from `".dbpre."ask` a,`".dbpre."product` b where a.`product_id` = b.`product_id` and a.`ask_id` = '{$ask_id}'"; + $info = $db->sql_select($sql); + + $seo = pe_seo($menutitle='咨询详情', '', '', 'admin'); + include(pe_tpl('ask_add.html')); + break; + //#####################@ 咨询删除 @#####################// + case 'del': + if ($db->pe_delete('ask', array('ask_id'=>is_array($_p_ask_id) ? $_p_ask_id : $_g_id))) { + pe_success('咨询删除成功!'); + } + else { + pe_error('咨询删除失败...'); + } + break; + //#####################@ 咨询列表 @#####################// + default : + $sqlwhere = " and `ask_state` = '".intval($_g_state)."'"; + $_g_name && $sqlwhere .= " and b.`product_name` like '%{$_g_name}%'"; + $_g_text && $sqlwhere .= " and a.`ask_text` like '%{$_g_text}%'"; + $_g_user_name && $sqlwhere .= " and a.`user_name` like '%{$_g_user_name}%'"; + $sql = "select * from `".dbpre."ask` a,`".dbpre."product` b where a.`product_id` = b.`product_id` {$sqlwhere} order by a.`ask_id` desc"; + $info_list = $db->sql_selectall($sql, array(20, $_g_page)); + + $seo = pe_seo($menutitle='商品咨询', '', '', 'admin'); + include(pe_tpl('ask_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/cache.php b/phpshe/1.1/php-fpm/src/module/admin/cache.php new file mode 100755 index 000000000..cb7fdb56c --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/cache.php @@ -0,0 +1,61 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'cache'; +switch ($act) { + //#####################@ 缓存更新 @#####################// + case 'update': + pe_lead('hook/cache.hook.php'); + cache_write($_g_cache); + pe_success('缓存更新成功!'); + break; + //#####################@ 缓存列表 @#####################// + default: + //数据库缓存 + $info_list['category']['cache_name'] = '分类信息'; + $info_list['category']['cache_text'] = '网站【商品分类】【文章分类】里信息显示错乱或不显示时,可尝试更新此项。'; + $category_size = filesize("{$pe['path_root']}data/cache/category.cache.php"); + $category_size += filesize("{$pe['path_root']}data/cache/category_arr.cache.php"); + $category_size += filesize("{$pe['path_root']}data/cache/class.cache.php"); + $info_list['category']['cache_size'] = round($category_size/1024, 1); + + $info_list['page']['cache_name'] = '单页信息'; + $info_list['page']['cache_text'] = '网站【单页列表】里信息显示错乱或不显示时,可尝试更新此项。'; + $info_list['page']['cache_size'] = round(filesize("{$pe['path_root']}data/cache/page.cache.php")/1024, 1); + + $info_list['setting']['cache_name'] = '网站信息'; + $info_list['setting']['cache_text'] = '网站【基本信息】里信息显示错乱或不显示时,可尝试更新此项。'; + $info_list['setting']['cache_size'] = round(filesize("{$pe['path_root']}data/cache/setting.cache.php")/1024, 1); + + $info_list['payway']['cache_name'] = '支付信息'; + $info_list['payway']['cache_text'] = '网站【支付方式】里信息显示错乱或不显示时,可尝试更新此项。'; + $info_list['payway']['cache_size'] = round(filesize("{$pe['path_root']}data/cache/payway.cache.php")/1024, 1); + + $info_list['link']['cache_name'] = '友链信息'; + $info_list['link']['cache_text'] = '网站【友情链接】里信息显示错乱或不显示时,可尝试更新此项。'; + $info_list['link']['cache_size'] = round(filesize("{$pe['path_root']}data/cache/link.cache.php")/1024, 1); + + $info_list['ad']['cache_name'] = '广告信息'; + $info_list['ad']['cache_text'] = '网站【广告列表】里信息显示错乱或不显示时,可尝试更新此项。'; + $info_list['ad']['cache_size'] = round(filesize("{$pe['path_root']}data/cache/ad.cache.php")/1024, 1); + + //数据缓存 + $info_list['template']['cache_name'] = '模板信息'; + $info_list['template']['cache_text'] = '网站页面显示错乱或不显示时,可尝试更新此项。'; + $info_list['template']['cache_size'] = round(pe_dirsize("{$pe['path_root']}data/cache/template")/1024, 1); + + $info_list['attachment']['cache_name'] = '附件信息'; + $info_list['attachment']['cache_text'] = '附件缓存过大时,可更新此项。'; + $info_list['attachment']['cache_size'] = round(pe_dirsize("{$pe['path_root']}data/cache/attachment")/1024, 1); + + $info_list['thumb']['cache_name'] = '缩略图信息'; + $info_list['thumb']['cache_text'] = '缩略图缓存过大时,可更新此项。'; + $info_list['thumb']['cache_size'] = round(pe_dirsize("{$pe['path_root']}data/cache/thumb")/1024, 1); + + $seo = pe_seo($menutitle='缓存管理', '', '', 'admin'); + include(pe_tpl('cache_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/category.php b/phpshe/1.1/php-fpm/src/module/admin/category.php new file mode 100755 index 000000000..4cf65de5f --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/category.php @@ -0,0 +1,78 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'category'; +pe_lead('hook/cache.hook.php'); +pe_lead('hook/category.hook.php'); +$category_treelist = category_treelist(); +switch ($act) { + //#####################@ 增加分类 @#####################// + case 'add': + if (isset($_p_pesubmit)) { + if ($db->pe_insert('category', $_p_info)) { + cache_write('category'); + pe_success('分类增加成功!', 'admin.php?mod=category'); + } + else { + pe_error('分类增加失败!'); + } + } + $seo = pe_seo($menutitle='增加分类', '', '', 'admin'); + include(pe_tpl('category_add.html')); + break; + //#####################@ 修改分类 @#####################// + case 'edit': + $category_id = intval($_g_id); + if (isset($_p_pesubmit)) { + if ($db->pe_update('category', array('category_id'=>$category_id), $_p_info)) { + cache_write('category'); + pe_success('分类修改成功!', 'admin.php?mod=category'); + } + else { + pe_error('分类修改失败...'); + } + } + $info = $db->pe_select('category', array('category_id'=>$category_id)); + + //不允许移动到的分类id数组 + $category = new category(); + $category_noid = $category->getcid_arr($category_treelist, $info['category_id']); + $category_noid[] = $info['category_id']; + + $seo = pe_seo($menutitle='修改分类', '', '', 'admin'); + include(pe_tpl('category_add.html')); + break; + //#####################@ 分类排序 @#####################// + case 'order': + foreach ($_p_category_order as $k=>$v) { + $result = $db->pe_update('category', array('category_id'=>$k), array('category_order'=>$v)); + } + if ($result) { + cache_write('category'); + pe_success('分类排序成功!'); + } + else { + pe_error('分类排序失败...'); + } + break; + //#####################@ 分类删除 @#####################// + case 'del': + if ($db->pe_delete('category', array('category_id'=>is_array($_p_category_id) ? $_p_category_id : $_g_id))) { + cache_write('category'); + pe_success('分类删除成功!'); + } + else { + pe_error('分类删除失败...'); + } + break; + //#####################@ 分类列表 @#####################// + default : + $info_list = $category_treelist; + + $seo = pe_seo($menutitle='商品分类', '', '', 'admin'); + include(pe_tpl('category_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/class.php b/phpshe/1.1/php-fpm/src/module/admin/class.php new file mode 100755 index 000000000..200dfceca --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/class.php @@ -0,0 +1,72 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'class'; +pe_lead('hook/cache.hook.php'); +switch ($act) { + //#####################@ 分类增加 @#####################// + case 'add': + $class_id = intval($_g_id); + if (isset($_p_pesubmit)) { + if ($db->pe_insert('class', pe_dbhold($_p_info))) { + cache_write('class'); + pe_success('分类增加成功!', 'admin.php?mod=class'); + } + else { + pe_error('分类增加失败...'); + } + } + $seo = pe_seo($menutitle='分类增加', '', '', 'admin'); + include(pe_tpl('class_add.html')); + break; + //#####################@ 分类修改 @#####################// + case 'edit': + $class_id = intval($_g_id); + if (isset($_p_pesubmit)) { + if ($db->pe_update('class', array('class_id'=>$class_id), pe_dbhold($_p_info))) { + cache_write('class'); + pe_success('分类修改成功!', 'admin.php?mod=class'); + } + else { + pe_error('分类修改失败...'); + } + } + $info = $db->pe_select('class', array('class_id'=>$class_id)); + + $seo = pe_seo($menutitle='分类修改', '', '', 'admin'); + include(pe_tpl('class_add.html')); + break; + //#####################@ 分类删除 @#####################// + case 'del': + $_g_id == 1 && pe_error('系统内置分类不能删除...'); + if ($db->pe_delete('class', array('class_id'=>$_g_id))) { + cache_write('class'); + pe_success('分类删除成功!'); + } + else { + pe_error('分类删除失败...'); + } + break; + //#####################@ 分类排序 @#####################// + case 'order': + foreach ($_p_class_order as $k=>$v) { + $result = $db->pe_update('class', array('class_id'=>$k), array('class_order'=>$v)); + } + if ($result) { + cache_write('class'); + pe_success('分类排序成功!'); + } + else { + pe_error('分类排序失败...'); + } + break; + //#####################@ 分类列表 @#####################// + default : + $info_list = $db->pe_selectall('class', array('order by'=>'`class_order` asc, `class_id` asc')); + $seo = pe_seo($menutitle='文章分类', '', '', 'admin'); + include(pe_tpl('class_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/comment.php b/phpshe/1.1/php-fpm/src/module/admin/comment.php new file mode 100755 index 000000000..08ba49814 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/comment.php @@ -0,0 +1,46 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'comment'; +switch ($act) { + //#####################@ 评价修改 @#####################// + case 'edit': + $comment_id = intval($_g_id); + if (isset($_p_pesubmit)) { + if ($db->pe_update('comment', array('comment_id'=>$comment_id), pe_dbhold($_p_info))) { + pe_success('评价修改成功!', 'admin.php?mod=comment'); + } + else { + pe_error('评价修改失败...'); + } + } + $sql = "select * from `".dbpre."comment` a,`".dbpre."product` b where a.`product_id` = b.`product_id` and a.`comment_id` = '{$_g_id}'"; + $info = $db->sql_select($sql); + + $seo = pe_seo($menutitle='修改评价', '', '', 'admin'); + include(pe_tpl('comment_add.html')); + break; + //#####################@ 评价删除 @#####################// + case 'del': + if ($db->pe_delete('comment', array('comment_id'=>is_array($_p_comment_id) ? $_p_comment_id : $_g_id))) { + pe_success('评价删除成功!'); + } + else { + pe_error('评价删除失败...'); + } + break; + //#####################@ 评价列表 @#####################// + default : + $_g_name && $sqlwhere .= " and b.`product_name` like '%{$_g_name}%'"; + $_g_text && $sqlwhere .= " and a.`comment_text` like '%{$_g_text}%'"; + $_g_user_name && $sqlwhere .= " and a.`user_name` like '%{$_g_user_name}%'"; + $sql = "select * from `".dbpre."comment` a,`".dbpre."product` b where a.`product_id` = b.`product_id` {$sqlwhere} order by a.`comment_id` desc"; + $info_list = $db->sql_selectall($sql, array(20, $_g_page)); + + $seo = pe_seo($menutitle='商品评价', '', '', 'admin'); + include(pe_tpl('comment_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/db.php b/phpshe/1.1/php-fpm/src/module/admin/db.php new file mode 100755 index 000000000..02561eb78 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/db.php @@ -0,0 +1,139 @@ + + * @creatdate 2012-0920 koyshe + */ +$menumark = 'db'; +$back_path = "{$pe['path_root']}data/dbbackup/".date('Y-m-d@H-i-s')."/"; +$table_list = $db->sql_selectall("show table status from `{$pe['db_name']}`"); + +$backup_list = pe_dirlist("{$pe['path_root']}data/dbbackup/*"); +set_time_limit(0); +//导入数据 +if ($act == 'import') { + if ($_g_num == 'all') { + if (is_file($sqlname = "{$pe['path_root']}data/dbbackup/{$_g_path}/db_all.sql")) { + sql_import($sqlname) ? pe_success('数据导入完成!', 'admin.php?mod=db&act=backup') : pe_error('数据导入失败...', 'admin.php?mod=db&act=backup'); + } + } + else { + if (is_file($sqlname = "{$pe['path_root']}data/dbbackup/{$_g_path}/db_v{$_g_num}.sql")) { + $num = $_g_num + 1; + sql_import($sqlname) ? pe_success('数据导入中请勿刷新!', "admin.php?mod=db&act=import&num={$num}&path={$_g_path}") : pe_error('数据导入失败...', 'admin.php?mod=db&act=backup'); + } + else { + pe_success('数据导入完成!', 'admin.php?mod=db&act=backup'); + } + } +} +if (isset($_p_pebackup)) {//备份数据库 + $pe_cutsql = "/*#####################@ pe_cutsql @#####################*/\n"; + if (isset($_p_pebackup)) {//不分卷 + if ($_p_backup_cut && $_p_backup_where == 'down') pe_error('只有备份在服务器才可使用分卷功能...'); + if ($_p_backup_cut && !$_p_backup_cutsize) pe_error('使用分卷备份必须填写分卷文件大小...'); + if ($_p_backup_where == "server") { + !is_dir($back_path) && mkdir($back_path, 0777, true); + !is_writable($back_path) && pe_error("{$back_path} 目录没有写入权限..."); + } + if (!$_p_backup_cut) { + $sql_arr = array(); + foreach ($table_list as $v) { + $sql_arr = array_merge($sql_arr, dosql($v['Name'])); + } + $sql = implode($pe_cutsql, $sql_arr); + if ($_p_backup_where == 'down') { + down_file($sql, "db_all.sql"); + } + elseif ($_p_backup_where == 'server') { + if (file_put_contents("{$back_path}db_all.sql", $sql)) { + pe_success("数据备份完成!"); + } + else { + pe_error("数据备份失败..."); + } + } + } + else { + $vnum = 1; + $sql_arr = array(); + foreach ($table_list as $v) { + $sql_arr = array_merge($sql_arr, dosql($v['Name'])); + $sql = implode($pe_cutsql, $sql_arr); + if (strlen($sql) >= $_p_backup_cutsize * 1000) { + file_put_contents("{$back_path}db_v{$vnum}.sql", $sql); + $sql_arr = array(); + $vnum++; + } + } + $sql && file_put_contents("{$back_path}db_v{$vnum}.sql", $sql); + pe_success("数据分卷备份完成!"); + } + } +} +elseif (isset($_p_peimport)) {//导入数据库 + if ($_p_import_server) { + $db_list = pe_dirlist("{$pe['path_root']}data/dbbackup/{$_p_import_server}/*"); + ($dbnum = count($db_list)) == 0 && pe_error("目录下没有有效的数据库文件"); + if ($dbnum > 1) { + pe_goto("admin.php?mod=db&act=import&num=1&path={$_p_import_server}"); + } + else { + pe_goto("admin.php?mod=db&act=import&num=all&path={$_p_import_server}"); + } + } + else { + pe_error("请选择需要导入的数据库目录..."); + } +} + +function dosql($table) +{ + global $db; + $info_create = $db->sql_select("show create table `{$table}`"); + $sql_arr[] = "DROP TABLE IF EXISTS `{$table}`;\n"; + $sql_arr[] = "{$info_create['Create Table']};\n"; + $data_num = $db->pe_num($table); + for ($i = 0; $i < $data_num; $i = $i + 30) { + $data_list = $db->pe_selectall($table, "limit {$i}, 30"); + $sql = "INSERT INTO `{$table}` VALUES"; + foreach ($data_list as $vv) { + $sql .= "("; + foreach ($vv as $vvv) { + $sql .= "'".mysql_real_escape_string($vvv)."',"; + } + $sql = trim($sql, ',')."),\n"; + } + $sql = trim(trim($sql), ',').";\n"; + $sql_arr[] = $sql; + } + return $sql_arr; +} + +function down_file($sql, $filename) +{ + ob_end_clean(); + header("Content-Encoding: none"); + header("Content-Type: ".(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ? 'application/octetstream' : 'application/octet-stream')); + header("Content-Disposition: ".(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ? 'inline; ' : 'attachment; ')."filename=".$filename); + header("Content-Length: ".strlen($sql)); + header("Pragma: no-cache"); + header("Expires: 0"); + echo $sql; + $e = ob_get_contents(); + ob_end_clean(); +} + +function sql_import($filename) +{ + global $db; + $sql_arr = explode('/*#####################@ pe_cutsql @#####################*/', file_get_contents($filename)); + echo "

    数据导入中...请勿刷新浏览器!
    当前执行路径:{$filename}

    "; + foreach ($sql_arr as $v) { + $result = $db->query(trim($v)); + } + return result; +} + +$seo = pe_seo($menutitle='数据安全', '', '', 'admin'); +include(pe_tpl('db_list.html')); +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/do.php b/phpshe/1.1/php-fpm/src/module/admin/do.php new file mode 100755 index 000000000..3a1631db3 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/do.php @@ -0,0 +1,31 @@ + + * @creatdate 2012-0501 koyshe + */ +switch ($act) { + //#####################@ 管理员退出 @#####################// + case 'logout': + unset($_SESSION['admin_idtoken'], $_SESSION['admin_id'], $_SESSION['admin_name']); + pe_success('管理员退出成功!', 'admin.php'); + break; + //#####################@ 管理员登录 @#####################// + default: + if (isset($_p_pesubmit)) { + $_p_info['admin_pw'] = md5($_p_info['admin_pw']); + if ($info = $db->pe_select('admin', pe_dbhold($_p_info))) { + $db->pe_update('admin', array('admin_id'=>$info['admin_id']), array('admin_ltime'=>time())); + $_SESSION['admin_idtoken'] = md5($info['admin_id'].$pe['host_root']); + $_SESSION['admin_id'] = $info['admin_id']; + $_SESSION['admin_name'] = $info['admin_name']; + pe_success('管理员登录成功!', 'admin.php'); + } + else { + pe_error('用户名或密码错误...'); + } + } + $seo = pe_seo('管理员登录', '', '', 'admin'); + include(pe_tpl('do_login.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/link.php b/phpshe/1.1/php-fpm/src/module/admin/link.php new file mode 100755 index 000000000..a4e55f589 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/link.php @@ -0,0 +1,71 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'link'; +pe_lead('hook/cache.hook.php'); +switch ($act) { + //#####################@ 链接增加 @#####################// + case 'add': + if (isset($_p_pesubmit)) { + stripos($_p_info['link_url'], 'http://') === false && $_p_info['link_url'] = "http://{$_p_info['link_url']}"; + if ($db->pe_insert('link', pe_dbhold($_p_info))) { + cache_write('link'); + pe_success('链接增加成功!', 'admin.php?mod=link'); + } + else { + pe_error('链接增加失败...'); + } + } + $seo = pe_seo($menutitle='增加链接', '', '', 'admin'); + include(pe_tpl('link_add.html')); + break; + //#####################@ 链接修改 @#####################// + case 'edit': + $link_id = intval($_g_id); + if (isset($_p_pesubmit)) { + stripos($_p_info['link_url'], 'http://') === false && $_p_info['link_url'] = "http://{$_p_info['link_url']}"; + if ($db->pe_update('link', array('link_id'=>$link_id), pe_dbhold($_p_info))) { + cache_write('link'); + pe_success('链接修改成功!', 'admin.php?mod=link'); + } + else { + pe_error('链接修改失败...' ); + } + } + $info = $db->pe_select('link', array('link_id'=>$link_id)); + $seo = pe_seo($menutitle='修改链接', '', '', 'admin'); + include(pe_tpl('link_add.html')); + break; + //#####################@ 链接删除 @#####################// + case 'del': + if ($db->pe_delete('link', array('link_id'=>is_array($_p_link_id) ? $_p_link_id : $_g_id))) { + cache_write('link'); + pe_success('链接删除成功!'); + } + else { + pe_error('链接删除失败...'); + } + break; + //#####################@ 链接排序 @#####################// + case 'order': + foreach ($_p_link_order as $k => $v) { + $result = $db->pe_update('link', array('link_id'=>$k), array('link_order'=>$v)); + } + if ($result) { + cache_write('link'); + pe_success('链接排序成功!'); + } + else { + pe_error('链接排序失败...'); + } + break; + //#####################@ 链接列表 @#####################// + default: + $info_list = $db->pe_selectall('link', array('order by'=>'`link_order` asc, `link_id` asc'), '*', array(10, $_g_page)); + $seo = pe_seo($menutitle='友情链接', '', '', 'admin'); + include(pe_tpl('link_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/order.php b/phpshe/1.1/php-fpm/src/module/admin/order.php new file mode 100755 index 000000000..a030290b8 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/order.php @@ -0,0 +1,101 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'order'; +pe_lead('hook/payway.hook.php'); +$ini_payway = payway_ini(); +$ini_wllist = array('顺丰快递','申通快递','圆通快递','韵达快递','中通快递','EMS快递'); +switch ($act) { + //#####################@ 订单修改 @#####################// + case 'edit': + $order_id = pe_dbhold($_g_id); + if (isset($_p_pesubmit)) { + if ($db->pe_update('order', array('order_id'=>$order_id), pe_dbhold($_p_info))) { + pe_success('订单修改成功!'); + } + else { + pe_error('订单修改失败...'); + } + } + $info = $db->pe_select('order', array('order_id'=>$order_id)); + $product_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id)); + + $seo = pe_seo($menutitle='修改订单', '', '', 'admin'); + include(pe_tpl('order_add.html')); + break; + //#####################@ 订单删除 @#####################// + case 'del': + $order_id = is_array($_p_order_id) ? $_p_order_id : $_g_id; + if ($db->pe_delete('order', array('order_id'=>$order_id))) { + //更新商品库存数 + pe_lead('hook/product.hook.php'); + product_num('num', $order_id, 'add'); + //删除订单子表数据 + $db->pe_delete('orderdata', array('order_id'=>$order_id)); + pe_success('订单删除成功!'); + } + else { + pe_error('订单删除失败...'); + } + break; + //#####################@ 订单状态更改 @#####################// + case 'state': + $order_id = pe_dbhold($_g_id); + switch ($_g_state) { + case 'paid': + if ($db->pe_update('order', array('order_id'=>$order_id), array('order_state'=>'paid', 'order_ptime'=>time()))) { + pe_success('订单付款成功!'); + } + else { + pe_error('订单付款失败...'); + } + break; + case 'send': + if (isset($_p_pesubmit)) { + $order = $db->pe_select('order', array('order_id'=>$order_id)); + $order['order_wlname'] = $_p_info['order_wlname']; + $order['order_wlid'] = $_p_info['order_wlid']; + $_p_info['order_state'] = 'send'; + $_p_info['order_stime'] = time(); + //担保交易 + if ($order['order_payway'] == 'alipay_db') { + include("{$pe['path_root']}include/plugin/payway/alipay/order_send.php"); + $result = $db->pe_update('order', array('order_id'=>$order_id), $_p_info); + } + //即时到帐 + else { + $_p_info['order_state'] = 'success';//即时到帐就不让用户确认了 + $result = $db->pe_update('order', array('order_id'=>$order_id), $_p_info); + } + if ($result) { + //更新商品售出数 + pe_lead('hook/product.hook.php'); + product_num('sellnum', $_g_id); + pe_success('商品发货成功!', '', 'dialog'); + } + else { + pe_error('商品发货失败!', '', 'dialog'); + } + } + include(pe_tpl('order_send.html')); + break; + } + break; + //#####################@ 订单列表 @#####################// + default: + $_g_state && $sqlwhere .= " and `order_state` = '{$_g_state}'"; + $_g_id && $sqlwhere .= " and `order_id` = '{$_g_id}'"; + $_g_user_tname && $sqlwhere .= " and `user_tname` = '{$_g_user_tname}'"; + $_g_user_phone && $sqlwhere .= " and `user_phone` = '{$_g_user_phone}'"; + $sqlwhere .= " order by `order_id` desc"; + $info_list = $db->pe_selectall('order', $sqlwhere, '*', array(20, $_g_page)); + foreach ($info_list as $k => $v) { + $info_list[$k]['product_list'] = $db->pe_selectall('orderdata', array('order_id'=>$v['order_id'])); + } + $seo = pe_seo($menutitle='订单列表', '', '', 'admin'); + include(pe_tpl('order_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/page.php b/phpshe/1.1/php-fpm/src/module/admin/page.php new file mode 100755 index 000000000..51f34c7fc --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/page.php @@ -0,0 +1,56 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'page'; +pe_lead('hook/cache.hook.php'); +switch ($act) { + //#####################@ 单页增加 @#####################// + case 'add': + if (isset($_p_pesubmit)) { + if ($db->pe_insert('page', pe_dbhold($_p_info, array('page_text')))) { + cache_write('page'); + pe_success('单页增加成功!', 'admin.php?mod=page'); + } + else { + pe_error('单页增加失败...'); + } + } + $seo = pe_seo($menutitle='增加单页', '', '', 'admin'); + include(pe_tpl('page_add.html')); + break; + //#####################@ 单页修改 @#####################// + case 'edit': + $page_id = intval($_g_id); + if (isset($_p_pesubmit)) { + if ($db->pe_update('page', array('page_id'=>$page_id), pe_dbhold($_p_info, array('page_text')))) { + cache_write('page'); + pe_success('单页修改成功!', 'admin.php?mod=page'); + } + else { + pe_error('单页修改失败...'); + } + } + $info = $db->pe_select('page', array('page_id'=>$page_id)); + $seo = pe_seo($menutitle='修改单页', '', '', 'admin'); + include(pe_tpl('page_add.html')); + break; + //#####################@ 单页删除sql @#####################// + case 'del': + if ($db->pe_delete('page', array('page_id'=>intval($_g_id)))) { + cache_write('page'); + pe_success('单页删除成功!'); + } + else { + pe_error('单页删除失败...'); + } + break; + //#####################@ 单页列表 @#####################// + default : + $info_list = $db->pe_selectall('page', array('order by'=>'`page_id` desc'), '*', array(20, $_g_page)); + $seo = pe_seo($menutitle='单页列表', '', '', 'admin'); + include(pe_tpl('page_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/payway.php b/phpshe/1.1/php-fpm/src/module/admin/payway.php new file mode 100755 index 000000000..781759553 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/payway.php @@ -0,0 +1,79 @@ + + * @creatdate 2012-1116 koyshe + */ +$menumark = 'payway'; +pe_lead('hook/cache.hook.php'); +//支付宝模版 +$alipay['alipay_class']['name']='支付宝接口'; +$alipay['alipay_class']['form_type']='select'; +$alipay['alipay_class']['form_value']['alipay_js']='即时到帐收款'; +$alipay['alipay_class']['form_value']['alipay_db']='担保交易收款'; +$alipay['alipay_class']['form_value']['alipay_sgn']='双功能收款'; + +$alipay['alipay_name']['name']='支付宝账户'; +$alipay['alipay_name']['form_type']='text'; + +$alipay['alipay_pid']['name']='合作者身份Pid'; +$alipay['alipay_pid']['form_type']='text'; + +$alipay['alipay_key']['name']='安全校验码Key'; +$alipay['alipay_key']['form_type']='text'; + +//银行转账付款模版 +$bank['bank_text']['name'] = '收款信息'; +$bank['bank_text']['form_type']='textarea'; + +pe_lead('hook/cache.hook.php'); +switch ($act) { + //#####################@ 支付修改 @#####################// + case 'edit': + $payway_id = intval($_g_id); + if (isset($_p_pesubmit)) { + $_p_info['payway_config'] = serialize($_p_config); + if ($db->pe_update('payway', array('payway_id'=>$payway_id), $_p_info)) { + cache_write('payway'); + pe_success('支付修改成功!', 'admin.php?mod=payway'); + } + else { + pe_error('支付修改失败...' ); + } + } + $info = $db->pe_select('payway', array('payway_id'=>$payway_id)); + $info['payway_model'] = unserialize($info['payway_model']); + $info['payway_config'] = unserialize($info['payway_config']); + $seo = pe_seo($menutitle='修改支付方式', '', '', 'admin'); + include(pe_tpl('payway_add.html')); + break; + //#####################@ 支付删除 @#####################// + case 'del': + if ($db->pe_delete('payway', array('payway_id'=>is_array($_p_payway_id) ? $_p_payway_id : $_g_id))) { + cache_write('payway'); + pe_success('支付删除成功!'); + } + else { + pe_error('支付删除失败...'); + } + break; + //#####################@ 支付排序 @#####################// + case 'order': + foreach ($_p_payway_order as $k => $v) { + $result = $db->pe_update('payway', array('payway_id'=>$k), array('payway_order'=>$v)); + } + if ($result) { + cache_write('payway'); + pe_success('支付排序成功!'); + } + else { + pe_error('支付排序失败...'); + } + break; + //#####################@ 支付列表 @#####################// + default: + $info_list = $db->pe_selectall('payway', array('order by'=>'`payway_order` asc, `payway_id` asc'), '*', array(20, $_g_page)); + $seo = pe_seo($menutitle='支付方式', '', '', 'admin'); + include(pe_tpl('payway_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/product.php b/phpshe/1.1/php-fpm/src/module/admin/product.php new file mode 100755 index 000000000..a7f3a1ac7 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/product.php @@ -0,0 +1,125 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'product'; +pe_lead('hook/category.hook.php'); +$category_treelist = category_treelist(); +switch ($act) { + //#####################@ 商品增加 @#####################// + case 'add': + if (isset($_p_pesubmit)) { + if ($_FILES['product_logo']['size']) { + pe_lead('include/class/upload.class.php'); + $upload = new upload($_FILES['product_logo']); + $_p_info['product_logo'] = $upload->filehost; + } + $_p_info['product_atime'] = $_p_info['product_atime'] ? strtotime($_p_info['product_atime']) : time(); + if ($product_id = $db->pe_insert('product', pe_dbhold($_p_info, array('product_text')))) { + pe_success('商品发布成功!', 'admin.php?mod=product&state=1'); + } + else { + pe_error('商品发布失败...'); + } + } + + $seo = pe_seo($menutitle='发布商品', '', '', 'admin'); + include(pe_tpl('product_add.html')); + break; + //#####################@ 商品修改 @#####################// + case 'edit': + $product_id = intval($_g_id); + if (isset($_p_pesubmit)) { + if ($_FILES['product_logo']['size']) { + pe_lead('include/class/upload.class.php'); + $upload = new upload($_FILES['product_logo']); + $_p_info['product_logo'] = $upload->filehost; + } + $_p_info['product_atime'] = $_p_info['product_atime'] ? strtotime($_p_info['product_atime']) : time(); + if ($db->pe_update('product', array('product_id'=>$product_id), pe_dbhold($_p_info, array('product_text')))) { + pe_success('商品修改成功!', $_g_fromto); + } + else { + pe_error('商品修改失败!' ); + } + } + $info = $db->pe_select('product', array('product_id'=>$product_id)); + + $seo = pe_seo($menutitle='修改商品', '', '', 'admin'); + include(pe_tpl('product_add.html')); + break; + //#####################@ 商品删除 @#####################// + case 'del': + if ($db->pe_delete('product', array('product_id'=>is_array($_p_product_id) ? $_p_product_id : $_g_id))) { + //删除商品相关表 + $db->pe_delete('collect', array('product_id'=>is_array($_p_product_id) ? $_p_product_id : $_g_id)); + $db->pe_delete('comment', array('product_id'=>is_array($_p_product_id) ? $_p_product_id : $_g_id)); + $db->pe_delete('ask', array('product_id'=>is_array($_p_product_id) ? $_p_product_id : $_g_id)); + pe_success('商品删除成功!'); + } + else { + pe_error('商品删除失败...'); + } + break; + //#####################@ 商品上下架 @#####################// + case 'state': + foreach ($_p_product_id as $v) { + $result = $db->pe_update('product', array('product_id'=>$v), array('product_state'=>$_g_state)); + } + if ($result) { + pe_success("操作成功!"); + } + else { + pe_error("操作失败..."); + } + break; + //#####################@ 商品上下架 @#####################// + case 'tuijian': + foreach ($_p_product_id as $v) { + $result = $db->pe_update('product', array('product_id'=>$v), array('product_istuijian'=>$_g_tuijian)); + } + if ($result) { + pe_success("操作成功!"); + } + else { + pe_error("操作失败..."); + } + break; + //#####################@ 商品列表 @#####################// + default : + $cache_category = cache::get('category'); + $orderby_arr['clicknum|desc'] = '浏览量(多到少)'; + $orderby_arr['clicknum|asc'] = '浏览量(少到多)'; + $orderby_arr['sellnum|desc'] = '销售量(多到少)'; + $orderby_arr['sellnum|asc'] = '销售量(少到多)'; + $orderby_arr['num|desc'] = '库存量(多到少)'; + $orderby_arr['num|asc'] = '库存量(少到多)'; + $orderby_arr['collectnum|desc'] = '收藏数(多到少)'; + $orderby_arr['collectnum|asc'] = '收藏数(少到多)'; + $orderby_arr['asknum|desc'] = '咨询数(多到少)'; + $orderby_arr['asknum|asc'] = '咨询数(少到多)'; + $orderby_arr['commentnum|desc'] = '评价数(多到少)'; + $orderby_arr['commentnum|asc'] = '评价数(少到多)'; + $filter_arr = array('istuijian|1'=>'推荐商品', 'wlmoney|0'=>'包邮商品', 'num|0'=>'售空商品'); + + $_g_name && $sqlwhere .= " and `product_name` like '%{$_g_name}%'"; + $_g_state && $sqlwhere .= " and `product_state` = '{$_g_state}'"; + $_g_category_id && $sqlwhere .= is_array($category_cidarr = category_cidarr($_g_category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$_g_category_id}'"; + if ($_g_filter) { + $filter = explode('|', $_g_filter); + $sqlwhere .= " and `product_{$filter[0]}` = {$filter[1]}"; + } + $sqlwhere .= ' order by'; + if ($_g_orderby) { + $orderby = explode('|', $_g_orderby); + $sqlwhere .= " `product_{$orderby[0]}` {$orderby[1]},"; + } + $sqlwhere .= " `product_id` desc"; + $info_list = $db->pe_selectall('product', $sqlwhere, '*', array(20, $_g_page)); + + $seo = pe_seo($menutitle='商品列表', '', '', 'admin'); + include(pe_tpl('product_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/setting.php b/phpshe/1.1/php-fpm/src/module/admin/setting.php new file mode 100755 index 000000000..5b2450988 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/setting.php @@ -0,0 +1,45 @@ + + * @creatdate 2012-0501 koyshe + */ +pe_lead('hook/cache.hook.php'); +switch ($act) { + //#####################@ 基本信息 @#####################// + default: + $menumark = 'setting_base'; + if (isset($_p_pesubmit)) { + if ($_FILES['web_logo']['size']) { + pe_lead('include/class/upload.class.php'); + $upload = new upload($_FILES['web_logo']); + $_p_info['web_logo'] = $upload->filehost; + $sqlset = "when 'web_logo' then '{$upload->filehost}'"; + } + $sql = "update `".dbpre."setting` set `setting_value` = case `setting_key` {$sqlset} + when 'web_title' then '".pe_dbhold($_p_info['web_title'])."' + when 'web_keywords' then '".pe_dbhold($_p_info['web_keywords'])."' + when 'web_description' then '".pe_dbhold($_p_info['web_description'])."' + when 'web_title' then '".pe_dbhold($_p_info['web_title'])."' + when 'web_tpl' then '".pe_dbhold($_p_info['web_tpl'])."' + when 'web_copyright' then '".pe_dbhold($_p_info['web_copyright'])."' + when 'web_icp' then '".pe_dbhold($_p_info['web_icp'])."' + when 'web_phone' then '".pe_dbhold($_p_info['web_phone'])."' + when 'web_weibo' then '".pe_dbhold($_p_info['web_weibo'])."' + when 'web_qq' then '".pe_dbhold($_p_info['web_qq'])."' + when 'web_tongji' then '".pe_dbhold($_p_info['web_tongji'], 'all')."' else `setting_value` end"; + if ($db->sql_update($sql)) { + cache_write('setting'); + pe_success('基本信息设置成功!'); + } + else { + pe_error('基本信息设置失败...'); + } + } + $info = $db->index('setting_key')->pe_selectall('setting'); + $tpl_arr = pe_dirlist("{$pe['path_root']}template/*"); + + $seo = pe_seo($menutitle='基本信息', '', '', 'admin'); + include(pe_tpl('setting_base.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/admin/user.php b/phpshe/1.1/php-fpm/src/module/admin/user.php new file mode 100755 index 000000000..2fe1019f2 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/admin/user.php @@ -0,0 +1,45 @@ + + * @creatdate 2012-0501 koyshe + */ +$menumark = 'user'; +switch ($act) { + //#####################@ 会员修改 @#####################// + case 'edit': + $user_id = intval($_g_id); + if (isset($_p_pesubmit)) { + $_p_user_pw && $_p_info['user_pw'] = md5($_p_user_pw); + if ($db->pe_update('user', array('user_id'=>$user_id), $_p_info)) { + pe_success('会员信息修改成功!', $_g_fromto); + } + else { + pe_error('会员信息修改失败...'); + } + } + $info = $db->pe_select('user', array('user_id'=>$user_id)); + $seo = pe_seo($menutitle='修改会员', '', '', 'admin'); + include(pe_tpl('user_add.html')); + break; + //#####################@ 会员删除 @#####################// + case 'del': + if ($db->pe_delete('user', array('user_id'=>is_array($_p_user_id) ? $_p_user_id : intval($_g_id)))) { + pe_success('会员删除成功!'); + } + else { + pe_error('会员删除失败...'); + } + break; + //#####################@ 会员列表 @#####################// + default: + $_g_name && $sqlwhere = " and `user_name` like '%{$_g_name}%'"; + $_g_phone && $sqlwhere = " and `user_phone` like '%{$_g_phone}%'"; + $_g_email && $sqlwhere = " and `user_email` like '%{$_g_email}%'"; + $sqlwhere .= " order by `user_id` desc"; + $info_list = $db->pe_selectall('user', $sqlwhere, '*', array(20, $_g_page)); + + $seo = pe_seo($menutitle='会员列表', '', '', 'admin'); + include(pe_tpl('user_list.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/index/article.php b/phpshe/1.1/php-fpm/src/module/index/article.php new file mode 100755 index 000000000..5dad88408 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/index/article.php @@ -0,0 +1,24 @@ +pe_selectall('article', array('class_id'=>$class_id, 'order by'=>'`article_atime` desc'), '*', array(20, $_g_page)); + + $nowpath = " > 资讯中心 > {$cache_class[$class_id]['class_name']}"; + $seo = pe_seo($cache_class[$class_id]['class_name']); + include(pe_tpl('page.html')); + break; + //#####################@ 文章内容 @#####################// + default: + $article_id = intval($act); + $db->pe_update('article', array('article_id'=>$article_id), '`article_clicknum`=`article_clicknum`+1'); + $info = $db->pe_select('article', array('article_id'=>$article_id)); + + $nowpath = " > 资讯中心 > {$cache_class[$info['class_id']]['class_name']} > {$info['article_name']}"; + $seo = pe_seo($info['article_name']); + include(pe_tpl('page.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/index/index.php b/phpshe/1.1/php-fpm/src/module/index/index.php new file mode 100755 index 000000000..a9a842f34 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/index/index.php @@ -0,0 +1,16 @@ +pe_selectall('article', array('class_id'=>1,'order by'=>'`article_atime` desc'), '*', array(10)); +//商品推荐 +$product_tuijian = $db->pe_selectall('product', array('product_istuijian'=>1, 'product_state'=>1, 'order by'=>'product_id desc'), '*', array(5)); + +pe_lead('hook/category.hook.php'); +foreach((array)$cache_category_arr[0] as $k=>$v) { + $v['product_newlist'] = $db->pe_selectall('product', array('category_id'=>category_cidarr($v['category_id']), 'product_state'=>1, 'order by'=>'product_id desc'), '*', array(8)); + $v['product_selllist'] = $db->pe_selectall('product', array('category_id'=>category_cidarr($v['category_id']), 'product_state'=>1, 'order by'=>'product_sellnum desc'), '*', array(5)); + $category_indexlist[] = $v; +} + +$seo = pe_seo(); +include(pe_tpl('index.html')); +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/index/order.php b/phpshe/1.1/php-fpm/src/module/index/order.php new file mode 100755 index 000000000..5dfab1aa8 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/index/order.php @@ -0,0 +1,158 @@ +pe_select('product', array('product_id'=>$info['product_id']), '`product_num`'); + if ($product['product_num'] >= $info['product_num']) { + if (pe_login('user')) { + $info['user_id'] = $_s_user_id; + $cart = $db->pe_select('cart', array('product_id'=>$info['product_id'], 'user_id'=>$_s_user_id)); + if ($cart['product_num']) { + $result = $db->pe_update('cart', array('cart_id'=>$cart['cart_id']), array('product_num'=>$cart['product_num']+$info['product_num'])) ? true : false; + } + else { + $result = $db->pe_insert('cart', $info) ? true : false; + } + } + else { + $cart_list = unserialize($_c_cart_list); + if (is_array($cart_list[$info['product_id']])) { + $cart_list[$info['product_id']]['product_num'] = $cart_list[$info['product_id']]['product_num'] + $info['product_num']; + } + else { + $cart_list[$info['product_id']] = $info; + } + $result = is_array($cart_list[$info['product_id']]) ? true : false; + setcookie('cart_list', serialize($cart_list), 0, '/'); + } + } + echo json_encode(array('result'=>$result)); + break; + //#####################@ 购物车商品更改数量 @#####################// + case 'cartnum': + $money['order_productmoney'] = $money['order_wlmoney'] = $money['order_money'] = 0; + if (pe_login('user')) { + $result = $db->pe_update('cart', array('user_id'=>$_s_user_id, 'product_id'=>$_g_product_id), array('product_num'=>$_g_product_num)); + } + else { + $cart_list = unserialize($_c_cart_list); + $cart_list[$_g_product_id]['product_num'] = $_g_product_num; + $result = is_array($cart_list[$_g_product_id]) ? true : false; + setcookie('cart_list', serialize($cart_list), 0, '/'); + } + $cart_info = cart_info($cart_list); + echo json_encode(array('result'=>$result, 'money'=>$cart_info['money'])); + break; + //#####################@ 购物车商品删除 @#####################// + case 'cartdel': + $money['order_productmoney'] = $money['order_wlmoney'] = $money['order_money'] = 0; + if (pe_login('user')) { + $result = $db->pe_delete('cart', array('user_id'=>$_s_user_id, 'product_id'=>$_g_product_id)); + } + else { + $cart_list = unserialize($_c_cart_list); + unset($cart_list[$_g_product_id]); + $result = is_array($cart_list[$_g_product_id]) ? false : true; + setcookie('cart_list', serialize($cart_list), 0, '/'); + } + $cart_info = cart_info($cart_list); + echo json_encode(array('result'=>$result, 'money'=>$cart_info['money'])); + break; + //#####################@ 订单增加 @#####################// + case 'add': + $cart_info = cart_info(unserialize($_c_cart_list)); + $info_list = $cart_info['list']; + $money = $cart_info['money']; + if (isset($_p_pesubmit)) { + !count($info_list) && pe_error('购物车商品为空'); + $order = $db->pe_select('order', array('order by'=>'order_id desc')); + substr($order['order_id'], 0 , 6) != date('ymd') && $_p_info['order_id'] = $order_id = date('ymd').'0001'; + $_p_info['order_productmoney'] = $money['order_productmoney']; + $_p_info['order_wlmoney'] = $money['order_wlmoney']; + $_p_info['order_money'] = $money['order_money']; + $_p_info['order_atime'] = time(); + $_p_info['user_id'] = $_s_user_id; + $_p_info['user_name'] = $_s_user_name; + $_p_info['user_address'] = "{$_p_province}{$_p_city}{$_p_info['user_address']}"; + if ($order_id = $db->pe_insert('order', $_p_info)) { + foreach ($info_list as $v) { + $orderdata['product_id'] = $v['product_id']; + $orderdata['product_name'] = $v['product_name']; + $orderdata['product_smoney'] = $v['product_smoney']; + $orderdata['product_num'] = $v['product_num']; + $orderdata['order_id'] = $order_id; + $db->pe_insert('orderdata', $orderdata); + //更新商品库存数量 + $db->pe_update('product', array('product_id'=>$v['product_id']), "`product_num`=`product_num`-{$v['product_num']}"); + } + //清空购物车 + if (pe_login('user')) { + $db->pe_delete('cart', array('user_id'=>$_s_user_id)); + } + else { + setcookie('cart_list', '', 0, '/'); + } + pe_success('订单提交成功,请选择支付方式!', "{$pe['host_root']}index.php?mod=order&act=pay&id={$order_id}"); + } + else { + pe_error('订单提交失败...'); + } + } + //调用用户个人信息里的收货地址 + $info = $db->pe_select('user', array('user_id'=>$_s_user_id)); + + $seo = pe_seo('填写收货信息'); + include(pe_tpl('order_add.html')); + break; + //#####################@ 选择支付方式 @#####################// + case 'pay': + $order_id = pe_dbhold($_g_id); + $cache_payway = cache::get('payway'); + foreach($cache_payway as $k => $v) { + $cache_payway[$k]['payway_config'] = unserialize($cache_payway[$k]['payway_config']); + if ($k == 'bank') { + $cache_payway[$k]['payway_config']['bank_text'] = str_replace(array("\r", "\n", "\t"), '\n', $cache_payway[$k]['payway_config']['bank_text']); + } + } + $order = $db->pe_select('order', array('order_id'=>$order_id, 'order_state'=>'notpay')); + !$order['order_id'] && pe_error('订单号错误...'); + if (isset($_p_pesubmit)) { + $info_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id)); + foreach ($info_list as $v) { + $order['order_name'] .= "{$v['product_name']};"; + } + echo '正在为您连接支付网站,请稍后...'; + include("{$pe['path_root']}include/plugin/payway/{$_p_info['order_payway']}/order_pay.php"); + } + $seo = pe_seo('选择支付方式'); + include(pe_tpl('order_pay.html')); + break; +} +//购物车商品列表和价格 +function cart_info($_c_cart_list=array()) { + global $db; + if (pe_login('user')) { + $sql = "select a.`product_num`, b.`product_id`, b.`product_name`, b.`product_logo`, b.`product_smoney`, b.`product_num` as `product_maxnum` from `".dbpre."cart` a, `".dbpre."product` b where a.`product_id` = b.`product_id` and a.`user_id` = '{$_SESSION['user_id']}'"; + $info_list = $db->sql_selectall($sql); + } + else { + if (is_array($_c_cart_list)) { + foreach ($_c_cart_list as $k => $v) { + $product_rows = $db->pe_select('product', array('product_id'=>$k), '`product_name`, `product_logo`, `product_smoney`, `product_num` as `product_maxnum`'); + $info_list[] = array_merge($v, $product_rows); + } + } + } + foreach ((array)$info_list as $v) { + $money['order_productmoney'] += $v['product_num'] * $v['product_smoney']; + $money['order_wlmoney'] += $v['product_wlmoney']; + } + $money['order_money'] = number_format($money['order_wlmoney'] + $money['order_productmoney'], 1); + $money['order_productmoney'] = number_format($money['order_productmoney'], 1); + $money['order_wlmoney'] = number_format($money['order_wlmoney'], 1); + return array('list'=>(array)$info_list, 'money'=>$money); +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/index/page.php b/phpshe/1.1/php-fpm/src/module/index/page.php new file mode 100755 index 000000000..0f6a4cd1d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/index/page.php @@ -0,0 +1,8 @@ +pe_select('page', array('page_id'=>$page_id)); + +$nowpath = " > 帮助中心 > {$info['page_name']}"; +$seo = pe_seo($info['page_name']); +include(pe_tpl('page.html')); +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/index/product.php b/phpshe/1.1/php-fpm/src/module/index/product.php new file mode 100755 index 000000000..b027d059d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/index/product.php @@ -0,0 +1,135 @@ +pe_insert('ask', $info)) { + product_num('asknum', $info['product_id']); + $result = true; + $info['ask_atime'] = pe_date($info['ask_atime']); + $info['ask_text'] = htmlspecialchars($_p_ask_text); +$html = << +
  • 会员:{$info['user_name']}
  • +
  • 咨询日期:{$info['ask_atime']}
  • + +
    +
    {$info['ask_text']}
    +
    +html; + } + else { + $result = false; + } + echo json_encode(array('result'=>$result, 'html'=>$html)); + } + break; + //#####################@ 商品评价 @#####################// + case 'commentadd': + if (isset($_p_pesubmit)) { + $info['product_id'] = intval($_g_id); + $info['comment_text'] = pe_texthtml(pe_dbhold($_p_comment_text)); + $info['comment_atime'] = time(); + $info['user_id'] = $_s_user_id; + $info['user_name'] = $_s_user_name; + $info['user_ip'] = pe_ip(); + + if ($db->pe_insert('comment', $info)) { + product_num("commentnum", $info['product_id']); + $result = true; + $info['comment_atime'] = pe_date($info['comment_atime']); + $info['comment_text'] = htmlspecialchars($_p_comment_text); +$html = << +
  • 会员:{$info['user_name']}
  • +
  • 评价日期:{$info['comment_atime']}
  • + +
    {$info['comment_text']}
    +html; + } + else { + $result = false; + } + echo json_encode(array('result'=>$result, 'html'=>$html)); + } + break; + //#####################@ 商品收藏 @#####################// + case 'collectadd': + $info['product_id'] = intval($_g_id); + $info['user_id'] = $_s_user_id; + if ($db->pe_num('collect', $info)) { + $show = '您已经收藏过该商品了,请不要重复收藏噢...'; + } + else { + $info['collect_atime'] = time(); + if ($db->pe_insert('collect', $info)) { + product_num('collectnum', $info['product_id']); + $show = '商品收藏成功!'; + } + else { + $show = '商品收藏失败...'; + } + } + echo json_encode(array('show'=>$show)); + break; + //#####################@ 商品列表 @#####################// + case 'list': + $category_id = intval($id); + $info = $db->pe_select('category', array('category_id'=>$category_id)); + //搜索 + $sqlwhere = " and `product_state` = 1"; + pe_lead('hook/category.hook.php'); + if ($category_id) { + $sqlwhere .= is_array($category_cidarr = category_cidarr($category_id)) ? " and `category_id` in('".implode("','", $category_cidarr)."')" : " and `category_id` = '{$category_id}'"; + } + + $_g_keyword && $sqlwhere .= " and `product_name` like '%{$_g_keyword}%'"; + if ($_g_orderby) { + $orderby = explode('_', $_g_orderby); + $sqlwhere .= " order by `product_{$orderby[0]}` {$orderby[1]}"; + } + else { + $sqlwhere .= " order by `product_id` desc"; + } + $info_list = $db->pe_selectall('product', $sqlwhere, '*', array(16, $_g_page)); + //热卖排行 + $product_hotlist = product_hotlist(); + //当前路径 + $nowpath = category_path($category_id); + + $seo = pe_seo($info['category_name']); + include(pe_tpl('product_list.html')); + break; + //#####################@ 商品内容 @#####################// + default: + $product_id = intval($act); + $info = $db->pe_select('product', array('product_id'=>$product_id)); + $category_id = $info['category_id']; + + //咨询列表 + $ask_list = $db->pe_selectall('ask', array('product_id'=>$product_id, 'order by'=>'ask_atime desc')); + //评价列表 + $comment_list = $db->pe_selectall('comment', array('product_id'=>$product_id, 'order by'=>'comment_atime desc')); + //售后服务 + $page = $db->pe_select('page', array('page_id'=>7)); + + //热卖排行 + $product_hotlist = product_hotlist(); + //更新点击 + product_num('clicknum', $product_id); + //当前路径 + pe_lead('hook/category.hook.php'); + $nowpath = category_path($info['category_id'], $info['product_name']); + + $seo = pe_seo($info['product_name']); + include(pe_tpl('product_view.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/module/index/user.php b/phpshe/1.1/php-fpm/src/module/index/user.php new file mode 100755 index 000000000..073ac060b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/module/index/user.php @@ -0,0 +1,196 @@ +pe_select('user', $_p_info)) { + $db->pe_update('user', array('user_id'=>$info['user_id']), array('user_ltime'=>time())); + $_SESSION['user_idtoken'] = md5($info['user_id'].$pe['host_root']); + $_SESSION['user_id'] = $info['user_id']; + $_SESSION['user_name'] = $info['user_name']; + //未登录时的购物车列表入库 + if (is_array($cart_list = unserialize($_c_cart_list))) { + $cart_rows = $db->index('product_id')->pe_selectall('cart', array('user_id'=>$info['user_id'])); + foreach ($cart_list as $k => $v) { + if (array_key_exists($k, $cart_rows)) { + $db->pe_update('cart', array('cart_id'=>$cart_rows[$k]['cart_id']), array('product_num'=>$cart_rows[$k]['product_num']+$cart_list[$k]['product_num'])); + } + else { + $cart_info['cart_atime'] = time(); + $cart_info['product_id'] = $k; + $cart_info['product_num'] = $v['product_num']; + $cart_info['user_id'] = $info['user_id']; + $db->pe_insert('cart', $cart_info); + } + } + setcookie('cart_list', '', time()-3600, '/'); + } + pe_success('用户登录成功!', $_g_fromto); + } + else { + pe_error('用户名或密码错误...'); + } + } + $seo = pe_seo($menutitle='用户登录'); + include(pe_tpl('user_login.html')); + break; + //#####################@ 用户退出 @#####################// + case 'logout': + unset($_SESSION['user_idtoken'], $_SESSION['user_id'], $_SESSION['user_name']); + pe_success('用户退出成功!', $pe['host_root']); + break; + //#####################@ 用户注册 @#####################// + case 'register': + if ($_g_type == 'checkname') { + $result = $db->pe_num('user', array('user_name'=>pe_dbhold($_g_user_name))) > 0 ? false : true; + echo json_encode(array('result'=>$result)); + die(); + } + if ($_g_type == 'checkemail') { + $result = $db->pe_num('user', array('user_email'=>pe_dbhold($_g_user_email))) > 0 ? false : true; + echo json_encode(array('result'=>$result)); + die(); + } + if (isset($_p_pesubmit)) { + $_p_info['user_pw'] = md5($_p_info['user_pw']); + $_p_info['user_atime'] = $info['user_ltime'] = time(); + if ($user_id = $db->pe_insert('user', $_p_info)) { + $info = $db->pe_select('user', array('user_id'=>$user_id)); + $_SESSION['user_idtoken'] = md5($info['user_id'].$pe['host_root']); + $_SESSION['user_id'] = $info['user_id']; + $_SESSION['user_name'] = $info['user_name']; + //未登录时的购物车列表入库 + if (is_array($cart_list = unserialize($_c_cart_list))) { + foreach ($cart_list as $k => $v) { + $cart_info['cart_atime'] = time(); + $cart_info['product_id'] = $k; + $cart_info['product_num'] = $v['product_num']; + $cart_info['user_id'] = $info['user_id']; + $db->pe_insert('cart', $cart_info); + } + setcookie('cart_list', '', time()-3600, '/'); + } + pe_success('用户注册成功!', $_g_fromto); + } + else { + pe_error('用户注册失败...'); + } + } + $seo = pe_seo($menutitle='用户注册'); + include(pe_tpl('user_register.html')); + break; + //#####################@ 订单列表 @#####################// + case 'order': + $info_list = $db->pe_selectall('order', array('user_id'=>$_s_user_id, 'order by'=>'order_id desc'), '*', array(10, $_g_page)); + foreach ($info_list as $k => $v) { + $info_list[$k]['product_list'] = $db->pe_selectall('orderdata', array('order_id'=>$v['order_id'])); + } + $seo = pe_seo($menutitle='我的订单'); + include(pe_tpl('user_orderlist.html')); + break; + //#####################@ 订单详情 @#####################// + case 'orderview': + $order_id = intval($_g_id); + pe_lead('hook/payway.hook.php'); + $ini_payway = payway_ini(); + $info = $db->pe_select('order', array('order_id'=>$order_id, 'user_id'=>$_s_user_id)); + $product_list = $db->pe_selectall('orderdata', array('order_id'=>$order_id)); + + $seo = pe_seo($menutitle='订单详情'); + include(pe_tpl('user_orderview.html')); + break; + //#####################@ 订单删除 @#####################// + case 'orderdel': + $info = $db->pe_select('order', array('user_id'=>$_s_user_id, 'order_id'=>pe_dbhold($_g_id), 'order_state'=>'notpay')); + if ($info['order_id']) { + if ($db->pe_delete('order', array('order_id'=>$info['order_id']))) { + //删除订单子表数据 + $db->pe_delete('orderdata', array('order_id'=>$info['order_id'])); + //更新商品库存数 + pe_lead('hook/product.hook.php'); + product_num('addnum', $info['order_id']); + pe_success('订单删除成功!'); + } + else { + pe_error('订单删除失败...'); + } + } + else { + pe_error('抱歉,已付款订单不能删除...'); + } + break; + //#####################@ 收藏列表 @#####################// + case 'collect': + $sql = "select * from `".dbpre."collect` a, `".dbpre."product` b where a.`product_id` = b.`product_id` and a.`user_id` = '{$_s_user_id}' order by a.`collect_id` desc"; + $info_list = $db->sql_selectall($sql, array(10, $_g_page)); + + $seo = pe_seo($menutitle='我的收藏'); + include(pe_tpl('user_collectlist.html')); + break; + //#####################@ 收藏删除 @#####################// + case 'collectdel': + $product_id = intval($_g_product_id); + if ($db->pe_delete('collect', array('product_id'=>intval($product_id), 'user_id'=>$_s_user_id))) { + pe_lead('hook/product.hook.php'); + product_num('collectnum', $product_id); + pe_success('商品收藏删除成功!'); + } + else { + pe_error('商品收藏删除失败...'); + } + break; + //#####################@ 咨询列表 @#####################// + case 'ask': + $sql = "select * from `".dbpre."ask` a, `".dbpre."product` b where a.`product_id` = b.`product_id` and a.`user_id` = '{$_s_user_id}' order by a.`ask_id` desc"; + $info_list = $db->sql_selectall($sql, array(10, $_g_page)); + + $seo = pe_seo($menutitle='我的咨询'); + include(pe_tpl('user_asklist.html')); + break; + //#####################@ 评价列表 @#####################// + case 'comment': + $sql = "select * from `".dbpre."comment` a, `".dbpre."product` b where a.`product_id` = b.`product_id` and a.`user_id` = '{$_s_user_id}' order by a.`comment_id` desc"; + $info_list = $db->sql_selectall($sql, array(10, $_g_page)); + + $seo = pe_seo($menutitle='我的评价'); + include(pe_tpl('user_commentlist.html')); + break; + //#####################@ 基本信息 @#####################// + case 'base': + if (isset($_p_pesubmit)) { + if ($db->pe_update('user', array('user_id'=>$_s_user_id), pe_dbhold($_p_info))) { + pe_success('基本信息修改成功!'); + } + else { + pe_error('基本信息修改失败...'); + } + } + $info = $db->pe_select('user', array('user_id'=>$_s_user_id)); + + $seo = pe_seo($menutitle='基本信息'); + include(pe_tpl('user_base.html')); + break; + //#####################@ 密码修改 @#####################// + case 'pw': + if (isset($_p_pesubmit)) { + if ($db->pe_update('user', array('user_id'=>$_s_user_id), array('user_pw'=>md5($_p_info['user_pw'])))) { + pe_success('密码修改成功!'); + } + else { + pe_error('密码修改失败...'); + } + } + $info = $db->pe_select('user', array('user_id'=>$_s_user_id)); + + $seo = pe_seo($menutitle='修改密码'); + include(pe_tpl('user_pw.html')); + break; +} +?> \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/robots.txt b/phpshe/1.1/php-fpm/src/robots.txt new file mode 100755 index 000000000..44c6f85fd --- /dev/null +++ b/phpshe/1.1/php-fpm/src/robots.txt @@ -0,0 +1,12 @@ +# +# robots.txt for phpshe1.1 +# +User-agent: * +Disallow: /data +Disallow: /hook +Disallow: /include +Disallow: /module +Disallow: /template +Disallow: /admin.php +Disallow: /config.php +Disallow: /common.php \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/ad_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/ad_add.html new file mode 100755 index 000000000..cff6d9f75 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/ad_add.html @@ -0,0 +1,46 @@ + +
    +
    +
    +
    + {$menutitle} + 增加广告 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    广告位置: + +
    广告链接:
    广告图片: +

    +

    +
    广告排序:
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/ad_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/ad_list.html new file mode 100755 index 000000000..749c66349 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/ad_list.html @@ -0,0 +1,42 @@ + +
    +
    +
    +
    + {$menutitle} + 增加广告 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    ID号排序广告图片广告位置操作
    {$v['ad_id']}{$ad_position[$v['ad_position']]} + 修改 + 删除 +
    + + {$db->page->html} +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/admin_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/admin_add.html new file mode 100755 index 000000000..c19cc2f8a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/admin_add.html @@ -0,0 +1,33 @@ + +
    +
    +
    +
    + {$menutitle} + 增加管理 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + +
    管理帐号:
    管理密码: 如无需修改请留空
    上次登录:{pe_date($info['admin_ltime'])}
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/admin_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/admin_list.html new file mode 100755 index 000000000..08500f593 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/admin_list.html @@ -0,0 +1,37 @@ + +
    +
    +
    +
    + {$menutitle} + 增加管理 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + +
    ID号管理帐号上次登录操作
    {$v['admin_id']}{$v['admin_name']}{pe_date($v['admin_ltime'])} + 修改 + 删除 +
     {$db->page->html}
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/article_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/article_add.html new file mode 100755 index 000000000..c9ac1e29b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/article_add.html @@ -0,0 +1,50 @@ + +
    +
    +
    +
    + {$menutitle} + 发布文章 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    文章名称:
    文章分类: + +
    发布日期:
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/article_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/article_list.html new file mode 100755 index 000000000..482fa20b6 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/article_list.html @@ -0,0 +1,70 @@ + +
    +
    +
    +
    + {$menutitle} + 发布文章 +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    ID号文章名称文章分类发布日期浏览量操作
    {$v['article_id']}{$v['article_name']}{$cache_class[$v['class_id']]['class_name']}{pe_date($v['article_atime'], 'Y-m-d')}{$v['article_clicknum']} + 修改 + 删除 +
    + + {$db->page->html} +
    +
    +
    + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/ask_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/ask_add.html new file mode 100755 index 000000000..f91d2efdb --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/ask_add.html @@ -0,0 +1,38 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    商品名称:{$info['product_name']}
    用 户 名:{$info['user_name']}
    咨询时间:{pe_date($info['ask_atime'])}
    咨询内容:{$info['ask_text']}
    管理回复:
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/ask_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/ask_list.html new file mode 100755 index 000000000..01ddfa939 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/ask_list.html @@ -0,0 +1,61 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    ID号咨询详情用户名操作
    {$v['ask_id']} +

    {$v['product_name']}

    +

    咨询[{pe_date($v['ask_atime'],'Y-m-d')}]:{$v['ask_text']}

    +

    回复[{pe_date($v['ask_replytime'],'Y-m-d')}]:{$v['ask_replytext']}

    +
    {$v['user_name']} + 详情 + 删除 +
    + + {$db->page->html} +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/cache_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/cache_list.html new file mode 100755 index 000000000..82bcef9bd --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/cache_list.html @@ -0,0 +1,32 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    +
    温馨提示:当您网站上的数据显示异常,或是网页不能显示时请执行更新缓存操作。
    +
    + + + + + + + + + + + + + + + + + + +
    缓存名称缓存说明大小(KB)操作
    {$v['cache_name']}{$v['cache_text']}{$v['cache_size']}更新
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/category_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/category_add.html new file mode 100755 index 000000000..98dd3cadb --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/category_add.html @@ -0,0 +1,40 @@ + +
    +
    +
    +
    + {$menutitle} + 增加分类 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + +
    分类名称:
    上级分类: + +
    分类排序:
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/category_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/category_list.html new file mode 100755 index 000000000..08fdf8d21 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/category_list.html @@ -0,0 +1,37 @@ + +
    +
    +
    +
    + {$menutitle} + 增加分类 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + +
    ID号排序分类名称操作
    {$v['category_id']}{$v['category_showname']} + 修改 + 删除 +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/class_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/class_add.html new file mode 100755 index 000000000..53e96e6f5 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/class_add.html @@ -0,0 +1,29 @@ + +
    +
    +
    +
    + {$menutitle} + 增加分类 +
    +
    +
    +
    +
    + + + + + + + + + + + + + +
    分类名称:
    分类排序:
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/class_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/class_list.html new file mode 100755 index 000000000..7ad3000e3 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/class_list.html @@ -0,0 +1,37 @@ + +
    +
    +
    +
    + {$menutitle} + 增加分类 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + +
    ID号排序分类名称操作
    {$v['class_id']}{$v['class_name']} + 修改 + 删除 +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/comment_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/comment_add.html new file mode 100755 index 000000000..737263962 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/comment_add.html @@ -0,0 +1,34 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    商品名称:{$info['product_name']}
    评价日期:{pe_date($info['comment_atime'])}
    用 户 名:{$info['user_name']}
    评价内容:
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/comment_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/comment_list.html new file mode 100755 index 000000000..4b77e3371 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/comment_list.html @@ -0,0 +1,55 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
    ID号评价详情用户名操作
    {$v['comment_id']} +

    {$v['product_name']}

    +

    评价[{pe_date($v['comment_atime'],'Y-m-d')}]{$v['comment_text']}

    +
    {$v['user_name']} + 详情 + 删除 +
    + + {$db->page->html} +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/css/style.css b/phpshe/1.1/php-fpm/src/template/default/admin/css/style.css new file mode 100755 index 000000000..fdc508e4d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/css/style.css @@ -0,0 +1,116 @@ +/*公共样式表*/ +body {margin:0 auto; font-size:12px; font-family:"宋体",Arial, Helvetica, sans-serif; color:#333; line-height:20px;} +a,a:hover{color:#333;text-decoration:none; outline:0 none;} +a:hover{color:#FF5A00;} +ol,ul,li,dl,dd,dt{list-style:none;} +h1,h2,h3{font-size:14px;} +.clear{clear:both; height:0; overflow:hidden;} +.centerbody{margin:0 auto;} +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;} +table{border-collapse:collapse;} +img{border:0;} +/*定位*/ +.fl{float:left;} +.fr{float:right;} +.mat5{margin-top:5px;} +.mat3{margin-top:3px;} +.mat8{margin-top:8px;} +.mat10{margin-top:10px;} +.mal5{margin-left:5px;} +.mar5{margin-right:5px;} +.mab5{margin-bottom:5px;} +/*字体*/ +textarea{font-size:13px;} +.font12{font-size:12px;} +.font14{font-size:14px;} +.font16{font-size:16px;} +.font18{font-size:18px;} +.font20{font-size:24px;} +/*文字*/ +.more{float:right; color:#999;font-size:12px;padding-right:10px;font-weight:normal;} +.more a:hover{color:#ff4400;} +.num{font-family:"Arial";} +.num1{font-family:Verdana, Arial, Helvetica, sans-serif} +.strong{font-weight:bold;} +.normal{font-weight:normal;} +.aright{text-align:right;} +.aleft{text-align:left;} +.acenter{text-align:center;} +/*color定义*/ +.cred{color:#DF002F;} +.corg{color:#FF5A00;} +.cgreen{color:#090;} +.cblue{color:#3366CC;} +.c666{color:#666} +.c333{color:#333} +.c888{color:#888} +/*公共样式表*/ +body{background:#C7E2F0;} +.logo{margin-top:8px; margin-left:10px; display:inline; font-size:30px; font-weight:bold; color:#fff;} +.pagetop{margin:0 auto; height:50px; overflow:hidden; background:url(../images/head_bg.gif) repeat-x bottom;} +.head{width:1000px; margin:0 auto; height:63px;} +.head_r{color:#fff; display:inline;} +.head_r a{color:#D6EFFD; display:block; float:left; margin-top:13px; font-weight:bold;} +.head_r a.home{background:url(../images/tb1.png) no-repeat; padding-left:20px;} +.head_r a.exit{background:url(../images/tb2.png) no-repeat 0 2px; padding-left:20px; margin-left:10px;} +.content{width:1000px; margin:0 auto;} +.main_bot{background:url(../images/main_bot.png) no-repeat; height:9px; overflow:hidden;} +.main{background:#fff; padding:8px; width:982px;_height:600px; min-height:600px;} +.left{float:left;width:140px; overflow:hidden; background:#fff;} +.fenlei h3{background:url(../images/libg1.gif) no-repeat; width:128px; height:33px; line-height:33px; color:#fff; padding-left:12px;} +.fenlei li{background:url(../images/libg2.gif) no-repeat; width:120px; height:32px; line-height:32px; padding-left:30px; font-weight:bold;} +.fenlei li a{color:#555;} +.fenlei li a:hover,.fenlei li.sel a{color:#e79b00; text-decoration:underline;} +.right{float:right;width:835px; overflow:hidden;} +.now_l{background:url(../images/now_l.gif) no-repeat; height:33px; float:left; width:6px;} +.now_r{background:url(../images/now_r.gif) no-repeat; height:33px; float:left; width:6px;} +.now_m{background:url(../images/now_m.gif) repeat-x; height:33px; float:left; width:818px; font-weight:bold; font-size:14px; padding-left:5px; line-height:33px;} +.tixing{background:#ffffe0; color:#666; height:30px; line-height:30px; margin-top:5px; padding:0 10px; border:1px #f9dfb2 solid;} +.searbox .input1{width:200px; height:22px; border:1px #8799ad solid; margin-right:5px;} +.input2{padding:0 5px;} +.fabu a{background:url(../images/fabu.gif) no-repeat; width:69px; height:23px; line-height:23px; margin-top:6px; text-align:center; color:#333; font-size:12px; display:block;} +.fabu a:hover{color:#333} +.list{width:835px; overflow:hidden;} +.list td{padding:5px; border:1px #cecece solid; color:#555; text-align:center} +.list td.aright{text-align:right;} +.list td.aleft{text-align:left;} +.list td.acenter{text-align:center;} +.bgtt{background:#eee} +.bgmain1{background:#f0f7ff;} +.wenzhang{width:833px; margin:5px 0 0} +.wenzhang td{padding:6px; border:1px #ddd solid;} +.inputtext{height:24px; line-height:24px; border:1px #cecece solid; border-top:1px #707070 solid; border-left:1px #707070 solid;} +.inputselect{line-height:22px; padding:3px 1px; display:inline;} +.inputtext_30{width:30px;} +.inputtext_40{width:40px;} +.inputtext_50{width:50px;} +.inputtext_100{width:100px;} +.inputtext_200{width:200px;} +.inputtext_300{width:300px;} +.inputtext_400{width:400px;} +.inputtext_500{width:500px;} +.inputtext_600{width:600px;} +.tjbtn{background:url(../images/btn.gif) no-repeat; width:70px; height:30px; text-align:center; line-height:30px; color:#fff; border:0; font-size:14px; font-weight:bold; cursor:pointer;} +.foot{text-align:center; line-height:30px; color:#666;} +.foot a{color:#666;} +.dingdan{background:#ffffe0; color:#666; line-height:30px; margin-top:5px; padding:15px; border:1px #f9dfb2 solid;} +.dingdan h3{font-size:12px; border-bottom:1px #ddd solid; margin-top:10px} +.order_name{display:block; height:26px; line-height:26px; overflow:hidden; border-bottom:1px #ddd dashed;} +.sp_name{height:26px; line-height:26px;} +.dingdan_list{ height:35px; line-height:35px; padding-left:8px;} +.dd_name{display:block; height:35px; overflow:hidden;} +.bg_f8{background:#f8f8f8;} +.center{text-align:center;} + +/*管理操作按钮*/ +a.admin_edit{display:block; float:left; width:35px; height:20px; text-align:center;background:#72be21; color:#333;} +a:hover.admin_edit{display:block; float:left; width:35px; height:20px; text-align:center;background:#a5d872; color:#fff;} +a.admin_del{display:block; float:left; width:35px; height:20px; text-align:center;background:#ff6600; color:#fff;} +a:hover.admin_del{display:block; float:left; width:35px; height:20px; text-align:center;background:#ff944c; color:#333;} +a.proname{color:#0500fc} +a:hover.proname{color:#0500fc} +.mat3{margin-top:3px;} +.search{border:1px #ddd solid; background:#fdfdfd; height:33px; line-height:33px; overflow:hidden; padding:0 5px; margin-top:5px;} +.qiehuan a{padding:6px; color:#2277ae;} +.qiehuan a:hover{color:#2277ae;} +.qiehuan a.sel{background:#5d9ac6; color:#fff;} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/db_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/db_list.html new file mode 100755 index 000000000..56b05a7d5 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/db_list.html @@ -0,0 +1,58 @@ + +
    +
    +
    +
    数据库备份
    +
    +
    +
    +
    + + + + + + + + + + + + + +
    是否分卷: + 不分卷 + 分卷备份 + KB +
    备份位置: + 服务器 + 本地下载 +
     
    +
    +
    +
    +
    数据库恢复
    +
    +
    +
    +
    + + + + + + + + + +
    服务器文件: + +
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/do_login.html b/phpshe/1.1/php-fpm/src/template/default/admin/do_login.html new file mode 100755 index 000000000..633dd1079 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/do_login.html @@ -0,0 +1,51 @@ + + + + +{$seo['title']} + + + + + + + + + +
    + +
    + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/footer.html b/phpshe/1.1/php-fpm/src/template/default/admin/footer.html new file mode 100755 index 000000000..c4d890a6f --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/footer.html @@ -0,0 +1,7 @@ +
    + +
    +
    Copyright © 2008-2013 简好技术 版权所有
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/header.html b/phpshe/1.1/php-fpm/src/template/default/admin/header.html new file mode 100755 index 000000000..8de8a9063 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/header.html @@ -0,0 +1,46 @@ + + + + +{$seo['title']} + + + + + + + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    +

    {$v['headnav']}

    + +
    + +
    +

    软件信息

    +
    +

    软件版本:phpshe1.1

    +

    开发团队:简好技术

    +

    邮箱:admin@phpshe.com

    +

    企鹅:1318321、1517735

    +
    +
    +
    \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/images/btn.gif b/phpshe/1.1/php-fpm/src/template/default/admin/images/btn.gif new file mode 100755 index 0000000000000000000000000000000000000000..9b6b1798805a97eeb6f5d2115b10aa68b2100227 GIT binary patch literal 704 zcmcJN+fUMQ9EQJwDcLHTZ7LXv-Z5vJTQh5!WiwRFa;~M-!n~-}8ZNb*nUj7BrcTHV zvlLX&X(R^)5lOVDNgmP!W2Sh>O;P3%%sjMD+W*jV@m@aLyFC}8B2R=SM%vZ`7Y6N{Q{PtoXzAni{2(iY^hva(qu4(TB`hgZ>grRrRe0vH$DWg_hHqjz*KMIOoQ}g^+E3)uGH407E8<($ z9<|gWXKLamYIZel!U8& zZOZ9xen5+4}9U^9CfHI{|TsuISWXIt@^O literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/images/fabu.gif b/phpshe/1.1/php-fpm/src/template/default/admin/images/fabu.gif new file mode 100755 index 0000000000000000000000000000000000000000..1af4b85314334981db4c2801c62529516cbc0d3b GIT binary patch literal 464 zcmV;>0WbbXNk%w1VMPEJ0K@hSgQ_4n-W^7HojbE_xk<*{`2hq7GuIKIbA^8LV00000EC2ui07U>7000I5pm7v}XP#)Pu59b7LUD)!VQ6@+ z?|kq7K%RjhNE8SaMP#|;FrUz41ejDvp~f(V8Pl8u&^n3Inb6a$o;c^I_mslm)k4oh$Q zuYbf-zCLp63z3}FQQMyTtbL%kH@QxAkXT3f}m{cF`@X zMK=v*UpAS0O=spsw^jE%SKaqr_t0qem9Q<(%@KNR3ZK@#ZC*u2ff!5kE7AaoA%&iJWkqt*rEfCS0u5wVY J)y9#*8USfEczXZ< literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/images/libg1.gif b/phpshe/1.1/php-fpm/src/template/default/admin/images/libg1.gif new file mode 100755 index 0000000000000000000000000000000000000000..86727bd335875a86fb01b727c60bf090ad2d64ea GIT binary patch literal 1618 zcmV-Y2Cex=Nk%w1VT=GF0OkMyb+pxHpvP5|zJj#UX{E_djk$NO&|jRvSed{^gsMG+ zu{d;?NQJRYkh)-=!&H;KXQIb(x8iQ4%2JWLLx!++uFi9;&^msrNQ|~vmcmDdvwO4J zc(BfNuFXq|xj%xgVxPlUn6pELwOyOTM2ECUi?(^M(LRN*JB6}Ai?~yizDI_!F>|AM zv(;ms#!8I0cdgG(kh@Baw|KA7I(w#nve8P4ws5J;M2E34bEaLJ!hp2WKa9CCbfQd) zw?~Y&YpBdcjJRZ;#buVaex|%Ug|0n@umAo3dau#C&*VpoxI>D$Vx7lDc%56C!$^p; zLWZ?VgSILnDs4LTDb%MUwd>ZZRK0T5s+Fr$t6j~Ob$a&e zRJK+BrB*On!32yMPPn}3VDygPzkmY^9!$8f;lqd%D_(4vZ-+NrGF-7RrjO;zm@{kM z%(=7Y&!9t#9u0bog)12ZP`SbS#+=u%W6PdRySDAyxO3~?&AWE%8&m{5@B;*hpX11r zD__pMx%21Hqf4JoJ$i9J4<5h)A_0!~@8H9WA5Xr#`Sa-0t6z^^0uVS4Ccq(phd!SB z`19-E&%eL_{{RLk;D7}BM;`%jOi%y>d^G6bgAhh2;e-@cXyJtzW~kwY5ES4;0Cj*+ z$A~1BXyS<|rl{hIEVk(4i!i0+olda%ga%8GHED(a}DmTKy$sHTeQrW8;hfF1(GDu4>vJ)pv^xaO+suDtf@>#x8DE9|hs)~bT6 zuL?lH2XVwPK^!VT8*Q`HR%`9G*k-Hkw%m5>?YH1Idn>fgHv7Q`4a87D3=O0k!@KXc z>u$R8*2`|a^wN9pz4NxqufG7Z8?U|o?kh0C^YSb3zy;^q@WAlyYwyAZwEMyT1v2bW zKmmJn?D5AShb;2QB$sUR$tb6+a>*O-A;Se1VDN$m9?0;54>H(n^9wxp+_TO(zYz4! zLi=3w&pQWQG|@&Ujr7t@|7w9-iXAT-S{U;uLoN|X@94>s8FLkTvN z;P%^a$1V5Vbk}Y7-FWA%ciwHIt#%M(mv8|M33w325rRBuMvc=5rd!pdD4@X*Xpn*`ctHUQKmiI8sK5p~@PQDF zpadsK!3tXNf*8yo0}<$jDx^SwNoWEM+E9ck7=aBZI6)Co$if!7@P#mpp$un8!y4M~ zhBsW{3D{tSDHNd%G-yH+j*tZ+EMNgS$UzT!z=9mG;E7O-q7h($ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/images/libg2.gif b/phpshe/1.1/php-fpm/src/template/default/admin/images/libg2.gif new file mode 100755 index 0000000000000000000000000000000000000000..a0896efe56e6b0af4867028994212b6432033547 GIT binary patch literal 551 zcmV+?0@(dWNk%w1VT=GE0K@TitrU;Ba#`D4Wmdw0g~MyWjA*d|oEg z@A$lapSSb>fPsQ;GX#c*h>41ejE#0PICJXU$+M@= zpFo2Or8#q`(W6L{Dn(j!sne%WqxPJkpsLlYShH%~%C)Q4uVBN99b1(u*|TWVs$HAb zEZetmcgW6PdRySDAysb_=$06X|H93}t& literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/images/libg2_old.gif b/phpshe/1.1/php-fpm/src/template/default/admin/images/libg2_old.gif new file mode 100755 index 0000000000000000000000000000000000000000..e95203ae550d637ba220784bdde3aade6944f145 GIT binary patch literal 1352 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/images/logo.gif b/phpshe/1.1/php-fpm/src/template/default/admin/images/logo.gif new file mode 100755 index 0000000000000000000000000000000000000000..f79955f2f386fe40b7603d8d3311b8c72acb8a93 GIT binary patch literal 1556 zcmV+v2J87pNk%w1VSxY}0OkMyMXB98quMo|)jguxK&9J2quM{B+l9pDhsNiL$LNsE z>ypgulgsIr&FhrR>YUQ;p3?4z#paI6>5t3njmqkV#paL8>WIhYkIL(q&FhxV>zdH) zjLGSn(Czd2{fo!xjL7Mn(d~)I>6Ojtna}Ku$LX2P?3>W+^7;Lg%;}lV>zmQ+QLo>3 z!ROlT_}cFH=JfjK^!tRy=~A%ZS+Cz-vfpXB<88a;sn_sewd1bX@2J=BO{v_c*6!x> z`ckdjX}RLr?fAan^VaM4zu@y(vEbzL`sMTbdco+z?xWQ0 zQmor{zvgGS<7~O&c)sN3^!u^e@PNYRuGsE|#_DmqwfM5o?FsN6xO z+&7=rL#Nw0q1H*N-$tt5ORV8Co776H;4_@nG@aHrpw~L0+5i9lA^8LV00000EC2ui z0D%A-000O7fOvv~goTEOh>41ejE#A5UsMZuYU`&qo=2-tFyBUXr~ZazO1#e#jd2c%DT>^Iik=$bx;b|b?4~$(^mhuR5B2)`_kRld@Zyo0w@-$^7W?|;+n12kzk2-y z{&5%ZAwwB2N+G1DkYPiA03CX~gHfZt8RGs_Sx9fjgOna-@WVF}qDY&6Sk|NmAOxui z0D=k?$^r(d9YQCN3Nf^4P^Eu>3iTP)DN&<;kWMA_f`!$hONT;bYBlLkv0=+Lh0}o) z1~_p43KQD%cq8M<|9-K;zJMh#pwofD)a z&{@vBIS^7Pm`fmaqPg|u)Bh-Ej$He7=g^z?Al2i$dF<5BqxUX7y?W+yHjttqr@sCB z^8W;}Pl42i`vBJ0-yihZmtTPa)|cOY_7zde7g8iB;eh{1DByheQD`B61du=q2LyyD zqKHNKKne*Wav)JDAd2YWA1#hZqKSW?IO2968V8V(f z7+|LXC0JR)opRF2=bt7J@eC1d{Fx_^d)|4dKxP;)Kn4o zDWn2ns_Cd&WMIW9M}Uzjr=pHpDJh} zw|0~3uERFltQX1t!3MFwI!mpw*9L3tuzoZ^N&4U|jnxqpBwuD9)~ zEAPDOzHtO8V~ERcy7aQ^uDR&aOD??s3aoFy{eC+x!3GbE@VxLoaqu7f&g<|0xcfHj zM;#-OazPy+hb;2QAYVYr2qcee@*f|E+%d~3#|-kzT*wS^7o?~W^2#XNymHGWpKP

    2(N#;Wb<#hS^263eL#;H`QG-pj)lQ2I_R?6R zz4q8@Z+$k~N59>48l)IegVs}&vUl2llr4ANa0hO8A9JKYN(6H>?)c-7Hy!~gDMSwW zkxZ;^x?z!Von6iZCjf=5FDQ-NDdF7wafjQ}}Q{MXH0x&>I1p?%*`|iBwUI8f# z^v?V5f8egW?ZpeP{O(~0#6$tR6CeEY0uXP!??7U~2l5B-;r;jEhwuGy0l3VtQ&&YGO)d;mK4RprRR`E{-7;x8B^{$a}~@gyn+7 zu@e$J6Xs@|%+j2YF>!*CrcpOpb{!|JCZ<%Lvr>;?)8sAZ2g?#9@{N z693W{GrTw{=G^^%g*Q-w!PC{xWt~$(69ApNS}y|eX{`KqEix)56y?gih^XGs6{(bxQ z?c>Lf@87?F`}XahKYxDw`0?u1t7p%ief|3N`Sa&5U%veG>C^Y`-+%x9{p87$M~@zz zJ9qB<`SaJVUAuDS%9k%+E?&F{G@OB!K=CIFBLjm1gAT|Nke?XX${Yk1GHWDR%xee= z4$xvemu|w)8#ecPdeUxIj(zd^5ex-0&Ng&M@oMb2+t41vx8cTHhSoU#2|xZaa5ObB zh__o`t|eX{`KqEix)56y?gih^XGs6{(bxQ z?c>Lf@87?F`}XahKYxDw`0?u1t7p%ief|3N`Sa&5U%veG>C^Y`-+%x9{p87$M~@zz zJ9qB<`SaJVUAuDS%9k%+E?&F{G@OB!K=CIFBLjm1gAT|Nke?XXDjXU%I5V*J$?-j_ z(8-wL&S0X@8aDHKM$&Fpj(zd^5ex-0&Ng&M@oMb2+t41vx8cTHhSoU#2|xZaa5ObB zh_>K{q8q zaBc!`B!)NAn5$WsZq1{m8*WEC=RMs_QF9gahv(vbpa1jYc^)1PC#d~6=mD^F{CsP> zTlzN6$Bp}JJrqU$>?N5$;|~HHx|PzWZn+S*-}_SjD?oYR6RqNcY@O^#jh&`Oz~Gp5 zQME<3)NzF!%FkikcF%_CCZyiECyRIePcspS_`xbd9SD@{fP7BYDwa&^rU7z@~5 zb&AxtAe(7Ns#TjBmq^28_kvFQh_RGHtmt~%4(r&fM zX!0qs&xQzN42EIA;lDski4=A#3ggW*#CzxEjTL(U0J!|^32|DA$x}R$lt!IREYOtAwko9!r4bcw|W_CWVZ)%HAm}@T5Z+l!Y#&9Zlk!p*Nw6B}*OYG>t zOTX`x?lAr5y9u+ss_Xi=v-nLNvxB|<@FQ_Gq+aRYK`xi;gu`JT05X{jY&P3aQM=tn zGMNMb6pO`fEEaPE*rz>1Z`MDlmml;E0Y*1Js$Tv?z<+hn+w{M5FzD+8^7;I&Y&LuD rcocrLm{N*#I^6{TRaF%LDggWfwCo-vlLxcl00000NkvXXu0mjfi0&C( literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/images/tb2.png b/phpshe/1.1/php-fpm/src/template/default/admin/images/tb2.png new file mode 100755 index 0000000000000000000000000000000000000000..fcca2a9fd3092db26ffff442ae9604a7c70338c4 GIT binary patch literal 3306 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/link_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/link_add.html new file mode 100755 index 000000000..a3c5d585c --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/link_add.html @@ -0,0 +1,33 @@ + +

    +
    +
    +
    + {$menutitle} + 增加链接 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + +
    链接名称:
    链接地址:
    链接排序:
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/link_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/link_list.html new file mode 100755 index 000000000..b602d5e75 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/link_list.html @@ -0,0 +1,42 @@ + +
    +
    +
    +
    + {$menutitle} + 增加链接 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    ID号排序链接名称链接地址操作
    {$v['link_id']}{$v['link_name']}{$v['link_url']} + 修改 + 删除 +
    + + {$db->page->html} +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/order_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/order_add.html new file mode 100755 index 000000000..4bd852d6c --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/order_add.html @@ -0,0 +1,162 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    +
    +
    +

    订单状态

    +

    + 已下单[{pe_date($info['order_atime'])}] → + + 等待买家付款 + + 已付款[{pe_date($info['order_ptime'])}] → + 等待卖家发货 + + 已付款[{pe_date($info['order_ptime'])}] → + 已发货[{pe_date($info['order_stime'])}] → + 等待买家确认 + + 已付款[{pe_date($info['order_ptime'])}] → + 已发货[{pe_date($info['order_stime'])}] → + 交易成功 + +

    +

    商品名称

    + +

    {$v['product_name']} ¥{$v['product_smoney']}(×{$v['product_num']})

    + +

    物流信息

    +

    物流公司: + + {$info['order_wlname']} + + + + +
    + 运单号码: + {$info['order_wlid']} + + + + + +

    +

    实付金额

    +

    + + {$info['order_money']}(元) + = {$info['order_productmoney']}(商品价格) + + {$info['order_wlmoney']}(运费) + + (元) + = (商品价格) + + (运费) + +

    +
    +

    买家信息

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    会员帐号:{$info['user_name']}(ID:{$info['user_id']})未登录用户
    收货姓名: + + {$info['user_tname']} + + + +
    手机号码: + + {$info['user_phone']} + + + +
    固定电话: + + {$info['user_tel']} + + + +
    收货地址: + + {$info['user_address']} + + + +
    买家留言: + + {$info['order_text']} + + + +
    付款方式: + + + + {$ini_payway[$info['order_payway']]} + +
      + + +
    +
    +
    + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/order_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/order_list.html new file mode 100755 index 000000000..c8fb0b721 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/order_list.html @@ -0,0 +1,96 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    订单号订单名称单价(数量)实付金额订单状态操作
    {$v['order_id']} + +

    style="border-bottom:1px #ddd solid;">{$vv['product_name']}

    + +
    + +

    ¥{$vv['product_smoney']}(×{$vv['product_num']})

    + +
    +

    ¥{$v['order_money']}

    +

    (卖家包邮)(含运费{$v['order_wlmoney']}元)

    +
    + +

    等待买家付款

    + +

    等待卖家发货

    + +

    等待买家确认

    + +

    交易成功

    + +

    {$ini_payway[$v['order_payway']]}

    +
    + + 详情 + + 修改 + 删除 + +
    + + {$db->page->html} +
    +
    +
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/order_send.html b/phpshe/1.1/php-fpm/src/template/default/admin/order_send.html new file mode 100755 index 000000000..3455288c6 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/order_send.html @@ -0,0 +1,49 @@ + + + + +无标题文档 + + + + + +
    + + + + + + + + + + + + + +
    物流公司: + +
    物流编号:
      + + +
    +
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/page_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/page_add.html new file mode 100755 index 000000000..8108b688d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/page_add.html @@ -0,0 +1,35 @@ + +
    +
    +
    +
    + {$menutitle} + 增加单页 +
    +
    +
    +
    +
    + + + + + + + + +
    单页名称:
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/page_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/page_list.html new file mode 100755 index 000000000..128f71ea6 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/page_list.html @@ -0,0 +1,41 @@ + +
    +
    +
    +
    + {$menutitle} + 增加单页 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + +
    ID号单页名称操作
    {$v['page_id']}{$v['page_name']} + 修改 + 删除 +
    + + {$db->page->html} +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/payway_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/payway_add.html new file mode 100755 index 000000000..95529c52a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/payway_add.html @@ -0,0 +1,54 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    支付名称:{$info['payway_name']}
    支付描述:
    是否启用: + +
    {$v['name']}: + + + + + + + +
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/payway_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/payway_list.html new file mode 100755 index 000000000..364538428 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/payway_list.html @@ -0,0 +1,36 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    排序支付名称支付描述启用状态操作
    {$v['payway_name']}{$v['payway_text']}启用禁用修改
    + + {$db->page->html} +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/product_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/product_add.html new file mode 100755 index 000000000..cad218b17 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/product_add.html @@ -0,0 +1,74 @@ + +
    +
    +
    +
    + {$menutitle} + 发布商品 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    商品名称: + +

    +
    商品分类: + +
    市场价格:
    本店价格:
    运  费: 元(注:0元为卖家包邮)
    商品货号:
    库存总量:
    发布日期:
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/product_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/product_list.html new file mode 100755 index 000000000..744f4512b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/product_list.html @@ -0,0 +1,100 @@ + +
    +
    +
    +
    + {$menutitle} + 发布商品 +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ID号商品名称商品分类单价操作
    {$v['product_id']} + [图][荐] + {$v['product_name']} + {$cache_category[$v['category_id']]['category_name']}¥{$v['product_smoney']}{$v['product_clicknum']}{$v['product_sellnum']}{$v['product_num']} + 修改 + 删除 +
    + + + + + + + + {$db->page->html} +
    +
    +
    + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/setting_base.html b/phpshe/1.1/php-fpm/src/template/default/admin/setting_base.html new file mode 100755 index 000000000..c9e5bfeb0 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/setting_base.html @@ -0,0 +1,73 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    网站标题:
    关 键 词:
    网站描述:
    网站LOGO: + +

    + +

    +
    网站模板: + +
    咨询热线:
    咨询 Q Q:(多个请用“,”隔开)
    版权所有:
    备 案 号:
    微博地址:
    统计代码:
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/user_add.html b/phpshe/1.1/php-fpm/src/template/default/admin/user_add.html new file mode 100755 index 000000000..a8b0691f6 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/user_add.html @@ -0,0 +1,50 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    用 户 名:{$info['user_name']}
    密  码: 如无需修改请留空
    收货地址:
    收货姓名:
    手机号码:
    常用邮箱:
    注册日期:{pe_date($info['user_atime'])}
    上次登录:{pe_date($info['user_ltime'])}
     
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/admin/user_list.html b/phpshe/1.1/php-fpm/src/template/default/admin/user_list.html new file mode 100755 index 000000000..82da76ef2 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/admin/user_list.html @@ -0,0 +1,58 @@ + +
    +
    +
    +
    {$menutitle}
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ID号用户名手机号码常用邮箱上次登录注册日期操作
    {$v['user_id']}{$v['user_name']}{$v['user_phone']}{$v['user_email']}{pe_date($v['user_ltime'])}{pe_date($v['user_atime'], 'Y-m-d')} + 修改 + 删除 +
    + + {$db->page->html} +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/css/style.css b/phpshe/1.1/php-fpm/src/template/default/index/css/style.css new file mode 100755 index 000000000..d6c9a15f2 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/css/style.css @@ -0,0 +1,280 @@ +/*#####################@ 公共样式表部分 Start @#####################*/ +body{background:#fff; margin:0 auto; font-size:12px; font-family:"宋体",Arial, Helvetica, sans-serif; color:#333; line-height:20px;} +.centerbody{margin:0 auto;} +a,a:hover{color:#333;text-decoration:none; outline:0 none;} +a:hover{color:#FF5A00;} +ol,ul,li,dl,dd,dt{list-style:none;} +h1,h2,h3{font-size:14px;} +.clear{clear:both; height:0; overflow:hidden;} +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;} +table{border-collapse:collapse;} +.teal{text-align:center;} +/*img定义*/ +img{border:0;} +.imgborder{padding:2px;border:1px solid #ccc;} +a:hover .imgborder{border:1px solid #ff4200; background:#fff;} +/*color定义*/ +.cred{color:#DF002F;} +.cred1{color:#ed1e26;} +.cfen{color:#c92a60;} +.corg{color:#FF5A00;} +.cgreen{color:#090;} +.cblue{color:#3366CC;} +.c666{color:#666} +.c555{color:#555} +.c888{color:#888} +.c333{color:#333} +/*定位*/ +.fl{float:left;} +.fr{float:right;} +.mat2{margin-top:2px;} +.mat5{margin-top:5px;} +.mat8{margin-top:8px;} +.mat10{margin-top:10px;} +.mat15{margin-top:15px;} +.mat20{margin-top:20px;} +.mat25{margin-top:25px;} +.mab5{margin-bottom:5px;} +.mab10{margin-bottom:10px;} +.mab15{margin-bottom:15px;} +.mab20{margin-bottom:20px;} +.mar5{margin-right:5px;} +.mar10{margin-right:10px;} +.mar15{margin-right:15px;} +.mar20{margin-right:20px;} +.mar50{margin-right:100px;} +.mal5{margin-left:5px;} +.mal15{margin-left:15px;} +.mal7{margin-left:6px;} +.mal10{margin-left:10px;} +.padb10{padding-bottom:10px;} +.padt10{padding-top:10px;} +/*字体*/ +textarea{font-size:13px;} +.font12{font-size:12px;} +.font14{font-size:14px;} +.font16{font-size:16px;} +.font18{font-size:18px;} +.font20{font-size:24px;} +.lh18{line-height:18px;} +.lh20{line-height:20px;} +.lh24{line-height:24px;} +.lh28{line-height:28px;} +.lh30{line-height:30px;} +.hei24{height:24px;} +.hei30{height:30px;} +.hei60{height:60px;} +/*文字*/ +.more{float:right; color:#999;font-size:12px;padding-right:10px;font-weight:normal;} +.more a:hover{color:#ff4400;} +.num{font-family:"Arial";} +.num1{font-family:Verdana, Arial, Helvetica, sans-serif} +.strong{font-weight:bold;} +.normal{font-weight:normal;} +.aright{text-align:right;} +.aleft{text-align:left;} +.xuxian{border-bottom:1px dashed #ccc;} +.xuxian1{border-bottom:1px dotted #ccc;} +/*#####################@ 公共样式表部分 End @#####################*/ +.width980{width:980px; margin:0 auto;} +.logo{margin:15px 0 0 0px;} +.quick_menu{height:25px; line-height:25px; color:#555; text-align:right; background:#f5f5f5; border-bottom:1px #ddd solid; color:#666;} +.quick_menu p{width:980px; margin:0 auto;} +.quick_menu a{color:#666; border-right:1px #dddadb solid; padding-right:5px;} +.quick_menu a:hover{color:#555; text-decoration:underline;} +.nav{background:url(../images/nav.gif) repeat-x; height:40px; overflow:hidden; margin:10px 0 0;} +.nav_l{background:url(../images/nav_l.gif) no-repeat; width:9px; height:40px; overflow:hidden;} +.nav_r{background:url(../images/nav_r.gif) no-repeat; width:9px; height:40px; overflow:hidden;} +.nav_m{background:url(../images/nav_m.gif) repeat-x; width:962px; height:40px; overflow:hidden;} +.inputbg{background:url(../images/button.jpg) no-repeat 0 -197px; width:314px; height:35px;} +.sear .searinput{width:270px; margin-left:40px; border:0; background:none; height:33px; line-height:33px;} +.sear{margin-top:8px;} +.sear p{font-size:14px; font-weight:bold; font-family:Verdana, Arial, Helvetica, sans-serif; color:#F02249; margin-bottom:8px; text-align:right;} +.sear_btn{background:url(../images/button.jpg) no-repeat 0 -89px; width:83px; height:35px; border:0;} +.nav li{float:left; padding:0 20px; height:40px;} +.nav li a{display:block; font-weight:bold; font-size:14px; line-height:40px; color:#fff;} +.nav li a:hover{text-decoration:underline;} +.jdt{width:728px;height:298px; overflow:hidden; border:1px #ddd solid;} +.content{width:980px; margin:0 auto;padding-top:8px;} +.now{padding:0 0 8px; color:#555;} +.now a,.now a:hover{color:#555;} +.proimg{width:310px; height:310px; border:1px #ddd solid; display:inline; overflow:hidden;} +.proinfo{width:450px; display:inline;} +.proinfo h3{border-bottom:1px #c8c8c8 dotted; height:30px; line-height:30px; overflow:hidden} +.proinfo p{margin-top:8px;} +.shuliang input{width:30px; height:20px; line-height:20px; border:1px #ddd solid; float:left; text-align:center} +.shuliang img{float:left; margin:3px} +.buyinfo{border:1px #ffcc7f solid; background:#fffbe5; padding:12px; margin-top:10px;} +.sctj{background:url(../images/button.jpg) no-repeat 0 -41px; width:94px; height:30px; text-align:center; display:block; margin:5px 0 0 15px; line-height:30px;} +.remai{width:185px; display:inline; overflow:hidden;} +.remai h3{background:url(../images/hottt.gif) no-repeat; border-bottom:1px #ddd solid; width:150px; height:32px; color:#d9521b;padding-left:35px; line-height:32px;} +.hotlist{border:1px #ddd solid; width:183px; overflow:hidden; border-top:0;} +.hotlist li{border-bottom:1px #ddd dotted; margin:0 5px; height:63px; padding:6px 0; overflow:hidden;} +.hotimg{width:62px;} +.hotimg img{width:60px; height:60px; border:1px #eaeaea solid;} +.hotname{width:105px; line-height:16px; margin-left:6px; display:inline; overflow:hidden} +.hotname_index{width:145px;} +.hotname a{height:40px; overflow:hidden; display:block; line-height:20px; color:#555;} +.xiangqing{width:785px; display:inline; overflow:hidden;} +.caidan{background:url(../images/liebiao_tt.gif) repeat-x; height:41px; border-left:1px #e4e4e4 solid; border-right:1px #e4e4e4 solid;} +.caidan h3{background:url(../images/list_h3.gif) no-repeat; width:107px; height:34px; text-align:center; margin-top:7px; line-height:34px; color:#fff;} +.caidan ul{line-height:41px; margin-right:10px;} +.caidan li{float:left; color:#666; margin-right:8px;} +.caidan li a{float:left;color:#666;} +.caidan li a:hover{color:#666;} +.caidan1{height:41px; border-left:1px #e4e4e4 solid; border-right:1px #e4e4e4 solid; background:url(../images/liebiao_tt.gif) repeat-x; margin-top:10px;} +.caidan1 ul{margin:7px 0 0 10px;} +.caidan1 li{float:left; font-size:14px; margin-right:5px; display:inline; font-weight:bold; height:33px; line-height:33px; background:url(../images/sel2.gif) no-repeat left -34px; color:#666; padding-left:15px;} +.caidan1 li a{float:left; background:url(../images/sel2.gif) no-repeat right -34px; display:block; padding-right:15px; color:#555;} +.caidan1 li a:hover{color:#555;} +.caidan1 li.sel{background:url(../images/sel2.gif) no-repeat left 0; color:#fff;} +.caidan1 li.sel a{background:url(../images/sel2.gif) no-repeat right 0; color:#fff;} +.caidan1 li.sel a:hover{color:#fff;} +.promain{border:1px #ddd solid; padding:10px; overflow:hidden; line-height:26px; color:#555;} +.plmain ul{background:#f4f4f4; height:30px; line-height:30px; padding:0 10px; overflow:hidden; color:#666; border-bottom:1px #ddd solid;} +.plmain p{line-height:20px; padding:10px 10px 0px 30px;} +.huifu{background:#fff9b4; padding:8px 10px; font-size:14px; width:600px; margin-left:130px;} +.pingjia{margin:10px 10px 0 10px; padding-bottom:10px;} +.zixunbox{margin:15px 0;} +.zixunbox textarea{width:550px; height:70px; border:1px #ddd solid;} +.zixunbox table{margin:10px;} +.zixunbox td{padding:5px} +.tj_btn{background:url(../images/tj_btn.gif) no-repeat; width:70px; height:30px; text-align:center; color:#fff; border:0; font-size:14px; font-weight:bold; cursor:pointer;} +.pl_l{background:url(../images/pl_l.gif) no-repeat; width:8px; height:34px; overflow:hidden;} +.pl_r{background:url(../images/pl_r.gif) no-repeat; width:8px; height:34px; overflow:hidden;} +.pl_m{background:url(../images/pl_m.gif) repeat-x; width:745px; height:34px; overflow:hidden; line-height:34px; font-size:14px; font-weight:bold;} +/*列表*/ +.prolist{border-right:1px #eaeaea solid; border-top:1px #eaeaea solid; margin-top:10px; width:784px; overflow:hidden;} +.prolist_1{width:150px; overflow:hidden; float:left; display:inline; text-align:center;} +.prolist_1 p{line-height:16px;} +.prolist_img a img{width:150px; height:150px; display:block;} +.prolist_img a:hover img{border:1px #ff6600 solid;} +.prolist_name a{display:block; height:32px; overflow:hidden; line-height:16px; color:#555; text-align:left; margin-top:2px;} +.prolist_px{background:#F3F3F3; border:1px #CDCFCE solid; width:55px; height:22px; line-height:22px; padding-left:10px; margin-top:8px;} +.paixu_up{display:block; background:url(../images/task_tb.gif) no-repeat 0 0; width:7px; height:8px; margin:6px 0 0 5px;} +.paixu_down{display:block; background:url(../images/task_tb.gif) no-repeat 0 -8px; width:7px; height:8px; margin:6px 0 0 5px;} +.zhulei{border-bottom:1px #ddd dashed; height:30px; line-height:30px; background:url(../images/button.jpg) no-repeat 0 -239px; margin:0 10px; padding-left:18px;} +.zilei{border-bottom:1px #ddd dashed; padding:5px 0 5px 0; margin:0 10px;} +.zilei a{display:block; float:left; width:75px; margin-left:5px; color:#555; height:22px; line-height:22px; overflow:hidden;} +.zilei a.sel{color:#ff6600} +.zhulei a.sel{color:#ff6600;} +.prolist_border{border-left:1px #eaeaea solid; border-bottom:1px #eaeaea solid; margin:0; padding:15px 22px;} +.prolist_img1 a img{border:0;} +.prolist_img1 a:hover img{border:0;} +/*购物车*/ +.liucheng{margin:10px 0 0 250px;} +.zongji{text-align:right; padding-top:10px;} +.qingkong a{display:block; background:url(../images/button.jpg) no-repeat -365px -213px; width:135px; height:37px;} +.jiesuan a{display:block; background:url(../images/button.jpg) no-repeat -365px -107px; width:135px; height:37px; font-weight:bold; color:#fff; font-size:14px; text-align:center; line-height:36px;} +.jixu a{display:block; background:url(../images/button.jpg) no-repeat -365px -161px; width:135px; height:37px;} +.gwc_tb th{background:url(../images/hy_rtt.gif) repeat-x; height:38px; border-left:1px #ddd solid; border-right:1px #ddd solid; font-size:14px;} +.gouwuche td{padding:6px; border:1px #ddd solid; text-align:center;} +/*会员中心*/ +.hytt{width:180px;overflow:hidden} +.hytt h3{background:url(../images/huiyuan_tt.gif) no-repeat; width:180px;} +.huiyuan{background:#f7f7f7; padding:2px 0 0; border:1px #E1E1E1 solid; width:178px; overflow:hidden;} +.guanli{background:#e8e8e8; padding:0 0 0 25px; height:28px; line-height:28px; font-weight:bold;} +.huiyuan li{background:url(../images/dot1.gif) no-repeat 20px 12px; padding-left:30px; border-bottom:1px #ddd dashed; line-height:30px;} +.huiyuan li a{color:#555;} +.huiyuan li.sel a{color:#ff6600;} +.huiyuan_main{width:785px} +.hy_rtt{background:url(../images/hy_rtt.gif) repeat-x; height:33px; line-height:33px; padding-left:12px; border:1px #ddd solid; border-top:0;} +.hy_pay{background:#f3f3f3; height:30px; padding:5px 5px 0; line-height:30px; margin-top:10px; border:1px #ddd solid;} +.inputtext{border:1px #cecece solid; border-top:1px #707070 solid; border-left:1px #707070 solid;height:23px; line-height:23px;} +.input50{width:50px;} +.input100{width:100px;} +.input200{width:200px;} +.input400{width:400px;} +.hy_table{margin-top:5px;} +.hy_table td,.hy_table th{border:1px #ddd solid; padding:6px; text-align:center;} +.hy_table td.aright{text-align:right;} +.hy_table td.aleft{text-align:left;} +.dd_name{display:block; height:35px; overflow:hidden;} +a.pay_btn{display:block; background:url(../images/button.jpg) no-repeat 0 -365px; width:50px; height:25px; text-align:center; line-height:25px; color:#fff; font-weight:bold; font-size:14px;} +a:hover.pay_btn{color:#fff;} +a.shouhuo_btn{display:block; background:url(../images/button.jpg) no-repeat 0 -330px; width:80px; height:25px; text-align:center; line-height:25px; color:#fff; font-weight:bold; font-size:14px;} +.dingdan{background:#ffffe0; color:#666; line-height:30px; margin-top:5px; padding:15px; border:1px #f9dfb2 solid;} +.dingdan h3{font-size:12px; border-bottom:1px #ddd solid; margin-top:10px} +.order_name{display:block; height:26px; line-height:26px; overflow:hidden; border-bottom:1px #ddd dashed;} +.dingdan_list{ height:35px; line-height:35px;} +.dd_name{display:block; height:35px; overflow:hidden;} +.bg_f8{background:#f8f8f8;} +/*foot*/ +.foot{width:980px; margin:10px auto 0;} +.border_link{border:1px #d4d4d4 solid; height:134px; overflow:hidden;} +.bottom_libg{background:url(../images/bottom_libg.gif) no-repeat; width:2px; height:134px;} +.item_1{ display:inline; width:161px; overflow:hidden; background:url(../images/item_bg.gif) repeat-x; height:124px; padding:10px 0 0 14px;} +.item_1 li{background:url(../images/tb6.gif) no-repeat 0 7px; padding-left:15px; line-height:25px; margin-left:10px;} +.item_1 li a{color:#666;} +.item_1 li a:hover{color:#666; text-decoration:underline;} +.item_1 h3{color:#666; background:url(../images/link_bg.gif) no-repeat bottom; width:140px; height:30px; line-height:30px; padding-left:10px;} +.subnav{text-align:center; margin-top:8px;} +.foot_tel{background:#fff; width:250px; height:134px; overflow:hidden; padding-left:13px;} +.foot_tel h3{font-size:16px; margin-top:15px;} +.tel_num{background:url(../images/foot_tel.gif) no-repeat; width:243px; height:29px; font-size:20px; color:#fff; font-family:Arial, Helvetica, sans-serif; margin-top:5px; padding:7px 0 0 105px; text-align:left;} +/*index*/ +.index_main{width:980px; margin:0 auto; background:#fff; padding:8px 0 0 0;} +.pro_tuijian{border:1px #ddd solid; border-top:0;} +.tuijian_list{background:url(../images/tuijian_bg.gif) repeat-x; height:225px; overflow:hidden; } +.pro_tuijian .tt{background:url(../images/hy_rtt.gif) repeat-x; height:38px; padding-left:12px; font-size:14px; font-weight:bold; line-height:38px;} +.pro_tuijian .tt h3{background:url(../images/button.jpg) no-repeat -400px 5px; width:100px; height:26px;} +.pro_tuijian .prolist_1{width:153px;background:url(../images/tuijian_bg1.gif) no-repeat right; padding:15px 21px 0; height:210px; margin:0;} +.pro_tuijian .prolist_img a img{width:150px; height:150px; border:1px #e5e5e5 solid;} +.pro_tuijian .prolist_img a:hover img{border:1px #ff6600 solid; } +.action_tt{background:url(../images/button.jpg) no-repeat -2px -148px; height:32px; line-height:32px; color:#555; border-bottom:1px #ddd solid; padding-left:30px; width:238px;} +.action_list{width:238px; overflow:hidden; height:298px; border:1px #ddd solid; background:#fff;} +.action_list ul{margin:0 5px;} +.action_list li{background:url(../images/button.jpg) no-repeat -490px -320px; padding-left:12px; line-height:26px; border-bottom:1px #ddd dashed;} +.action_list li a{display:block; height:26px; overflow:hidden;} +.action_list img{height:85px; width:238px;} +.index_fenlei_tt{color:#555; border-left:1px #ddd solid; border-right:1px #ddd solid; background:url(../images/hy_rtt.gif) repeat-x; height:38px; line-height:38px; padding:0 10px;} +.index_fenlei_tt h3{color:#555; background:url(../images/tb8.gif) no-repeat 0 12px; padding-left:18px;} +.index_fenlei .prolist_1{width:152px; margin:0; padding:10px 15px 0; border-bottom:1px #eaeaea solid; border-right:1px #eaeaea solid;} +.index_fenlei .prolist_img a img{width:150px; height:150px; border:0;} +.prolist_left{width:732px; border-top:1px #eaeaea solid; border-left:1px #eaeaea solid; margin-top:10px;} +.prolist_right{width:238px; margin-top:10px; overflow:hidden;} +.prolist_right h3{background:url(../images/button.jpg) no-repeat -2px -148px; height:30px; line-height:30px; color:#555; padding:2px 0 0 30px;} +.prolist_right_tt{border:1px #ddd solid;} +.index_hot{padding-top:3px; width:236px;} +.ad980{width:980px; margin:5px auto 0;} +.flink{border:1px #ddd solid; padding:10px; width:960px; margin:10px auto 0; color:#666;} +.flink a,.flink a:hover{margin-left:10px; color:#666;} +/*单页*/ +.danye_left{float:left; width:185px;} +.danye_tt{background:url(../images/hottt.gif) no-repeat; border-bottom:1px #ddd solid; width:150px; height:32px; font-weight:bold; font-size:14px; color:#d9521b;padding-left:35px; line-height:32px;} +.danye_list{padding:8px 12px; border:1px #ddd solid; border-top:0;} +.danye_list h3{background:url(../images/button.jpg) no-repeat 0 -244px; padding-left:20px; font-size:12px; margin:3px 0;} +.danye_list ul{border-bottom:1px #ddd dashed; margin-bottom:10px;} +.danye_list li{background:url(../images/button.jpg) no-repeat 0 -263px; padding-left:13px; margin-left:10px; line-height:28px;} +.danye_list li a{color:#555;} +.danye_right{float:right; width:763px; border:1px #ddd solid; padding:10px;} +.danye_right h3{text-align:center;} +.danye_main{line-height:26px; margin:10px 0; font-size:14px;} +.wenzhang_list li{background:url(../images/button.jpg) no-repeat -496px -252px; padding-left:12px; line-height:28px; border-bottom:1px #ddd dashed; color:#888;} +.wenzhang_list li a{height:28px; overflow:hidden; color:#555; float:left;margin-right:5px;} +/*收货信息*/ +.dizhi td, .dizhi th{padding:6px; background:#f8f8f8;} +.buybtn{background:url(../images/button.jpg) no-repeat -365px -107px; width:135px; height:37px; border:0; cursor:pointer; color:#fff; font-size:14px; font-weight:bold; text-align:center; line-height:36px;} +.shouhuo_info{margin:15px 0;} +.shouhuo_info p{margin-top:5px;} +.qingdan td, .qingdan th{border:1px #ddd solid; text-align:center;} +.fukuan{background:#f8f8f8; padding:10px; border:1px #ddd solid; border-top:0; text-align:right} +/*login*/ +.loginbox{border:1px #DEDDD9 solid; background:url(../images/loginbg1.gif) repeat-x; margin:10px 0; padding-bottom:30px;} +.login_l{width:500px; margin:30px 0 0 50px; display:inline; border-right:1px #ddd dashed; color:#666;} +.logintt{background:url(../images/login_tt.gif) repeat-x; height:55px;} +.logintt p{background:url(../images/login_btn.gif) no-repeat; width:108px; height:55px;} +.logintt div{background:url(../images/login_btn.gif) no-repeat 0 -142px; width:108px; height:55px;} +.login_l table{margin:25px 0 0 35px;} +.login_l td{padding:8px 0; font-size:14px;} +.loginbtn{background:url(../images/login_btn.gif) no-repeat 0 -99px; width:97px; height:37px; border:0; cursor:pointer;} +.input1{border:1px #c5c5c5 solid; width:220px; height:28px; line-height:28px;} +.login_zc{margin:50px 0 0 100px; padding:15px 0 0 40px; background:url(../images/login_zc.gif) no-repeat; width:180px; height:104px;} +.login_zc p{margin-top:10px;} +.login_lx a{background:url(../images/login_btn.gif) no-repeat 0 -59px; display:block; height:40px; margin:10px 0 0 14px; width:111px; height:33px;} +/*regist*/ +.registtt{font-size:14px; font-weight:bold; margin-left:20px;} +.regist_table{margin:35px 0 0 60px; width:700px;} +.regist_table td{padding:5px; font-size:14px; color:#666;} +.registbtn{background:url(../images/login.jpg) no-repeat 0 -48px; border:0; width:130px; cursor:pointer; height:34px; margin:20px 0 0 170px;} +.czong{color:#996637; font-size:12px;} \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/footer.html b/phpshe/1.1/php-fpm/src/template/default/index/footer.html new file mode 100755 index 000000000..29e796113 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/footer.html @@ -0,0 +1,87 @@ +
    + + +
    + + + + + +
    + + + + +
    + + + + + +
    + + +
    + + + +
    + + diff --git a/phpshe/1.1/php-fpm/src/template/default/index/header.html b/phpshe/1.1/php-fpm/src/template/default/index/header.html new file mode 100755 index 000000000..da1405033 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/header.html @@ -0,0 +1,84 @@ + + + + +{$seo['title']} + + + + + + + +
    +
    +

    + + 您好,{$_s_user_name}! 欢迎来到{$cache_setting['web_title']['setting_value']}! + 会员中心 + 购物车 {$cart_num} + + 官方微博 + + 退出 + + + 您好,欢迎来到{$cache_setting['web_title']['setting_value']}! + 登录 + 注册 + + 官方微博 + + 购物车 {$cart_num} + +

    +
    +
    +
    + +
    +

    咨询热线:{$cache_setting['web_phone']['setting_value']}

    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + + +
    + + + + + +
    + + + + +
    + + + + + +
    + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/bottom_libg.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/bottom_libg.gif new file mode 100755 index 0000000000000000000000000000000000000000..37f981b99e502a399908debe1075e5745842fc53 GIT binary patch literal 1348 zcmZ?wbhEHbWMXJzIKsg2<;#~JKYo1r^y%BTZ@+*4-m_=VyLa!lZ{NOm@7}LpzrKI} z{^!r1yLa#Y@ZrPXzkh%I`n6-njz53?eEhm3bwJ z6}oxF$}kgLQj3#|G7CyF^YauyCMG83mzLNn0bL65LT&-v*t}vruy^#5^Kf+_U%#ji9s7p}UvBq$Z(UaSTehg24%>IbD3=a&{GrvjBLgRCmBaxO|uEXgkl z$ztBbjlxv`m(k(sHni;*KtuSMv>2~2MaLazx|v`++-@<%X&zK>3U0R;;nb@Sbc{YIT9Kj|CIn17ASOJ~ z0y*$xpPC0u>qWps&G`S{-#@>9{rvI$+t)9jKYjf0{@vR*uV1}<@%-7-CyyUJd~pBX z-8;8$-Mn%A+SMzUFI~KF{@mF!r%#aDv3%LmC5sm=Trhv$+&Qyn&73iP+SDnNCrzBt-`CsI-PPIA-qzaE+|<}m zUsqdGT~%38URGLCTvS+)pO>4Hot2r9o|c-DoRpXl9~T=F9Tgc79u^uB926Mf@8|2| z?d9p=?&j*^?BwWRZ)a;`ZDna;Zf0s?Yy`|udb&E=TACW_YN{&AN{R~da0b`fnB;$-IO;T9K~E-b`4o!eHFpNF55 zpOIUDaXBMDx1cbKFgG_pzaTr`d_jH|QwdQP4Z-bv!h&K4O|2vh#e~loo<4h4?eY~B HMFwjC9%buU literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/button.jpg b/phpshe/1.1/php-fpm/src/template/default/index/images/button.jpg new file mode 100755 index 0000000000000000000000000000000000000000..704d5a9f075c6fa3eda7ea3a5b6e57cef3c0738d GIT binary patch literal 27289 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/buy.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/buy.gif new file mode 100755 index 0000000000000000000000000000000000000000..baae7a5df4863bc38a8f5a85b6a19369c461391d GIT binary patch literal 3544 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 NPH-fi({W_51^{%ohQ0s* literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/bz_2.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/bz_2.gif new file mode 100755 index 0000000000000000000000000000000000000000..651796c037f9c8ca1c45730a6050cfa99fd8ad87 GIT binary patch literal 374 zcmZ?wbhEHbu`+IdXT)=N((7 zU&xxiul3H$YrSW}e~2pmzOZ%8lx=FS48=cpm!IfhSarWm)HvXqnvYqh4JAUiup9|t>kyQT&!6Pp_w6JL=WzW@WD z3zNnIX-zf;etwNbnoAZih&nN;Zj(?FmDr}r>cXRPkVo;Lilmz`C#RU$DdBh-E-qQg MOFZ#6oE;gg0m0*cuK)l5 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/bz_4.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/bz_4.gif new file mode 100755 index 0000000000000000000000000000000000000000..f735280fd82fa61928b550e15190f96f0a566dbb GIT binary patch literal 365 zcmZ?wbhEHbkckh|->HAuzU VbH${SF>5YQ`ugi* z#ZlusFR!h<-t^~l`>%UbqL!)K yR#w3!ifaU<1O?V8GJ0|FS-A*Y56fUvqiV%Ii(v9(3H=5huxD-#++Nq^6&fIr#qN_Uvv3&$@tH=yIge0C|zjdjfb|Nnb^z4O;O zrQS2)QOng*wyFJj+L69X?dNfZ|Ns9p3|XM~lLhQ{9S{kM69)DL4USFCEv+pq4&09H z4i2hqj&=@`j@%AP6S{lZl^tYeI%+vgGI6wM5oqdlV9_@-)oEI3-(+Xkp=ZgX;wZFb z%S1aXBM~(z1xLpHs~j}s%@vJhPwr=ImN4XL;n-r$s=h^9TfE6$j#+mvGb^h-M-#uj z7&9~92iqTl27H1)Y_B!*e2~akaL7T9i$|4#VSyua8>hlj0fmGnrY<&zMlKcxYXGSZ Bw!HuV literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/foot_tel.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/foot_tel.gif new file mode 100755 index 0000000000000000000000000000000000000000..a1b75426da16f93e6e97e4ccb3a5915e23732dc5 GIT binary patch literal 1861 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 KXcl5*um%8?t~UJu literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/item_bg.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/item_bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..df8f1ece199c104181a90ecdff386471374a2eb3 GIT binary patch literal 1190 zcmZ?wbhEHbWMpV#*v!E2^BXQ!4ZB&DWj=GiK}-@RW+ zAv48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT8hBDWwnwIorYA~z?m*s8)- zDKRBKDb)(d1_|pcDS(xfWZNn^f+Q3`b~@)5r7D=}8R#Y(m>DRT8R{7to0yxM>nIo* z7#ips80i}t=^C0_85>y{7$`u26417ylr*a#7dNO~K%T8qMoCG5mA-y?dAVM>v0i>r zy1t>Mr6tG=BO_g)3fZE`@j@ zw*YQzUa=n7J9^3ax%w4}1^R}11|ToN6#Dw&SDKp(S6y5Zl!|aKR)dQ}DhpEegHnt0 zON)|Ify$LZRuxz|7o{eaQ#zd*q`*i<1rGcP5-ycn$7*VoE3 zuec;JFFDoI#a0QZUoSH=#mdsj#nsKi(b&<{%-GP-)zHbz&Ct!o(AB`n#Le8&!VRX^ zB|o_|H#M&WrZ)wl*950tP(sKp0NU)5T9jFqn&MWJpQ`}&uvI2*w;19y52`l>w_A*G z>eUB2MjsTdNYM-v0;U}h6P{>+9C)%%%>$zB`;K7M%r z?(Lh`uU@`*{_N?K$B!O9xPR~No!hr=-nf44>XplvE?zi)?(CVz2)%Hf~tIZta@Yt5&X9zHI4|#fug$m_KjsoY}Kx&X_)J>XgZo zCQj(@>+R|8>g;H5Yi((6YHX;ltF5W7s;nq4D=jH5DlEv)%gxEo%FIYlOHD~mN=%54 zi;annii`*k3k?Yl3Jmb~^Y!ue^7L?bb9Hfca&)k_v$e6dva~QaGc_?b0%j;ZT^(&L zO$~K5RTX6=MFn{|Ss7_5NeOW=Q4wJwK>>a~ULI~PP7Zc9Ru*O^Mg|7OpDYX@paUX6 zr3(X#<%g4=*}L5}odOt~0#!~X=x`sl$a%dhOJ?zxq&wdi@Tcf^H7#IpU}5QFYzaE~ TFk@bO#uul(A?qe_FjxZsR@=lG literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/jia.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/jia.gif new file mode 100755 index 0000000000000000000000000000000000000000..34568645b269cd6af8a8d076a85d2404b505b121 GIT binary patch literal 366 zcmZ?wbhEHb(-5bfBpi&&70S?wY8r-d2;*at$+Xi|M~Oh%csv@zka@P zTOn+`0AQ z)k`3_dHu$V7cc(*|9kiLo&W#--??@B)~#Fr|Ngsk=g#fhH+6J$Zr{HB4`|K*{|uA? z#h)x-19U(n$WIJx-3J^qRh*^LhOrQY4kr`-x&=+m)g z%7*~X9m?s~UR!$Zy{aA3sw%Rg(4SYmrByIrQ$xvLo>Q7nU0Fs_!rz0vMv+IPEZSdL zz@JG`MMb?nSd~FbR4k55Sdnql5~Xe}@tS#=H5zP+(d?-)X-aGgYO-BwYRnAhq!=6- FtO2`4pt}G7 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/jian.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/jian.gif new file mode 100755 index 0000000000000000000000000000000000000000..79ccb09f996c52a8364bd20daaf20cad4a1d42e0 GIT binary patch literal 240 zcmZ?wbhEHbC+Qw{QOY^Y_lJ+yDOm|NH;nn>TNCb#?#!|NHXg%jeIZ z|M~a#$B!R(@7((I>64C*&aGRw?%cU^>(-6GfB)XTee?g{f46Vn{`U{4^*;kPp!kyo zEUW_}L3T2*<}OHeR1%4tICENrbz*+?))^l6Z`7R4*mK(8CdZ23PqU`o_ZC0BFwaf- znTxf}y6epgQx6;PFt{=?6r7N1oR-iwJCsStr}0>tK8IMRU%<=X+AOBbqBW&C!nMqv ZEUZEH91=o|T|z=4(`QT*5mIEZ1^^zMZ<+uA literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/liebiao_tt.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/liebiao_tt.gif new file mode 100755 index 0000000000000000000000000000000000000000..4f9f72024339070932764bd9c31de6862e021c62 GIT binary patch literal 162 zcmZ?wbhEHbWMt4}IKsg2?c29szkYrC^y$fyCvV@r{rK_Y@87?F{P^+p>(~F~41fOo z`T6tb=g*%%eE9JF`}Z$jzWn?5@7=q1@87@w`}gnv|Nj{X0mYvzU?n;r5@aU>tNa6p kzyQm+T}cuLH_5a=X5jc_!=o(XdfDSZ$Ak$UEes6S0O>$W^8f$< literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/link_bg.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/link_bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..f99a972999c5cf5f9ee553f81c8cedaad794c4b8 GIT binary patch literal 1154 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 LSYW6K1N;8~Guk>2 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/liucheng2.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/liucheng2.gif new file mode 100755 index 0000000000000000000000000000000000000000..4a49aca1a35e78198ecfe6846bce890609fc6297 GIT binary patch literal 3391 zcmeH}`#02k7so%}?_Ax-xJ{u39l7L5ax_IXE=6>iaygV!#F3DMI=awzn8PU5kfl)` z4Ix4%P6T?SVs( zEsz0#qUb0fdwYA2KxBnNF*i4tpP$d;@ka5Km6es|=4KRKK^3cx4nyQIpgji2a=BcA zu8aU}F|0KTNW(x&49MupYPEbdbqvxP92^`1n!|vkP@rRkHRa{yGMP+{qBAoyeSLj- zd3nRI)(EUK43oyk#}^kDtE#G&mzT#N^VOC>HGKZj{?2bK310HBLs?AgE~7q z+tk!lUtf=+%S&CK6>{`DOkPne&fm*xZEckgd>e$cr0F>;E6b>2WmUl>&|Oj}mIciV z#g%gL7`h}|s(Rkj(}T(tVzF4UvOHf{I=$atfi5k)7s*P?QN_}zmhl82p^J;?j8uB= z_o={$d8te~KR1`aQhfcUSV5;~yJuVvP5J#cH!GdCu#tZolK6+A6O$_nbg@=2pO!7g z=q~VIG{0>cRxxO6Ym?BN(0Q3m&;b5#|KkZ5En@#m*z`~Q=OzFV1rX7|t&%59B5GOq zzpKn^NFkZH=eSknzr9Y`8rJ)+>Ou1@s`E92ebogmx6M2s`L|RTzQ1D~)S9#JNm1K9 zTFm#}mM0I}@6(f%4c%*sJ04gl5xuU}l>GUS@gOGI4SCS=Y=;-X6DJ{>pb31mwaIdQ0i zT;!IAxO+qTf#l)>w#!MMpquoM{0%q!O)rkz2}o8F->~BFU=5pIdef0s$2ih2@jakP zi`ie5LM9HEjOJdMSAvN|xp^@!UN>wkk8S#BEI-Zednoy$DRkOsy8-N~cUGR>b6i#W zR-0fir`O+5GON*3QQI;RpIFstE*)gY68eIZYA?O5g0N{4iSqrL~ zckm{wTaWY$fVo2@gwt}609A|^f~jubb$#+#f3oE?e>f|A`uSK<>GZR&>+}(vA<;RiJ0 z4YAZ8?>5|-gt0nxRF;O1f4>m#h(!_!kSYmax7{h5{pcW@oNcEQtfV6PP(%z+$4U@Q zjqWrI<0E!fJlW~zwERyHpunyh5Kv0Y~# zR}bV$5L{;@I^e9LQnp3(_BBjuP&cT2e%`6}+?m@)v5gF8rRy7s7bzNihGVS;UrpMv z{qnz-#tQBnU+S1v4}g?0V;m=fjsr@cEP5T~6<#ai)q z4xHbd)LYt*uiaL!bdqE26_`jV2-#i~Ob_176)4$BK+qr8{qmi&=&x%VqJDDm--$H_ zXe`aeDEB&b*QP;`=+l*pQwEMHzXohMK%-a$Ycem_r3x-3TEcv682&o`RKt z;|1LoH+M3~Y#jc{Bc$cPkFt!roomeYq_!N)D7#(k!fubkLpgmB*L%W}aCTAfdanTG z&Z0EfVEk~ZUB(e7!nFP5xIFGk@)O+U6dyUwSpGI5br(>x0PqJUS z`7o8K<%C^qpLN&_2;Ygv7*U0r4V~N~?6ht**W~WayXdsd=T^31rYUaA+UE4V6_>Bn znCzhkBNB&6RgBKsF_f<)^i+9Sk5aAR5dNlp6*WE40OYBB?DSb-|&2;r>&K?rRcogt=JO4O0da8S0(UJOsvMBS1 z@?ND0uS%cDQ!)RxuPIQc``Ip^ihI$3!MSA_TfCmc9I^;1%ax&Z|9V<(%iZs#!@Z#SXpCXht%LeAso_@C~4jP3Y!2hisVz&a6AMcN-95^8|S zJ_0lMjEdX*Cf2|DJ+Dwy_j_GK+83j)AGMxYCa=P^G?Sx{Lej@87-5dOSpa0{D}cPu zzUU|HURWpP@g!O=YN^NsRS=-!7D^9!inlo2=Qg17a9{5+hUFScK)(71^^k%9I~4~y z5yP%mDciH~`DMb8Aw_ULJb9~10f5c;hH$+4qL8(tisf(UqUoszJSf>79rG&akZogBwz rbJ^GU?6hw7O@jqChmx8>OU?96&5BFqa#Qc}Q**jgbBPoP0`~s_bK$P$ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/login.jpg b/phpshe/1.1/php-fpm/src/template/default/index/images/login.jpg new file mode 100755 index 0000000000000000000000000000000000000000..e233a1aa5ba2bef01d378fc531b5dfc0b7ca6567 GIT binary patch literal 18546 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 LP&h1R{C^VwvcT2x literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/login_btn.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/login_btn.gif new file mode 100755 index 0000000000000000000000000000000000000000..2694e1a55b5f0a5c4368b063b81bd07ca1d68cc5 GIT binary patch literal 4491 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/logo.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/logo.gif new file mode 100755 index 0000000000000000000000000000000000000000..ba67a030edc0d5d50f7f9a034c41d9564ca79f7e GIT binary patch literal 5328 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/logo.jpg b/phpshe/1.1/php-fpm/src/template/default/index/images/logo.jpg new file mode 100755 index 0000000000000000000000000000000000000000..cef4492095bf4bf944d8a50029192129e31edccc GIT binary patch literal 8904 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 oU=hF1~HA4(X0Ok?;^#PT|d{dF?K=h+OO8koQI zGk%%E_%?(2Z7$P?3Wm1{EMK~qUWYKgD`5K6#_*|w;rncc&&|v)6B)krGQCY@dSAx) zbuRmx7`8vt+23X{eVWGpJc8k4Ez|#J%%7W>-i32~oy5pMJ)roL1#FlOhy?kGfz8vQ zGsR?6gvA_}MF9+r57xQn&`3AX<>|>$|NU6Ay%gT<7v(cK&j5dj0`n)y=`vI a4h{+u60)-F>`Y9ms)~woa?H$*4AuZXg;8|? literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/nav_r.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/nav_r.gif new file mode 100755 index 0000000000000000000000000000000000000000..ea3be6df6f5b302d39150e33bc361446d5ebb893 GIT binary patch literal 757 zcmV{Nk%w1VF>^z0OkMy>Qw;ymK5e_81jJu?rZ|~q5{SZ#hynlQ z7XRS^@nQq+wr&561L>v!{h0*nV*u-U1MOu2{JR46k^${)0`PeN|K$SxqyzMh0q<}E z@s0uTa0TXB0RQ5~-%bGESOD*R0q}GJ`GW-Xl>q(W4f2rz>{=4}wE^>*0PS7?>ze@O zQUU*x0_|1+_KXDWgaG;00Pax%`Pu>JYXIk50_vjY6f(Y+w1@N8#@00-STn6V}1oVXf z{FevrU<2}&2l9ph>skl$ivjnW0QH>*?sWwA%>(UG2Kdwf{n82hp$-3s2=RCY<7p`M zc?IvV0QY|c_M!~*b_MEE2I+4A@|+3&l>qSn|Lb4@_TdchR|xo%2l|x-{*(&wvH<_! z2lAK((uG&*aslyL2;f@)_=g4KT?F-g1M_qS@MQ+;mj0N!8#A^8LV00000EC2ui z00{sn000O7fI>ncAZ-E-A8HsF3ML9!4+0-nR!bQLadHn0S666m0exaz0xG6yZvjgR zGe18|5H3|qY%Nk!EKCq{4<gkgB{~Z)8X6or&oI-~RWR1t zFI81OMpYa}3jhfTK6nXL=m1kwNABZ(00RRg12IoYJ9y~h=MSL30b}|N01{Ay2t5uL z(%^C7LYNBesQl!WpEFed05i(-LNeM+%3hB^c!-kqjhV-y$vx9}4 zJuC<%(1Ac5odl8+P-5T=1prA67+_k1f)J?_CMcOeB*l!Z5hn1t(RD_IvtrkjjS_`{ z69x=Y3}l$GW=)hlYn(*rf}ly0C({RjA3nT#_3GQVZ=XJW`v3p`l`B{N{{4IR?%hk5E({T}zkmPo<;$;M zzyAFB^Y`!H3={yxpDbYAIv^6{CkD1f2b>&R7Af?#3b1Yw5(}Ds_=$sUj@!~TVjC}I ziLc&J!7A4--LOUKLcq@ZtIY1`e!THst~2AjxFK6ZBQuX?Ynx_Edn=!EZ=W)s!lcOx z{4CRFu<*;wnJdH3xNs4pfcmoK>PuHF6OdiEURF?X^A<%x`5imu+0^##Q`@tDFB{X* sV@zTir%r3Ishl~*EunJdsyrXp)hpUkY?7i}4~4Zv1v#H{Ix<)T0O!!U3jhEB literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/pl_m.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/pl_m.gif new file mode 100755 index 0000000000000000000000000000000000000000..c53c64d43b582c4891a2941595a188813eb09f51 GIT binary patch literal 159 zcmZ?wbhEHbWMoicIKsg2_U+qOuU>us{{6#;4|nh0{qp6@-@ku9fByXI*RSW#pMU)L z@!h+3KYsl9^y$;3OPAifdGqbtx8J{izkdDt#fukTzkYrH{{5dne}4Y_`SRt<|Ns9p yU;xFREMPGm5DBuAfmKFfqU1DD*Au0NOfG>(FKRf4>K;(`WNh=D+@j3FU=08(@>d-I literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/pl_r.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/pl_r.gif new file mode 100755 index 0000000000000000000000000000000000000000..4faa94695e2a9068535e436d9f76e3c740526137 GIT binary patch literal 388 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/selldown.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/selldown.gif new file mode 100755 index 0000000000000000000000000000000000000000..882f0901009962686feedd5a21bd2f796586ec2a GIT binary patch literal 2888 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 literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/task_tb.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/task_tb.gif new file mode 100755 index 0000000000000000000000000000000000000000..237d7a190e2084406d6cdf681efdb54458d09b19 GIT binary patch literal 196 zcmZ?wbhEHbWM>dyIKsg2|NnnyXJ-cohrfUS{`vFA*4Ea^$;ryf%ErdV+S>Z}@85QI zcJA)(etv$guC9)bjxH`P|Ni~^_3PKqpFbIh0E$0Zz^ZgWB*;z%R>uV{42~=s%mpg_ zObi|uSy(q197^Ii>f+FJKtohOg+X(wb3=_HPvdl9txzL&7v)RrBDV^x*&c=P7XjvYI;Z{Pm!-@i?pHf`R# z`Q5vBpFe;8`}gmbEnBv3-MVetw)gMffBN+4p!lCV!Z$#{C9xzC zNZZ&~6eK2RrKPiFn46pHC>R+S8t5As=^Gm98k$=f8(A3`C_sS{(6*wKG^-#N zH>h1eo~=?wNlAf~zJ7Umxn8-kUVc%!zM-Y1CCCgTBVC{h-Qvo;lEez#ykcdT2`;I{ z$wiq3C7Jno3Lp~`lk!VTY?Xj6g?J&i0B&qvu^!kvddc~@`W1-<`i6Q2ATPlb`ugHm znwtw(U0f2Bif}JhgNs8d3sUuiQj7CTi;`1;%9TM@6<9eJr6!i-7lq{K=fFZSAS1sd zzc?emK*2fKR3SVwFD1Xc7_8dY*UB@mxFj(zIn~p}RtczIFEca6%E;N!!pX$c*wNI? z)X>n?(89pN)zQSo&Dqt}!r92h0H)U^Ke;qFHLnDwHwB^B1gBn5LdY!u+U$~Alv$RV z;#QQOs{r<}RVHq?7~(V!sy79}YRmZE0?5Y^blRt*Nf6tSB!l zEh#Q4EXdEx&B@Nn%t%j5O-W8lOo)$*jfswmj0g`44G9hk4Dk2!_3`%d^l*1`b#Zob zbg;LxwXwFcv@ka_H8C~I+Ga^>H@fAi^%sDzgZSTqhrc zvTSOTVtqQ3j3T2l2Xh^xVmX%vTYS_MMMZI8AI`4ebUDs&ZxO;P3%%sjMD+W*jV@m@aLyFC}8B2R=SM%vZ`7Y6N{Q{PtoXzAni{2(iY^hva(qu4(TB`hgZ>grRrRe0vH$DWg_hHqjz*KMIOoQ}g^+E3)uGH407E8<($ z9<|gWXKLamYIZel!U8& zZOZ9xen5+4}9U^9CfHI{|TsuISWXIt@^O literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/tuijian_bg.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/tuijian_bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..6e46948eb1e034febe5d5024b11159078529d751 GIT binary patch literal 206 zcmZ?wbhEHbWMp{AaD;*3+qZ8&e*F0Q_3O`{Ki|K9|M~OhU%!5R|Ni~UmoLA6|Nism z&!jF6#tSP%6jns7XKE=seN}AVgAe77db7{=Y^ge1 Tx8weYAG00S-+nnkfWaC7;w4}Z literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/images/tuijian_bg1.gif b/phpshe/1.1/php-fpm/src/template/default/index/images/tuijian_bg1.gif new file mode 100755 index 0000000000000000000000000000000000000000..ce0dcbd68291aa146e0315fa1bc73f72894892ec GIT binary patch literal 365 zcmZ?wbhEHbWM+8CaD;*3_wV0dzI=KA{{8pw-+%r3_4)JXpFe;8`0?ZG*RS8cef#w3 z)5nh=|NQy$;lqc&fB*jb_wWDz|L@+tV;~wR{$v5G)d7(pI~iDCDTp{KSx$Sga#qf* zK7Jj0L)n`ZYwuT|`@gR}*`!6J|HzWS&KRrNJ%J)dYrWQotT8>!+Ovm$!w)mQ$>*PK zx$fAp;qKe*Hh%lJ%75Q=_`x&dKQ#i4&B`rJt;+13-2z>`J$(}=C^JtnpUOXD)--{s zbLY&P$EmznVCnKDE0?WWA;6)$e%*%6o3?J;zJ*bFm%yHVyASL=xc?A8tNHO`Cr+O_ zdtBiB#WP&ySNN`75x99<`OdAo5AHwWR(>Mz?8Vbp&tJcM^Zp6{M_%(U{NH|j{Uz|_ kkMduJ|D0dk4HQ@yl?CMXG=6YA+|HwHHRZ+z7Y+t%0P*Iu6#xJL literal 0 HcmV?d00001 diff --git a/phpshe/1.1/php-fpm/src/template/default/index/index.html b/phpshe/1.1/php-fpm/src/template/default/index/index.html new file mode 100755 index 000000000..e8cc3add3 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/index.html @@ -0,0 +1,92 @@ + +
    +
    +
    + + + +
    +
    +

    {$cache_class[1]['class_name']}

    + +
    +
    +
    +
    +
    +
    +

    商品推荐

    +
    +
    + +
    style="background:none"> +

    +

    {$v['product_name']}

    +

    ¥{$v['product_smoney']} ¥ {$v['product_mmoney']}

    +
    + +
    +
    +
    + + +
    +
    +

    {$v['category_name']}

    + 更多>> +
    +
    +
    + +
    +

    +

    {$vv['product_name']}

    +

    ¥{$vv['product_smoney']} ¥ {$vv['product_mmoney']}

    +
    + +
    +
    +

    {$v['category_name']}热销排行

    + +
    +
    +
    +
    + + +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/order_add.html b/phpshe/1.1/php-fpm/src/template/default/index/order_add.html new file mode 100755 index 000000000..e9e0ad10a --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/order_add.html @@ -0,0 +1,118 @@ + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + +
    商品图片商品名称商城价购买数量操作
    {$v['product_name']}¥{$v['product_smoney']} + + + + 删除
    +
    +
    + 应付总额:{$money['order_money']}(元) + = {$money['order_productmoney']}(商品价格) + + {$money['order_wlmoney']}(运费) +
    +

    收货信息

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    * 配送区域: + + + +
    * 收货地址:
    * 收货姓名:
    * 手机号码:
    固定电话:
    用户留言:
    +
    +

    + + +

    +
    +
    +
    + + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/order_pay.html b/phpshe/1.1/php-fpm/src/template/default/index/order_pay.html new file mode 100755 index 000000000..b09801edb --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/order_pay.html @@ -0,0 +1,31 @@ + +
    +
    +
    +

    选择支付方式

    +
    + + + + + + + + + +

    {$v['payway_name']}:

    {$v['payway_text']}

    + + + +
    + + +
    + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/page.html b/phpshe/1.1/php-fpm/src/template/default/index/page.html new file mode 100755 index 000000000..b8be0c498 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/page.html @@ -0,0 +1,63 @@ + +
    +
    您现在的位置:首页 {$nowpath}
    + +
    + +

    {$info['page_name']}

    +
    {$info['page_text']}
    + + +
    {$db->page->html}
    + +

    {$info['article_name']}

    +

    发布日期:{pe_date($info['article_atime'])} 浏览量:{$info['article_clicknum']}

    +
    {$info['article_text']}
    + +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/product_list.html b/phpshe/1.1/php-fpm/src/template/default/index/product_list.html new file mode 100755 index 000000000..e2e984831 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/product_list.html @@ -0,0 +1,83 @@ + +
    +
    {$nowpath}
    +
    +

    商品分类

    + +

    热销排行

    + +
    +
    +
    +

    商品列表

    + +
    +
    +
    + +
    +

    +

    {$v['product_name']}

    +

    ¥{$v['product_smoney']} ¥ {$v['product_mmoney']}

    +
    + +
    +
    +
    {$db->page->html}
    +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/product_view.html b/phpshe/1.1/php-fpm/src/template/default/index/product_view.html new file mode 100755 index 000000000..e36edaa8b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/product_view.html @@ -0,0 +1,236 @@ + +
    +
    {$nowpath}
    +
    +

    商品分类

    + +

    热销排行

    + +
    +
    +
    +
    +

    {$info['product_name']}

    +

    市 场 价: ¥ {$info['product_mmoney']}

    +

    商 城 价: ¥ {$info['product_smoney']}

    +

    运  费: 卖家包邮¥ {$info['product_wlmoney']}

    +

    销售情况: 共售出 {$info['product_sellnum']}(已有{$info['product_commentnum']}人评价)

    +
    +
    + 数量: + + + + (库存 {$info['product_num']}) +
    +
    +

    + + + + + + + + 添加到收藏夹 +

    +
    +
    +
    +

    上架时间:{pe_date($info['product_atime'])}  浏览次数:{$info['product_clicknum']}  收藏人数:{$info['product_collectnum']}

    +
    + +
    + +
    + + + + +
    +
    +
    +
    + +
    {$info['product_text']}
    + + + + + + + +
    +
    + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_asklist.html b/phpshe/1.1/php-fpm/src/template/default/index/user_asklist.html new file mode 100755 index 000000000..581fd072b --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_asklist.html @@ -0,0 +1,25 @@ + +
    + +
    +

    {$menutitle}

    +
    + + + + + + +
    +

    {$v['product_name']}

    +

    咨询[{pe_date($v['ask_atime'],'Y-m-d')}]:{$v['ask_text']}

    +

    回复[{pe_date($v['ask_replytime'],'Y-m-d')}]:{$v['ask_replytext']}

    +
    +
    +
    {$db->page->html}
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_base.html b/phpshe/1.1/php-fpm/src/template/default/index/user_base.html new file mode 100755 index 000000000..34515814e --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_base.html @@ -0,0 +1,58 @@ + +
    + +
    +

    {$menutitle}

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    用 户 名:{$info['user_name']}
    收货地址:
    收货姓名:
    手机号码:
    固定电话:
    常用邮箱:
    注册日期:{pe_date($info['user_atime'])}
    + + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_collectlist.html b/phpshe/1.1/php-fpm/src/template/default/index/user_collectlist.html new file mode 100755 index 000000000..58a46043d --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_collectlist.html @@ -0,0 +1,34 @@ + +
    + +
    +

    我的收藏

    +
    + + + + + + + + + + + + + + + + + +
    商品图片商品名称商品价格收藏日期操作
    + {$v['product_name']} + ¥{$v['product_smoney']}{pe_date($v['collect_atime'])}删除
    +
    +
    {$db->page->html}
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_commentlist.html b/phpshe/1.1/php-fpm/src/template/default/index/user_commentlist.html new file mode 100755 index 000000000..1359de90c --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_commentlist.html @@ -0,0 +1,24 @@ + +
    + +
    +

    {$menutitle}

    +
    + + + + + + +
    +

    {$v['product_name']}

    +

    评价[{pe_date($v['comment_atime'],'Y-m-d')}]{$v['comment_text']}

    +
    +
    +
    {$db->page->html}
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_login.html b/phpshe/1.1/php-fpm/src/template/default/index/user_login.html new file mode 100755 index 000000000..71e79e0b7 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_login.html @@ -0,0 +1,41 @@ + +
    +
    +

    + + +
    +
    +
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_menu.html b/phpshe/1.1/php-fpm/src/template/default/index/user_menu.html new file mode 100755 index 000000000..c549a8847 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_menu.html @@ -0,0 +1,23 @@ +
    您现在的位置:首页 > 会员中心 > {$menutitle}
    +
    +
    +
    会员中心
    +
    +

    交易管理

    + +

    信息管理

    + +

    个人信息

    + +
    +
    +
    \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_orderlist.html b/phpshe/1.1/php-fpm/src/template/default/index/user_orderlist.html new file mode 100755 index 000000000..165e97871 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_orderlist.html @@ -0,0 +1,58 @@ + +
    + +
    +

    我的订单

    +
    + + + + + + + + + + + + + + + + + +
    订单号商品名称单价/数量实付金额订单状态
    {$v['order_id']} + +

    style="border-bottom:1px #ddd solid;">{$vv['product_name']}

    + +
    + +

    ¥{$vv['product_smoney']}(×{$vv['product_num']})

    + +
    +

    ¥{$v['order_money']}

    +

    (卖家包邮)(含运费{$v['order_wlmoney']}元)

    +
    + + 付款 + +

    删除订单

    + + + 等待发货 + + 确认收货 + + 交易成功 + +
    +
    +
    {$db->page->html}
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_orderview.html b/phpshe/1.1/php-fpm/src/template/default/index/user_orderview.html new file mode 100755 index 000000000..f22be9b26 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_orderview.html @@ -0,0 +1,75 @@ + +
    + +
    +

    {$menutitle}

    +
    +
    +

    订单状态

    +

    + 已下单[{pe_date($info['order_atime'])}] → + + 等待买家付款付款 + + 已付款[{pe_date($info['order_ptime'])}] → + 等待卖家发货 + + 已付款[{pe_date($info['order_ptime'])}] → + 已发货[{pe_date($info['order_stime'])}] → + 等待买家确认确认收货 + + 已付款[{pe_date($info['order_ptime'])}] → + 已发货[{pe_date($info['order_stime'])}] → + 交易成功 + +

    +

    +

    商品名称

    + +

    {$v['product_name']} ¥{$v['product_smoney']}(×{$v['product_num']})

    + +

    物流信息

    +

    物流公司:{$info['order_wlname']}
    运单号码:{$info['order_wlid']}

    +

    实付金额

    +

    + {$info['order_money']}(元) + = {$info['order_productmoney']}(商品价格) + + {$info['order_wlmoney']}(运费) +

    +
    +

    买家信息

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    会员帐号:{$info['user_name']}(ID:{$info['user_id']})
    收货姓名:{$info['user_tname']}
    手机号码:{$info['user_phone']}
    固定电话:{$info['user_tel']}
    收货地址:{$info['user_address']}
    买家留言:{$info['order_text']}
    付款方式:{$ini_payway[$info['order_payway']]}
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_pw.html b/phpshe/1.1/php-fpm/src/template/default/index/user_pw.html new file mode 100755 index 000000000..8c167fe3f --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_pw.html @@ -0,0 +1,43 @@ + +
    + +
    +

    {$menutitle}

    +
    +
    + + + + + + + + + + + + + + + + + +
    用 户 名:{$info['user_name']}
    * 新 密 码:
    * 确认密码:
    + + +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/phpshe/1.1/php-fpm/src/template/default/index/user_register.html b/phpshe/1.1/php-fpm/src/template/default/index/user_register.html new file mode 100755 index 000000000..fdbb00ea9 --- /dev/null +++ b/phpshe/1.1/php-fpm/src/template/default/index/user_register.html @@ -0,0 +1,58 @@ + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    * 用 户 名:由5-15位字符组成(可以是字母、汉字、数字)
    * 密  码:密码由6-16个字符组成!
    * 确认密码:
    * 联系邮箱:请填写您的常用邮箱,以方便与您联系
    + + +
    +
    +
    + + + + \ No newline at end of file diff --git "a/phpshe/1.1/php-fpm/src/\345\256\211\350\243\205\345\215\207\347\272\247\350\257\264\346\230\216.txt" "b/phpshe/1.1/php-fpm/src/\345\256\211\350\243\205\345\215\207\347\272\247\350\257\264\346\230\216.txt" new file mode 100755 index 000000000..711f33d63 --- /dev/null +++ "b/phpshe/1.1/php-fpm/src/\345\256\211\350\243\205\345\215\207\347\272\247\350\257\264\346\230\216.txt" @@ -0,0 +1,37 @@ +PHPSHEϡ +ǰ汾PHPSHE B2C̳ϵͳv1.1(build 20130101 UTF8) +ٷվhttp://www.phpshe.com/phpshe +ʾվhttp://www.phpshe.com/demo/phpshe + +PHPSHEϵͳ顿 +PHPSHE̳ϵͳǽƷչʾ߹֧¹ͻѯȹϣṩ˼׵IJʵõĹܣûԻ̵꣬ΪûṩһͳɱЧʵ̳ǽ跽 + +PHPSHEܸ +ڸҵƷ۵̼ңҪ¹ܣ +1Ա޸ģɾƷϢƷ༶ؼģȣ +2ԱƷѯƷ۹ +3ɼʱݲѯ޸ĶϢ +4Ա·¹ҳϢ +5ԱԻԱϢʺŹ +6ԱվϢϵͳã +7֧ʽ֧ʱʣף˫տȽӿڷû֧ +8ݻ洦ϵͳЧʣ +9һվбݻָݰȫ +10֧ӡҳͼ +11Աעᡢ¼ѯʷѯԼƷղصȡ + +PHPSHEװ˵ +1.FTPߣflashfxpѳϴ +2../data Ŀ¼Ŀ¼ 777 Ȩޣ./config.phpļ777ȨޣwindowsɺԴ˲ +3.http://ַ/installаװ + +PHPSHE1.01.1汾衿 +1> ȱվݿ⵽أֹʧݶʧ +2> ɾFTPг./dataĿ¼./config.phpļ֮Ŀ¼ļ +3> ϴPHPSHE1.1г./dataĿ¼./config.phpļ֮Ŀ¼ļ +4> http://ַ/install/update/Ȼ˸ݿ⣬ɾ./installĿ¼ +PHPSHE1.1汾1.0н϶Żƣڵ4ɺִ² +(1)֮ǰ·࣬ЩǷѾ鵽ƷУи +(2)վlogoҪں̨Ϣϴ +(3)뵽̨֧ʽд֧Ϣ +(4)ִС»桿 \ No newline at end of file

    \r\n 详情请访问:简好技术官方网站 \r\n

    v|qb(R~g61JevV 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 B<+T6+ literal 0 HcmV?d00001 diff --git a/phpshe/1.1/README/5C9E7C83-C177-411D-AAAA-3523AC17B55E.png b/phpshe/1.1/README/5C9E7C83-C177-411D-AAAA-3523AC17B55E.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b4d5e3de77a3636464acfadb3eed91cb4200f4 GIT binary patch literal 332720 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