From aa4cfd925198884d7a684354dffd70acb8974b23 Mon Sep 17 00:00:00 2001 From: Summer Date: Fri, 14 Apr 2017 07:17:54 +0800 Subject: [PATCH] editor improve --- ...ts-c767913903.js => scripts-38a3201cfc.js} | 2 ++ public/build/assets/js/scripts.js.map | 2 +- public/build/rev-manifest.json | 2 +- resources/assets/js/main.js | 2 ++ resources/views/topics/create_edit.blade.php | 31 ++++++++++++++++++- 5 files changed, 36 insertions(+), 3 deletions(-) rename public/build/assets/js/{scripts-c767913903.js => scripts-38a3201cfc.js} (99%) diff --git a/public/build/assets/js/scripts-c767913903.js b/public/build/assets/js/scripts-38a3201cfc.js similarity index 99% rename from public/build/assets/js/scripts-c767913903.js rename to public/build/assets/js/scripts-38a3201cfc.js index be867650..e1369fe7 100644 --- a/public/build/assets/js/scripts-c767913903.js +++ b/public/build/assets/js/scripts-38a3201cfc.js @@ -7928,6 +7928,8 @@ var QRCode;!function(){function t(t){this.mode=l.MODE_8BIT_BYTE,this.data=t,this text: '问答话题的标题必须带问号❓', type: "error", confirmButtonText: "我知道了" + }).then(function() { + $(".submit-btn").text('提交').removeClass('disabled').prop('disabled', false); }).catch(swal.noop); } else if (cid == Config.qa_category_id) { diff --git a/public/build/assets/js/scripts.js.map b/public/build/assets/js/scripts.js.map index 51079f39..1915d6f8 100644 --- a/public/build/assets/js/scripts.js.map +++ b/public/build/assets/js/scripts.js.map @@ -1 +1 @@ -{"version":3,"sources":["jquery.min.js","bootstrap.min.js","moment.min.js","zh-cn.min.js","emojify.min.js","jquery.scrollUp.js","jquery.pjax.js","nprogress.js","jquery.autosize.min.js","prism.js","jquery.textcomplete.js","emoji.js","marked.min.js","ekko-lightbox.js","localforage.min.js","jquery.inline-attach.min.js","snowfall.jquery.min.js","upload-image.js","bootstrap-switch.js","messenger.js","anchorific.js","analytics.js","jquery.jscroll.js","jquery.highlight.js","jquery.sticky.js","sweetalert.js","social-share.min.js","main.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;ACJA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;ACLA;ACAA;AACA;AACA;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC51BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5dA;AACA;AACA;AACA;AACA;AACA;AACA;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpKA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5VA;ACAA;AACA;ACDA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3xCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1OA;AACA;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3hDA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"scripts.js","sourcesContent":["/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */\n!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error(\"jQuery requires a window with a document\");return b(a)}:b(a)}(\"undefined\"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=\"1.11.1\",m=function(a,b){return new m.fn.init(a,b)},n=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,o=/^-ms-/,p=/-([\\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:\"\",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for(\"boolean\"==typeof g&&(j=g,g=arguments[h]||{},h++),\"object\"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:\"jQuery\"+(l+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return\"function\"===m.type(a)},isArray:Array.isArray||function(a){return\"array\"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||\"object\"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,\"constructor\")&&!j.call(a.constructor.prototype,\"isPrototypeOf\"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+\"\":\"object\"==typeof a||\"function\"==typeof a?h[i.call(a)]||\"object\":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,\"ms-\").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?\"\":(a+\"\").replace(n,\"\")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,\"string\"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return\"string\"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"),function(a,b){h[\"[object \"+b+\"]\"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return\"function\"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:\"array\"===c||0===b||\"number\"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=\"sizzle\"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C=\"undefined\",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",M=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",N=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",O=N.replace(\"w\",\"w#\"),P=\"\\\\[\"+M+\"*(\"+N+\")(?:\"+M+\"*([*^$|!~]?=)\"+M+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+O+\"))|)\"+M+\"*\\\\]\",Q=\":(\"+N+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+P+\")*)|.*)\\\\)|)\",R=new RegExp(\"^\"+M+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+M+\"+$\",\"g\"),S=new RegExp(\"^\"+M+\"*,\"+M+\"*\"),T=new RegExp(\"^\"+M+\"*([>+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(\"=\"+M+\"*([^\\\\]'\\\"]*?)\"+M+\"*\\\\]\",\"g\"),V=new RegExp(Q),W=new RegExp(\"^\"+O+\"$\"),X={ID:new RegExp(\"^#(\"+N+\")\"),CLASS:new RegExp(\"^\\\\.(\"+N+\")\"),TAG:new RegExp(\"^(\"+N.replace(\"w\",\"w*\")+\")\"),ATTR:new RegExp(\"^\"+P),PSEUDO:new RegExp(\"^\"+Q),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+L+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\\d$/i,$=/^[^{]+\\{\\s*\\[native \\w/,_=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ab=/[+~]/,bb=/'|\\\\/g,cb=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+M+\"?|(\"+M+\")|.)\",\"ig\"),db=function(a,b,c){var d=\"0x\"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||\"string\"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&\"object\"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute(\"id\"))?s=r.replace(bb,\"\\\\$&\"):b.setAttribute(\"id\",s),s=\"[id='\"+s+\"'] \",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(\",\")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute(\"id\")}}}return i(a.replace(R,\"$1\"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+\" \")>d.cacheLength&&delete b[a.shift()],b[c+\" \"]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement(\"div\");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split(\"|\"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return\"input\"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return(\"input\"===c||\"button\"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?\"HTML\"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener(\"unload\",function(){m()},!1):g.attachEvent&&g.attachEvent(\"onunload\",function(){m()})),c.attributes=ib(function(a){return a.className=\"i\",!a.getAttribute(\"className\")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML=\"
\",a.firstChild.className=\"i\",2===a.getElementsByClassName(\"i\").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute(\"id\")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode(\"id\");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if(\"*\"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML=\"\",a.querySelectorAll(\"[msallowclip^='']\").length&&q.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),a.querySelectorAll(\"[selected]\").length||q.push(\"\\\\[\"+M+\"*(?:value|\"+L+\")\"),a.querySelectorAll(\":checked\").length||q.push(\":checked\")}),ib(function(a){var b=e.createElement(\"input\");b.setAttribute(\"type\",\"hidden\"),a.appendChild(b).setAttribute(\"name\",\"D\"),a.querySelectorAll(\"[name=d]\").length&&q.push(\"name\"+M+\"*[*^$|!~]?=\"),a.querySelectorAll(\":enabled\").length||q.push(\":enabled\",\":disabled\"),a.querySelectorAll(\"*,:x\"),q.push(\",.*:\")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,\"div\"),s.call(a,\"[s!='']:x\"),r.push(\"!=\",Q)}),q=q.length&&new RegExp(q.join(\"|\")),r=r.length&&new RegExp(r.join(\"|\")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,\"='$1']\"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error(\"Syntax error, unrecognized expression: \"+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c=\"\",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if(\"string\"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||\"\").replace(cb,db),\"~=\"===a[2]&&(a[3]=\" \"+a[3]+\" \"),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),\"nth\"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*(\"even\"===a[3]||\"odd\"===a[3])),a[5]=+(a[7]+a[8]||\"odd\"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||\"\":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(\")\",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return\"*\"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+\" \"];return b||(b=new RegExp(\"(^|\"+M+\")\"+a+\"(\"+M+\"|$)\"))&&y(a,function(a){return b.test(\"string\"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute(\"class\")||\"\")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?\"!=\"===b:b?(e+=\"\",\"=\"===b?e===c:\"!=\"===b?e!==c:\"^=\"===b?c&&0===e.indexOf(c):\"*=\"===b?c&&e.indexOf(c)>-1:\"$=\"===b?c&&e.slice(-c.length)===c:\"~=\"===b?(\" \"+e+\" \").indexOf(c)>-1:\"|=\"===b?e===c||e.slice(0,c.length+1)===c+\"-\":!1):!0}},CHILD:function(a,b,c,d,e){var f=\"nth\"!==a.slice(0,3),g=\"last\"!==a.slice(-4),h=\"of-type\"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?\"nextSibling\":\"previousSibling\",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p=\"only\"===a&&!o&&\"nextSibling\"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error(\"unsupported pseudo: \"+a);return e[u]?e(b):e.length>1?(c=[a,a,\"\",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,\"$1\"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||\"\")||fb.error(\"unsupported lang: \"+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute(\"xml:lang\")||b.getAttribute(\"lang\"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+\"-\");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&!!a.checked||\"option\"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&\"button\"===a.type||\"button\"===b},text:function(a){var b;return\"input\"===a.nodeName.toLowerCase()&&\"text\"===a.type&&(null==(b=a.getAttribute(\"type\"))||\"text\"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&\"parentNode\"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||\"*\",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[\" \"],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:\" \"===a[i-2].type?\"*\":\"\"})).replace(R,\"$1\"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q=\"0\",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG(\"*\",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+\" \"];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n=\"function\"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&\"ID\"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split(\"\").sort(B).join(\"\")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement(\"div\"))}),ib(function(a){return a.innerHTML=\"\",\"#\"===a.firstChild.getAttribute(\"href\")})||jb(\"type|href|height|width\",function(a,b,c){return c?void 0:a.getAttribute(b,\"type\"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML=\"\",a.firstChild.setAttribute(\"value\",\"\"),\"\"===a.firstChild.getAttribute(\"value\")})||jb(\"value\",function(a,b,c){return c||\"input\"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute(\"disabled\")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[\":\"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,v=/^.[^:#\\[\\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if(\"string\"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=\":not(\"+a+\")\"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if(\"string\"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+\" \"+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,\"string\"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if(\"string\"==typeof a){if(c=\"<\"===a.charAt(0)&&\">\"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?\"undefined\"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||\"string\"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?\"string\"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,\"parentNode\")},parentsUntil:function(a,b,c){return m.dir(a,\"parentNode\",c)},next:function(a){return D(a,\"nextSibling\")},prev:function(a){return D(a,\"previousSibling\")},nextAll:function(a){return m.dir(a,\"nextSibling\")},prevAll:function(a){return m.dir(a,\"previousSibling\")},nextUntil:function(a,b,c){return m.dir(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return m.dir(a,\"previousSibling\",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,\"iframe\")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return\"Until\"!==a.slice(-5)&&(d=c),d&&\"string\"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a=\"string\"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);\"function\"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&\"string\"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[[\"resolve\",\"done\",m.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",m.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",m.Callbacks(\"memory\")]],c=\"pending\",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+\"With\"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+\"With\"](this===e?d:this,arguments),this},e[f[0]+\"With\"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler(\"ready\"),m(y).off(\"ready\")))}}});function I(){y.addEventListener?(y.removeEventListener(\"DOMContentLoaded\",J,!1),a.removeEventListener(\"load\",J,!1)):(y.detachEvent(\"onreadystatechange\",J),a.detachEvent(\"onload\",J))}function J(){(y.addEventListener||\"load\"===event.type||\"complete\"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),\"complete\"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener(\"DOMContentLoaded\",J,!1),a.addEventListener(\"load\",J,!1);else{y.attachEvent(\"onreadystatechange\",J),a.attachEvent(\"onload\",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll(\"left\")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K=\"undefined\",L;for(L in m(k))break;k.ownLast=\"0\"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName(\"body\")[0],c&&c.style&&(b=y.createElement(\"div\"),d=y.createElement(\"div\"),d.style.cssText=\"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText=\"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1\",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement(\"div\");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+\" \").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute(\"classid\")===b};var M=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d=\"data-\"+b.replace(N,\"-$1\").toLowerCase();if(c=a.getAttribute(d),\"string\"==typeof c){try{c=\"true\"===c?!0:\"false\"===c?!1:\"null\"===c?null:+c+\"\"===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if((\"data\"!==b||!m.isEmptyObject(a[b]))&&\"toJSON\"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;\nif(k&&j[k]&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),(\"object\"==typeof b||\"function\"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),\"string\"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(\" \")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{\"applet \":!0,\"embed \":!0,\"object \":\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,\"parsedAttrs\"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf(\"data-\")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,\"parsedAttrs\",!0)}return e}return\"object\"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||\"fx\")+\"queue\",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||\"fx\";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};\"inprogress\"===e&&(e=c.shift(),d--),e&&(\"fx\"===b&&c.unshift(\"inprogress\"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+\"queueHooks\";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks(\"once memory\").add(function(){m._removeData(a,b+\"queue\"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return\"string\"!=typeof a&&(b=a,a=\"fx\",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement(\"input\"),b=y.createElement(\"div\"),c=y.createDocumentFragment();if(b.innerHTML=\"
a\",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName(\"tbody\").length,k.htmlSerialize=!!b.getElementsByTagName(\"link\").length,k.html5Clone=\"<:nav>\"!==y.createElement(\"nav\").cloneNode(!0).outerHTML,a.type=\"checkbox\",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML=\"\",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML=\"\",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent(\"onclick\",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement(\"div\");for(b in{submit:!0,change:!0,focusin:!0})c=\"on\"+b,(k[b+\"Bubbles\"]=c in a)||(d.setAttribute(c,\"t\"),k[b+\"Bubbles\"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||\"\").match(E)||[\"\"],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||\"\").split(\".\").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(\".\")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent(\"on\"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||\"\").match(E)||[\"\"],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||\"\").split(\".\").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp(\"(^|\\\\.)\"+p.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&(\"**\"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,\"events\"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,\"type\")?b.type:b,q=j.call(b,\"namespace\")?b.namespace.split(\".\"):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(\".\")>=0&&(q=p.split(\".\"),p=q.shift(),q.sort()),g=p.indexOf(\":\")<0&&\"on\"+p,b=b[m.expando]?b:new m.Event(p,\"object\"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join(\".\"),b.namespace_re=b.namespace?new RegExp(\"(^|\\\\.)\"+q.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,\"events\")||{})[b.type]&&m._data(h,\"handle\"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,\"events\")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||\"click\"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||\"click\"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+\" \",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]\",\"i\"),hb=/^\\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,jb=/<([\\w:]+)/,kb=/\\s*$/g,rb={option:[1,\"\"],legend:[1,\"
\",\"
\"],area:[1,\"\",\"\"],param:[1,\"\",\"\"],thead:[1,\"\",\"
\"],tr:[2,\"\",\"
\"],col:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:k.htmlSerialize?[0,\"\",\"\"]:[1,\"X
\",\"
\"]},sb=db(y),tb=sb.appendChild(y.createElement(\"div\"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||\"*\"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||\"*\"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,\"table\")&&m.nodeName(11!==b.nodeType?b:b.firstChild,\"tr\")?a.getElementsByTagName(\"tbody\")[0]||a.appendChild(a.ownerDocument.createElement(\"tbody\")):a}function xb(a){return a.type=(null!==m.find.attr(a,\"type\"))+\"/\"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute(\"type\"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,\"globalEval\",!b||m._data(b[d],\"globalEval\"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}\"script\"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):\"object\"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):\"input\"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):\"option\"===c?b.defaultSelected=b.selected=a.defaultSelected:(\"input\"===c||\"textarea\"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test(\"<\"+a.nodeName+\">\")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,\"script\"),d.length>0&&zb(d,!i&&ub(a,\"script\")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if(\"object\"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement(\"div\")),i=(jb.exec(f)||[\"\",\"\"])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,\"<$1>\")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f=\"table\"!==i||kb.test(f)?\"\"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],\"tbody\")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent=\"\";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,\"input\"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),\"script\"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||\"\")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,\"script\")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,\"select\")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,\"\"):void 0;if(!(\"string\"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||[\"\",\"\"])[1].toLowerCase()])){a=a.replace(ib,\"<$1>\");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&\"string\"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,\"script\"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,\"script\"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||\"\")&&!m._data(d,\"globalEval\")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||\"\").replace(qb,\"\")));i=c=null}return this}}),m.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],\"display\");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),\"none\"!==c&&c||(Cb=(Cb||m(\"');\n if (this.modal_arrows) {\n return this.modal_arrows.css('display', 'none');\n }\n },\n showVimeoVideo: function(id) {\n var aspectRatio, height, width;\n aspectRatio = 500 / 281;\n width = this.$element.data('width') || 560;\n width = this.checkDimensions(width);\n height = width / aspectRatio;\n this.resize(width);\n this.lightbox_body.html('');\n if (this.modal_arrows) {\n return this.modal_arrows.css('display', 'none');\n }\n },\n showInstagramVideo: function(id) {\n var height, width;\n width = this.$element.data('width') || 612;\n width = this.checkDimensions(width);\n height = width;\n this.resize(width);\n this.lightbox_body.html('');\n if (this.modal_arrows) {\n return this.modal_arrows.css('display', 'none');\n }\n },\n error: function(message) {\n this.lightbox_body.html(message);\n return this;\n },\n preloadImage: function(src, onLoadShowImage) {\n var img,\n _this = this;\n img = new Image();\n if ((onLoadShowImage == null) || onLoadShowImage === true) {\n img.onload = function() {\n var image;\n image = $('');\n image.attr('src', img.src);\n image.addClass('img-responsive');\n _this.lightbox_body.html(image);\n if (_this.modal_arrows) {\n _this.modal_arrows.css('display', 'block');\n }\n return _this.resize(img.width);\n };\n img.onerror = function() {\n return _this.error('Failed to load image: ' + src);\n };\n }\n img.src = src;\n return img;\n },\n resize: function(width) {\n var width_total;\n width_total = width + this.border.left + this.padding.left + this.padding.right + this.border.right;\n this.modal_dialog.css('width', 'auto').css('max-width', width_total);\n this.lightbox_container.find('a').css('padding-top', function() {\n return $(this).parent().height() / 2;\n });\n return this;\n },\n checkDimensions: function(width) {\n var body_width, width_total;\n width_total = width + this.border.left + this.padding.left + this.padding.right + this.border.right;\n body_width = document.body.clientWidth;\n if (width_total > body_width) {\n width = this.modal_body.width();\n }\n return width;\n },\n close: function() {\n return this.modal.modal('hide');\n },\n addTrailingSlash: function(url) {\n if (url.substr(-1) !== '/') {\n url += '/';\n }\n return url;\n }\n };\n\n $.fn.ekkoLightbox = function(options) {\n return this.each(function() {\n var $this;\n $this = $(this);\n options = $.extend({\n remote: $this.attr('data-remote') || $this.attr('href'),\n gallery_parent_selector: $this.attr('data-parent'),\n type: $this.attr('data-type')\n }, options, $this.data());\n new EkkoLightbox(this, options);\n return this;\n });\n };\n\n $.fn.ekkoLightbox.defaults = {\n gallery_parent_selector: '*:not(.row)',\n left_arrow_class: '.glyphicon .glyphicon-chevron-left',\n right_arrow_class: '.glyphicon .glyphicon-chevron-right',\n directional_arrows: true,\n type: null,\n always_show_close: true,\n onShow: function() {},\n onShown: function() {},\n onHide: function() {},\n onHidden: function() {}\n };\n\n}).call(this);\n","(function(){\"use strict\";function a(a){var b=this,c={db:null};if(a)for(var d in a)c[d]=a[d];return new m(function(a,d){var e=n.open(c.name,c.version);e.onerror=function(){d(e.error)},e.onupgradeneeded=function(){e.result.createObjectStore(c.storeName)},e.onsuccess=function(){c.db=e.result,b._dbInfo=c,a()}})}function b(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=new m(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,\"readonly\").objectStore(e.storeName),g=f.get(a);g.onsuccess=function(){var a=g.result;void 0===a&&(a=null),b(a)},g.onerror=function(){d(g.error)}})[\"catch\"](d)});return k(d,b),d}function c(a,b){var c=this,d=new m(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,\"readonly\").objectStore(e.storeName),g=f.openCursor();g.onsuccess=function(){var c=g.result;if(c){var d=a(c.value,c.key);void 0!==d?b(d):c[\"continue\"]()}else b()},g.onerror=function(){d(g.error)}})[\"catch\"](d)});return k(d,b),d}function d(a,b,c){var d=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var e=new m(function(c,e){d.ready().then(function(){var f=d._dbInfo,g=f.db.transaction(f.storeName,\"readwrite\"),h=g.objectStore(f.storeName);null===b&&(b=void 0);var i=h.put(b,a);g.oncomplete=function(){void 0===b&&(b=null),c(b)},g.onabort=g.onerror=function(){e(i.error)}})[\"catch\"](e)});return k(e,c),e}function e(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=new m(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,\"readwrite\"),g=f.objectStore(e.storeName),h=g[\"delete\"](a);f.oncomplete=function(){b()},f.onerror=function(){d(h.error)},f.onabort=function(a){var b=a.target.error;\"QuotaExceededError\"===b&&d(b)}})[\"catch\"](d)});return k(d,b),d}function f(a){var b=this,c=new m(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,\"readwrite\"),f=e.objectStore(d.storeName),g=f.clear();e.oncomplete=function(){a()},e.onabort=e.onerror=function(){c(g.error)}})[\"catch\"](c)});return k(c,a),c}function g(a){var b=this,c=new m(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,\"readonly\").objectStore(d.storeName),f=e.count();f.onsuccess=function(){a(f.result)},f.onerror=function(){c(f.error)}})[\"catch\"](c)});return j(c,a),c}function h(a,b){var c=this,d=new m(function(b,d){return 0>a?void b(null):void c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,\"readonly\").objectStore(e.storeName),g=!1,h=f.openCursor();h.onsuccess=function(){var c=h.result;return c?void(0===a?b(c.key):g?b(c.key):(g=!0,c.advance(a))):void b(null)},h.onerror=function(){d(h.error)}})[\"catch\"](d)});return j(d,b),d}function i(a){var b=this,c=new m(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,\"readonly\").objectStore(d.storeName),f=e.openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b[\"continue\"]()):void a(g)},f.onerror=function(){c(f.error)}})[\"catch\"](c)});return j(c,a),c}function j(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}function k(a,b){b&&a.then(function(a){l(b,a)},function(a){b(a)})}function l(a,b){return a?setTimeout(function(){return a(null,b)},0):void 0}var m=\"undefined\"!=typeof module&&module.exports?require(\"promise\"):this.Promise,n=n||this.indexedDB||this.webkitIndexedDB||this.mozIndexedDB||this.OIndexedDB||this.msIndexedDB;if(n){var o={_driver:\"asyncStorage\",_initStorage:a,iterate:c,getItem:b,setItem:d,removeItem:e,clear:f,length:g,key:h,keys:i};\"function\"==typeof define&&define.amd?define(\"asyncStorage\",function(){return o}):\"undefined\"!=typeof module&&module.exports?module.exports=o:this.asyncStorage=o}}).call(window),function(){\"use strict\";function a(a){var b=this,c={};if(a)for(var d in a)c[d]=a[d];return c.keyPrefix=c.name+\"/\",b._dbInfo=c,n.resolve()}function b(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo.keyPrefix,c=o.length-1;c>=0;c--){var d=o.key(c);0===d.indexOf(a)&&o.removeItem(d)}});return m(c,a),c}function c(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo,d=o.getItem(b.keyPrefix+a);return d&&(d=i(d)),d});return m(d,b),d}function d(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo.keyPrefix,d=b.length,e=o.length,f=0;e>f;f++){var g=o.key(f),h=o.getItem(g);if(h&&(h=i(h)),h=a(h,g.substring(d)),void 0!==h)return h}});return m(d,b),d}function e(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=o.key(a)}catch(e){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return m(d,b),d}function f(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo,c=o.length,d=[],e=0;c>e;e++)0===o.key(e).indexOf(a.keyPrefix)&&d.push(o.key(e).substring(a.keyPrefix.length));return d});return m(c,a),c}function g(a){var b=this,c=b.keys().then(function(a){return a.length});return m(c,a),c}function h(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo;o.removeItem(b.keyPrefix+a)});return m(d,b),d}function i(a){if(a.substring(0,r)!==q)return JSON.parse(a);for(var b=a.substring(D),c=a.substring(r,D),d=new ArrayBuffer(2*b.length),e=new Uint16Array(d),f=b.length-1;f>=0;f--)e[f]=b.charCodeAt(f);switch(c){case s:return d;case t:return new Blob([d]);case u:return new Int8Array(d);case v:return new Uint8Array(d);case w:return new Uint8ClampedArray(d);case x:return new Int16Array(d);case z:return new Uint16Array(d);case y:return new Int32Array(d);case A:return new Uint32Array(d);case B:return new Float32Array(d);case C:return new Float64Array(d);default:throw new Error(\"Unkown type: \"+c)}}function j(a){var b=\"\",c=new Uint16Array(a);try{b=String.fromCharCode.apply(null,c)}catch(d){for(var e=0;eg;g++){var h=e.item(g),i=h.value;if(i&&(i=k(i)),i=a(i,h.key),void 0!==i)return void b(i)}b()},function(a,b){d(b)})})})[\"catch\"](d)});return m(d,b),d}function d(a,b,c){var d=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var e=new o(function(c,e){d.ready().then(function(){void 0===b&&(b=null);var f=b;l(b,function(b,g){if(g)e(g);else{var h=d._dbInfo;h.db.transaction(function(d){d.executeSql(\"INSERT OR REPLACE INTO \"+h.storeName+\" (key, value) VALUES (?, ?)\",[a,b],function(){c(f)},function(a,b){e(b)})},function(a){a.code===a.QUOTA_ERR&&e(a)})}})})[\"catch\"](e)});return m(e,c),e}function e(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=new o(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql(\"DELETE FROM \"+e.storeName+\" WHERE key = ?\",[a],function(){b()},function(a,b){d(b)})})})[\"catch\"](d)});return m(d,b),d}function f(a){var b=this,c=new o(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql(\"DELETE FROM \"+d.storeName,[],function(){a()},function(a,b){c(b)})})})[\"catch\"](c)});return m(c,a),c}function g(a){var b=this,c=new o(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql(\"SELECT COUNT(key) as c FROM \"+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})})[\"catch\"](c)});return m(c,a),c}function h(a,b){var c=this,d=new o(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql(\"SELECT key FROM \"+e.storeName+\" WHERE id = ? LIMIT 1\",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})[\"catch\"](d)});return m(d,b),d}function i(a){var b=this,c=new o(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql(\"SELECT key FROM \"+d.storeName,[],function(b,c){for(var d=[],e=0;e>2],d+=n[(3&c[b])<<4|c[b+1]>>4],d+=n[(15&c[b+1])<<2|c[b+2]>>6],d+=n[63&c[b+2]];return c.length%3===2?d=d.substring(0,d.length-1)+\"=\":c.length%3===1&&(d=d.substring(0,d.length-2)+\"==\"),d}function k(a){if(a.substring(0,r)!==q)return JSON.parse(a);var b,c,d,e,f,g=a.substring(D),h=a.substring(r,D),i=.75*g.length,j=g.length,k=0;\"=\"===g[g.length-1]&&(i--,\"=\"===g[g.length-2]&&i--);var l=new ArrayBuffer(i),m=new Uint8Array(l);for(b=0;j>b;b+=4)c=n.indexOf(g[b]),d=n.indexOf(g[b+1]),e=n.indexOf(g[b+2]),f=n.indexOf(g[b+3]),m[k++]=c<<2|d>>4,m[k++]=(15&d)<<4|e>>2,m[k++]=(3&e)<<6|63&f;switch(h){case s:return l;case t:return new Blob([l]);case u:return new Int8Array(l);case v:return new Uint8Array(l);case w:return new Uint8ClampedArray(l);case x:return new Int16Array(l);case z:return new Uint16Array(l);case y:return new Int32Array(l);case A:return new Uint32Array(l);case B:return new Float32Array(l);case C:return new Float64Array(l);default:throw new Error(\"Unkown type: \"+h)}}function l(a,b){var c=\"\";if(a&&(c=a.toString()),a&&(\"[object ArrayBuffer]\"===a.toString()||a.buffer&&\"[object ArrayBuffer]\"===a.buffer.toString())){var d,e=q;a instanceof ArrayBuffer?(d=a,e+=s):(d=a.buffer,\"[object Int8Array]\"===c?e+=u:\"[object Uint8Array]\"===c?e+=v:\"[object Uint8ClampedArray]\"===c?e+=w:\"[object Int16Array]\"===c?e+=x:\"[object Uint16Array]\"===c?e+=z:\"[object Int32Array]\"===c?e+=y:\"[object Uint32Array]\"===c?e+=A:\"[object Float32Array]\"===c?e+=B:\"[object Float64Array]\"===c?e+=C:b(new Error(\"Failed to get type for BinaryArray\"))),b(e+j(d))}else if(\"[object Blob]\"===c){var f=new FileReader;f.onload=function(){var a=j(this.result);b(q+t+a)},f.readAsArrayBuffer(a)}else try{b(JSON.stringify(a))}catch(g){window.console.error(\"Couldn't convert value into a JSON string: \",a),b(null,g)}}function m(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=\"undefined\"!=typeof module&&module.exports?require(\"promise\"):this.Promise,p=this.openDatabase,q=\"__lfsc__:\",r=q.length,s=\"arbf\",t=\"blob\",u=\"si08\",v=\"ui08\",w=\"uic8\",x=\"si16\",y=\"si32\",z=\"ur16\",A=\"ui32\",B=\"fl32\",C=\"fl64\",D=r+s.length;if(p){var E={_driver:\"webSQLStorage\",_initStorage:a,iterate:c,getItem:b,setItem:d,removeItem:e,clear:f,length:g,key:h,keys:i};\"function\"==typeof define&&define.amd?define(\"webSQLStorage\",function(){return E}):\"undefined\"!=typeof module&&module.exports?module.exports=E:this.webSQLStorage=E}}.call(window),function(){\"use strict\";function a(a,b){a[b]=function(){var c=arguments;return a.ready().then(function(){return a[b].apply(a,c)})}}function b(){for(var a=1;a=0;t--){var a=arguments[t];for(var n in a)e[n]=a[n]}return e}t.inlineAttach=function(e,n){function r(e,t){return(e+\"\\n\\n[[D]]\"+t).replace(/(\\n{2,})\\[\\[D\\]\\]/,\"\\n\\n\").replace(/^(\\n*)/,\"\")}var o,i=a(e,inlineAttach.defaults),l=n,s=\"{filename}\",d=this;this.uploadFile=function(e){var t=new FormData,a=new XMLHttpRequest,n=\"png\";if(e.name){var r=e.name.match(/\\.(.+)$/);r&&(n=r[1])}if(i.addFileBeforeExtraParameters&&t.append(i.uploadFieldName,e,\"image-\"+Date.now()+\".\"+n),\"object\"==typeof i.extraParams)for(var o in i.extraParams)i.extraParams.hasOwnProperty(o)&&t.append(o,i.extraParams[o]);if(i.addFileBeforeExtraParameters||t.append(i.uploadFieldName,e,\"image-\"+Date.now()+\".\"+n),a.open(i.uploadMethod,i.uploadUrl),\"object\"==typeof i.extraHeaders)for(var l in i.extraHeaders)i.extraHeaders.hasOwnProperty(l)&&a.setRequestHeader(l,i.extraHeaders[l]);a.onload=function(){if(200===a.status||201===a.status){var e=d.parseResponse(a);d.onUploadedFile(e)}else d.onErrorUploading()},a.send(t)},this.parseResponse=function(e){return i.customResponseParser.call(this,e)||JSON.parse(e.responseText)},this.isAllowedFile=function(e){return i.allowedTypes.indexOf(e.type)>=0},this.onUploadedFile=function(e){var t,a=i.onUploadedFile.call(this,e);if(i.dataProcessor&&(e=i.dataProcessor.call(this,e)),t=e[i.downloadFieldName],a!==!1&&t){var n=l.getValue().replace(o,i.urlText.replace(s,t));l.setValue(n)}},this.customUploadHandler=function(e){return i.customUploadHandler.call(this,e)},this.onErrorUploading=function(){var e=l.getValue().replace(o,\"\");l.setValue(e),i.customErrorHandler.call(this)&&t.alert(i.errorText)},this.onReceivedFile=function(e){var t=i.onReceivedFile.call(this,e);t!==!1&&(o=i.progressText,l.setValue(r(l.getValue(),o)))},this.onPaste=function(e){var t,a=!1,n=e.clipboardData;if(\"object\"==typeof n){t=n.items||n.files||[];for(var r=0;t.length>r;r++){var o=t[r];d.isAllowedFile(o)&&(a=!0,this.onReceivedFile(o.getAsFile()),this.customUploadHandler(o.getAsFile())&&this.uploadFile(o.getAsFile()))}}return a},this.onDrop=function(e){for(var t=!1,a=0;e.dataTransfer.files.length>a;a++){var n=e.dataTransfer.files[a];d.isAllowedFile(n)&&(t=!0,this.onReceivedFile(n),this.customUploadHandler(n)&&this.uploadFile(n))}return t}},t.inlineAttach.Editor=function(e){var t=e;return{getValue:function(){return t.value},setValue:function(e){t.value=e}}},t.inlineAttach.defaults={uploadUrl:\"upload_attachment.php\",uploadMethod:\"POST\",uploadFieldName:\"file\",addFileBeforeExtraParameters:!0,downloadFieldName:\"filename\",allowedTypes:[\"image/jpeg\",\"image/png\",\"image/jpg\",\"image/gif\"],progressText:\"![Uploading file...]()\",urlText:\"![file]({filename})\",errorText:\"Error uploading file\",extraParams:{},extraHeaders:{},onReceivedFile:function(){},customUploadHandler:function(){return!0},customErrorHandler:function(){return!0},customResponseParser:function(){return null},onUploadedFile:function(){}},t.inlineAttach.attachToInput=function(e,t){t=t||{};var a=new inlineAttach.Editor(e),n=new inlineAttach(t,a);e.addEventListener(\"paste\",function(e){n.onPaste(e)},!1),e.addEventListener(\"drop\",function(e){e.stopPropagation(),e.preventDefault(),n.onDrop(e)},!1),e.addEventListener(\"dragenter\",function(e){e.stopPropagation(),e.preventDefault()},!1),e.addEventListener(\"dragover\",function(e){e.stopPropagation(),e.preventDefault()},!1)}})(document,window),function(e,t,a){\"use strict\";function n(e){var t=a(e);return{getValue:function(){return t.val()},setValue:function(e){t.val(e)}}}n.prototype=new inlineAttach.Editor,a.fn.inlineattach=function(e){var t=a(this);return t.each(function(){var t=a(this),r=new n(t),o=new inlineAttach(e,r);t.bind({paste:function(e){o.onPaste(e.originalEvent)},drop:function(e){e.stopPropagation(),e.preventDefault(),o.onDrop(e.originalEvent)},\"dragenter dragover\":function(e){e.stopPropagation(),e.preventDefault()}})}),this}}(document,window,jQuery);","Date.now||(Date.now=function(){return(new Date).getTime()}),function(){\"use strict\";for(var t=[\"webkit\",\"moz\"],e=0;el-(this.size+6)&&this.reset(),this.element.style.top=this.y+\"px\",this.element.style.left=this.x+\"px\",this.step+=this.stepSize,this.x+=y===!1?Math.cos(this.step):y+Math.cos(this.step),i.collection&&this.x>this.target.x&&this.xthis.target.y&&this.ythis.target.height)if(s+this.speed+this.size>this.target.height){for(;s+this.speed+this.size>this.target.height&&this.speed>0;)this.speed*=.5;t.fillStyle=\"#fff\",void 0==n[parseInt(e)][parseInt(s+this.speed+this.size)]?(n[parseInt(e)][parseInt(s+this.speed+this.size)]=1,t.fillRect(e,s+this.speed+this.size,this.size,this.size)):(n[parseInt(e)][parseInt(s+this.speed)]=1,t.fillRect(e,s+this.speed,this.size,this.size)),this.reset()}else this.speed=1,this.stepSize=0,parseInt(e)+10&&void 0==n[parseInt(e)-1][parseInt(s)+1]?this.x--:(t.fillStyle=\"#fff\",t.fillRect(e,s,this.size,this.size),n[parseInt(e)][parseInt(s)]=1,this.reset())}(this.x+this.size>d-c||this.x\",{\"class\":\"snowfall-canvas\"}),z=[];if(u.top-g>0){t(\"body\").append(x),x.css({position:i.flakePosition,left:u.left+\"px\",top:u.top-g+\"px\"}).prop({width:u.width,height:g});for(var v=0;vUnvalid image format. Allowed formats: JPG, JPEG, PNG.');\n\n return false;\n }\n\n if ( file.size > maxsize )\n {\n noPreview();\n\n $('#message').html('
The size of image you are attempting to upload is ' + (file.size/1024).toFixed(2) + ' KB, maximum size allowed is ' + (maxsize/1024).toFixed(2) + ' KB
');\n\n return false;\n }\n\n $('#upload-button').removeAttr(\"disabled\");\n\n var reader = new FileReader();\n reader.onload = selectImage;\n reader.readAsDataURL(this.files[0]);\n\n });\n\n});\n","/* ========================================================================\n * bootstrap-switch - v3.3.2\n * http://www.bootstrap-switch.org\n * ========================================================================\n * Copyright 2012-2013 Mattia Larentis\n *\n * ========================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================================\n */\n\n(function() {\n var slice = [].slice;\n\n (function($, window) {\n \"use strict\";\n var BootstrapSwitch;\n BootstrapSwitch = (function() {\n function BootstrapSwitch(element, options) {\n if (options == null) {\n options = {};\n }\n this.$element = $(element);\n this.options = $.extend({}, $.fn.bootstrapSwitch.defaults, {\n state: this.$element.is(\":checked\"),\n size: this.$element.data(\"size\"),\n animate: this.$element.data(\"animate\"),\n disabled: this.$element.is(\":disabled\"),\n readonly: this.$element.is(\"[readonly]\"),\n indeterminate: this.$element.data(\"indeterminate\"),\n inverse: this.$element.data(\"inverse\"),\n radioAllOff: this.$element.data(\"radio-all-off\"),\n onColor: this.$element.data(\"on-color\"),\n offColor: this.$element.data(\"off-color\"),\n onText: this.$element.data(\"on-text\"),\n offText: this.$element.data(\"off-text\"),\n labelText: this.$element.data(\"label-text\"),\n handleWidth: this.$element.data(\"handle-width\"),\n labelWidth: this.$element.data(\"label-width\"),\n baseClass: this.$element.data(\"base-class\"),\n wrapperClass: this.$element.data(\"wrapper-class\")\n }, options);\n this.prevOptions = {};\n this.$wrapper = $(\"
\", {\n \"class\": (function(_this) {\n return function() {\n var classes;\n classes = [\"\" + _this.options.baseClass].concat(_this._getClasses(_this.options.wrapperClass));\n classes.push(_this.options.state ? _this.options.baseClass + \"-on\" : _this.options.baseClass + \"-off\");\n if (_this.options.size != null) {\n classes.push(_this.options.baseClass + \"-\" + _this.options.size);\n }\n if (_this.options.disabled) {\n classes.push(_this.options.baseClass + \"-disabled\");\n }\n if (_this.options.readonly) {\n classes.push(_this.options.baseClass + \"-readonly\");\n }\n if (_this.options.indeterminate) {\n classes.push(_this.options.baseClass + \"-indeterminate\");\n }\n if (_this.options.inverse) {\n classes.push(_this.options.baseClass + \"-inverse\");\n }\n if (_this.$element.attr(\"id\")) {\n classes.push(_this.options.baseClass + \"-id-\" + (_this.$element.attr(\"id\")));\n }\n return classes.join(\" \");\n };\n })(this)()\n });\n this.$container = $(\"
\", {\n \"class\": this.options.baseClass + \"-container\"\n });\n this.$on = $(\"\", {\n html: this.options.onText,\n \"class\": this.options.baseClass + \"-handle-on \" + this.options.baseClass + \"-\" + this.options.onColor\n });\n this.$off = $(\"\", {\n html: this.options.offText,\n \"class\": this.options.baseClass + \"-handle-off \" + this.options.baseClass + \"-\" + this.options.offColor\n });\n this.$label = $(\"\", {\n html: this.options.labelText,\n \"class\": this.options.baseClass + \"-label\"\n });\n this.$element.on(\"init.bootstrapSwitch\", (function(_this) {\n return function() {\n return _this.options.onInit.apply(element, arguments);\n };\n })(this));\n this.$element.on(\"switchChange.bootstrapSwitch\", (function(_this) {\n return function(e) {\n if (false === _this.options.onSwitchChange.apply(element, arguments)) {\n if (_this.$element.is(\":radio\")) {\n return $(\"[name='\" + (_this.$element.attr('name')) + \"']\").trigger(\"previousState.bootstrapSwitch\", true);\n } else {\n return _this.$element.trigger(\"previousState.bootstrapSwitch\", true);\n }\n }\n };\n })(this));\n this.$container = this.$element.wrap(this.$container).parent();\n this.$wrapper = this.$container.wrap(this.$wrapper).parent();\n this.$element.before(this.options.inverse ? this.$off : this.$on).before(this.$label).before(this.options.inverse ? this.$on : this.$off);\n if (this.options.indeterminate) {\n this.$element.prop(\"indeterminate\", true);\n }\n this._init();\n this._elementHandlers();\n this._handleHandlers();\n this._labelHandlers();\n this._formHandler();\n this._externalLabelHandler();\n this.$element.trigger(\"init.bootstrapSwitch\", this.options.state);\n }\n\n BootstrapSwitch.prototype._constructor = BootstrapSwitch;\n\n BootstrapSwitch.prototype.setPrevOptions = function() {\n return this.prevOptions = $.extend(true, {}, this.options);\n };\n\n BootstrapSwitch.prototype.state = function(value, skip) {\n if (typeof value === \"undefined\") {\n return this.options.state;\n }\n if (this.options.disabled || this.options.readonly) {\n return this.$element;\n }\n if (this.options.state && !this.options.radioAllOff && this.$element.is(\":radio\")) {\n return this.$element;\n }\n if (this.$element.is(\":radio\")) {\n $(\"[name='\" + (this.$element.attr('name')) + \"']\").trigger(\"setPreviousOptions.bootstrapSwitch\");\n } else {\n this.$element.trigger(\"setPreviousOptions.bootstrapSwitch\");\n }\n if (this.options.indeterminate) {\n this.indeterminate(false);\n }\n value = !!value;\n this.$element.prop(\"checked\", value).trigger(\"change.bootstrapSwitch\", skip);\n return this.$element;\n };\n\n BootstrapSwitch.prototype.toggleState = function(skip) {\n if (this.options.disabled || this.options.readonly) {\n return this.$element;\n }\n if (this.options.indeterminate) {\n this.indeterminate(false);\n return this.state(true);\n } else {\n return this.$element.prop(\"checked\", !this.options.state).trigger(\"change.bootstrapSwitch\", skip);\n }\n };\n\n BootstrapSwitch.prototype.size = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.size;\n }\n if (this.options.size != null) {\n this.$wrapper.removeClass(this.options.baseClass + \"-\" + this.options.size);\n }\n if (value) {\n this.$wrapper.addClass(this.options.baseClass + \"-\" + value);\n }\n this._width();\n this._containerPosition();\n this.options.size = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.animate = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.animate;\n }\n value = !!value;\n if (value === this.options.animate) {\n return this.$element;\n }\n return this.toggleAnimate();\n };\n\n BootstrapSwitch.prototype.toggleAnimate = function() {\n this.options.animate = !this.options.animate;\n this.$wrapper.toggleClass(this.options.baseClass + \"-animate\");\n return this.$element;\n };\n\n BootstrapSwitch.prototype.disabled = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.disabled;\n }\n value = !!value;\n if (value === this.options.disabled) {\n return this.$element;\n }\n return this.toggleDisabled();\n };\n\n BootstrapSwitch.prototype.toggleDisabled = function() {\n this.options.disabled = !this.options.disabled;\n this.$element.prop(\"disabled\", this.options.disabled);\n this.$wrapper.toggleClass(this.options.baseClass + \"-disabled\");\n return this.$element;\n };\n\n BootstrapSwitch.prototype.readonly = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.readonly;\n }\n value = !!value;\n if (value === this.options.readonly) {\n return this.$element;\n }\n return this.toggleReadonly();\n };\n\n BootstrapSwitch.prototype.toggleReadonly = function() {\n this.options.readonly = !this.options.readonly;\n this.$element.prop(\"readonly\", this.options.readonly);\n this.$wrapper.toggleClass(this.options.baseClass + \"-readonly\");\n return this.$element;\n };\n\n BootstrapSwitch.prototype.indeterminate = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.indeterminate;\n }\n value = !!value;\n if (value === this.options.indeterminate) {\n return this.$element;\n }\n return this.toggleIndeterminate();\n };\n\n BootstrapSwitch.prototype.toggleIndeterminate = function() {\n this.options.indeterminate = !this.options.indeterminate;\n this.$element.prop(\"indeterminate\", this.options.indeterminate);\n this.$wrapper.toggleClass(this.options.baseClass + \"-indeterminate\");\n this._containerPosition();\n return this.$element;\n };\n\n BootstrapSwitch.prototype.inverse = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.inverse;\n }\n value = !!value;\n if (value === this.options.inverse) {\n return this.$element;\n }\n return this.toggleInverse();\n };\n\n BootstrapSwitch.prototype.toggleInverse = function() {\n var $off, $on;\n this.$wrapper.toggleClass(this.options.baseClass + \"-inverse\");\n $on = this.$on.clone(true);\n $off = this.$off.clone(true);\n this.$on.replaceWith($off);\n this.$off.replaceWith($on);\n this.$on = $off;\n this.$off = $on;\n this.options.inverse = !this.options.inverse;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.onColor = function(value) {\n var color;\n color = this.options.onColor;\n if (typeof value === \"undefined\") {\n return color;\n }\n if (color != null) {\n this.$on.removeClass(this.options.baseClass + \"-\" + color);\n }\n this.$on.addClass(this.options.baseClass + \"-\" + value);\n this.options.onColor = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.offColor = function(value) {\n var color;\n color = this.options.offColor;\n if (typeof value === \"undefined\") {\n return color;\n }\n if (color != null) {\n this.$off.removeClass(this.options.baseClass + \"-\" + color);\n }\n this.$off.addClass(this.options.baseClass + \"-\" + value);\n this.options.offColor = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.onText = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.onText;\n }\n this.$on.html(value);\n this._width();\n this._containerPosition();\n this.options.onText = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.offText = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.offText;\n }\n this.$off.html(value);\n this._width();\n this._containerPosition();\n this.options.offText = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.labelText = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.labelText;\n }\n this.$label.html(value);\n this._width();\n this.options.labelText = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.handleWidth = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.handleWidth;\n }\n this.options.handleWidth = value;\n this._width();\n this._containerPosition();\n return this.$element;\n };\n\n BootstrapSwitch.prototype.labelWidth = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.labelWidth;\n }\n this.options.labelWidth = value;\n this._width();\n this._containerPosition();\n return this.$element;\n };\n\n BootstrapSwitch.prototype.baseClass = function(value) {\n return this.options.baseClass;\n };\n\n BootstrapSwitch.prototype.wrapperClass = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.wrapperClass;\n }\n if (!value) {\n value = $.fn.bootstrapSwitch.defaults.wrapperClass;\n }\n this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(\" \"));\n this.$wrapper.addClass(this._getClasses(value).join(\" \"));\n this.options.wrapperClass = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.radioAllOff = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.radioAllOff;\n }\n value = !!value;\n if (value === this.options.radioAllOff) {\n return this.$element;\n }\n this.options.radioAllOff = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.onInit = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.onInit;\n }\n if (!value) {\n value = $.fn.bootstrapSwitch.defaults.onInit;\n }\n this.options.onInit = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.onSwitchChange = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.onSwitchChange;\n }\n if (!value) {\n value = $.fn.bootstrapSwitch.defaults.onSwitchChange;\n }\n this.options.onSwitchChange = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.destroy = function() {\n var $form;\n $form = this.$element.closest(\"form\");\n if ($form.length) {\n $form.off(\"reset.bootstrapSwitch\").removeData(\"bootstrap-switch\");\n }\n this.$container.children().not(this.$element).remove();\n this.$element.unwrap().unwrap().off(\".bootstrapSwitch\").removeData(\"bootstrap-switch\");\n return this.$element;\n };\n\n BootstrapSwitch.prototype._width = function() {\n var $handles, handleWidth;\n $handles = this.$on.add(this.$off);\n $handles.add(this.$label).css(\"width\", \"\");\n handleWidth = this.options.handleWidth === \"auto\" ? Math.max(this.$on.width(), this.$off.width()) : this.options.handleWidth;\n $handles.width(handleWidth);\n this.$label.width((function(_this) {\n return function(index, width) {\n if (_this.options.labelWidth !== \"auto\") {\n return _this.options.labelWidth;\n }\n if (width < handleWidth) {\n return handleWidth;\n } else {\n return width;\n }\n };\n })(this));\n this._handleWidth = this.$on.outerWidth();\n this._labelWidth = this.$label.outerWidth();\n this.$container.width((this._handleWidth * 2) + this._labelWidth);\n return this.$wrapper.width(this._handleWidth + this._labelWidth);\n };\n\n BootstrapSwitch.prototype._containerPosition = function(state, callback) {\n if (state == null) {\n state = this.options.state;\n }\n this.$container.css(\"margin-left\", (function(_this) {\n return function() {\n var values;\n values = [0, \"-\" + _this._handleWidth + \"px\"];\n if (_this.options.indeterminate) {\n return \"-\" + (_this._handleWidth / 2) + \"px\";\n }\n if (state) {\n if (_this.options.inverse) {\n return values[1];\n } else {\n return values[0];\n }\n } else {\n if (_this.options.inverse) {\n return values[0];\n } else {\n return values[1];\n }\n }\n };\n })(this));\n if (!callback) {\n return;\n }\n return setTimeout(function() {\n return callback();\n }, 50);\n };\n\n BootstrapSwitch.prototype._init = function() {\n var init, initInterval;\n init = (function(_this) {\n return function() {\n _this.setPrevOptions();\n _this._width();\n return _this._containerPosition(null, function() {\n if (_this.options.animate) {\n return _this.$wrapper.addClass(_this.options.baseClass + \"-animate\");\n }\n });\n };\n })(this);\n if (this.$wrapper.is(\":visible\")) {\n return init();\n }\n return initInterval = window.setInterval((function(_this) {\n return function() {\n if (_this.$wrapper.is(\":visible\")) {\n init();\n return window.clearInterval(initInterval);\n }\n };\n })(this), 50);\n };\n\n BootstrapSwitch.prototype._elementHandlers = function() {\n return this.$element.on({\n \"setPreviousOptions.bootstrapSwitch\": (function(_this) {\n return function(e) {\n return _this.setPrevOptions();\n };\n })(this),\n \"previousState.bootstrapSwitch\": (function(_this) {\n return function(e) {\n _this.options = _this.prevOptions;\n if (_this.options.indeterminate) {\n _this.$wrapper.addClass(_this.options.baseClass + \"-indeterminate\");\n }\n return _this.$element.prop(\"checked\", _this.options.state).trigger(\"change.bootstrapSwitch\", true);\n };\n })(this),\n \"change.bootstrapSwitch\": (function(_this) {\n return function(e, skip) {\n var state;\n e.preventDefault();\n e.stopImmediatePropagation();\n state = _this.$element.is(\":checked\");\n _this._containerPosition(state);\n if (state === _this.options.state) {\n return;\n }\n _this.options.state = state;\n _this.$wrapper.toggleClass(_this.options.baseClass + \"-off\").toggleClass(_this.options.baseClass + \"-on\");\n if (!skip) {\n if (_this.$element.is(\":radio\")) {\n $(\"[name='\" + (_this.$element.attr('name')) + \"']\").not(_this.$element).prop(\"checked\", false).trigger(\"change.bootstrapSwitch\", true);\n }\n return _this.$element.trigger(\"switchChange.bootstrapSwitch\", [state]);\n }\n };\n })(this),\n \"focus.bootstrapSwitch\": (function(_this) {\n return function(e) {\n e.preventDefault();\n return _this.$wrapper.addClass(_this.options.baseClass + \"-focused\");\n };\n })(this),\n \"blur.bootstrapSwitch\": (function(_this) {\n return function(e) {\n e.preventDefault();\n return _this.$wrapper.removeClass(_this.options.baseClass + \"-focused\");\n };\n })(this),\n \"keydown.bootstrapSwitch\": (function(_this) {\n return function(e) {\n if (!e.which || _this.options.disabled || _this.options.readonly) {\n return;\n }\n switch (e.which) {\n case 37:\n e.preventDefault();\n e.stopImmediatePropagation();\n return _this.state(false);\n case 39:\n e.preventDefault();\n e.stopImmediatePropagation();\n return _this.state(true);\n }\n };\n })(this)\n });\n };\n\n BootstrapSwitch.prototype._handleHandlers = function() {\n this.$on.on(\"click.bootstrapSwitch\", (function(_this) {\n return function(event) {\n event.preventDefault();\n event.stopPropagation();\n _this.state(false);\n return _this.$element.trigger(\"focus.bootstrapSwitch\");\n };\n })(this));\n return this.$off.on(\"click.bootstrapSwitch\", (function(_this) {\n return function(event) {\n event.preventDefault();\n event.stopPropagation();\n _this.state(true);\n return _this.$element.trigger(\"focus.bootstrapSwitch\");\n };\n })(this));\n };\n\n BootstrapSwitch.prototype._labelHandlers = function() {\n return this.$label.on({\n \"click\": function(e) {\n return e.stopPropagation();\n },\n \"mousedown.bootstrapSwitch touchstart.bootstrapSwitch\": (function(_this) {\n return function(e) {\n if (_this._dragStart || _this.options.disabled || _this.options.readonly) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n _this._dragStart = (e.pageX || e.originalEvent.touches[0].pageX) - parseInt(_this.$container.css(\"margin-left\"), 10);\n if (_this.options.animate) {\n _this.$wrapper.removeClass(_this.options.baseClass + \"-animate\");\n }\n return _this.$element.trigger(\"focus.bootstrapSwitch\");\n };\n })(this),\n \"mousemove.bootstrapSwitch touchmove.bootstrapSwitch\": (function(_this) {\n return function(e) {\n var difference;\n if (_this._dragStart == null) {\n return;\n }\n e.preventDefault();\n difference = (e.pageX || e.originalEvent.touches[0].pageX) - _this._dragStart;\n if (difference < -_this._handleWidth || difference > 0) {\n return;\n }\n _this._dragEnd = difference;\n return _this.$container.css(\"margin-left\", _this._dragEnd + \"px\");\n };\n })(this),\n \"mouseup.bootstrapSwitch touchend.bootstrapSwitch\": (function(_this) {\n return function(e) {\n var state;\n if (!_this._dragStart) {\n return;\n }\n e.preventDefault();\n if (_this.options.animate) {\n _this.$wrapper.addClass(_this.options.baseClass + \"-animate\");\n }\n if (_this._dragEnd) {\n state = _this._dragEnd > -(_this._handleWidth / 2);\n _this._dragEnd = false;\n _this.state(_this.options.inverse ? !state : state);\n } else {\n _this.state(!_this.options.state);\n }\n return _this._dragStart = false;\n };\n })(this),\n \"mouseleave.bootstrapSwitch\": (function(_this) {\n return function(e) {\n return _this.$label.trigger(\"mouseup.bootstrapSwitch\");\n };\n })(this)\n });\n };\n\n BootstrapSwitch.prototype._externalLabelHandler = function() {\n var $externalLabel;\n $externalLabel = this.$element.closest(\"label\");\n return $externalLabel.on(\"click\", (function(_this) {\n return function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n if (event.target === $externalLabel[0]) {\n return _this.toggleState();\n }\n };\n })(this));\n };\n\n BootstrapSwitch.prototype._formHandler = function() {\n var $form;\n $form = this.$element.closest(\"form\");\n if ($form.data(\"bootstrap-switch\")) {\n return;\n }\n return $form.on(\"reset.bootstrapSwitch\", function() {\n return window.setTimeout(function() {\n return $form.find(\"input\").filter(function() {\n return $(this).data(\"bootstrap-switch\");\n }).each(function() {\n return $(this).bootstrapSwitch(\"state\", this.checked);\n });\n }, 1);\n }).data(\"bootstrap-switch\", true);\n };\n\n BootstrapSwitch.prototype._getClasses = function(classes) {\n var c, cls, i, len;\n if (!$.isArray(classes)) {\n return [this.options.baseClass + \"-\" + classes];\n }\n cls = [];\n for (i = 0, len = classes.length; i < len; i++) {\n c = classes[i];\n cls.push(this.options.baseClass + \"-\" + c);\n }\n return cls;\n };\n\n return BootstrapSwitch;\n\n })();\n $.fn.bootstrapSwitch = function() {\n var args, option, ret;\n option = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n ret = this;\n this.each(function() {\n var $this, data;\n $this = $(this);\n data = $this.data(\"bootstrap-switch\");\n if (!data) {\n $this.data(\"bootstrap-switch\", data = new BootstrapSwitch(this, option));\n }\n if (typeof option === \"string\") {\n return ret = data[option].apply(data, args);\n }\n });\n return ret;\n };\n $.fn.bootstrapSwitch.Constructor = BootstrapSwitch;\n return $.fn.bootstrapSwitch.defaults = {\n state: true,\n size: null,\n animate: true,\n disabled: false,\n readonly: false,\n indeterminate: false,\n inverse: false,\n radioAllOff: false,\n onColor: \"primary\",\n offColor: \"default\",\n onText: \"ON\",\n offText: \"OFF\",\n labelText: \" \",\n handleWidth: \"auto\",\n labelWidth: \"auto\",\n baseClass: \"bootstrap-switch\",\n wrapperClass: \"wrapper\",\n onInit: function() {},\n onSwitchChange: function() {}\n };\n })(window.jQuery, window);\n\n}).call(this);","/*! messenger 1.5.0 */\n/*\n * This file begins the output concatenated into messenger.js\n *\n * It establishes the Messenger object while preserving whatever it was before\n * (for noConflict), and making it a callable function.\n */\n\n(function(){\n var _prevMessenger = window.Messenger;\n var localMessenger;\n\n localMessenger = window.Messenger = function(){\n return localMessenger._call.apply(this, arguments);\n }\n\n window.Messenger.noConflict = function(){\n window.Messenger = _prevMessenger;\n\n return localMessenger;\n }\n})();\n\n/*\n * This file contains shims for when Underscore and Backbone\n * are not included.\n *\n * Portions taken from Underscore.js and Backbone.js\n * Both of which are Copyright (c) 2009-2013 Jeremy Ashkenas, DocumentCloud\n */\nwindow.Messenger._ = (function() {\n if (window._)\n return window._\n\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n // Create quick reference variables for speed access to core prototypes.\n var push = ArrayProto.push,\n slice = ArrayProto.slice,\n concat = ArrayProto.concat,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var\n nativeForEach = ArrayProto.forEach,\n nativeMap = ArrayProto.map,\n nativeReduce = ArrayProto.reduce,\n nativeReduceRight = ArrayProto.reduceRight,\n nativeFilter = ArrayProto.filter,\n nativeEvery = ArrayProto.every,\n nativeSome = ArrayProto.some,\n nativeIndexOf = ArrayProto.indexOf,\n nativeLastIndexOf = ArrayProto.lastIndexOf,\n nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeBind = FuncProto.bind;\n\n // Create a safe reference to the Underscore object for use below.\n var _ = {};\n\n // Establish the object that gets returned to break out of a loop iteration.\n var breaker = {};\n\n var each = _.each = _.forEach = function(obj, iterator, context) {\n if (obj == null) return;\n if (nativeForEach && obj.forEach === nativeForEach) {\n obj.forEach(iterator, context);\n } else if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if (iterator.call(context, obj[i], i, obj) === breaker) return;\n }\n } else {\n for (var key in obj) {\n if (_.has(obj, key)) {\n if (iterator.call(context, obj[key], key, obj) === breaker) return;\n }\n }\n }\n };\n\n _.result = function(object, property) {\n if (object == null) return null;\n var value = object[property];\n return _.isFunction(value) ? value.call(object) : value;\n };\n\n _.once = function(func) {\n var ran = false, memo;\n return function() {\n if (ran) return memo;\n ran = true;\n memo = func.apply(this, arguments);\n func = null;\n return memo;\n };\n };\n\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n _.filter = _.select = function(obj, iterator, context) {\n var results = [];\n if (obj == null) return results;\n if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);\n each(obj, function(value, index, list) {\n if (iterator.call(context, value, index, list)) results[results.length] = value;\n });\n return results;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.\n each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) == '[object ' + name + ']';\n };\n });\n\n _.defaults = function(obj) {\n each(slice.call(arguments, 1), function(source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] == null) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n };\n\n _.extend = function(obj) {\n each(slice.call(arguments, 1), function(source) {\n if (source) {\n for (var prop in source) {\n obj[prop] = source[prop];\n }\n }\n });\n return obj;\n };\n\n _.keys = nativeKeys || function(obj) {\n if (obj !== Object(obj)) throw new TypeError('Invalid object');\n var keys = [];\n for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key;\n return keys;\n };\n\n _.bind = function(func, context) {\n if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n var args = slice.call(arguments, 2);\n return function() {\n return func.apply(context, args.concat(slice.call(arguments)));\n };\n };\n\n _.isObject = function(obj) {\n return obj === Object(obj);\n };\n\n return _;\n})();\n\nwindow.Messenger.Events = (function() {\n if (window.Backbone && Backbone.Events) {\n return Backbone.Events;\n }\n\n var eventsShim = function() {\n var eventSplitter = /\\s+/;\n\n var eventsApi = function(obj, action, name, rest) {\n if (!name) return true;\n if (typeof name === 'object') {\n for (var key in name) {\n obj[action].apply(obj, [key, name[key]].concat(rest));\n }\n } else if (eventSplitter.test(name)) {\n var names = name.split(eventSplitter);\n for (var i = 0, l = names.length; i < l; i++) {\n obj[action].apply(obj, [names[i]].concat(rest));\n }\n } else {\n return true;\n }\n };\n\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length;\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx);\n return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0]);\n return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1]);\n return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1], args[2]);\n return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);\n }\n };\n\n var Events = {\n\n on: function(name, callback, context) {\n if (!(eventsApi(this, 'on', name, [callback, context]) && callback)) return this;\n this._events || (this._events = {});\n var list = this._events[name] || (this._events[name] = []);\n list.push({callback: callback, context: context, ctx: context || this});\n return this;\n },\n\n once: function(name, callback, context) {\n if (!(eventsApi(this, 'once', name, [callback, context]) && callback)) return this;\n var self = this;\n var once = _.once(function() {\n self.off(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n this.on(name, once, context);\n return this;\n },\n\n off: function(name, callback, context) {\n var list, ev, events, names, i, l, j, k;\n if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this;\n if (!name && !callback && !context) {\n this._events = {};\n return this;\n }\n\n names = name ? [name] : _.keys(this._events);\n for (i = 0, l = names.length; i < l; i++) {\n name = names[i];\n if (list = this._events[name]) {\n events = [];\n if (callback || context) {\n for (j = 0, k = list.length; j < k; j++) {\n ev = list[j];\n if ((callback && callback !== ev.callback &&\n callback !== ev.callback._callback) ||\n (context && context !== ev.context)) {\n events.push(ev);\n }\n }\n }\n this._events[name] = events;\n }\n }\n\n return this;\n },\n\n trigger: function(name) {\n if (!this._events) return this;\n var args = Array.prototype.slice.call(arguments, 1);\n if (!eventsApi(this, 'trigger', name, args)) return this;\n var events = this._events[name];\n var allEvents = this._events.all;\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, arguments);\n return this;\n },\n\n listenTo: function(obj, name, callback) {\n var listeners = this._listeners || (this._listeners = {});\n var id = obj._listenerId || (obj._listenerId = _.uniqueId('l'));\n listeners[id] = obj;\n obj.on(name, typeof name === 'object' ? this : callback, this);\n return this;\n },\n\n stopListening: function(obj, name, callback) {\n var listeners = this._listeners;\n if (!listeners) return;\n if (obj) {\n obj.off(name, typeof name === 'object' ? this : callback, this);\n if (!name && !callback) delete listeners[obj._listenerId];\n } else {\n if (typeof name === 'object') callback = this;\n for (var id in listeners) {\n listeners[id].off(name, callback, this);\n }\n this._listeners = {};\n }\n return this;\n }\n };\n\n Events.bind = Events.on;\n Events.unbind = Events.off;\n return Events;\n };\n return eventsShim();\n})();\n\n(function() {\n var $, ActionMessenger, BaseView, Events, RetryingMessage, _, _Message, _Messenger, _ref, _ref1, _ref2,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n __slice = [].slice,\n __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n $ = jQuery;\n\n _ = (_ref = window._) != null ? _ref : window.Messenger._;\n\n Events = (_ref1 = typeof Backbone !== \"undefined\" && Backbone !== null ? Backbone.Events : void 0) != null ? _ref1 : window.Messenger.Events;\n\n BaseView = (function() {\n\n function BaseView(options) {\n $.extend(this, Events);\n if (_.isObject(options)) {\n if (options.el) {\n this.setElement(options.el);\n }\n this.model = options.model;\n }\n this.initialize.apply(this, arguments);\n }\n\n BaseView.prototype.setElement = function(el) {\n this.$el = $(el);\n return this.el = this.$el[0];\n };\n\n BaseView.prototype.delegateEvents = function(events) {\n var delegateEventSplitter, eventName, key, match, method, selector, _results;\n if (!(events || (events = _.result(this, \"events\")))) {\n return;\n }\n this.undelegateEvents();\n delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n _results = [];\n for (key in events) {\n method = events[key];\n if (!_.isFunction(method)) {\n method = this[events[key]];\n }\n if (!method) {\n throw new Error(\"Method \\\"\" + events[key] + \"\\\" does not exist\");\n }\n match = key.match(delegateEventSplitter);\n eventName = match[1];\n selector = match[2];\n method = _.bind(method, this);\n eventName += \".delegateEvents\" + this.cid;\n if (selector === '') {\n _results.push(this.jqon(eventName, method));\n } else {\n _results.push(this.jqon(eventName, selector, method));\n }\n }\n return _results;\n };\n\n BaseView.prototype.jqon = function(eventName, selector, method) {\n var _ref2;\n if (this.$el.on != null) {\n return (_ref2 = this.$el).on.apply(_ref2, arguments);\n } else {\n if (!(method != null)) {\n method = selector;\n selector = void 0;\n }\n if (selector != null) {\n return this.$el.delegate(selector, eventName, method);\n } else {\n return this.$el.bind(eventName, method);\n }\n }\n };\n\n BaseView.prototype.jqoff = function(eventName) {\n var _ref2;\n if (this.$el.off != null) {\n return (_ref2 = this.$el).off.apply(_ref2, arguments);\n } else {\n this.$el.undelegate();\n return this.$el.unbind(eventName);\n }\n };\n\n BaseView.prototype.undelegateEvents = function() {\n return this.jqoff(\".delegateEvents\" + this.cid);\n };\n\n BaseView.prototype.remove = function() {\n this.undelegateEvents();\n return this.$el.remove();\n };\n\n return BaseView;\n\n })();\n\n _Message = (function(_super) {\n\n __extends(_Message, _super);\n\n function _Message() {\n return _Message.__super__.constructor.apply(this, arguments);\n }\n\n _Message.prototype.defaults = {\n hideAfter: 10,\n scroll: true,\n closeButtonText: \"×\",\n escapeText: false\n };\n\n _Message.prototype.initialize = function(opts) {\n if (opts == null) {\n opts = {};\n }\n this.shown = false;\n this.rendered = false;\n this.messenger = opts.messenger;\n return this.options = $.extend({}, this.options, opts, this.defaults);\n };\n\n _Message.prototype.show = function() {\n var wasShown;\n if (!this.rendered) {\n this.render();\n }\n this.$message.removeClass('messenger-hidden');\n wasShown = this.shown;\n this.shown = true;\n if (!wasShown) {\n return this.trigger('show');\n }\n };\n\n _Message.prototype.hide = function() {\n var wasShown;\n if (!this.rendered) {\n return;\n }\n this.$message.addClass('messenger-hidden');\n wasShown = this.shown;\n this.shown = false;\n if (wasShown) {\n return this.trigger('hide');\n }\n };\n\n _Message.prototype.cancel = function() {\n return this.hide();\n };\n\n _Message.prototype.update = function(opts) {\n var _ref2,\n _this = this;\n if (_.isString(opts)) {\n opts = {\n message: opts\n };\n }\n $.extend(this.options, opts);\n this.lastUpdate = new Date();\n this.rendered = false;\n this.events = (_ref2 = this.options.events) != null ? _ref2 : {};\n this.render();\n this.actionsToEvents();\n this.delegateEvents();\n this.checkClickable();\n if (this.options.hideAfter) {\n this.$message.addClass('messenger-will-hide-after');\n if (this._hideTimeout != null) {\n clearTimeout(this._hideTimeout);\n }\n this._hideTimeout = setTimeout(function() {\n return _this.hide();\n }, this.options.hideAfter * 1000);\n } else {\n this.$message.removeClass('messenger-will-hide-after');\n }\n if (this.options.hideOnNavigate) {\n this.$message.addClass('messenger-will-hide-on-navigate');\n if ((typeof Backbone !== \"undefined\" && Backbone !== null ? Backbone.history : void 0) != null) {\n Backbone.history.on('route', function() {\n return _this.hide();\n });\n }\n } else {\n this.$message.removeClass('messenger-will-hide-on-navigate');\n }\n return this.trigger('update', this);\n };\n\n _Message.prototype.scrollTo = function() {\n if (!this.options.scroll) {\n return;\n }\n return $.scrollTo(this.$el, {\n duration: 400,\n offset: {\n left: 0,\n top: -20\n }\n });\n };\n\n _Message.prototype.timeSinceUpdate = function() {\n if (this.lastUpdate) {\n return (new Date) - this.lastUpdate;\n } else {\n return null;\n }\n };\n\n _Message.prototype.actionsToEvents = function() {\n var act, name, _ref2, _results,\n _this = this;\n _ref2 = this.options.actions;\n _results = [];\n for (name in _ref2) {\n act = _ref2[name];\n _results.push(this.events[\"click [data-action=\\\"\" + name + \"\\\"] a\"] = (function(act) {\n return function(e) {\n e.preventDefault();\n e.stopPropagation();\n _this.trigger(\"action:\" + name, act, e);\n return act.action.call(_this, e, _this);\n };\n })(act));\n }\n return _results;\n };\n\n _Message.prototype.checkClickable = function() {\n var evt, name, _ref2, _results;\n _ref2 = this.events;\n _results = [];\n for (name in _ref2) {\n evt = _ref2[name];\n if (name === 'click') {\n _results.push(this.$message.addClass('messenger-clickable'));\n } else {\n _results.push(void 0);\n }\n }\n return _results;\n };\n\n _Message.prototype.undelegateEvents = function() {\n var _ref2;\n _Message.__super__.undelegateEvents.apply(this, arguments);\n return (_ref2 = this.$message) != null ? _ref2.removeClass('messenger-clickable') : void 0;\n };\n\n _Message.prototype.parseActions = function() {\n var act, actions, n_act, name, _ref2, _ref3;\n actions = [];\n _ref2 = this.options.actions;\n for (name in _ref2) {\n act = _ref2[name];\n n_act = $.extend({}, act);\n n_act.name = name;\n if ((_ref3 = n_act.label) == null) {\n n_act.label = name;\n }\n actions.push(n_act);\n }\n return actions;\n };\n\n _Message.prototype.template = function(opts) {\n var $action, $actions, $cancel, $link, $message, $text, action, _i, _len, _ref2,\n _this = this;\n $message = $(\"
\");\n if (opts.showCloseButton) {\n $cancel = $('\\n \\n ×\\n
\\n').replace(/(^|\\n)\\s*/g, '');\n\nvar getContainer = function getContainer() {\n return document.body.querySelector('.' + swalClasses.container);\n};\n\nvar getModal = function getModal() {\n return getContainer() ? getContainer().querySelector('.' + swalClasses.modal) : null;\n};\n\nvar getIcons = function getIcons() {\n var modal = getModal();\n return modal.querySelectorAll('.' + swalClasses.icon);\n};\n\nvar elementByClass = function elementByClass(className) {\n return getContainer() ? getContainer().querySelector('.' + className) : null;\n};\n\nvar getTitle = function getTitle() {\n return elementByClass(swalClasses.title);\n};\n\nvar getContent = function getContent() {\n return elementByClass(swalClasses.content);\n};\n\nvar getImage = function getImage() {\n return elementByClass(swalClasses.image);\n};\n\nvar getSpacer = function getSpacer() {\n return elementByClass(swalClasses.spacer);\n};\n\nvar getProgressSteps = function getProgressSteps() {\n return elementByClass(swalClasses.progresssteps);\n};\n\nvar getValidationError = function getValidationError() {\n return elementByClass(swalClasses.validationerror);\n};\n\nvar getConfirmButton = function getConfirmButton() {\n return elementByClass(swalClasses.confirm);\n};\n\nvar getCancelButton = function getCancelButton() {\n return elementByClass(swalClasses.cancel);\n};\n\nvar getCloseButton = function getCloseButton() {\n return elementByClass(swalClasses.close);\n};\n\nvar getFocusableElements = function getFocusableElements(focusCancel) {\n var buttons = [getConfirmButton(), getCancelButton()];\n if (focusCancel) {\n buttons.reverse();\n }\n return buttons.concat(Array.prototype.slice.call(getModal().querySelectorAll('button:not([class^=' + swalPrefix + ']), input:not([type=hidden]), textarea, select')));\n};\n\nvar hasClass = function hasClass(elem, className) {\n if (elem.classList) {\n return elem.classList.contains(className);\n }\n return false;\n};\n\nvar focusInput = function focusInput(input) {\n input.focus();\n\n // place cursor at end of text in text input\n if (input.type !== 'file') {\n // http://stackoverflow.com/a/2345915/1331425\n var val = input.value;\n input.value = '';\n input.value = val;\n }\n};\n\nvar addClass = function addClass(elem, className) {\n if (!elem || !className) {\n return;\n }\n var classes = className.split(/\\s+/).filter(Boolean);\n classes.forEach(function (className) {\n elem.classList.add(className);\n });\n};\n\nvar removeClass = function removeClass(elem, className) {\n if (!elem || !className) {\n return;\n }\n var classes = className.split(/\\s+/).filter(Boolean);\n classes.forEach(function (className) {\n elem.classList.remove(className);\n });\n};\n\nvar getChildByClass = function getChildByClass(elem, className) {\n for (var i = 0; i < elem.childNodes.length; i++) {\n if (hasClass(elem.childNodes[i], className)) {\n return elem.childNodes[i];\n }\n }\n};\n\nvar show = function show(elem, display) {\n if (!display) {\n display = 'block';\n }\n elem.style.opacity = '';\n elem.style.display = display;\n};\n\nvar hide = function hide(elem) {\n elem.style.opacity = '';\n elem.style.display = 'none';\n};\n\nvar empty = function empty(elem) {\n while (elem.firstChild) {\n elem.removeChild(elem.firstChild);\n }\n};\n\n// borrowed from jqeury $(elem).is(':visible') implementation\nvar isVisible = function isVisible(elem) {\n return elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length;\n};\n\nvar removeStyleProperty = function removeStyleProperty(elem, property) {\n if (elem.style.removeProperty) {\n elem.style.removeProperty(property);\n } else {\n elem.style.removeAttribute(property);\n }\n};\n\nvar fireClick = function fireClick(node) {\n if (!isVisible(node)) {\n return false;\n }\n\n // Taken from http://www.nonobtrusive.com/2011/11/29/programatically-fire-crossbrowser-click-event-with-javascript/\n // Then fixed for today's Chrome browser.\n if (typeof MouseEvent === 'function') {\n // Up-to-date approach\n var mevt = new MouseEvent('click', {\n view: window,\n bubbles: false,\n cancelable: true\n });\n node.dispatchEvent(mevt);\n } else if (document.createEvent) {\n // Fallback\n var evt = document.createEvent('MouseEvents');\n evt.initEvent('click', false, false);\n node.dispatchEvent(evt);\n } else if (document.createEventObject) {\n node.fireEvent('onclick');\n } else if (typeof node.onclick === 'function') {\n node.onclick();\n }\n};\n\nvar animationEndEvent = function () {\n var testEl = document.createElement('div');\n var transEndEventNames = {\n 'WebkitAnimation': 'webkitAnimationEnd',\n 'OAnimation': 'oAnimationEnd oanimationend',\n 'msAnimation': 'MSAnimationEnd',\n 'animation': 'animationend'\n };\n for (var i in transEndEventNames) {\n if (transEndEventNames.hasOwnProperty(i) && testEl.style[i] !== undefined) {\n return transEndEventNames[i];\n }\n }\n\n return false;\n}();\n\n// Reset previous window keydown handler and focued element\nvar resetPrevState = function resetPrevState() {\n window.onkeydown = states.previousWindowKeyDown;\n if (states.previousActiveElement && states.previousActiveElement.focus) {\n var x = window.scrollX;\n var y = window.scrollY;\n states.previousActiveElement.focus();\n if (x && y) {\n // IE has no scrollX/scrollY support\n window.scrollTo(x, y);\n }\n }\n};\n\n// Measure width of scrollbar\n// https://github.com/twbs/bootstrap/blob/master/js/modal.js#L279-L286\nvar measureScrollbar = function measureScrollbar() {\n var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints;\n if (supportsTouch) {\n return 0;\n }\n var scrollDiv = document.createElement('div');\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n};\n\n// JavaScript Debounce Function\n// Simplivied version of https://davidwalsh.name/javascript-debounce-function\nvar debounce = function debounce(func, wait) {\n var timeout = void 0;\n return function () {\n var later = function later() {\n timeout = null;\n func();\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n};\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar modalParams = _extends({}, defaultParams);\nvar queue = [];\nvar swal2Observer = void 0;\n\n/*\n * Set type, text and actions on modal\n */\nvar setParameters = function setParameters(params) {\n var modal = getModal() || init(params);\n\n for (var param in params) {\n if (!defaultParams.hasOwnProperty(param) && param !== 'extraParams') {\n console.warn('SweetAlert2: Unknown parameter \"' + param + '\"');\n }\n }\n\n // set modal width and margin-left\n modal.style.width = typeof params.width === 'number' ? params.width + 'px' : params.width;\n\n modal.style.padding = params.padding + 'px';\n modal.style.background = params.background;\n\n var title = getTitle();\n var content = getContent();\n var confirmButton = getConfirmButton();\n var cancelButton = getCancelButton();\n var closeButton = getCloseButton();\n\n // Title\n if (params.titleText) {\n title.innerText = params.titleText;\n } else {\n title.innerHTML = params.title.split('\\n').join('
');\n }\n\n // Content\n if (params.text || params.html) {\n if (_typeof(params.html) === 'object') {\n content.innerHTML = '';\n if (0 in params.html) {\n for (var i = 0; i in params.html; i++) {\n content.appendChild(params.html[i].cloneNode(true));\n }\n } else {\n content.appendChild(params.html.cloneNode(true));\n }\n } else if (params.html) {\n content.innerHTML = params.html;\n } else if (params.text) {\n content.textContent = params.text;\n }\n show(content);\n } else {\n hide(content);\n }\n\n // Close button\n if (params.showCloseButton) {\n show(closeButton);\n } else {\n hide(closeButton);\n }\n\n // Custom Class\n modal.className = swalClasses.modal;\n if (params.customClass) {\n addClass(modal, params.customClass);\n }\n\n // Progress steps\n var progressStepsContainer = getProgressSteps();\n var currentProgressStep = parseInt(params.currentProgressStep === null ? sweetAlert.getQueueStep() : params.currentProgressStep, 10);\n if (params.progressSteps.length) {\n show(progressStepsContainer);\n empty(progressStepsContainer);\n if (currentProgressStep >= params.progressSteps.length) {\n console.warn('SweetAlert2: Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n }\n params.progressSteps.forEach(function (step, index) {\n var circle = document.createElement('li');\n addClass(circle, swalClasses.progresscircle);\n circle.innerHTML = step;\n if (index === currentProgressStep) {\n addClass(circle, swalClasses.activeprogressstep);\n }\n progressStepsContainer.appendChild(circle);\n if (index !== params.progressSteps.length - 1) {\n var line = document.createElement('li');\n addClass(line, swalClasses.progressline);\n line.style.width = params.progressStepsDistance;\n progressStepsContainer.appendChild(line);\n }\n });\n } else {\n hide(progressStepsContainer);\n }\n\n // Icon\n var icons = getIcons();\n for (var _i = 0; _i < icons.length; _i++) {\n hide(icons[_i]);\n }\n if (params.type) {\n var validType = false;\n for (var iconType in iconTypes) {\n if (params.type === iconType) {\n validType = true;\n break;\n }\n }\n if (!validType) {\n console.error('SweetAlert2: Unknown alert type: ' + params.type);\n return false;\n }\n var icon = modal.querySelector('.' + swalClasses.icon + '.' + iconTypes[params.type]);\n show(icon);\n\n // Animate icon\n switch (params.type) {\n case 'success':\n addClass(icon, 'animate');\n addClass(icon.querySelector('.tip'), 'animate-success-tip');\n addClass(icon.querySelector('.long'), 'animate-success-long');\n break;\n case 'error':\n addClass(icon, 'animate-error-icon');\n addClass(icon.querySelector('.x-mark'), 'animate-x-mark');\n break;\n case 'warning':\n addClass(icon, 'pulse-warning');\n break;\n default:\n break;\n }\n }\n\n // Custom image\n var image = getImage();\n if (params.imageUrl) {\n image.setAttribute('src', params.imageUrl);\n show(image);\n\n if (params.imageWidth) {\n image.setAttribute('width', params.imageWidth);\n } else {\n image.removeAttribute('width');\n }\n\n if (params.imageHeight) {\n image.setAttribute('height', params.imageHeight);\n } else {\n image.removeAttribute('height');\n }\n\n image.className = swalClasses.image;\n if (params.imageClass) {\n addClass(image, params.imageClass);\n }\n } else {\n hide(image);\n }\n\n // Cancel button\n if (params.showCancelButton) {\n cancelButton.style.display = 'inline-block';\n } else {\n hide(cancelButton);\n }\n\n // Confirm button\n if (params.showConfirmButton) {\n removeStyleProperty(confirmButton, 'display');\n } else {\n hide(confirmButton);\n }\n\n // Buttons spacer\n var spacer = getSpacer();\n if (!params.showConfirmButton && !params.showCancelButton) {\n hide(spacer);\n } else {\n show(spacer);\n }\n\n // Edit text on cancel and confirm buttons\n confirmButton.innerHTML = params.confirmButtonText;\n cancelButton.innerHTML = params.cancelButtonText;\n\n // Set buttons to selected background colors\n if (params.buttonsStyling) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n }\n\n // Add buttons custom classes\n confirmButton.className = swalClasses.confirm;\n addClass(confirmButton, params.confirmButtonClass);\n cancelButton.className = swalClasses.cancel;\n addClass(cancelButton, params.cancelButtonClass);\n\n // Buttons styling\n if (params.buttonsStyling) {\n addClass(confirmButton, swalClasses.styled);\n addClass(cancelButton, swalClasses.styled);\n } else {\n removeClass(confirmButton, swalClasses.styled);\n removeClass(cancelButton, swalClasses.styled);\n\n confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = '';\n cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = '';\n }\n\n // CSS animation\n if (params.animation === true) {\n removeClass(modal, swalClasses.noanimation);\n } else {\n addClass(modal, swalClasses.noanimation);\n }\n};\n\n/*\n * Animations\n */\nvar openModal = function openModal(animation, onComplete) {\n var container = getContainer();\n var modal = getModal();\n\n if (animation) {\n addClass(modal, swalClasses.show);\n addClass(container, swalClasses.fade);\n removeClass(modal, swalClasses.hide);\n } else {\n removeClass(modal, swalClasses.fade);\n }\n show(modal);\n\n // scrolling is 'hidden' until animation is done, after that 'auto'\n container.style.overflowY = 'hidden';\n if (animationEndEvent && !hasClass(modal, swalClasses.noanimation)) {\n modal.addEventListener(animationEndEvent, function swalCloseEventFinished() {\n modal.removeEventListener(animationEndEvent, swalCloseEventFinished);\n container.style.overflowY = 'auto';\n });\n } else {\n container.style.overflowY = 'auto';\n }\n\n addClass(document.documentElement, swalClasses.shown);\n addClass(document.body, swalClasses.shown);\n addClass(container, swalClasses.shown);\n fixScrollbar();\n iOSfix();\n states.previousActiveElement = document.activeElement;\n if (onComplete !== null && typeof onComplete === 'function') {\n setTimeout(function () {\n onComplete(modal);\n });\n }\n};\n\nvar fixScrollbar = function fixScrollbar() {\n // for queues, do not do this more than once\n if (states.previousBodyPadding !== null) {\n return;\n }\n // if the body has overflow\n if (document.body.scrollHeight > window.innerHeight) {\n // add padding so the content doesn't shift after removal of scrollbar\n states.previousBodyPadding = document.body.style.paddingRight;\n document.body.style.paddingRight = measureScrollbar() + 'px';\n }\n};\n\nvar undoScrollbar = function undoScrollbar() {\n if (states.previousBodyPadding !== null) {\n document.body.style.paddingRight = states.previousBodyPadding;\n states.previousBodyPadding = null;\n }\n};\n\n// Fix iOS scrolling http://stackoverflow.com/q/39626302/1331425\nvar iOSfix = function iOSfix() {\n var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n if (iOS && !hasClass(document.body, swalClasses.iosfix)) {\n var offset = document.body.scrollTop;\n document.body.style.top = offset * -1 + 'px';\n addClass(document.body, swalClasses.iosfix);\n }\n};\n\nvar undoIOSfix = function undoIOSfix() {\n if (hasClass(document.body, swalClasses.iosfix)) {\n var offset = parseInt(document.body.style.top, 10);\n removeClass(document.body, swalClasses.iosfix);\n document.body.style.top = '';\n document.body.scrollTop = offset * -1;\n }\n};\n\n// SweetAlert entry point\nvar sweetAlert = function sweetAlert() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args[0] === undefined) {\n console.error('SweetAlert2 expects at least 1 attribute!');\n return false;\n }\n\n var params = _extends({}, modalParams);\n\n switch (_typeof(args[0])) {\n case 'string':\n params.title = args[0];\n params.html = args[1];\n params.type = args[2];\n\n break;\n\n case 'object':\n _extends(params, args[0]);\n params.extraParams = args[0].extraParams;\n\n if (params.input === 'email' && params.inputValidator === null) {\n params.inputValidator = function (email) {\n return new Promise(function (resolve, reject) {\n var emailRegex = /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$/;\n if (emailRegex.test(email)) {\n resolve();\n } else {\n reject('Invalid email address');\n }\n });\n };\n }\n break;\n\n default:\n console.error('SweetAlert2: Unexpected type of argument! Expected \"string\" or \"object\", got ' + _typeof(args[0]));\n return false;\n }\n\n setParameters(params);\n\n var container = getContainer();\n var modal = getModal();\n\n return new Promise(function (resolve, reject) {\n // Close on timer\n if (params.timer) {\n modal.timeout = setTimeout(function () {\n sweetAlert.closeModal(params.onClose);\n reject('timer');\n }, params.timer);\n }\n\n // Get input element by specified type or, if type isn't specified, by params.input\n var getInput = function getInput(inputType) {\n inputType = inputType || params.input;\n if (!inputType) {\n return null;\n }\n switch (inputType) {\n case 'select':\n case 'textarea':\n case 'file':\n return getChildByClass(modal, swalClasses[inputType]);\n case 'checkbox':\n return modal.querySelector('.' + swalClasses.checkbox + ' input');\n case 'radio':\n return modal.querySelector('.' + swalClasses.radio + ' input:checked') || modal.querySelector('.' + swalClasses.radio + ' input:first-child');\n case 'range':\n return modal.querySelector('.' + swalClasses.range + ' input');\n default:\n return getChildByClass(modal, swalClasses.input);\n }\n };\n\n // Get the value of the modal input\n var getInputValue = function getInputValue() {\n var input = getInput();\n if (!input) {\n return null;\n }\n switch (params.input) {\n case 'checkbox':\n return input.checked ? 1 : 0;\n case 'radio':\n return input.checked ? input.value : null;\n case 'file':\n return input.files.length ? input.files[0] : null;\n default:\n return params.inputAutoTrim ? input.value.trim() : input.value;\n }\n };\n\n // input autofocus\n if (params.input) {\n setTimeout(function () {\n var input = getInput();\n if (input) {\n focusInput(input);\n }\n }, 0);\n }\n\n var confirm = function confirm(value) {\n if (params.showLoaderOnConfirm) {\n sweetAlert.showLoading();\n }\n\n if (params.preConfirm) {\n params.preConfirm(value, params.extraParams).then(function (preConfirmValue) {\n sweetAlert.closeModal(params.onClose);\n resolve(preConfirmValue || value);\n }, function (error) {\n sweetAlert.hideLoading();\n if (error) {\n sweetAlert.showValidationError(error);\n }\n });\n } else {\n sweetAlert.closeModal(params.onClose);\n resolve(value);\n }\n };\n\n // Mouse interactions\n var onButtonEvent = function onButtonEvent(event) {\n var e = event || window.event;\n var target = e.target || e.srcElement;\n var confirmButton = getConfirmButton();\n var cancelButton = getCancelButton();\n var targetedConfirm = confirmButton === target || confirmButton.contains(target);\n var targetedCancel = cancelButton === target || cancelButton.contains(target);\n\n switch (e.type) {\n case 'mouseover':\n case 'mouseup':\n if (params.buttonsStyling) {\n if (targetedConfirm) {\n confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.1);\n } else if (targetedCancel) {\n cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.1);\n }\n }\n break;\n case 'mouseout':\n if (params.buttonsStyling) {\n if (targetedConfirm) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n } else if (targetedCancel) {\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n }\n }\n break;\n case 'mousedown':\n if (params.buttonsStyling) {\n if (targetedConfirm) {\n confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.2);\n } else if (targetedCancel) {\n cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.2);\n }\n }\n break;\n case 'click':\n // Clicked 'confirm'\n if (targetedConfirm && sweetAlert.isVisible()) {\n sweetAlert.disableButtons();\n if (params.input) {\n (function () {\n var inputValue = getInputValue();\n\n if (params.inputValidator) {\n sweetAlert.disableInput();\n params.inputValidator(inputValue, params.extraParams).then(function () {\n sweetAlert.enableButtons();\n sweetAlert.enableInput();\n confirm(inputValue);\n }, function (error) {\n sweetAlert.enableButtons();\n sweetAlert.enableInput();\n if (error) {\n sweetAlert.showValidationError(error);\n }\n });\n } else {\n confirm(inputValue);\n }\n })();\n } else {\n confirm(true);\n }\n\n // Clicked 'cancel'\n } else if (targetedCancel && sweetAlert.isVisible()) {\n sweetAlert.disableButtons();\n sweetAlert.closeModal(params.onClose);\n reject('cancel');\n }\n break;\n default:\n }\n };\n\n var buttons = modal.querySelectorAll('button');\n for (var i = 0; i < buttons.length; i++) {\n buttons[i].onclick = onButtonEvent;\n buttons[i].onmouseover = onButtonEvent;\n buttons[i].onmouseout = onButtonEvent;\n buttons[i].onmousedown = onButtonEvent;\n }\n\n // Closing modal by close button\n getCloseButton().onclick = function () {\n sweetAlert.closeModal(params.onClose);\n reject('close');\n };\n\n // Closing modal by overlay click\n container.onclick = function (e) {\n if (e.target !== container) {\n return;\n }\n if (params.allowOutsideClick) {\n sweetAlert.closeModal(params.onClose);\n reject('overlay');\n }\n };\n\n var confirmButton = getConfirmButton();\n var cancelButton = getCancelButton();\n\n // Reverse buttons (Confirm on the right side)\n if (params.reverseButtons) {\n confirmButton.parentNode.insertBefore(cancelButton, confirmButton);\n } else {\n confirmButton.parentNode.insertBefore(confirmButton, cancelButton);\n }\n\n // Focus handling\n var setFocus = function setFocus(index, increment) {\n var focusableElements = getFocusableElements(params.focusCancel);\n // search for visible elements and select the next possible match\n for (var _i2 = 0; _i2 < focusableElements.length; _i2++) {\n index = index + increment;\n\n // rollover to first item\n if (index === focusableElements.length) {\n index = 0;\n\n // go to last item\n } else if (index === -1) {\n index = focusableElements.length - 1;\n }\n\n // determine if element is visible\n var el = focusableElements[index];\n if (isVisible(el)) {\n return el.focus();\n }\n }\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n var e = event || window.event;\n var keyCode = e.keyCode || e.which;\n\n if ([9, 13, 32, 27].indexOf(keyCode) === -1) {\n // Don't do work on keys we don't care about.\n return;\n }\n\n var targetElement = e.target || e.srcElement;\n\n var focusableElements = getFocusableElements(params.focusCancel);\n var btnIndex = -1; // Find the button - note, this is a nodelist, not an array.\n for (var _i3 = 0; _i3 < focusableElements.length; _i3++) {\n if (targetElement === focusableElements[_i3]) {\n btnIndex = _i3;\n break;\n }\n }\n\n // TAB\n if (keyCode === 9) {\n if (!e.shiftKey) {\n // Cycle to the next button\n setFocus(btnIndex, 1);\n } else {\n // Cycle to the prev button\n setFocus(btnIndex, -1);\n }\n e.stopPropagation();\n e.preventDefault();\n\n // ENTER/SPACE\n } else if (keyCode === 13 || keyCode === 32) {\n if (btnIndex === -1 && params.allowEnterKey) {\n // ENTER/SPACE clicked outside of a button.\n if (params.focusCancel) {\n fireClick(cancelButton, e);\n } else {\n fireClick(confirmButton, e);\n }\n }\n // ESC\n } else if (keyCode === 27 && params.allowEscapeKey === true) {\n sweetAlert.closeModal(params.onClose);\n reject('esc');\n }\n };\n\n states.previousWindowKeyDown = window.onkeydown;\n window.onkeydown = handleKeyDown;\n\n // Loading state\n if (params.buttonsStyling) {\n confirmButton.style.borderLeftColor = params.confirmButtonColor;\n confirmButton.style.borderRightColor = params.confirmButtonColor;\n }\n\n /**\n * Show spinner instead of Confirm button and disable Cancel button\n */\n sweetAlert.showLoading = sweetAlert.enableLoading = function () {\n show(getSpacer());\n show(confirmButton, 'inline-block');\n addClass(confirmButton, swalClasses.loading);\n addClass(modal, swalClasses.loading);\n confirmButton.disabled = true;\n cancelButton.disabled = true;\n };\n\n /**\n * Show spinner instead of Confirm button and disable Cancel button\n */\n sweetAlert.hideLoading = sweetAlert.disableLoading = function () {\n if (!params.showConfirmButton) {\n hide(confirmButton);\n if (!params.showCancelButton) {\n hide(getSpacer());\n }\n }\n removeClass(confirmButton, swalClasses.loading);\n removeClass(modal, swalClasses.loading);\n confirmButton.disabled = false;\n cancelButton.disabled = false;\n };\n\n sweetAlert.getTitle = function () {\n return getTitle();\n };\n sweetAlert.getContent = function () {\n return getContent();\n };\n sweetAlert.getInput = function () {\n return getInput();\n };\n sweetAlert.getImage = function () {\n return getImage();\n };\n sweetAlert.getConfirmButton = function () {\n return getConfirmButton();\n };\n sweetAlert.getCancelButton = function () {\n return getCancelButton();\n };\n\n sweetAlert.enableButtons = function () {\n confirmButton.disabled = false;\n cancelButton.disabled = false;\n };\n\n sweetAlert.disableButtons = function () {\n confirmButton.disabled = true;\n cancelButton.disabled = true;\n };\n\n sweetAlert.enableConfirmButton = function () {\n confirmButton.disabled = false;\n };\n\n sweetAlert.disableConfirmButton = function () {\n confirmButton.disabled = true;\n };\n\n sweetAlert.enableInput = function () {\n var input = getInput();\n if (!input) {\n return false;\n }\n if (input.type === 'radio') {\n var radiosContainer = input.parentNode.parentNode;\n var radios = radiosContainer.querySelectorAll('input');\n for (var _i4 = 0; _i4 < radios.length; _i4++) {\n radios[_i4].disabled = false;\n }\n } else {\n input.disabled = false;\n }\n };\n\n sweetAlert.disableInput = function () {\n var input = getInput();\n if (!input) {\n return false;\n }\n if (input && input.type === 'radio') {\n var radiosContainer = input.parentNode.parentNode;\n var radios = radiosContainer.querySelectorAll('input');\n for (var _i5 = 0; _i5 < radios.length; _i5++) {\n radios[_i5].disabled = true;\n }\n } else {\n input.disabled = true;\n }\n };\n\n // Set modal min-height to disable scrolling inside the modal\n sweetAlert.recalculateHeight = debounce(function () {\n var modal = getModal();\n if (!modal) {\n return;\n }\n var prevState = modal.style.display;\n modal.style.minHeight = '';\n show(modal);\n modal.style.minHeight = modal.scrollHeight + 1 + 'px';\n modal.style.display = prevState;\n }, 50);\n\n // Show block with validation error\n sweetAlert.showValidationError = function (error) {\n var validationError = getValidationError();\n validationError.innerHTML = error;\n show(validationError);\n\n var input = getInput();\n if (input) {\n focusInput(input);\n addClass(input, swalClasses.inputerror);\n }\n };\n\n // Hide block with validation error\n sweetAlert.resetValidationError = function () {\n var validationError = getValidationError();\n hide(validationError);\n sweetAlert.recalculateHeight();\n\n var input = getInput();\n if (input) {\n removeClass(input, swalClasses.inputerror);\n }\n };\n\n sweetAlert.getProgressSteps = function () {\n return params.progressSteps;\n };\n\n sweetAlert.setProgressSteps = function (progressSteps) {\n params.progressSteps = progressSteps;\n setParameters(params);\n };\n\n sweetAlert.showProgressSteps = function () {\n show(getProgressSteps());\n };\n\n sweetAlert.hideProgressSteps = function () {\n hide(getProgressSteps());\n };\n\n sweetAlert.enableButtons();\n sweetAlert.hideLoading();\n sweetAlert.resetValidationError();\n\n // inputs\n var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n var input = void 0;\n for (var _i6 = 0; _i6 < inputTypes.length; _i6++) {\n var inputClass = swalClasses[inputTypes[_i6]];\n var inputContainer = getChildByClass(modal, inputClass);\n input = getInput(inputTypes[_i6]);\n\n // set attributes\n if (input) {\n for (var j in input.attributes) {\n if (input.attributes.hasOwnProperty(j)) {\n var attrName = input.attributes[j].name;\n if (attrName !== 'type' && attrName !== 'value') {\n input.removeAttribute(attrName);\n }\n }\n }\n for (var attr in params.inputAttributes) {\n input.setAttribute(attr, params.inputAttributes[attr]);\n }\n }\n\n // set class\n inputContainer.className = inputClass;\n if (params.inputClass) {\n addClass(inputContainer, params.inputClass);\n }\n\n hide(inputContainer);\n }\n\n var populateInputOptions = void 0;\n\n (function () {\n switch (params.input) {\n case 'text':\n case 'email':\n case 'password':\n case 'number':\n case 'tel':\n input = getChildByClass(modal, swalClasses.input);\n input.value = params.inputValue;\n input.placeholder = params.inputPlaceholder;\n input.type = params.input;\n show(input);\n break;\n case 'file':\n input = getChildByClass(modal, swalClasses.file);\n input.placeholder = params.inputPlaceholder;\n input.type = params.input;\n show(input);\n break;\n case 'range':\n var range = getChildByClass(modal, swalClasses.range);\n var rangeInput = range.querySelector('input');\n var rangeOutput = range.querySelector('output');\n rangeInput.value = params.inputValue;\n rangeInput.type = params.input;\n rangeOutput.value = params.inputValue;\n show(range);\n break;\n case 'select':\n var select = getChildByClass(modal, swalClasses.select);\n select.innerHTML = '';\n if (params.inputPlaceholder) {\n var placeholder = document.createElement('option');\n placeholder.innerHTML = params.inputPlaceholder;\n placeholder.value = '';\n placeholder.disabled = true;\n placeholder.selected = true;\n select.appendChild(placeholder);\n }\n populateInputOptions = function populateInputOptions(inputOptions) {\n for (var optionValue in inputOptions) {\n var option = document.createElement('option');\n option.value = optionValue;\n option.innerHTML = inputOptions[optionValue];\n if (params.inputValue === optionValue) {\n option.selected = true;\n }\n select.appendChild(option);\n }\n show(select);\n select.focus();\n };\n break;\n case 'radio':\n var radio = getChildByClass(modal, swalClasses.radio);\n radio.innerHTML = '';\n populateInputOptions = function populateInputOptions(inputOptions) {\n for (var radioValue in inputOptions) {\n var radioInput = document.createElement('input');\n var radioLabel = document.createElement('label');\n var radioLabelSpan = document.createElement('span');\n radioInput.type = 'radio';\n radioInput.name = swalClasses.radio;\n radioInput.value = radioValue;\n if (params.inputValue === radioValue) {\n radioInput.checked = true;\n }\n radioLabelSpan.innerHTML = inputOptions[radioValue];\n radioLabel.appendChild(radioInput);\n radioLabel.appendChild(radioLabelSpan);\n radioLabel.for = radioInput.id;\n radio.appendChild(radioLabel);\n }\n show(radio);\n var radios = radio.querySelectorAll('input');\n if (radios.length) {\n radios[0].focus();\n }\n };\n break;\n case 'checkbox':\n var checkbox = getChildByClass(modal, swalClasses.checkbox);\n var checkboxInput = getInput('checkbox');\n checkboxInput.type = 'checkbox';\n checkboxInput.value = 1;\n checkboxInput.id = swalClasses.checkbox;\n checkboxInput.checked = Boolean(params.inputValue);\n var label = checkbox.getElementsByTagName('span');\n if (label.length) {\n checkbox.removeChild(label[0]);\n }\n label = document.createElement('span');\n label.innerHTML = params.inputPlaceholder;\n checkbox.appendChild(label);\n show(checkbox);\n break;\n case 'textarea':\n var textarea = getChildByClass(modal, swalClasses.textarea);\n textarea.value = params.inputValue;\n textarea.placeholder = params.inputPlaceholder;\n show(textarea);\n break;\n case null:\n break;\n default:\n console.error('SweetAlert2: Unexpected type of input! Expected \"text\", \"email\", \"password\", \"select\", \"checkbox\", \"textarea\" or \"file\", got \"' + params.input + '\"');\n break;\n }\n })();\n\n if (params.input === 'select' || params.input === 'radio') {\n if (params.inputOptions instanceof Promise) {\n sweetAlert.showLoading();\n params.inputOptions.then(function (inputOptions) {\n sweetAlert.hideLoading();\n populateInputOptions(inputOptions);\n });\n } else if (_typeof(params.inputOptions) === 'object') {\n populateInputOptions(params.inputOptions);\n } else {\n console.error('SweetAlert2: Unexpected type of inputOptions! Expected object or Promise, got ' + _typeof(params.inputOptions));\n }\n }\n\n openModal(params.animation, params.onOpen);\n\n // Focus the first element (input or button)\n if (params.allowEnterKey) {\n setFocus(-1, 1);\n } else {\n if (document.activeElement) {\n document.activeElement.blur();\n }\n }\n\n // fix scroll\n getContainer().scrollTop = 0;\n\n // Observe changes inside the modal and adjust height\n if (typeof MutationObserver !== 'undefined' && !swal2Observer) {\n swal2Observer = new MutationObserver(sweetAlert.recalculateHeight);\n swal2Observer.observe(modal, { childList: true, characterData: true, subtree: true });\n }\n });\n};\n\n/*\n * Global function to determine if swal2 modal is shown\n */\nsweetAlert.isVisible = function () {\n return !!getModal();\n};\n\n/*\n * Global function for chaining sweetAlert modals\n */\nsweetAlert.queue = function (steps) {\n queue = steps;\n var resetQueue = function resetQueue() {\n queue = [];\n document.body.removeAttribute('data-swal2-queue-step');\n };\n var queueResult = [];\n return new Promise(function (resolve, reject) {\n (function step(i, callback) {\n if (i < queue.length) {\n document.body.setAttribute('data-swal2-queue-step', i);\n\n sweetAlert(queue[i]).then(function (result) {\n queueResult.push(result);\n step(i + 1, callback);\n }, function (dismiss) {\n resetQueue();\n reject(dismiss);\n });\n } else {\n resetQueue();\n resolve(queueResult);\n }\n })(0);\n });\n};\n\n/*\n * Global function for getting the index of current modal in queue\n */\nsweetAlert.getQueueStep = function () {\n return document.body.getAttribute('data-swal2-queue-step');\n};\n\n/*\n * Global function for inserting a modal to the queue\n */\nsweetAlert.insertQueueStep = function (step, index) {\n if (index && index < queue.length) {\n return queue.splice(index, 0, step);\n }\n return queue.push(step);\n};\n\n/*\n * Global function for deleting a modal from the queue\n */\nsweetAlert.deleteQueueStep = function (index) {\n if (typeof queue[index] !== 'undefined') {\n queue.splice(index, 1);\n }\n};\n\n/*\n * Global function to close sweetAlert\n */\nsweetAlert.close = sweetAlert.closeModal = function (onComplete) {\n var container = getContainer();\n var modal = getModal();\n if (!modal) {\n return;\n }\n removeClass(modal, swalClasses.show);\n addClass(modal, swalClasses.hide);\n clearTimeout(modal.timeout);\n\n resetPrevState();\n\n var removeModalAndResetState = function removeModalAndResetState() {\n container.parentNode.removeChild(container);\n removeClass(document.documentElement, swalClasses.shown);\n removeClass(document.body, swalClasses.shown);\n undoScrollbar();\n undoIOSfix();\n };\n\n // If animation is supported, animate\n if (animationEndEvent && !hasClass(modal, swalClasses.noanimation)) {\n modal.addEventListener(animationEndEvent, function swalCloseEventFinished() {\n modal.removeEventListener(animationEndEvent, swalCloseEventFinished);\n if (hasClass(modal, swalClasses.hide)) {\n removeModalAndResetState();\n }\n });\n } else {\n // Otherwise, remove immediately\n removeModalAndResetState();\n }\n if (onComplete !== null && typeof onComplete === 'function') {\n setTimeout(function () {\n onComplete(modal);\n });\n }\n};\n\n/*\n * Global function to click 'Confirm' button\n */\nsweetAlert.clickConfirm = function () {\n return getConfirmButton().click();\n};\n\n/*\n * Global function to click 'Cancel' button\n */\nsweetAlert.clickCancel = function () {\n return getCancelButton().click();\n};\n\n/**\n * Set default params for each popup\n * @param {Object} userParams\n */\nsweetAlert.setDefaults = function (userParams) {\n if (!userParams || (typeof userParams === 'undefined' ? 'undefined' : _typeof(userParams)) !== 'object') {\n return console.error('SweetAlert2: the argument for setDefaults() is required and has to be a object');\n }\n\n for (var param in userParams) {\n if (!defaultParams.hasOwnProperty(param) && param !== 'extraParams') {\n console.warn('SweetAlert2: Unknown parameter \"' + param + '\"');\n delete userParams[param];\n }\n }\n\n _extends(modalParams, userParams);\n};\n\n/**\n * Reset default params for each popup\n */\nsweetAlert.resetDefaults = function () {\n modalParams = _extends({}, defaultParams);\n};\n\nsweetAlert.noop = function () {};\n\nsweetAlert.version = '6.4.2';\n\nsweetAlert.default = sweetAlert;\n\nreturn sweetAlert;\n\n})));\nif (window.Sweetalert2) window.sweetAlert = window.swal = window.Sweetalert2;","var QRCode;!function(){function t(t){this.mode=l.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(var e=0,r=this.data.length;r>e;e++){var i=[],n=this.data.charCodeAt(e);n>65536?(i[0]=240|(1835008&n)>>>18,i[1]=128|(258048&n)>>>12,i[2]=128|(4032&n)>>>6,i[3]=128|63&n):n>2048?(i[0]=224|(61440&n)>>>12,i[1]=128|(4032&n)>>>6,i[2]=128|63&n):n>128?(i[0]=192|(1984&n)>>>6,i[1]=128|63&n):i[0]=n,this.parsedData.push(i)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function e(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function r(t,e){if(void 0==t.length)throw new Error(t.length+\"/\"+e);for(var r=0;r=n;n++){var a=0;switch(e){case u.L:a=p[n][0];break;case u.M:a=p[n][1];break;case u.Q:a=p[n][2];break;case u.H:a=p[n][3]}if(a>=i)break;r++}if(r>p.length)throw new Error(\"Too long data\");return r}function h(t){var e=encodeURI(t).toString().replace(/\\%[0-9a-fA-F]{2}/g,\"a\");return e.length+(e.length!=t?3:0)}t.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(var e=0,r=this.parsedData.length;r>e;e++)t.put(this.parsedData[e],8)}},e.prototype={addData:function(e){var r=new t(e);this.dataList.push(r),this.dataCache=null},isDark:function(t,e){if(0>t||this.moduleCount<=t||0>e||this.moduleCount<=e)throw new Error(t+\",\"+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,r){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var i=0;i=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)},setupPositionProbePattern:function(t,e){for(var r=-1;7>=r;r++)if(!(-1>=t+r||this.moduleCount<=t+r))for(var i=-1;7>=i;i++)-1>=e+i||this.moduleCount<=e+i||(r>=0&&6>=r&&(0==i||6==i)||i>=0&&6>=i&&(0==r||6==r)||r>=2&&4>=r&&i>=2&&4>=i?this.modules[t+r][e+i]=!0:this.modules[t+r][e+i]=!1)},getBestMaskPattern:function(){for(var t=0,e=0,r=0;8>r;r++){this.makeImpl(!0,r);var i=d.getLostPoint(this);(0==r||t>i)&&(t=i,e=r)}return e},createMovieClip:function(t,e,r){var i=t.createEmptyMovieClip(e,r),n=1;this.make();for(var o=0;o=o;o++)for(var a=-2;2>=a;a++)-2==o||2==o||-2==a||2==a||0==o&&0==a?this.modules[i+o][n+a]=!0:this.modules[i+o][n+a]=!1}},setupTypeNumber:function(t){for(var e=d.getBCHTypeNumber(this.typeNumber),r=0;18>r;r++){var i=!t&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=i}for(var r=0;18>r;r++){var i=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=i}},setupTypeInfo:function(t,e){for(var r=this.errorCorrectLevel<<3|e,i=d.getBCHTypeInfo(r),n=0;15>n;n++){var o=!t&&1==(i>>n&1);6>n?this.modules[n][8]=o:8>n?this.modules[n+1][8]=o:this.modules[this.moduleCount-15+n][8]=o}for(var n=0;15>n;n++){var o=!t&&1==(i>>n&1);8>n?this.modules[8][this.moduleCount-n-1]=o:9>n?this.modules[8][15-n-1+1]=o:this.modules[8][15-n-1]=o}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var r=-1,i=this.moduleCount-1,n=7,o=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;2>s;s++)if(null==this.modules[i][a-s]){var h=!1;o>>n&1));var l=d.getMask(e,i,a-s);l&&(h=!h),this.modules[i][a-s]=h,n--,-1==n&&(o++,n=7)}if(i+=r,0>i||this.moduleCount<=i){i-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(t,r,o){for(var a=i.getRSBlocks(t,r),s=new n,h=0;h8*u)throw new Error(\"code length overflow. (\"+s.getLengthInBits()+\">\"+8*u+\")\");for(s.getLengthInBits()+4<=8*u&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(!1);for(;;){if(s.getLengthInBits()>=8*u)break;if(s.put(e.PAD0,8),s.getLengthInBits()>=8*u)break;s.put(e.PAD1,8)}return e.createBytes(s,a)},e.createBytes=function(t,e){for(var i=0,n=0,o=0,a=new Array(e.length),s=new Array(e.length),h=0;h=0?p.get(m):0}}for(var v=0,c=0;cc;c++)for(var h=0;hc;c++)for(var h=0;h=0;)e^=d.G15<=0;)e^=d.G18<>>=1;return e},getPatternPosition:function(t){return d.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case c.PATTERN000:return(e+r)%2==0;case c.PATTERN001:return e%2==0;case c.PATTERN010:return r%3==0;case c.PATTERN011:return(e+r)%3==0;case c.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case c.PATTERN101:return e*r%2+e*r%3==0;case c.PATTERN110:return(e*r%2+e*r%3)%2==0;case c.PATTERN111:return(e*r%3+(e+r)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new r([1],0),i=0;t>i;i++)e=e.multiply(new r([1,f.gexp(i)],0));return e},getLengthInBits:function(t,e){if(e>=1&&10>e)switch(t){case l.MODE_NUMBER:return 10;case l.MODE_ALPHA_NUM:return 9;case l.MODE_8BIT_BYTE:return 8;case l.MODE_KANJI:return 8;default:throw new Error(\"mode:\"+t)}else if(27>e)switch(t){case l.MODE_NUMBER:return 12;case l.MODE_ALPHA_NUM:return 11;case l.MODE_8BIT_BYTE:return 16;case l.MODE_KANJI:return 10;default:throw new Error(\"mode:\"+t)}else{if(!(41>e))throw new Error(\"type:\"+e);switch(t){case l.MODE_NUMBER:return 14;case l.MODE_ALPHA_NUM:return 13;case l.MODE_8BIT_BYTE:return 16;case l.MODE_KANJI:return 12;default:throw new Error(\"mode:\"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),r=0,i=0;e>i;i++)for(var n=0;e>n;n++){for(var o=0,a=t.isDark(i,n),s=-1;1>=s;s++)if(!(0>i+s||i+s>=e))for(var h=-1;1>=h;h++)0>n+h||n+h>=e||(0!=s||0!=h)&&a==t.isDark(i+s,n+h)&&o++;o>5&&(r+=3+o-5)}for(var i=0;e-1>i;i++)for(var n=0;e-1>n;n++){var l=0;t.isDark(i,n)&&l++,t.isDark(i+1,n)&&l++,t.isDark(i,n+1)&&l++,t.isDark(i+1,n+1)&&l++,(0==l||4==l)&&(r+=3)}for(var i=0;e>i;i++)for(var n=0;e-6>n;n++)t.isDark(i,n)&&!t.isDark(i,n+1)&&t.isDark(i,n+2)&&t.isDark(i,n+3)&&t.isDark(i,n+4)&&!t.isDark(i,n+5)&&t.isDark(i,n+6)&&(r+=40);for(var n=0;e>n;n++)for(var i=0;e-6>i;i++)t.isDark(i,n)&&!t.isDark(i+1,n)&&t.isDark(i+2,n)&&t.isDark(i+3,n)&&t.isDark(i+4,n)&&!t.isDark(i+5,n)&&t.isDark(i+6,n)&&(r+=40);for(var u=0,n=0;e>n;n++)for(var i=0;e>i;i++)t.isDark(i,n)&&u++;var c=Math.abs(100*u/e/e-50)/5;return r+=10*c}},f={glog:function(t){if(1>t)throw new Error(\"glog(\"+t+\")\");return f.LOG_TABLE[t]},gexp:function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return f.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},g=0;8>g;g++)f.EXP_TABLE[g]=1<g;g++)f.EXP_TABLE[g]=f.EXP_TABLE[g-4]^f.EXP_TABLE[g-5]^f.EXP_TABLE[g-6]^f.EXP_TABLE[g-8];for(var g=0;255>g;g++)f.LOG_TABLE[f.EXP_TABLE[g]]=g;r.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=new Array(this.getLength()+t.getLength()-1),i=0;ia;a++)for(var s=r[3*a+0],h=r[3*a+1],l=r[3*a+2],u=0;s>u;u++)o.push(new i(h,l));return o},i.getRsBlockTable=function(t,e){switch(e){case u.L:return i.RS_BLOCK_TABLE[4*(t-1)+0];case u.M:return i.RS_BLOCK_TABLE[4*(t-1)+1];case u.Q:return i.RS_BLOCK_TABLE[4*(t-1)+2];case u.H:return i.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},n.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var r=0;e>r;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var p=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]],m=function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){function e(t,e){var r=document.createElementNS(\"http://www.w3.org/2000/svg\",t);for(var i in e)e.hasOwnProperty(i)&&r.setAttribute(i,e[i]);return r}var r=this._htOption,i=this._el,n=t.getModuleCount();Math.floor(r.width/n),Math.floor(r.height/n);this.clear();var o=e(\"svg\",{viewBox:\"0 0 \"+String(n)+\" \"+String(n),width:\"100%\",height:\"100%\",fill:r.colorLight});o.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),i.appendChild(o),o.appendChild(e(\"rect\",{fill:r.colorLight,width:\"100%\",height:\"100%\"})),o.appendChild(e(\"rect\",{fill:r.colorDark,width:\"1\",height:\"1\",id:\"template\"}));for(var a=0;n>a;a++)for(var s=0;n>s;s++)if(t.isDark(a,s)){var h=e(\"use\",{x:String(s),y:String(a)});h.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",\"#template\"),o.appendChild(h)}},t.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},t}(),v=\"svg\"===document.documentElement.tagName.toLowerCase(),w=v?m:o()?function(){function t(){this._elImage.src=this._elCanvas.toDataURL(\"image/png\"),this._elImage.style.display=\"block\",this._elCanvas.style.display=\"none\"}function e(t,e){var r=this;if(r._fFail=e,r._fSuccess=t,null===r._bSupportDataURI){var i=document.createElement(\"img\"),n=function(){r._bSupportDataURI=!1,r._fFail&&r._fFail.call(r)},o=function(){r._bSupportDataURI=!0,r._fSuccess&&r._fSuccess.call(r)};return i.onabort=n,i.onerror=n,i.onload=o,void(i.src=\"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\")}r._bSupportDataURI===!0&&r._fSuccess?r._fSuccess.call(r):r._bSupportDataURI===!1&&r._fFail&&r._fFail.call(r)}if(this._android&&this._android<=2.1){var r=1/window.devicePixelRatio,i=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(t,e,n,o,a,s,h,l,u){if(\"nodeName\"in t&&/img/i.test(t.nodeName))for(var c=arguments.length-1;c>=1;c--)arguments[c]=arguments[c]*r;else\"undefined\"==typeof l&&(arguments[1]*=r,arguments[2]*=r,arguments[3]*=r,arguments[4]*=r);i.apply(this,arguments)}}var n=function(t,e){this._bIsPainted=!1,this._android=a(),this._htOption=e,this._elCanvas=document.createElement(\"canvas\"),this._elCanvas.width=e.width,this._elCanvas.height=e.height,t.appendChild(this._elCanvas),this._el=t,this._oContext=this._elCanvas.getContext(\"2d\"),this._bIsPainted=!1,this._elImage=document.createElement(\"img\"),this._elImage.alt=\"Scan me!\",this._elImage.style.display=\"none\",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return n.prototype.draw=function(t){var e=this._elImage,r=this._oContext,i=this._htOption,n=t.getModuleCount(),o=i.width/n,a=i.height/n,s=Math.round(o),h=Math.round(a);e.style.display=\"none\",this.clear();for(var l=0;n>l;l++)for(var u=0;n>u;u++){var c=t.isDark(l,u),d=u*o,f=l*a;r.strokeStyle=c?i.colorDark:i.colorLight,r.lineWidth=1,r.fillStyle=c?i.colorDark:i.colorLight,r.fillRect(d,f,o,a),r.strokeRect(Math.floor(d)+.5,Math.floor(f)+.5,s,h),r.strokeRect(Math.ceil(d)-.5,Math.ceil(f)-.5,s,h)}this._bIsPainted=!0},n.prototype.makeImage=function(){this._bIsPainted&&e.call(this,t)},n.prototype.isPainted=function(){return this._bIsPainted},n.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},n.prototype.round=function(t){return t?Math.floor(1e3*t)/1e3:t},n}():function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){for(var e=this._htOption,r=this._el,i=t.getModuleCount(),n=Math.floor(e.width/i),o=Math.floor(e.height/i),a=['
'],s=0;i>s;s++){a.push(\"\");for(var h=0;i>h;h++)a.push('');a.push(\"\")}a.push(\"
\"),r.innerHTML=a.join(\"\");var l=r.childNodes[0],u=(e.width-l.offsetWidth)/2,c=(e.height-l.offsetHeight)/2;u>0&&c>0&&(l.style.margin=c+\"px \"+u+\"px\")},t.prototype.clear=function(){this._el.innerHTML=\"\"},t}();QRCode=function(t,e){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:\"#000000\",colorLight:\"#ffffff\",correctLevel:u.H},\"string\"==typeof e&&(e={text:e}),e)for(var r in e)this._htOption[r]=e[r];\"string\"==typeof t&&(t=document.getElementById(t)),this._htOption.useSVG&&(w=m),this._android=a(),this._el=t,this._oQRCode=null,this._oDrawing=new w(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},QRCode.prototype.makeCode=function(t){this._oQRCode=new e(s(t,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(t),this._oQRCode.make(),this._el.title=t,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){\"function\"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=u}(),function(t,e,r){function i(t,e){var r=g({},b,e||{},p(t));r.imageSelector&&(r.image=h(r.imageSelector).map(function(t){return t.src}).join(\"||\")),u(t,\"share-component social-share\"),n(t,r),o(t,r),t.initialized=!0}function n(t,e){var r=a(e),i=\"prepend\"==e.mode;v(i?r.reverse():r,function(r){var n=s(r,e),o=e.initialized?d(t,\"icon-\"+r):f('');return o.length?(o[0].href=n,\"wechat\"===r?o[0].tabindex=-1:o[0].target=\"_blank\",void(e.initialized||(i?t.insertBefore(o[0],t.firstChild):t.appendChild(o[0])))):!0})}function o(t,e){var r=d(t,\"icon-wechat\",\"a\");if(0===r.length)return!1;var i=f('

'+e.wechatQrcodeTitle+'

'+e.wechatQrcodeHelper+\"
\"),n=d(i[0],\"qrcode\",\"div\");r[0].appendChild(i[0]),new QRCode(n[0],{text:e.url,width:e.wechatQrcodeSize,height:e.wechatQrcodeSize})}function a(t){t.mobileSites.length||(t.mobileSites=t.sites);var e=(A?t.mobileSites:t.sites).slice(0),r=t.disabled;return\"string\"==typeof e&&(e=e.split(/\\s*,\\s*/)),\"string\"==typeof r&&(r=r.split(/\\s*,\\s*/)),E&&r.push(\"wechat\"),r.length&&v(r,function(t){e.splice(m(t,e),1)}),e}function s(t,e){return e.summary=e.description,B[t].replace(/\\{\\{(\\w)(\\w*)\\}\\}/g,function(i,n,o){var a=t+n+o.toLowerCase();return o=(n+o).toLowerCase(),encodeURIComponent((e[a]===r?e[o]:e[a])||\"\")})}function h(r){return(e.querySelectorAll||t.jQuery||t.Zepto||l).call(e,r)}function l(t){var r=[];return v(t.split(/\\s*,\\s*/),function(i){var n=i.match(/([#.])(\\w+)/);if(null===n)throw Error(\"Supports only simple single #ID or .CLASS selector.\");if(n[1]){var o=e.getElementById(n[2]);o&&r.push(o)}r=r.concat(d(t))}),r}function u(t,e){if(e&&\"string\"==typeof e){var r=(t.className+\" \"+e).split(/\\s+/),i=\" \";v(r,function(t){i.indexOf(\" \"+t+\" \")<0&&(i+=t+\" \")}),t.className=i.slice(1,-1)}}function c(t){return(e.getElementsByName(t)[0]||0).content}function d(t,e,r){if(t.getElementsByClassName)return t.getElementsByClassName(e);var i=[],n=t.getElementsByTagName(r||\"*\");return e=\" \"+e+\" \",v(n,function(t){(\" \"+(t.className||\"\")+\" \").indexOf(e)>=0&&i.push(t)}),i}function f(t){var r=e.createElement(\"div\");return r.innerHTML=t,r.childNodes}function g(){var t=arguments;if(C)return C.apply(null,t);var e={};return v(t,function(t){v(t,function(t,r){e[r]=t})}),t[0]=e}function p(t){if(t.dataset)return t.dataset;var e={};return t.hasAttributes()?(v(t.attributes,function(t){var r=t.name;return 0!==r.indexOf(\"data-\")?!0:(r=r.replace(/^data-/i,\"\").replace(/-(\\w)/g,function(t,e){return e.toUpperCase()}),void(e[r]=t.value))}),e):{}}function m(t,e,r){var i;if(e){if(_)return _.call(e,t,r);for(i=e.length,r=r?0>r?Math.max(0,i+r):r:0;i>r;r++)if(r in e&&e[r]===t)return r}return-1}function v(t,e){var i=t.length;if(i===r){for(var n in t)if(t.hasOwnProperty(n)&&e.call(t[n],t[n],n)===!1)break}else for(var o=0;i>o&&e.call(t[o],t[o],o)!==!1;o++);}function w(r){var i=\"addEventListener\",n=e[i]?\"\":\"on\";~e.readyState.indexOf(\"m\")?r():\"load DOMContentLoaded readystatechange\".replace(/\\w+/g,function(o,a){(a?e:t)[n?\"attachEvent\":i](n+o,function(){r&&(6>a||~e.readyState.indexOf(\"m\"))&&(r(),r=0)},!1)})}var _=Array.prototype.indexOf,C=Object.assign,E=/MicroMessenger/i.test(navigator.userAgent),A=e.documentElement.clientWidth<=768,T=(e.images[0]||0).src||\"\",y=c(\"site\")||c(\"Site\")||e.title,L=c(\"title\")||c(\"Title\")||e.title,D=c(\"description\")||c(\"Description\")||\"\",b={url:location.href,origin:location.origin,source:y,title:L,description:D,image:T,imageSelector:r,weiboKey:\"\",wechatQrcodeTitle:\"微信扫一扫:分享\",wechatQrcodeHelper:\"

微信里点“发现”,扫一下

二维码便可将本文分享至朋友圈。

\",wechatQrcodeSize:100,sites:[\"weibo\",\"qq\",\"wechat\",\"tencent\",\"douban\",\"qzone\",\"linkedin\",\"diandian\",\"facebook\",\"twitter\",\"google\"],mobileSites:[],disabled:[],initialized:!1},B={qzone:\"http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={{URL}}&title={{TITLE}}&desc={{DESCRIPTION}}&summary={{SUMMARY}}&site={{SOURCE}}\",qq:\"http://connect.qq.com/widget/shareqq/index.html?url={{URL}}&title={{TITLE}}&source={{SOURCE}}&desc={{DESCRIPTION}}&pics={{IMAGE}}\",tencent:\"http://share.v.t.qq.com/index.php?c=share&a=index&title={{TITLE}}&url={{URL}}&pic={{IMAGE}}\",weibo:\"http://service.weibo.com/share/share.php?url={{URL}}&title={{TITLE}}&pic={{IMAGE}}&appkey={{WEIBOKEY}}\",wechat:\"javascript:\",douban:\"http://shuo.douban.com/!service/share?href={{URL}}&name={{TITLE}}&text={{DESCRIPTION}}&image={{IMAGE}}&starid=0&aid=0&style=11\",diandian:\"http://www.diandian.com/share?lo={{URL}}&ti={{TITLE}}&type=link\",linkedin:\"http://www.linkedin.com/shareArticle?mini=true&ro=true&title={{TITLE}}&url={{URL}}&summary={{SUMMARY}}&source={{SOURCE}}&armin=armin\",facebook:\"https://www.facebook.com/sharer/sharer.php?u={{URL}}\",twitter:\"https://twitter.com/intent/tweet?text={{TITLE}}&url={{URL}}&via={{ORIGIN}}\",google:\"https://plus.google.com/share?url={{URL}}\"};t.socialShare=function(t,e){t=\"string\"==typeof t?h(t):t,t.length===r&&(t=[t]),v(t,function(t){t.initialized||i(t,e)})},w(function(){socialShare(\".social-share, .share-component\")})}(window,document);","\n(function($){\n\n var original_title = document.title;\n var nCount = 0;\n\n var PHPHub = {\n init: function(){\n var self = this;\n $(document).pjax('a:not(a[target=\"_blank\"])', 'body', {\n timeout: 1600,\n maxCacheLength: 500\n });\n $(document).on('pjax:start', function() {\n NProgress.start();\n });\n $(document).on('pjax:end', function() {\n NProgress.done();\n self.siteBootUp();\n // Fixing popover persist problem\n $('.popover').remove();\n });\n $(document).on('pjax:complete', function() {\n original_title = document.title;\n NProgress.done();\n self._resetTitle();\n });\n // Exclude links with a specific class\n $(document).on(\"pjax:click\", \"a.no-pjax\", false);\n\n self.siteBootUp();\n self.initLightBox();\n self.initNotificationsCount();\n window.showMsg = self.showMsg;\n window.showPluginDownload = self.showPluginDownload;\n\n if (ShowCrxHint === 'yes') {\n showPluginDownload();\n }\n\n Messenger.options = {\n extraClasses: 'messenger-fixed messenger-on-bottom messenger-on-right',\n theme: 'flat'\n }\n },\n\n /*\n * Things to be execute when normal page load\n * and pjax page load.\n */\n siteBootUp: function(){\n var self = this;\n self.initExternalLink();\n self.initTimeAgo();\n self.initEmoji();\n // self.initAutocompleteAtUser();\n self.initScrollToTop();\n self.initPopup();\n self.initTextareaAutoResize();\n self.initHeightLight();\n self.initLocalStorage();\n self.initEditorPreview();\n self.initReplyOnPressKey();\n self.initDeleteForm();\n\n self.initInlineAttach();\n // self.snowing();\n self.forceImageDataType();\n self.initToolTips();\n self.initAjax();\n self.initLogin();\n self.initEditBtnAnimated();\n self.initAnchorific();\n self.initIinfiniteScroll();\n self.initSticky();\n self.initSubmitBtn();\n self.initLostPass();\n },\n\n initSubmitBtn: function(){\n $('button.loading-on-clicked[type=\"submit\"]').click(function() {\n $(this).button('loading');\n });\n },\n\n initSticky: function(){\n if ($(window).width() > 991) {\n $(\"#sticker\").sticky({topSpacing:20});\n }\n },\n\n initIinfiniteScroll: function(){\n var self = this;\n $('.jscroll').jscroll({\n loadingHtml: '
Loading...
',\n padding: 20,\n nextSelector: '.pagination li:last-child a',\n contentSelector: '.jscroll',\n pagingSelector: '.panel-footer',\n maxPages: 2,\n callback: function() {\n self.initTimeAgo();\n $('.panel-footer').hide();\n }\n });\n },\n\n initAnchorific: function(){\n if ($('.anchorific').length == 0) {\n $('div.entry-content').anchorific({\n navigation: '.anchorific', // position of navigation\n speed: 200, // speed of sliding back to top\n anchorClass: 'anchorific', // class of anchor links\n anchorText: '#', // prepended or appended to anchor headings\n top: '.top', // back to top button or link class\n spy: true, // scroll spy\n position: 'append', // position of anchor text\n spyOffset: 0 // specify heading offset for spy scrolling\n });\n }\n },\n /**\n * Open External Links In New Window\n */\n initExternalLink: function(){\n $('.topics-show a[href^=\"http://\"], .topics-show a[href^=\"https://\"]').each(function() {\n var a = new RegExp('/' + window.location.host + '/');\n if(!a.test(this.href) ) {\n $(this).click(function(event) {\n event.preventDefault();\n event.stopPropagation();\n window.open(this.href, '_blank');\n });\n }\n });\n },\n\n /**\n * Automatically transform any Date format to human\n * friendly format, all you need to do is add a\n * `.timeago` class.\n */\n initTimeAgo: function(){\n moment.lang('zh-cn');\n $('.timeago').each(function(){\n var time_str = $(this).text();\n if(moment(time_str, \"YYYY-MM-DD HH:mm:ss\", true).isValid()) {\n $(this).text(moment(time_str).fromNow());\n }\n\n $(this).addClass('popover-with-html');\n $(this).attr('data-content', time_str);\n });\n },\n\n /**\n * Enable emoji everywhere.\n */\n initEmoji: function(){\n emojify.setConfig({\n img_dir : Config.cdnDomain + 'assets/images/emoji',\n ignored_tags : {\n 'SCRIPT' : 1,\n 'TEXTAREA': 1,\n 'A' : 1,\n 'PRE' : 1,\n 'CODE' : 1\n }\n });\n emojify.run();\n\n $('#reply_content').textcomplete([\n { // emoji strategy\n match: /\\B:([\\-+\\w]*)$/,\n search: function (term, callback) {\n callback($.map(emojies, function (emoji) {\n return emoji.indexOf(term) === 0 ? emoji : null;\n }));\n },\n template: function (value) {\n return '' + value;\n },\n replace: function (value) {\n return ':' + value + ': ';\n },\n index: 1,\n maxCount: 5\n }\n ]);\n },\n\n /**\n * Autocomplete @user\n */\n initAutocompleteAtUser: function() {\n var at_users = Config.following_users,\n user;\n $users = $('.topic .meta a.author, .media-heading a.author');\n for (var i = 0; i < $users.length; i++) {\n user = $users.eq(i).text().trim();\n if ($.inArray(user, at_users) == -1) {\n at_users.push(user);\n };\n };\n\n $('textarea').textcomplete([{\n mentions: at_users,\n match: /\\B@(\\S*)$/,\n search: function(term, callback) {\n callback($.map(this.mentions, function(mention) {\n console.log(term + ' -> '+ mention.indexOf(term) + ' -> ' + mention);\n return (mention.indexOf(term) >= 0 // 中文\n || mention.indexOf(term.toUpperCase()) >= 0 // 大写\n || mention.indexOf(term.toLowerCase()) >= 0 // 小写\n ) ? mention : null;\n }));\n },\n index: 1,\n replace: function(mention) {\n return '@' + mention + ' ';\n }\n }], {\n appendTo: 'body',\n onKeydown: function(e, commands){\n console.log(commands);\n }\n });\n\n },\n\n /**\n * Autoresizing the textarea when you typing.\n */\n initTextareaAutoResize: function(){\n $('textarea').autosize();\n },\n\n /**\n * Scroll to top in one click.\n */\n initScrollToTop: function(){\n $.scrollUp.init();\n },\n\n /**\n * Scroll to top in one click.\n */\n initPopup: function(){\n // Popover with html\n $('.popover-with-html').popover({\n\t\t\t\t html : true,\n\t\t\t\t trigger : 'hover',\n container: 'body',\n\t\t\t\t placement: 'auto top',\n\t\t\t });\n },\n\n /**\n * Code heightlight.\n */\n initHeightLight: function(){\n Prism.highlightAll();\n },\n\n /**\n * lightbox\n */\n initLightBox: function(){\n $(document).delegate('.content-body img:not(.emoji)', 'click', function(event) {\n event.preventDefault();\n return $(this).ekkoLightbox({\n onShown: function() {\n if (window.console) {\n // return console.log('Checking our the events huh?');\n }\n }\n });\n });\n $(document).delegate('.appends-container img:not(.emoji)', 'click', function(event) {\n event.preventDefault();\n return $(this).ekkoLightbox({\n onShown: function() {\n if (window.console) {\n // return console.log('Checking our the events huh?');\n }\n }\n });\n });\n },\n\n /**\n * do content preview\n */\n runPreview: function() {\n var replyContent = $(\"#reply_content\");\n var oldContent = replyContent.val();\n\n if (oldContent) {\n marked(oldContent, function (err, content) {\n $('#preview-box').html(content);\n emojify.run(document.getElementById('preview-box'));\n });\n }\n },\n\n /**\n * Init post content preview\n */\n initEditorPreview: function() {\n var self = this;\n $(\"#reply_content\").focus(function(event) {\n // $(\"#reply_notice\").addClass('animated pulse');\n $(\"#preview-box\").fadeIn(1500);\n $(\"#preview-lable\").fadeIn(1500);\n\n // Scroll to bottom\n // if (!$(\"#reply_content\").val()) {\n // $(\"html, body\").animate({ scrollTop: $(document).height()}, 1800);\n // }\n });\n // $(\"#reply_content\").blur(function(event) {\n // $(\"#reply_notice\").removeClass('animated swing');\n // });\n $('#reply_content').keyup(function(){\n self.runPreview();\n });\n },\n\n /**\n * Notify user unread notifications when they stay on the\n * page for too long.\n */\n initNotificationsCount: function(argumen) {\n var self = this;\n if (Config.user_id > 0 && Config.environment != 'local') {\n function scheduleGetNotification(){\n $.get( Config.routes.notificationsCount, function( data ) {\n\n nCount = parseInt(data);\n self._resetTitle();\n setTimeout(scheduleGetNotification, 15000);\n });\n };\n setTimeout(scheduleGetNotification, 15000);\n }\n },\n\n _resetTitle: function() {\n\n if(window.location.href.indexOf(\"notifications\") > -1) {\n nCount = 0;\n }\n\n if (nCount > 0) {\n $('#notification-count').text(nCount);\n $('#notification-count').hasClass('badge-important') || $('#notification-count').addClass('badge-important');\n document.title = '(' + nCount + ') '+ original_title;\n } else {\n document.title = original_title;\n $('#notification-count').text(0);\n $('#notification-count').addClass('badge-fade');\n $('#notification-count').removeClass('badge-important');\n }\n },\n\n /*\n * Use Ctrl + Enter for reply\n */\n initReplyOnPressKey: function() {\n $(document).on(\"keydown\", \"#reply_content\", function(e)\n {\n if ((e.keyCode == 10 || e.keyCode == 13) && e.ctrlKey && $('#reply-create-submit').is(':enabled')) {\n $(this).parents(\"form\").submit();\n return false;\n }\n });\n },\n\n /*\n * Construct a form when using the following code, makes more clean code.\n * {{ link_to_route('tasks.destroy', 'D', $task->id, ['data-method'=>'delete']) }}\n * See this answer: http://stackoverflow.com/a/23082278/689832\n */\n initDeleteForm: function() {\n $('[data-method]').append(function(){\n return \"\\n\"+\n \"
\\n\"+\n \" \\n\"+\n \" \\n\"+\n \"
\\n\"\n })\n .attr('style','cursor:pointer;')\n .click(function() {\n var that = $(this);\n if ($(this).attr('data-method') == 'delete') {\n swal({\n title: \"\",\n text: \"你确定要删除此内容吗?\",\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"删除\"\n }).then(function(){\n that.find(\"form\").submit();\n }).catch(swal.noop);\n }\n if ($(this).attr('data-btn') == 'transform-button') {\n swal({\n title: \"\",\n text: \"确定要把此话题转换为专栏文章?\",\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"转为文章\"\n }).then(function(){\n that.find(\"form\").submit();\n }).catch(swal.noop);\n }\n if ($(this).attr('data-method') == 'post') {\n $(this).find(\"form\").submit();\n }\n });\n // attr('onclick',' if (confirm(\"Are you sure want to proceed?\")) { $(this).find(\"form\").submit(); };');\n },\n\n /**\n * Local Storage\n */\n initLocalStorage: function() {\n var self = this;\n $(\"#reply_content\").focus(function(event) {\n\n // Topic Title ON Topic Creation View\n localforage.getItem('topic-title', function(err, value) {\n if ($('.topic_create #topic-title').val() == '' && !err) {\n $('.topic_create #topic-title').val(value);\n };\n });\n $('.topic_create #topic-title').keyup(function(){\n localforage.setItem('topic-title', $(this).val());\n });\n\n // Topic Content ON Topic Creation View\n localforage.getItem('topic_create_content', function(err, value) {\n if ($('.topic_create #reply_content').val() == '' && !err) {\n $('.topic_create #reply_content').val(value);\n self.runPreview();\n }\n });\n $('.topic_create #reply_content').keyup(function(){\n localforage.setItem('topic_create_content', $(this).val());\n });\n\n // Reply Content ON Topic Detail View\n localforage.getItem('reply_content', function(err, value) {\n if ($('.topics-show #reply_content').val() == '' && !err) {\n $('.topics-show #reply_content').val(value);\n self.runPreview();\n }\n });\n $('.topics-show #reply_content').keyup(function(){\n localforage.setItem('reply_content', $(this).val());\n });\n })\n\n // Clear Local Storage on submit\n $(\"#article-create-form\").submit(function(event){\n localStorage.removeItem('smde_article_content');\n localforage.removeItem('article-title');\n $(\".submit-btn\").text('提交中...').addClass('disabled').prop('disabled', true);\n });\n $(\"#topic-create-form\").submit(function(event){\n localStorage.removeItem('smde_topic_content');\n localforage.removeItem('topic-title');\n $(\".submit-btn\").text('提交中...').addClass('disabled').prop('disabled', true);\n });\n\n $(\"#article-edit-form\").submit(function(event){\n localStorage.removeItem('smde_article_content'+Config.article_id);\n $(\".submit-btn\").text('提交中...').addClass('disabled').prop('disabled', true);\n });\n $(\"#topic-edit-form\").submit(function(event){\n localStorage.removeItem('smde_topic_content'+Config.topic_id);\n console.log('smde_topic_content'+Config.topic_id);\n $(\".submit-btn\").text('提交中...').addClass('disabled').prop('disabled', true);\n });\n\n var allow_submit = false;\n\n $(\".topic-form\").submit(function(event){\n\n var title = $('#topic-title').val();\n var cid = $('#category-select').val();\n\n console.log(title);\n console.log(cid);\n\n if ( ! allow_submit && cid == Config.qa_category_id) {\n event.preventDefault();\n } else {\n return;\n }\n\n if ( cid == Config.qa_category_id && ! title.includes('?') && ! title.includes('?')) {\n swal({\n title: \"\",\n text: '问答话题的标题必须带问号❓',\n type: \"error\",\n confirmButtonText: \"我知道了\"\n }).catch(swal.noop);\n } else if (cid == Config.qa_category_id) {\n\n swal.setDefaults({\n input: 'text',\n confirmButtonText: '下一个 →',\n animation: false,\n progressSteps: ['1', '2', '3', '4'],\n allowOutsideClick: false,\n allowEscapeKey: false\n })\n\n var steps = [\n {\n title: '搜索为先',\n html: '你是否已经尝试过 站内搜索Google 搜索
请回答:已尝试过搜索'\n },\n {\n title: '提问的智慧',\n html: '你是否已经阅读过 《提问的智慧》
请回答:已阅读'\n },\n {\n title: '排版是最基本的礼仪',\n html: '你是否知道排版错落帖子将会被 下沉
请回答:我已知悉'\n },\n {\n title: 'Markdown 代码高亮',\n html: '我们对代码块不使用高亮的态度是 零容忍
请回答:我会使用高亮'\n }\n ]\n\n swal.queue(steps).then(function (result) {\n swal.resetDefaults()\n var text = '恭喜你💐,现在你可以发布问题啦。';\n var type = 'success';\n var confirmButtonText = '提交问题';\n var showCancelButton = true;\n console.log(result);\n console.log(result[0]);\n if (\n result[0] != '已尝试过搜索'\n || result[1] != '已阅读'\n || result[2] != '我已知悉'\n || result[3] != '我会使用高亮'\n ) {\n text = '回答有误,请严格按照建议进行回答。';\n type = 'error';\n confirmButtonText = '再尝试一遍';\n showCancelButton = false;\n allow_submit = false;\n } else {\n allow_submit = true;\n }\n\n swal({\n title: '',\n text: text,\n type: type,\n confirmButtonText: confirmButtonText,\n showCancelButton: showCancelButton,\n cancelButtonText: '修改问题',\n allowOutsideClick: false,\n allowEscapeKey: false\n }).then(function () {\n\n $('.topic-form').submit();\n\n }).catch(swal.noop)\n\n }, function () {\n\n swal.resetDefaults()\n\n }).catch(swal.noop)\n\n } else {\n\n }\n\n });\n\n\n $(\"#reply-form\").submit(function(event){\n localforage.removeItem('reply_content');\n });\n },\n\n /**\n * Upload image\n */\n initInlineAttach: function() {\n var self = this;\n $('#reply_content').inlineattach({\n uploadUrl: Config.routes.upload_image,\n extraParams: {\n '_token': Config.token,\n },\n onUploadedFile: function(response) {\n setTimeout(self.runPreview, 200);\n },\n });\n },\n\n /**\n * Snowing around the world\n */\n snowing: function() {\n\n // only show snow in Christmas\n var today = new Date()\n var christmas = new Date(today.getFullYear(), 11, 25) // Month is 0-11 in JavaScript\n if (today.getMonth() == 11 && (today.getDate() > 22 && today.getDate() < 30))\n {\n $('#body').snowfall({\n flakeCount: 100,\n minSize: 2,\n maxSize:5,\n round: true\n });\n }\n },\n\n /**\n * Force image data type, fixing the \"Could not detect remote target type...\"\n * problem.\n */\n forceImageDataType: function() {\n $('.content-body img:not(.emoji)').each(function(){\n $(this).attr('data-type', 'image');\n });\n },\n\n initToolTips: function() {\n $('[data-toggle=\"tooltip\"]').tooltip();\n },\n\n initAjax: function() {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('meta[name=\"_token\"]').attr('content')\n }\n });\n\n this.initDataAjax();\n this.initAppendsModal();\n this.initComment();\n },\n\n initComment: function() {\n var self = this;\n var form = $('#reply-form');\n var submitBtn = form.find('input[type=submit]');\n var submitBtnVal = submitBtn.val();\n var replies = $('.replies .list-group');\n var preview = $('#preview-box');\n var emptyBlock = $('#replies-empty-block');\n var count = 0;\n\n form.on('submit', function() {\n var tpl = '';\n var delTpl = '';\n var voteTpl = '';\n var introTpl = '';\n var badgeTpl = '';\n var total = $('.replies .total b');\n\n count = replies.find('li').length + 1;\n comment = $(this).find('textarea');\n commentText = comment.val();\n\n if ($.trim(commentText) !== '') {\n submitBtn.val('提交中...').addClass('disabled').prop('disabled', true);\n $.ajax({\n method: 'POST',\n url: $(this).attr('action'),\n data: {\n body: commentText,\n topic_id: $('[name=topic_id]').val()\n },\n }).done(function(data) {\n if (data.status === 200) {\n if (data.manage_topics === 'yes') {\n delTpl = '';\n }\n\n if (data.reply.user.introduction) {\n introTpl = ',' + data.reply.user.introduction;\n }\n if (Config.user_badge) {\n badgeTpl = '
\\\n ' + Config.user_badge +'\\\n
';\n }\n\n tpl = '
  • \\\n
    \\\n \"'\\\n ' + badgeTpl +'
    \\\n
    \\\n
    \\\n ' + data.reply.user.name + '\\\n ' + introTpl + '\\\n ' + delTpl + '\\\n \\\n
    \\\n #' + count + '\\\n \\\n ' + data.reply.created_at + '\\\n
    \\\n
    \\\n
    ' + data.reply.body + '
    \\\n
    \\\n
  • ';\n }\n\n $(tpl).hide().appendTo(replies).slideDown();\n total.html(parseInt(total.html()) + 1);\n emptyBlock.addClass('hide');\n comment.val('');\n localforage.removeItem('reply_content');\n preview.html('');\n location.href = location.href.split('#')[0] + '#reply' + count;\n self.initTimeAgo();\n self.showPluginDownload();\n emojify.run();\n }).always(function() {\n submitBtn.val(submitBtnVal).removeClass('disabled').prop('disabled', false);\n });\n }\n\n return false;\n });\n },\n\n initAppendsModal: function() {\n var self = this;\n var appendsContainer = $('.topic .appends-container');\n var appendText = appendsContainer.data('lang-append');\n var modal = $('#exampleModal');\n var submitBtn = modal.find('button[type=submit]');\n var count = 0;\n var appendMsg = '';\n\n modal.find('form').on('submit', function() {\n var tpl = '';\n count = appendsContainer.find('.appends').length;\n appendMsg = $(this).find('textarea').val();\n\n if ($.trim(appendMsg) !== '') {\n submitBtn.html('提交中...').addClass('disabled').prop('disabled', true);\n $.ajax({\n method: 'POST',\n url: $(this).attr('action'),\n data: {\n content: appendMsg\n },\n }).done(function(data) {\n if (data.status === 200) {\n tpl += '
    ';\n tpl += '' + appendText + ' ' + count + '  ·  ' + data.append.created_at + '';\n tpl += '
    ';\n tpl += '
    ';\n tpl += data.append.content;\n tpl += '
    ';\n tpl += '
    ';\n }\n\n $(tpl).hide().appendTo(appendsContainer).slideDown();\n self.initTimeAgo();\n modal.modal('hide');\n });\n }\n\n return false;\n });\n\n modal.on('hidden.bs.modal', function() {\n $(this).find('textarea').val('');\n submitBtn.html('提交').removeClass('disabled').prop('disabled', false);\n });\n },\n\n initDataAjax: function() {\n var self = this;\n $(document).on('click', '[data-ajax]', function() {\n var that = $(this);\n var method = that.data('ajax');\n var url = that.data('url');\n var active = that.is('.active');\n var cancelText = that.data('lang-cancel');\n var isRecomend = that.is('#topic-recomend-button');\n var isWiki = that.is('#topic-wiki-button');\n var ribbonContainer = $('.topic .ribbon-container');\n var ribbon = $('.topic .ribbon');\n var excellent = $('.topic .ribbon-excellent');\n var wiki = $('.topic .ribbon-wiki');\n var total = $('.replies .total b');\n var voteCount = $('#vote-count');\n var upVote = $('#up-vote');\n var isVote = that.is('.vote');\n var isUpVote = that.is('#up-vote');\n var isCommentVote= that.is('.comment-vote');\n var commenVoteCount= that.find('.vote-count');\n var emptyBlock = $('#replies-empty-block');\n var originUpVoteActive = upVote.is('.active');\n\n if (Config.user_id === 0) {\n swal({\n title: \"\",\n text: '需要登录以后才能执行此操作。',\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"前往登录\"\n }).then(function(){\n\n location.href = '/login-required';\n\n }).catch(swal.noop);\n }\n\n if (method === 'delete') {\n swal({\n title: \"\",\n text: \"Are you sure want to proceed?\",\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"删除\"\n }).then(function(){\n that.closest('.list-group-item').slideUp();\n $.ajax({\n method: method,\n url: url\n }).done(function(data) {\n if (data.status === 200) {\n that.closest('.list-group-item').remove();\n total.html(parseInt(total.html()) - 1);\n if (parseInt(total.html()) === 0) {\n emptyBlock.removeClass('hide');\n }\n }\n }).fail(function() {\n that.closest('.list-group-item').show();\n });\n }).catch(swal.noop);\n\n return;\n }\n\n if (that.is('.ajax-loading')) return;\n that.addClass('ajax-loading');\n\n if (active) {\n that.removeClass('active');\n that.removeClass('animated rubberBand');\n\n if (isRecomend) {\n excellent.hide();\n } else if (isWiki) {\n wiki.hide();\n }\n\n if (isVote) {\n // @CJ 如果是点赞,并且是已经点过赞的点赞,那就是去除点赞\n $('.user-lists').find(\"a[data-userId='\"+Config.user_id+\"']\").fadeOut('slow/400/fast', function() {\n $(this).remove();\n });\n }\n } else {\n that.addClass('active');\n that.addClass('animated rubberBand');\n\n if (cancelText) {\n that.find('span').html(cancelText);\n self.showPluginDownload();\n }\n\n if (isRecomend) {\n var excellentText = ribbonContainer.data('lang-excellent');\n if (excellent.length) {\n excellent.show();\n } else {\n if (ribbon.length) {\n ribbon.prepend('
    ' + excellentText + '
    ');\n } else {\n ribbonContainer.prepend('
    ' + excellentText + '
    ');\n }\n }\n } else if (isWiki) {\n var wikiText = ribbonContainer.data('lang-wiki');\n if (wiki.length) {\n wiki.show();\n } else {\n if (ribbon.length) {\n ribbon.append('
    ' + wikiText + '
    ');\n } else {\n ribbonContainer.append('
    ' + wikiText + '
    ');\n }\n }\n }\n\n if (isVote && Config.user_id > 0) {\n // @CJ 如果是点赞,并且是没有点过赞的\n var newContent = $('.voted-template').clone();\n newContent.attr('data-userId', Config.user_id);\n newContent.attr('href', Config.user_link);\n newContent.find('img').attr('src', Config.user_avatar);\n\n newContent.prependTo('.user-lists').show('fast', function() {\n $(this).addClass('animated swing');\n });\n\n $('.vote-hint').hide();\n }\n }\n\n $.ajax({\n method: method,\n url: url\n }).done(function(data) {\n if (data.status === 200) {\n if (isCommentVote) {\n var num = parseInt(commenVoteCount.html());\n num = isNaN(num) ? 0 : num;\n\n if (data.type === 'sub') {\n commenVoteCount.html(num - 1 < 1 ? '' : num - 1);\n } else if (data.type === 'add') {\n commenVoteCount.html(num + 1);\n }\n }\n }\n }).fail(function() {\n if (!active) {\n that.removeClass('active');\n\n if (isRecomend) {\n excellent.hide();\n } else if (isWiki) {\n wiki.hide();\n }\n } else {\n that.addClass('active');\n\n if (cancelText) {\n that.find('span').html(cancelText);\n }\n\n if (isRecomend) {\n excellent.show();\n } else if (isWiki) {\n wiki.show();\n }\n }\n\n if (isVote) {\n if (originUpVoteActive) {\n upVote.addClass('active');\n } else {\n upVote.removeClass('active');\n }\n }\n })\n .always(function() {\n that.removeClass('ajax-loading');\n });\n });\n },\n\n showMsg: function(msg, myobj) {\n if (!msg) return;\n Messenger().post(msg);\n },\n\n showPluginDownload: function() {\n this.showMsg('操作成功', {\n type: 'success',\n timer: 8000\n });\n },\n\n initLostPass: function() {\n $('.forget-password').on('click', function(e) {\n swal({\n title: \"忘记密码?\",\n text: '请使用微信和 Github 账号尝试,能够直接登录即为注册过的账号。',\n type: \"warning\",\n confirmButtonText: \"知道了\"\n }).then(function() {\n }).catch(swal.noop);\n });\n },\n\n initLogin: function() {\n $('#login-out').on('click', function(e) {\n var langText = $(this).data('lang-loginout');\n var href = $(this).attr('href');\n\n swal({\n title: \"\",\n text: langText,\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"退出\"\n }).then(function() {\n location.href = href;\n }).catch(swal.noop);\n\n return false;\n });\n },\n initEditBtnAnimated: function() {\n $('.topic-author-box .panel-body').hover(function() {\n $('.edit-btn').toggleClass('infinite');\n });\n\n $(\".bootstrap-switch\").bootstrapSwitch();\n },\n\n };\n window.PHPHub = PHPHub;\n})(jQuery);\n\n$(document).ready(function()\n{\n PHPHub.init();\n});\n\n// reply a reply\nfunction replyOne(username){\n replyContent = $(\"#reply_content\");\n oldContent = replyContent.val();\n prefix = \"@\" + username + \" \";\n newContent = ''\n if(oldContent.length > 0){\n if (oldContent != prefix) {\n newContent = oldContent + \"\\n\" + prefix;\n }\n } else {\n newContent = prefix\n }\n replyContent.focus();\n replyContent.val(newContent);\n moveEnd($(\"#reply_content\"));\n}\n\nvar moveEnd = function(obj){\n obj.focus();\n\n var len = obj.value === undefined ? 0 : obj.value.length;\n\n if (document.selection) {\n var sel = obj.createTextRange();\n sel.moveStart('character',len);\n sel.collapse();\n sel.select();\n } else if (typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') {\n obj.selectionStart = obj.selectionEnd = len;\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["jquery.min.js","bootstrap.min.js","moment.min.js","zh-cn.min.js","emojify.min.js","jquery.scrollUp.js","jquery.pjax.js","nprogress.js","jquery.autosize.min.js","prism.js","jquery.textcomplete.js","emoji.js","marked.min.js","ekko-lightbox.js","localforage.min.js","jquery.inline-attach.min.js","snowfall.jquery.min.js","upload-image.js","bootstrap-switch.js","messenger.js","anchorific.js","analytics.js","jquery.jscroll.js","jquery.highlight.js","jquery.sticky.js","sweetalert.js","social-share.min.js","main.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;ACJA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;ACLA;ACAA;AACA;AACA;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC51BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5dA;AACA;AACA;AACA;AACA;AACA;AACA;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpKA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5VA;ACAA;AACA;ACDA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3xCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1OA;AACA;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3hDA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"scripts.js","sourcesContent":["/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */\n!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error(\"jQuery requires a window with a document\");return b(a)}:b(a)}(\"undefined\"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=\"1.11.1\",m=function(a,b){return new m.fn.init(a,b)},n=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,o=/^-ms-/,p=/-([\\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:\"\",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for(\"boolean\"==typeof g&&(j=g,g=arguments[h]||{},h++),\"object\"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:\"jQuery\"+(l+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return\"function\"===m.type(a)},isArray:Array.isArray||function(a){return\"array\"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||\"object\"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,\"constructor\")&&!j.call(a.constructor.prototype,\"isPrototypeOf\"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+\"\":\"object\"==typeof a||\"function\"==typeof a?h[i.call(a)]||\"object\":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,\"ms-\").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?\"\":(a+\"\").replace(n,\"\")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,\"string\"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return\"string\"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"),function(a,b){h[\"[object \"+b+\"]\"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return\"function\"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:\"array\"===c||0===b||\"number\"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=\"sizzle\"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C=\"undefined\",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",M=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",N=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",O=N.replace(\"w\",\"w#\"),P=\"\\\\[\"+M+\"*(\"+N+\")(?:\"+M+\"*([*^$|!~]?=)\"+M+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+O+\"))|)\"+M+\"*\\\\]\",Q=\":(\"+N+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+P+\")*)|.*)\\\\)|)\",R=new RegExp(\"^\"+M+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+M+\"+$\",\"g\"),S=new RegExp(\"^\"+M+\"*,\"+M+\"*\"),T=new RegExp(\"^\"+M+\"*([>+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(\"=\"+M+\"*([^\\\\]'\\\"]*?)\"+M+\"*\\\\]\",\"g\"),V=new RegExp(Q),W=new RegExp(\"^\"+O+\"$\"),X={ID:new RegExp(\"^#(\"+N+\")\"),CLASS:new RegExp(\"^\\\\.(\"+N+\")\"),TAG:new RegExp(\"^(\"+N.replace(\"w\",\"w*\")+\")\"),ATTR:new RegExp(\"^\"+P),PSEUDO:new RegExp(\"^\"+Q),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+L+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\\d$/i,$=/^[^{]+\\{\\s*\\[native \\w/,_=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ab=/[+~]/,bb=/'|\\\\/g,cb=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+M+\"?|(\"+M+\")|.)\",\"ig\"),db=function(a,b,c){var d=\"0x\"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||\"string\"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&\"object\"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute(\"id\"))?s=r.replace(bb,\"\\\\$&\"):b.setAttribute(\"id\",s),s=\"[id='\"+s+\"'] \",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(\",\")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute(\"id\")}}}return i(a.replace(R,\"$1\"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+\" \")>d.cacheLength&&delete b[a.shift()],b[c+\" \"]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement(\"div\");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split(\"|\"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return\"input\"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return(\"input\"===c||\"button\"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?\"HTML\"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener(\"unload\",function(){m()},!1):g.attachEvent&&g.attachEvent(\"onunload\",function(){m()})),c.attributes=ib(function(a){return a.className=\"i\",!a.getAttribute(\"className\")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML=\"
    \",a.firstChild.className=\"i\",2===a.getElementsByClassName(\"i\").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute(\"id\")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode(\"id\");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if(\"*\"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML=\"\",a.querySelectorAll(\"[msallowclip^='']\").length&&q.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),a.querySelectorAll(\"[selected]\").length||q.push(\"\\\\[\"+M+\"*(?:value|\"+L+\")\"),a.querySelectorAll(\":checked\").length||q.push(\":checked\")}),ib(function(a){var b=e.createElement(\"input\");b.setAttribute(\"type\",\"hidden\"),a.appendChild(b).setAttribute(\"name\",\"D\"),a.querySelectorAll(\"[name=d]\").length&&q.push(\"name\"+M+\"*[*^$|!~]?=\"),a.querySelectorAll(\":enabled\").length||q.push(\":enabled\",\":disabled\"),a.querySelectorAll(\"*,:x\"),q.push(\",.*:\")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,\"div\"),s.call(a,\"[s!='']:x\"),r.push(\"!=\",Q)}),q=q.length&&new RegExp(q.join(\"|\")),r=r.length&&new RegExp(r.join(\"|\")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,\"='$1']\"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error(\"Syntax error, unrecognized expression: \"+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c=\"\",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if(\"string\"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||\"\").replace(cb,db),\"~=\"===a[2]&&(a[3]=\" \"+a[3]+\" \"),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),\"nth\"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*(\"even\"===a[3]||\"odd\"===a[3])),a[5]=+(a[7]+a[8]||\"odd\"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||\"\":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(\")\",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return\"*\"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+\" \"];return b||(b=new RegExp(\"(^|\"+M+\")\"+a+\"(\"+M+\"|$)\"))&&y(a,function(a){return b.test(\"string\"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute(\"class\")||\"\")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?\"!=\"===b:b?(e+=\"\",\"=\"===b?e===c:\"!=\"===b?e!==c:\"^=\"===b?c&&0===e.indexOf(c):\"*=\"===b?c&&e.indexOf(c)>-1:\"$=\"===b?c&&e.slice(-c.length)===c:\"~=\"===b?(\" \"+e+\" \").indexOf(c)>-1:\"|=\"===b?e===c||e.slice(0,c.length+1)===c+\"-\":!1):!0}},CHILD:function(a,b,c,d,e){var f=\"nth\"!==a.slice(0,3),g=\"last\"!==a.slice(-4),h=\"of-type\"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?\"nextSibling\":\"previousSibling\",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p=\"only\"===a&&!o&&\"nextSibling\"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error(\"unsupported pseudo: \"+a);return e[u]?e(b):e.length>1?(c=[a,a,\"\",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,\"$1\"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||\"\")||fb.error(\"unsupported lang: \"+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute(\"xml:lang\")||b.getAttribute(\"lang\"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+\"-\");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&!!a.checked||\"option\"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&\"button\"===a.type||\"button\"===b},text:function(a){var b;return\"input\"===a.nodeName.toLowerCase()&&\"text\"===a.type&&(null==(b=a.getAttribute(\"type\"))||\"text\"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&\"parentNode\"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||\"*\",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[\" \"],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:\" \"===a[i-2].type?\"*\":\"\"})).replace(R,\"$1\"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q=\"0\",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG(\"*\",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+\" \"];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n=\"function\"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&\"ID\"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split(\"\").sort(B).join(\"\")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement(\"div\"))}),ib(function(a){return a.innerHTML=\"\",\"#\"===a.firstChild.getAttribute(\"href\")})||jb(\"type|href|height|width\",function(a,b,c){return c?void 0:a.getAttribute(b,\"type\"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML=\"\",a.firstChild.setAttribute(\"value\",\"\"),\"\"===a.firstChild.getAttribute(\"value\")})||jb(\"value\",function(a,b,c){return c||\"input\"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute(\"disabled\")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[\":\"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,v=/^.[^:#\\[\\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if(\"string\"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=\":not(\"+a+\")\"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if(\"string\"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+\" \"+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,\"string\"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if(\"string\"==typeof a){if(c=\"<\"===a.charAt(0)&&\">\"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?\"undefined\"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||\"string\"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?\"string\"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,\"parentNode\")},parentsUntil:function(a,b,c){return m.dir(a,\"parentNode\",c)},next:function(a){return D(a,\"nextSibling\")},prev:function(a){return D(a,\"previousSibling\")},nextAll:function(a){return m.dir(a,\"nextSibling\")},prevAll:function(a){return m.dir(a,\"previousSibling\")},nextUntil:function(a,b,c){return m.dir(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return m.dir(a,\"previousSibling\",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,\"iframe\")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return\"Until\"!==a.slice(-5)&&(d=c),d&&\"string\"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a=\"string\"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);\"function\"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&\"string\"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[[\"resolve\",\"done\",m.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",m.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",m.Callbacks(\"memory\")]],c=\"pending\",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+\"With\"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+\"With\"](this===e?d:this,arguments),this},e[f[0]+\"With\"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler(\"ready\"),m(y).off(\"ready\")))}}});function I(){y.addEventListener?(y.removeEventListener(\"DOMContentLoaded\",J,!1),a.removeEventListener(\"load\",J,!1)):(y.detachEvent(\"onreadystatechange\",J),a.detachEvent(\"onload\",J))}function J(){(y.addEventListener||\"load\"===event.type||\"complete\"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),\"complete\"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener(\"DOMContentLoaded\",J,!1),a.addEventListener(\"load\",J,!1);else{y.attachEvent(\"onreadystatechange\",J),a.attachEvent(\"onload\",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll(\"left\")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K=\"undefined\",L;for(L in m(k))break;k.ownLast=\"0\"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName(\"body\")[0],c&&c.style&&(b=y.createElement(\"div\"),d=y.createElement(\"div\"),d.style.cssText=\"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText=\"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1\",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement(\"div\");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+\" \").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute(\"classid\")===b};var M=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d=\"data-\"+b.replace(N,\"-$1\").toLowerCase();if(c=a.getAttribute(d),\"string\"==typeof c){try{c=\"true\"===c?!0:\"false\"===c?!1:\"null\"===c?null:+c+\"\"===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if((\"data\"!==b||!m.isEmptyObject(a[b]))&&\"toJSON\"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;\nif(k&&j[k]&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),(\"object\"==typeof b||\"function\"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),\"string\"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(\" \")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{\"applet \":!0,\"embed \":!0,\"object \":\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,\"parsedAttrs\"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf(\"data-\")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,\"parsedAttrs\",!0)}return e}return\"object\"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||\"fx\")+\"queue\",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||\"fx\";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};\"inprogress\"===e&&(e=c.shift(),d--),e&&(\"fx\"===b&&c.unshift(\"inprogress\"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+\"queueHooks\";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks(\"once memory\").add(function(){m._removeData(a,b+\"queue\"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return\"string\"!=typeof a&&(b=a,a=\"fx\",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement(\"input\"),b=y.createElement(\"div\"),c=y.createDocumentFragment();if(b.innerHTML=\"
    a\",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName(\"tbody\").length,k.htmlSerialize=!!b.getElementsByTagName(\"link\").length,k.html5Clone=\"<:nav>\"!==y.createElement(\"nav\").cloneNode(!0).outerHTML,a.type=\"checkbox\",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML=\"\",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML=\"\",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent(\"onclick\",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement(\"div\");for(b in{submit:!0,change:!0,focusin:!0})c=\"on\"+b,(k[b+\"Bubbles\"]=c in a)||(d.setAttribute(c,\"t\"),k[b+\"Bubbles\"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||\"\").match(E)||[\"\"],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||\"\").split(\".\").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(\".\")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent(\"on\"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||\"\").match(E)||[\"\"],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||\"\").split(\".\").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp(\"(^|\\\\.)\"+p.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&(\"**\"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,\"events\"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,\"type\")?b.type:b,q=j.call(b,\"namespace\")?b.namespace.split(\".\"):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(\".\")>=0&&(q=p.split(\".\"),p=q.shift(),q.sort()),g=p.indexOf(\":\")<0&&\"on\"+p,b=b[m.expando]?b:new m.Event(p,\"object\"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join(\".\"),b.namespace_re=b.namespace?new RegExp(\"(^|\\\\.)\"+q.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,\"events\")||{})[b.type]&&m._data(h,\"handle\"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,\"events\")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||\"click\"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||\"click\"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+\" \",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]\",\"i\"),hb=/^\\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,jb=/<([\\w:]+)/,kb=/\\s*$/g,rb={option:[1,\"\"],legend:[1,\"
    \",\"
    \"],area:[1,\"\",\"\"],param:[1,\"\",\"\"],thead:[1,\"\",\"
    \"],tr:[2,\"\",\"
    \"],col:[2,\"\",\"
    \"],td:[3,\"\",\"
    \"],_default:k.htmlSerialize?[0,\"\",\"\"]:[1,\"X
    \",\"
    \"]},sb=db(y),tb=sb.appendChild(y.createElement(\"div\"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||\"*\"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||\"*\"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,\"table\")&&m.nodeName(11!==b.nodeType?b:b.firstChild,\"tr\")?a.getElementsByTagName(\"tbody\")[0]||a.appendChild(a.ownerDocument.createElement(\"tbody\")):a}function xb(a){return a.type=(null!==m.find.attr(a,\"type\"))+\"/\"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute(\"type\"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,\"globalEval\",!b||m._data(b[d],\"globalEval\"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}\"script\"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):\"object\"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):\"input\"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):\"option\"===c?b.defaultSelected=b.selected=a.defaultSelected:(\"input\"===c||\"textarea\"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test(\"<\"+a.nodeName+\">\")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,\"script\"),d.length>0&&zb(d,!i&&ub(a,\"script\")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if(\"object\"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement(\"div\")),i=(jb.exec(f)||[\"\",\"\"])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,\"<$1>\")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f=\"table\"!==i||kb.test(f)?\"\"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],\"tbody\")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent=\"\";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,\"input\"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),\"script\"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||\"\")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,\"script\")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,\"select\")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,\"\"):void 0;if(!(\"string\"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||[\"\",\"\"])[1].toLowerCase()])){a=a.replace(ib,\"<$1>\");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&\"string\"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,\"script\"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,\"script\"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||\"\")&&!m._data(d,\"globalEval\")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||\"\").replace(qb,\"\")));i=c=null}return this}}),m.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],\"display\");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),\"none\"!==c&&c||(Cb=(Cb||m(\"');\n if (this.modal_arrows) {\n return this.modal_arrows.css('display', 'none');\n }\n },\n showVimeoVideo: function(id) {\n var aspectRatio, height, width;\n aspectRatio = 500 / 281;\n width = this.$element.data('width') || 560;\n width = this.checkDimensions(width);\n height = width / aspectRatio;\n this.resize(width);\n this.lightbox_body.html('');\n if (this.modal_arrows) {\n return this.modal_arrows.css('display', 'none');\n }\n },\n showInstagramVideo: function(id) {\n var height, width;\n width = this.$element.data('width') || 612;\n width = this.checkDimensions(width);\n height = width;\n this.resize(width);\n this.lightbox_body.html('');\n if (this.modal_arrows) {\n return this.modal_arrows.css('display', 'none');\n }\n },\n error: function(message) {\n this.lightbox_body.html(message);\n return this;\n },\n preloadImage: function(src, onLoadShowImage) {\n var img,\n _this = this;\n img = new Image();\n if ((onLoadShowImage == null) || onLoadShowImage === true) {\n img.onload = function() {\n var image;\n image = $('');\n image.attr('src', img.src);\n image.addClass('img-responsive');\n _this.lightbox_body.html(image);\n if (_this.modal_arrows) {\n _this.modal_arrows.css('display', 'block');\n }\n return _this.resize(img.width);\n };\n img.onerror = function() {\n return _this.error('Failed to load image: ' + src);\n };\n }\n img.src = src;\n return img;\n },\n resize: function(width) {\n var width_total;\n width_total = width + this.border.left + this.padding.left + this.padding.right + this.border.right;\n this.modal_dialog.css('width', 'auto').css('max-width', width_total);\n this.lightbox_container.find('a').css('padding-top', function() {\n return $(this).parent().height() / 2;\n });\n return this;\n },\n checkDimensions: function(width) {\n var body_width, width_total;\n width_total = width + this.border.left + this.padding.left + this.padding.right + this.border.right;\n body_width = document.body.clientWidth;\n if (width_total > body_width) {\n width = this.modal_body.width();\n }\n return width;\n },\n close: function() {\n return this.modal.modal('hide');\n },\n addTrailingSlash: function(url) {\n if (url.substr(-1) !== '/') {\n url += '/';\n }\n return url;\n }\n };\n\n $.fn.ekkoLightbox = function(options) {\n return this.each(function() {\n var $this;\n $this = $(this);\n options = $.extend({\n remote: $this.attr('data-remote') || $this.attr('href'),\n gallery_parent_selector: $this.attr('data-parent'),\n type: $this.attr('data-type')\n }, options, $this.data());\n new EkkoLightbox(this, options);\n return this;\n });\n };\n\n $.fn.ekkoLightbox.defaults = {\n gallery_parent_selector: '*:not(.row)',\n left_arrow_class: '.glyphicon .glyphicon-chevron-left',\n right_arrow_class: '.glyphicon .glyphicon-chevron-right',\n directional_arrows: true,\n type: null,\n always_show_close: true,\n onShow: function() {},\n onShown: function() {},\n onHide: function() {},\n onHidden: function() {}\n };\n\n}).call(this);\n","(function(){\"use strict\";function a(a){var b=this,c={db:null};if(a)for(var d in a)c[d]=a[d];return new m(function(a,d){var e=n.open(c.name,c.version);e.onerror=function(){d(e.error)},e.onupgradeneeded=function(){e.result.createObjectStore(c.storeName)},e.onsuccess=function(){c.db=e.result,b._dbInfo=c,a()}})}function b(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=new m(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,\"readonly\").objectStore(e.storeName),g=f.get(a);g.onsuccess=function(){var a=g.result;void 0===a&&(a=null),b(a)},g.onerror=function(){d(g.error)}})[\"catch\"](d)});return k(d,b),d}function c(a,b){var c=this,d=new m(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,\"readonly\").objectStore(e.storeName),g=f.openCursor();g.onsuccess=function(){var c=g.result;if(c){var d=a(c.value,c.key);void 0!==d?b(d):c[\"continue\"]()}else b()},g.onerror=function(){d(g.error)}})[\"catch\"](d)});return k(d,b),d}function d(a,b,c){var d=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var e=new m(function(c,e){d.ready().then(function(){var f=d._dbInfo,g=f.db.transaction(f.storeName,\"readwrite\"),h=g.objectStore(f.storeName);null===b&&(b=void 0);var i=h.put(b,a);g.oncomplete=function(){void 0===b&&(b=null),c(b)},g.onabort=g.onerror=function(){e(i.error)}})[\"catch\"](e)});return k(e,c),e}function e(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=new m(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,\"readwrite\"),g=f.objectStore(e.storeName),h=g[\"delete\"](a);f.oncomplete=function(){b()},f.onerror=function(){d(h.error)},f.onabort=function(a){var b=a.target.error;\"QuotaExceededError\"===b&&d(b)}})[\"catch\"](d)});return k(d,b),d}function f(a){var b=this,c=new m(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,\"readwrite\"),f=e.objectStore(d.storeName),g=f.clear();e.oncomplete=function(){a()},e.onabort=e.onerror=function(){c(g.error)}})[\"catch\"](c)});return k(c,a),c}function g(a){var b=this,c=new m(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,\"readonly\").objectStore(d.storeName),f=e.count();f.onsuccess=function(){a(f.result)},f.onerror=function(){c(f.error)}})[\"catch\"](c)});return j(c,a),c}function h(a,b){var c=this,d=new m(function(b,d){return 0>a?void b(null):void c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,\"readonly\").objectStore(e.storeName),g=!1,h=f.openCursor();h.onsuccess=function(){var c=h.result;return c?void(0===a?b(c.key):g?b(c.key):(g=!0,c.advance(a))):void b(null)},h.onerror=function(){d(h.error)}})[\"catch\"](d)});return j(d,b),d}function i(a){var b=this,c=new m(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,\"readonly\").objectStore(d.storeName),f=e.openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b[\"continue\"]()):void a(g)},f.onerror=function(){c(f.error)}})[\"catch\"](c)});return j(c,a),c}function j(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}function k(a,b){b&&a.then(function(a){l(b,a)},function(a){b(a)})}function l(a,b){return a?setTimeout(function(){return a(null,b)},0):void 0}var m=\"undefined\"!=typeof module&&module.exports?require(\"promise\"):this.Promise,n=n||this.indexedDB||this.webkitIndexedDB||this.mozIndexedDB||this.OIndexedDB||this.msIndexedDB;if(n){var o={_driver:\"asyncStorage\",_initStorage:a,iterate:c,getItem:b,setItem:d,removeItem:e,clear:f,length:g,key:h,keys:i};\"function\"==typeof define&&define.amd?define(\"asyncStorage\",function(){return o}):\"undefined\"!=typeof module&&module.exports?module.exports=o:this.asyncStorage=o}}).call(window),function(){\"use strict\";function a(a){var b=this,c={};if(a)for(var d in a)c[d]=a[d];return c.keyPrefix=c.name+\"/\",b._dbInfo=c,n.resolve()}function b(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo.keyPrefix,c=o.length-1;c>=0;c--){var d=o.key(c);0===d.indexOf(a)&&o.removeItem(d)}});return m(c,a),c}function c(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo,d=o.getItem(b.keyPrefix+a);return d&&(d=i(d)),d});return m(d,b),d}function d(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo.keyPrefix,d=b.length,e=o.length,f=0;e>f;f++){var g=o.key(f),h=o.getItem(g);if(h&&(h=i(h)),h=a(h,g.substring(d)),void 0!==h)return h}});return m(d,b),d}function e(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=o.key(a)}catch(e){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return m(d,b),d}function f(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo,c=o.length,d=[],e=0;c>e;e++)0===o.key(e).indexOf(a.keyPrefix)&&d.push(o.key(e).substring(a.keyPrefix.length));return d});return m(c,a),c}function g(a){var b=this,c=b.keys().then(function(a){return a.length});return m(c,a),c}function h(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=c.ready().then(function(){var b=c._dbInfo;o.removeItem(b.keyPrefix+a)});return m(d,b),d}function i(a){if(a.substring(0,r)!==q)return JSON.parse(a);for(var b=a.substring(D),c=a.substring(r,D),d=new ArrayBuffer(2*b.length),e=new Uint16Array(d),f=b.length-1;f>=0;f--)e[f]=b.charCodeAt(f);switch(c){case s:return d;case t:return new Blob([d]);case u:return new Int8Array(d);case v:return new Uint8Array(d);case w:return new Uint8ClampedArray(d);case x:return new Int16Array(d);case z:return new Uint16Array(d);case y:return new Int32Array(d);case A:return new Uint32Array(d);case B:return new Float32Array(d);case C:return new Float64Array(d);default:throw new Error(\"Unkown type: \"+c)}}function j(a){var b=\"\",c=new Uint16Array(a);try{b=String.fromCharCode.apply(null,c)}catch(d){for(var e=0;eg;g++){var h=e.item(g),i=h.value;if(i&&(i=k(i)),i=a(i,h.key),void 0!==i)return void b(i)}b()},function(a,b){d(b)})})})[\"catch\"](d)});return m(d,b),d}function d(a,b,c){var d=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var e=new o(function(c,e){d.ready().then(function(){void 0===b&&(b=null);var f=b;l(b,function(b,g){if(g)e(g);else{var h=d._dbInfo;h.db.transaction(function(d){d.executeSql(\"INSERT OR REPLACE INTO \"+h.storeName+\" (key, value) VALUES (?, ?)\",[a,b],function(){c(f)},function(a,b){e(b)})},function(a){a.code===a.QUOTA_ERR&&e(a)})}})})[\"catch\"](e)});return m(e,c),e}function e(a,b){var c=this;\"string\"!=typeof a&&(window.console.warn(a+\" used as a key, but it is not a string.\"),a=String(a));var d=new o(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql(\"DELETE FROM \"+e.storeName+\" WHERE key = ?\",[a],function(){b()},function(a,b){d(b)})})})[\"catch\"](d)});return m(d,b),d}function f(a){var b=this,c=new o(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql(\"DELETE FROM \"+d.storeName,[],function(){a()},function(a,b){c(b)})})})[\"catch\"](c)});return m(c,a),c}function g(a){var b=this,c=new o(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql(\"SELECT COUNT(key) as c FROM \"+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})})[\"catch\"](c)});return m(c,a),c}function h(a,b){var c=this,d=new o(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql(\"SELECT key FROM \"+e.storeName+\" WHERE id = ? LIMIT 1\",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})[\"catch\"](d)});return m(d,b),d}function i(a){var b=this,c=new o(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql(\"SELECT key FROM \"+d.storeName,[],function(b,c){for(var d=[],e=0;e>2],d+=n[(3&c[b])<<4|c[b+1]>>4],d+=n[(15&c[b+1])<<2|c[b+2]>>6],d+=n[63&c[b+2]];return c.length%3===2?d=d.substring(0,d.length-1)+\"=\":c.length%3===1&&(d=d.substring(0,d.length-2)+\"==\"),d}function k(a){if(a.substring(0,r)!==q)return JSON.parse(a);var b,c,d,e,f,g=a.substring(D),h=a.substring(r,D),i=.75*g.length,j=g.length,k=0;\"=\"===g[g.length-1]&&(i--,\"=\"===g[g.length-2]&&i--);var l=new ArrayBuffer(i),m=new Uint8Array(l);for(b=0;j>b;b+=4)c=n.indexOf(g[b]),d=n.indexOf(g[b+1]),e=n.indexOf(g[b+2]),f=n.indexOf(g[b+3]),m[k++]=c<<2|d>>4,m[k++]=(15&d)<<4|e>>2,m[k++]=(3&e)<<6|63&f;switch(h){case s:return l;case t:return new Blob([l]);case u:return new Int8Array(l);case v:return new Uint8Array(l);case w:return new Uint8ClampedArray(l);case x:return new Int16Array(l);case z:return new Uint16Array(l);case y:return new Int32Array(l);case A:return new Uint32Array(l);case B:return new Float32Array(l);case C:return new Float64Array(l);default:throw new Error(\"Unkown type: \"+h)}}function l(a,b){var c=\"\";if(a&&(c=a.toString()),a&&(\"[object ArrayBuffer]\"===a.toString()||a.buffer&&\"[object ArrayBuffer]\"===a.buffer.toString())){var d,e=q;a instanceof ArrayBuffer?(d=a,e+=s):(d=a.buffer,\"[object Int8Array]\"===c?e+=u:\"[object Uint8Array]\"===c?e+=v:\"[object Uint8ClampedArray]\"===c?e+=w:\"[object Int16Array]\"===c?e+=x:\"[object Uint16Array]\"===c?e+=z:\"[object Int32Array]\"===c?e+=y:\"[object Uint32Array]\"===c?e+=A:\"[object Float32Array]\"===c?e+=B:\"[object Float64Array]\"===c?e+=C:b(new Error(\"Failed to get type for BinaryArray\"))),b(e+j(d))}else if(\"[object Blob]\"===c){var f=new FileReader;f.onload=function(){var a=j(this.result);b(q+t+a)},f.readAsArrayBuffer(a)}else try{b(JSON.stringify(a))}catch(g){window.console.error(\"Couldn't convert value into a JSON string: \",a),b(null,g)}}function m(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=\"undefined\"!=typeof module&&module.exports?require(\"promise\"):this.Promise,p=this.openDatabase,q=\"__lfsc__:\",r=q.length,s=\"arbf\",t=\"blob\",u=\"si08\",v=\"ui08\",w=\"uic8\",x=\"si16\",y=\"si32\",z=\"ur16\",A=\"ui32\",B=\"fl32\",C=\"fl64\",D=r+s.length;if(p){var E={_driver:\"webSQLStorage\",_initStorage:a,iterate:c,getItem:b,setItem:d,removeItem:e,clear:f,length:g,key:h,keys:i};\"function\"==typeof define&&define.amd?define(\"webSQLStorage\",function(){return E}):\"undefined\"!=typeof module&&module.exports?module.exports=E:this.webSQLStorage=E}}.call(window),function(){\"use strict\";function a(a,b){a[b]=function(){var c=arguments;return a.ready().then(function(){return a[b].apply(a,c)})}}function b(){for(var a=1;a=0;t--){var a=arguments[t];for(var n in a)e[n]=a[n]}return e}t.inlineAttach=function(e,n){function r(e,t){return(e+\"\\n\\n[[D]]\"+t).replace(/(\\n{2,})\\[\\[D\\]\\]/,\"\\n\\n\").replace(/^(\\n*)/,\"\")}var o,i=a(e,inlineAttach.defaults),l=n,s=\"{filename}\",d=this;this.uploadFile=function(e){var t=new FormData,a=new XMLHttpRequest,n=\"png\";if(e.name){var r=e.name.match(/\\.(.+)$/);r&&(n=r[1])}if(i.addFileBeforeExtraParameters&&t.append(i.uploadFieldName,e,\"image-\"+Date.now()+\".\"+n),\"object\"==typeof i.extraParams)for(var o in i.extraParams)i.extraParams.hasOwnProperty(o)&&t.append(o,i.extraParams[o]);if(i.addFileBeforeExtraParameters||t.append(i.uploadFieldName,e,\"image-\"+Date.now()+\".\"+n),a.open(i.uploadMethod,i.uploadUrl),\"object\"==typeof i.extraHeaders)for(var l in i.extraHeaders)i.extraHeaders.hasOwnProperty(l)&&a.setRequestHeader(l,i.extraHeaders[l]);a.onload=function(){if(200===a.status||201===a.status){var e=d.parseResponse(a);d.onUploadedFile(e)}else d.onErrorUploading()},a.send(t)},this.parseResponse=function(e){return i.customResponseParser.call(this,e)||JSON.parse(e.responseText)},this.isAllowedFile=function(e){return i.allowedTypes.indexOf(e.type)>=0},this.onUploadedFile=function(e){var t,a=i.onUploadedFile.call(this,e);if(i.dataProcessor&&(e=i.dataProcessor.call(this,e)),t=e[i.downloadFieldName],a!==!1&&t){var n=l.getValue().replace(o,i.urlText.replace(s,t));l.setValue(n)}},this.customUploadHandler=function(e){return i.customUploadHandler.call(this,e)},this.onErrorUploading=function(){var e=l.getValue().replace(o,\"\");l.setValue(e),i.customErrorHandler.call(this)&&t.alert(i.errorText)},this.onReceivedFile=function(e){var t=i.onReceivedFile.call(this,e);t!==!1&&(o=i.progressText,l.setValue(r(l.getValue(),o)))},this.onPaste=function(e){var t,a=!1,n=e.clipboardData;if(\"object\"==typeof n){t=n.items||n.files||[];for(var r=0;t.length>r;r++){var o=t[r];d.isAllowedFile(o)&&(a=!0,this.onReceivedFile(o.getAsFile()),this.customUploadHandler(o.getAsFile())&&this.uploadFile(o.getAsFile()))}}return a},this.onDrop=function(e){for(var t=!1,a=0;e.dataTransfer.files.length>a;a++){var n=e.dataTransfer.files[a];d.isAllowedFile(n)&&(t=!0,this.onReceivedFile(n),this.customUploadHandler(n)&&this.uploadFile(n))}return t}},t.inlineAttach.Editor=function(e){var t=e;return{getValue:function(){return t.value},setValue:function(e){t.value=e}}},t.inlineAttach.defaults={uploadUrl:\"upload_attachment.php\",uploadMethod:\"POST\",uploadFieldName:\"file\",addFileBeforeExtraParameters:!0,downloadFieldName:\"filename\",allowedTypes:[\"image/jpeg\",\"image/png\",\"image/jpg\",\"image/gif\"],progressText:\"![Uploading file...]()\",urlText:\"![file]({filename})\",errorText:\"Error uploading file\",extraParams:{},extraHeaders:{},onReceivedFile:function(){},customUploadHandler:function(){return!0},customErrorHandler:function(){return!0},customResponseParser:function(){return null},onUploadedFile:function(){}},t.inlineAttach.attachToInput=function(e,t){t=t||{};var a=new inlineAttach.Editor(e),n=new inlineAttach(t,a);e.addEventListener(\"paste\",function(e){n.onPaste(e)},!1),e.addEventListener(\"drop\",function(e){e.stopPropagation(),e.preventDefault(),n.onDrop(e)},!1),e.addEventListener(\"dragenter\",function(e){e.stopPropagation(),e.preventDefault()},!1),e.addEventListener(\"dragover\",function(e){e.stopPropagation(),e.preventDefault()},!1)}})(document,window),function(e,t,a){\"use strict\";function n(e){var t=a(e);return{getValue:function(){return t.val()},setValue:function(e){t.val(e)}}}n.prototype=new inlineAttach.Editor,a.fn.inlineattach=function(e){var t=a(this);return t.each(function(){var t=a(this),r=new n(t),o=new inlineAttach(e,r);t.bind({paste:function(e){o.onPaste(e.originalEvent)},drop:function(e){e.stopPropagation(),e.preventDefault(),o.onDrop(e.originalEvent)},\"dragenter dragover\":function(e){e.stopPropagation(),e.preventDefault()}})}),this}}(document,window,jQuery);","Date.now||(Date.now=function(){return(new Date).getTime()}),function(){\"use strict\";for(var t=[\"webkit\",\"moz\"],e=0;el-(this.size+6)&&this.reset(),this.element.style.top=this.y+\"px\",this.element.style.left=this.x+\"px\",this.step+=this.stepSize,this.x+=y===!1?Math.cos(this.step):y+Math.cos(this.step),i.collection&&this.x>this.target.x&&this.xthis.target.y&&this.ythis.target.height)if(s+this.speed+this.size>this.target.height){for(;s+this.speed+this.size>this.target.height&&this.speed>0;)this.speed*=.5;t.fillStyle=\"#fff\",void 0==n[parseInt(e)][parseInt(s+this.speed+this.size)]?(n[parseInt(e)][parseInt(s+this.speed+this.size)]=1,t.fillRect(e,s+this.speed+this.size,this.size,this.size)):(n[parseInt(e)][parseInt(s+this.speed)]=1,t.fillRect(e,s+this.speed,this.size,this.size)),this.reset()}else this.speed=1,this.stepSize=0,parseInt(e)+10&&void 0==n[parseInt(e)-1][parseInt(s)+1]?this.x--:(t.fillStyle=\"#fff\",t.fillRect(e,s,this.size,this.size),n[parseInt(e)][parseInt(s)]=1,this.reset())}(this.x+this.size>d-c||this.x\",{\"class\":\"snowfall-canvas\"}),z=[];if(u.top-g>0){t(\"body\").append(x),x.css({position:i.flakePosition,left:u.left+\"px\",top:u.top-g+\"px\"}).prop({width:u.width,height:g});for(var v=0;vUnvalid image format. Allowed formats: JPG, JPEG, PNG.');\n\n return false;\n }\n\n if ( file.size > maxsize )\n {\n noPreview();\n\n $('#message').html('
    The size of image you are attempting to upload is ' + (file.size/1024).toFixed(2) + ' KB, maximum size allowed is ' + (maxsize/1024).toFixed(2) + ' KB
    ');\n\n return false;\n }\n\n $('#upload-button').removeAttr(\"disabled\");\n\n var reader = new FileReader();\n reader.onload = selectImage;\n reader.readAsDataURL(this.files[0]);\n\n });\n\n});\n","/* ========================================================================\n * bootstrap-switch - v3.3.2\n * http://www.bootstrap-switch.org\n * ========================================================================\n * Copyright 2012-2013 Mattia Larentis\n *\n * ========================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================================\n */\n\n(function() {\n var slice = [].slice;\n\n (function($, window) {\n \"use strict\";\n var BootstrapSwitch;\n BootstrapSwitch = (function() {\n function BootstrapSwitch(element, options) {\n if (options == null) {\n options = {};\n }\n this.$element = $(element);\n this.options = $.extend({}, $.fn.bootstrapSwitch.defaults, {\n state: this.$element.is(\":checked\"),\n size: this.$element.data(\"size\"),\n animate: this.$element.data(\"animate\"),\n disabled: this.$element.is(\":disabled\"),\n readonly: this.$element.is(\"[readonly]\"),\n indeterminate: this.$element.data(\"indeterminate\"),\n inverse: this.$element.data(\"inverse\"),\n radioAllOff: this.$element.data(\"radio-all-off\"),\n onColor: this.$element.data(\"on-color\"),\n offColor: this.$element.data(\"off-color\"),\n onText: this.$element.data(\"on-text\"),\n offText: this.$element.data(\"off-text\"),\n labelText: this.$element.data(\"label-text\"),\n handleWidth: this.$element.data(\"handle-width\"),\n labelWidth: this.$element.data(\"label-width\"),\n baseClass: this.$element.data(\"base-class\"),\n wrapperClass: this.$element.data(\"wrapper-class\")\n }, options);\n this.prevOptions = {};\n this.$wrapper = $(\"
    \", {\n \"class\": (function(_this) {\n return function() {\n var classes;\n classes = [\"\" + _this.options.baseClass].concat(_this._getClasses(_this.options.wrapperClass));\n classes.push(_this.options.state ? _this.options.baseClass + \"-on\" : _this.options.baseClass + \"-off\");\n if (_this.options.size != null) {\n classes.push(_this.options.baseClass + \"-\" + _this.options.size);\n }\n if (_this.options.disabled) {\n classes.push(_this.options.baseClass + \"-disabled\");\n }\n if (_this.options.readonly) {\n classes.push(_this.options.baseClass + \"-readonly\");\n }\n if (_this.options.indeterminate) {\n classes.push(_this.options.baseClass + \"-indeterminate\");\n }\n if (_this.options.inverse) {\n classes.push(_this.options.baseClass + \"-inverse\");\n }\n if (_this.$element.attr(\"id\")) {\n classes.push(_this.options.baseClass + \"-id-\" + (_this.$element.attr(\"id\")));\n }\n return classes.join(\" \");\n };\n })(this)()\n });\n this.$container = $(\"
    \", {\n \"class\": this.options.baseClass + \"-container\"\n });\n this.$on = $(\"\", {\n html: this.options.onText,\n \"class\": this.options.baseClass + \"-handle-on \" + this.options.baseClass + \"-\" + this.options.onColor\n });\n this.$off = $(\"\", {\n html: this.options.offText,\n \"class\": this.options.baseClass + \"-handle-off \" + this.options.baseClass + \"-\" + this.options.offColor\n });\n this.$label = $(\"\", {\n html: this.options.labelText,\n \"class\": this.options.baseClass + \"-label\"\n });\n this.$element.on(\"init.bootstrapSwitch\", (function(_this) {\n return function() {\n return _this.options.onInit.apply(element, arguments);\n };\n })(this));\n this.$element.on(\"switchChange.bootstrapSwitch\", (function(_this) {\n return function(e) {\n if (false === _this.options.onSwitchChange.apply(element, arguments)) {\n if (_this.$element.is(\":radio\")) {\n return $(\"[name='\" + (_this.$element.attr('name')) + \"']\").trigger(\"previousState.bootstrapSwitch\", true);\n } else {\n return _this.$element.trigger(\"previousState.bootstrapSwitch\", true);\n }\n }\n };\n })(this));\n this.$container = this.$element.wrap(this.$container).parent();\n this.$wrapper = this.$container.wrap(this.$wrapper).parent();\n this.$element.before(this.options.inverse ? this.$off : this.$on).before(this.$label).before(this.options.inverse ? this.$on : this.$off);\n if (this.options.indeterminate) {\n this.$element.prop(\"indeterminate\", true);\n }\n this._init();\n this._elementHandlers();\n this._handleHandlers();\n this._labelHandlers();\n this._formHandler();\n this._externalLabelHandler();\n this.$element.trigger(\"init.bootstrapSwitch\", this.options.state);\n }\n\n BootstrapSwitch.prototype._constructor = BootstrapSwitch;\n\n BootstrapSwitch.prototype.setPrevOptions = function() {\n return this.prevOptions = $.extend(true, {}, this.options);\n };\n\n BootstrapSwitch.prototype.state = function(value, skip) {\n if (typeof value === \"undefined\") {\n return this.options.state;\n }\n if (this.options.disabled || this.options.readonly) {\n return this.$element;\n }\n if (this.options.state && !this.options.radioAllOff && this.$element.is(\":radio\")) {\n return this.$element;\n }\n if (this.$element.is(\":radio\")) {\n $(\"[name='\" + (this.$element.attr('name')) + \"']\").trigger(\"setPreviousOptions.bootstrapSwitch\");\n } else {\n this.$element.trigger(\"setPreviousOptions.bootstrapSwitch\");\n }\n if (this.options.indeterminate) {\n this.indeterminate(false);\n }\n value = !!value;\n this.$element.prop(\"checked\", value).trigger(\"change.bootstrapSwitch\", skip);\n return this.$element;\n };\n\n BootstrapSwitch.prototype.toggleState = function(skip) {\n if (this.options.disabled || this.options.readonly) {\n return this.$element;\n }\n if (this.options.indeterminate) {\n this.indeterminate(false);\n return this.state(true);\n } else {\n return this.$element.prop(\"checked\", !this.options.state).trigger(\"change.bootstrapSwitch\", skip);\n }\n };\n\n BootstrapSwitch.prototype.size = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.size;\n }\n if (this.options.size != null) {\n this.$wrapper.removeClass(this.options.baseClass + \"-\" + this.options.size);\n }\n if (value) {\n this.$wrapper.addClass(this.options.baseClass + \"-\" + value);\n }\n this._width();\n this._containerPosition();\n this.options.size = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.animate = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.animate;\n }\n value = !!value;\n if (value === this.options.animate) {\n return this.$element;\n }\n return this.toggleAnimate();\n };\n\n BootstrapSwitch.prototype.toggleAnimate = function() {\n this.options.animate = !this.options.animate;\n this.$wrapper.toggleClass(this.options.baseClass + \"-animate\");\n return this.$element;\n };\n\n BootstrapSwitch.prototype.disabled = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.disabled;\n }\n value = !!value;\n if (value === this.options.disabled) {\n return this.$element;\n }\n return this.toggleDisabled();\n };\n\n BootstrapSwitch.prototype.toggleDisabled = function() {\n this.options.disabled = !this.options.disabled;\n this.$element.prop(\"disabled\", this.options.disabled);\n this.$wrapper.toggleClass(this.options.baseClass + \"-disabled\");\n return this.$element;\n };\n\n BootstrapSwitch.prototype.readonly = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.readonly;\n }\n value = !!value;\n if (value === this.options.readonly) {\n return this.$element;\n }\n return this.toggleReadonly();\n };\n\n BootstrapSwitch.prototype.toggleReadonly = function() {\n this.options.readonly = !this.options.readonly;\n this.$element.prop(\"readonly\", this.options.readonly);\n this.$wrapper.toggleClass(this.options.baseClass + \"-readonly\");\n return this.$element;\n };\n\n BootstrapSwitch.prototype.indeterminate = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.indeterminate;\n }\n value = !!value;\n if (value === this.options.indeterminate) {\n return this.$element;\n }\n return this.toggleIndeterminate();\n };\n\n BootstrapSwitch.prototype.toggleIndeterminate = function() {\n this.options.indeterminate = !this.options.indeterminate;\n this.$element.prop(\"indeterminate\", this.options.indeterminate);\n this.$wrapper.toggleClass(this.options.baseClass + \"-indeterminate\");\n this._containerPosition();\n return this.$element;\n };\n\n BootstrapSwitch.prototype.inverse = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.inverse;\n }\n value = !!value;\n if (value === this.options.inverse) {\n return this.$element;\n }\n return this.toggleInverse();\n };\n\n BootstrapSwitch.prototype.toggleInverse = function() {\n var $off, $on;\n this.$wrapper.toggleClass(this.options.baseClass + \"-inverse\");\n $on = this.$on.clone(true);\n $off = this.$off.clone(true);\n this.$on.replaceWith($off);\n this.$off.replaceWith($on);\n this.$on = $off;\n this.$off = $on;\n this.options.inverse = !this.options.inverse;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.onColor = function(value) {\n var color;\n color = this.options.onColor;\n if (typeof value === \"undefined\") {\n return color;\n }\n if (color != null) {\n this.$on.removeClass(this.options.baseClass + \"-\" + color);\n }\n this.$on.addClass(this.options.baseClass + \"-\" + value);\n this.options.onColor = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.offColor = function(value) {\n var color;\n color = this.options.offColor;\n if (typeof value === \"undefined\") {\n return color;\n }\n if (color != null) {\n this.$off.removeClass(this.options.baseClass + \"-\" + color);\n }\n this.$off.addClass(this.options.baseClass + \"-\" + value);\n this.options.offColor = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.onText = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.onText;\n }\n this.$on.html(value);\n this._width();\n this._containerPosition();\n this.options.onText = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.offText = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.offText;\n }\n this.$off.html(value);\n this._width();\n this._containerPosition();\n this.options.offText = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.labelText = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.labelText;\n }\n this.$label.html(value);\n this._width();\n this.options.labelText = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.handleWidth = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.handleWidth;\n }\n this.options.handleWidth = value;\n this._width();\n this._containerPosition();\n return this.$element;\n };\n\n BootstrapSwitch.prototype.labelWidth = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.labelWidth;\n }\n this.options.labelWidth = value;\n this._width();\n this._containerPosition();\n return this.$element;\n };\n\n BootstrapSwitch.prototype.baseClass = function(value) {\n return this.options.baseClass;\n };\n\n BootstrapSwitch.prototype.wrapperClass = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.wrapperClass;\n }\n if (!value) {\n value = $.fn.bootstrapSwitch.defaults.wrapperClass;\n }\n this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(\" \"));\n this.$wrapper.addClass(this._getClasses(value).join(\" \"));\n this.options.wrapperClass = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.radioAllOff = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.radioAllOff;\n }\n value = !!value;\n if (value === this.options.radioAllOff) {\n return this.$element;\n }\n this.options.radioAllOff = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.onInit = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.onInit;\n }\n if (!value) {\n value = $.fn.bootstrapSwitch.defaults.onInit;\n }\n this.options.onInit = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.onSwitchChange = function(value) {\n if (typeof value === \"undefined\") {\n return this.options.onSwitchChange;\n }\n if (!value) {\n value = $.fn.bootstrapSwitch.defaults.onSwitchChange;\n }\n this.options.onSwitchChange = value;\n return this.$element;\n };\n\n BootstrapSwitch.prototype.destroy = function() {\n var $form;\n $form = this.$element.closest(\"form\");\n if ($form.length) {\n $form.off(\"reset.bootstrapSwitch\").removeData(\"bootstrap-switch\");\n }\n this.$container.children().not(this.$element).remove();\n this.$element.unwrap().unwrap().off(\".bootstrapSwitch\").removeData(\"bootstrap-switch\");\n return this.$element;\n };\n\n BootstrapSwitch.prototype._width = function() {\n var $handles, handleWidth;\n $handles = this.$on.add(this.$off);\n $handles.add(this.$label).css(\"width\", \"\");\n handleWidth = this.options.handleWidth === \"auto\" ? Math.max(this.$on.width(), this.$off.width()) : this.options.handleWidth;\n $handles.width(handleWidth);\n this.$label.width((function(_this) {\n return function(index, width) {\n if (_this.options.labelWidth !== \"auto\") {\n return _this.options.labelWidth;\n }\n if (width < handleWidth) {\n return handleWidth;\n } else {\n return width;\n }\n };\n })(this));\n this._handleWidth = this.$on.outerWidth();\n this._labelWidth = this.$label.outerWidth();\n this.$container.width((this._handleWidth * 2) + this._labelWidth);\n return this.$wrapper.width(this._handleWidth + this._labelWidth);\n };\n\n BootstrapSwitch.prototype._containerPosition = function(state, callback) {\n if (state == null) {\n state = this.options.state;\n }\n this.$container.css(\"margin-left\", (function(_this) {\n return function() {\n var values;\n values = [0, \"-\" + _this._handleWidth + \"px\"];\n if (_this.options.indeterminate) {\n return \"-\" + (_this._handleWidth / 2) + \"px\";\n }\n if (state) {\n if (_this.options.inverse) {\n return values[1];\n } else {\n return values[0];\n }\n } else {\n if (_this.options.inverse) {\n return values[0];\n } else {\n return values[1];\n }\n }\n };\n })(this));\n if (!callback) {\n return;\n }\n return setTimeout(function() {\n return callback();\n }, 50);\n };\n\n BootstrapSwitch.prototype._init = function() {\n var init, initInterval;\n init = (function(_this) {\n return function() {\n _this.setPrevOptions();\n _this._width();\n return _this._containerPosition(null, function() {\n if (_this.options.animate) {\n return _this.$wrapper.addClass(_this.options.baseClass + \"-animate\");\n }\n });\n };\n })(this);\n if (this.$wrapper.is(\":visible\")) {\n return init();\n }\n return initInterval = window.setInterval((function(_this) {\n return function() {\n if (_this.$wrapper.is(\":visible\")) {\n init();\n return window.clearInterval(initInterval);\n }\n };\n })(this), 50);\n };\n\n BootstrapSwitch.prototype._elementHandlers = function() {\n return this.$element.on({\n \"setPreviousOptions.bootstrapSwitch\": (function(_this) {\n return function(e) {\n return _this.setPrevOptions();\n };\n })(this),\n \"previousState.bootstrapSwitch\": (function(_this) {\n return function(e) {\n _this.options = _this.prevOptions;\n if (_this.options.indeterminate) {\n _this.$wrapper.addClass(_this.options.baseClass + \"-indeterminate\");\n }\n return _this.$element.prop(\"checked\", _this.options.state).trigger(\"change.bootstrapSwitch\", true);\n };\n })(this),\n \"change.bootstrapSwitch\": (function(_this) {\n return function(e, skip) {\n var state;\n e.preventDefault();\n e.stopImmediatePropagation();\n state = _this.$element.is(\":checked\");\n _this._containerPosition(state);\n if (state === _this.options.state) {\n return;\n }\n _this.options.state = state;\n _this.$wrapper.toggleClass(_this.options.baseClass + \"-off\").toggleClass(_this.options.baseClass + \"-on\");\n if (!skip) {\n if (_this.$element.is(\":radio\")) {\n $(\"[name='\" + (_this.$element.attr('name')) + \"']\").not(_this.$element).prop(\"checked\", false).trigger(\"change.bootstrapSwitch\", true);\n }\n return _this.$element.trigger(\"switchChange.bootstrapSwitch\", [state]);\n }\n };\n })(this),\n \"focus.bootstrapSwitch\": (function(_this) {\n return function(e) {\n e.preventDefault();\n return _this.$wrapper.addClass(_this.options.baseClass + \"-focused\");\n };\n })(this),\n \"blur.bootstrapSwitch\": (function(_this) {\n return function(e) {\n e.preventDefault();\n return _this.$wrapper.removeClass(_this.options.baseClass + \"-focused\");\n };\n })(this),\n \"keydown.bootstrapSwitch\": (function(_this) {\n return function(e) {\n if (!e.which || _this.options.disabled || _this.options.readonly) {\n return;\n }\n switch (e.which) {\n case 37:\n e.preventDefault();\n e.stopImmediatePropagation();\n return _this.state(false);\n case 39:\n e.preventDefault();\n e.stopImmediatePropagation();\n return _this.state(true);\n }\n };\n })(this)\n });\n };\n\n BootstrapSwitch.prototype._handleHandlers = function() {\n this.$on.on(\"click.bootstrapSwitch\", (function(_this) {\n return function(event) {\n event.preventDefault();\n event.stopPropagation();\n _this.state(false);\n return _this.$element.trigger(\"focus.bootstrapSwitch\");\n };\n })(this));\n return this.$off.on(\"click.bootstrapSwitch\", (function(_this) {\n return function(event) {\n event.preventDefault();\n event.stopPropagation();\n _this.state(true);\n return _this.$element.trigger(\"focus.bootstrapSwitch\");\n };\n })(this));\n };\n\n BootstrapSwitch.prototype._labelHandlers = function() {\n return this.$label.on({\n \"click\": function(e) {\n return e.stopPropagation();\n },\n \"mousedown.bootstrapSwitch touchstart.bootstrapSwitch\": (function(_this) {\n return function(e) {\n if (_this._dragStart || _this.options.disabled || _this.options.readonly) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n _this._dragStart = (e.pageX || e.originalEvent.touches[0].pageX) - parseInt(_this.$container.css(\"margin-left\"), 10);\n if (_this.options.animate) {\n _this.$wrapper.removeClass(_this.options.baseClass + \"-animate\");\n }\n return _this.$element.trigger(\"focus.bootstrapSwitch\");\n };\n })(this),\n \"mousemove.bootstrapSwitch touchmove.bootstrapSwitch\": (function(_this) {\n return function(e) {\n var difference;\n if (_this._dragStart == null) {\n return;\n }\n e.preventDefault();\n difference = (e.pageX || e.originalEvent.touches[0].pageX) - _this._dragStart;\n if (difference < -_this._handleWidth || difference > 0) {\n return;\n }\n _this._dragEnd = difference;\n return _this.$container.css(\"margin-left\", _this._dragEnd + \"px\");\n };\n })(this),\n \"mouseup.bootstrapSwitch touchend.bootstrapSwitch\": (function(_this) {\n return function(e) {\n var state;\n if (!_this._dragStart) {\n return;\n }\n e.preventDefault();\n if (_this.options.animate) {\n _this.$wrapper.addClass(_this.options.baseClass + \"-animate\");\n }\n if (_this._dragEnd) {\n state = _this._dragEnd > -(_this._handleWidth / 2);\n _this._dragEnd = false;\n _this.state(_this.options.inverse ? !state : state);\n } else {\n _this.state(!_this.options.state);\n }\n return _this._dragStart = false;\n };\n })(this),\n \"mouseleave.bootstrapSwitch\": (function(_this) {\n return function(e) {\n return _this.$label.trigger(\"mouseup.bootstrapSwitch\");\n };\n })(this)\n });\n };\n\n BootstrapSwitch.prototype._externalLabelHandler = function() {\n var $externalLabel;\n $externalLabel = this.$element.closest(\"label\");\n return $externalLabel.on(\"click\", (function(_this) {\n return function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n if (event.target === $externalLabel[0]) {\n return _this.toggleState();\n }\n };\n })(this));\n };\n\n BootstrapSwitch.prototype._formHandler = function() {\n var $form;\n $form = this.$element.closest(\"form\");\n if ($form.data(\"bootstrap-switch\")) {\n return;\n }\n return $form.on(\"reset.bootstrapSwitch\", function() {\n return window.setTimeout(function() {\n return $form.find(\"input\").filter(function() {\n return $(this).data(\"bootstrap-switch\");\n }).each(function() {\n return $(this).bootstrapSwitch(\"state\", this.checked);\n });\n }, 1);\n }).data(\"bootstrap-switch\", true);\n };\n\n BootstrapSwitch.prototype._getClasses = function(classes) {\n var c, cls, i, len;\n if (!$.isArray(classes)) {\n return [this.options.baseClass + \"-\" + classes];\n }\n cls = [];\n for (i = 0, len = classes.length; i < len; i++) {\n c = classes[i];\n cls.push(this.options.baseClass + \"-\" + c);\n }\n return cls;\n };\n\n return BootstrapSwitch;\n\n })();\n $.fn.bootstrapSwitch = function() {\n var args, option, ret;\n option = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n ret = this;\n this.each(function() {\n var $this, data;\n $this = $(this);\n data = $this.data(\"bootstrap-switch\");\n if (!data) {\n $this.data(\"bootstrap-switch\", data = new BootstrapSwitch(this, option));\n }\n if (typeof option === \"string\") {\n return ret = data[option].apply(data, args);\n }\n });\n return ret;\n };\n $.fn.bootstrapSwitch.Constructor = BootstrapSwitch;\n return $.fn.bootstrapSwitch.defaults = {\n state: true,\n size: null,\n animate: true,\n disabled: false,\n readonly: false,\n indeterminate: false,\n inverse: false,\n radioAllOff: false,\n onColor: \"primary\",\n offColor: \"default\",\n onText: \"ON\",\n offText: \"OFF\",\n labelText: \" \",\n handleWidth: \"auto\",\n labelWidth: \"auto\",\n baseClass: \"bootstrap-switch\",\n wrapperClass: \"wrapper\",\n onInit: function() {},\n onSwitchChange: function() {}\n };\n })(window.jQuery, window);\n\n}).call(this);","/*! messenger 1.5.0 */\n/*\n * This file begins the output concatenated into messenger.js\n *\n * It establishes the Messenger object while preserving whatever it was before\n * (for noConflict), and making it a callable function.\n */\n\n(function(){\n var _prevMessenger = window.Messenger;\n var localMessenger;\n\n localMessenger = window.Messenger = function(){\n return localMessenger._call.apply(this, arguments);\n }\n\n window.Messenger.noConflict = function(){\n window.Messenger = _prevMessenger;\n\n return localMessenger;\n }\n})();\n\n/*\n * This file contains shims for when Underscore and Backbone\n * are not included.\n *\n * Portions taken from Underscore.js and Backbone.js\n * Both of which are Copyright (c) 2009-2013 Jeremy Ashkenas, DocumentCloud\n */\nwindow.Messenger._ = (function() {\n if (window._)\n return window._\n\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n // Create quick reference variables for speed access to core prototypes.\n var push = ArrayProto.push,\n slice = ArrayProto.slice,\n concat = ArrayProto.concat,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var\n nativeForEach = ArrayProto.forEach,\n nativeMap = ArrayProto.map,\n nativeReduce = ArrayProto.reduce,\n nativeReduceRight = ArrayProto.reduceRight,\n nativeFilter = ArrayProto.filter,\n nativeEvery = ArrayProto.every,\n nativeSome = ArrayProto.some,\n nativeIndexOf = ArrayProto.indexOf,\n nativeLastIndexOf = ArrayProto.lastIndexOf,\n nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeBind = FuncProto.bind;\n\n // Create a safe reference to the Underscore object for use below.\n var _ = {};\n\n // Establish the object that gets returned to break out of a loop iteration.\n var breaker = {};\n\n var each = _.each = _.forEach = function(obj, iterator, context) {\n if (obj == null) return;\n if (nativeForEach && obj.forEach === nativeForEach) {\n obj.forEach(iterator, context);\n } else if (obj.length === +obj.length) {\n for (var i = 0, l = obj.length; i < l; i++) {\n if (iterator.call(context, obj[i], i, obj) === breaker) return;\n }\n } else {\n for (var key in obj) {\n if (_.has(obj, key)) {\n if (iterator.call(context, obj[key], key, obj) === breaker) return;\n }\n }\n }\n };\n\n _.result = function(object, property) {\n if (object == null) return null;\n var value = object[property];\n return _.isFunction(value) ? value.call(object) : value;\n };\n\n _.once = function(func) {\n var ran = false, memo;\n return function() {\n if (ran) return memo;\n ran = true;\n memo = func.apply(this, arguments);\n func = null;\n return memo;\n };\n };\n\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n _.filter = _.select = function(obj, iterator, context) {\n var results = [];\n if (obj == null) return results;\n if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);\n each(obj, function(value, index, list) {\n if (iterator.call(context, value, index, list)) results[results.length] = value;\n });\n return results;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.\n each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) == '[object ' + name + ']';\n };\n });\n\n _.defaults = function(obj) {\n each(slice.call(arguments, 1), function(source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] == null) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n };\n\n _.extend = function(obj) {\n each(slice.call(arguments, 1), function(source) {\n if (source) {\n for (var prop in source) {\n obj[prop] = source[prop];\n }\n }\n });\n return obj;\n };\n\n _.keys = nativeKeys || function(obj) {\n if (obj !== Object(obj)) throw new TypeError('Invalid object');\n var keys = [];\n for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key;\n return keys;\n };\n\n _.bind = function(func, context) {\n if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n var args = slice.call(arguments, 2);\n return function() {\n return func.apply(context, args.concat(slice.call(arguments)));\n };\n };\n\n _.isObject = function(obj) {\n return obj === Object(obj);\n };\n\n return _;\n})();\n\nwindow.Messenger.Events = (function() {\n if (window.Backbone && Backbone.Events) {\n return Backbone.Events;\n }\n\n var eventsShim = function() {\n var eventSplitter = /\\s+/;\n\n var eventsApi = function(obj, action, name, rest) {\n if (!name) return true;\n if (typeof name === 'object') {\n for (var key in name) {\n obj[action].apply(obj, [key, name[key]].concat(rest));\n }\n } else if (eventSplitter.test(name)) {\n var names = name.split(eventSplitter);\n for (var i = 0, l = names.length; i < l; i++) {\n obj[action].apply(obj, [names[i]].concat(rest));\n }\n } else {\n return true;\n }\n };\n\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length;\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx);\n return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0]);\n return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1]);\n return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1], args[2]);\n return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);\n }\n };\n\n var Events = {\n\n on: function(name, callback, context) {\n if (!(eventsApi(this, 'on', name, [callback, context]) && callback)) return this;\n this._events || (this._events = {});\n var list = this._events[name] || (this._events[name] = []);\n list.push({callback: callback, context: context, ctx: context || this});\n return this;\n },\n\n once: function(name, callback, context) {\n if (!(eventsApi(this, 'once', name, [callback, context]) && callback)) return this;\n var self = this;\n var once = _.once(function() {\n self.off(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n this.on(name, once, context);\n return this;\n },\n\n off: function(name, callback, context) {\n var list, ev, events, names, i, l, j, k;\n if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this;\n if (!name && !callback && !context) {\n this._events = {};\n return this;\n }\n\n names = name ? [name] : _.keys(this._events);\n for (i = 0, l = names.length; i < l; i++) {\n name = names[i];\n if (list = this._events[name]) {\n events = [];\n if (callback || context) {\n for (j = 0, k = list.length; j < k; j++) {\n ev = list[j];\n if ((callback && callback !== ev.callback &&\n callback !== ev.callback._callback) ||\n (context && context !== ev.context)) {\n events.push(ev);\n }\n }\n }\n this._events[name] = events;\n }\n }\n\n return this;\n },\n\n trigger: function(name) {\n if (!this._events) return this;\n var args = Array.prototype.slice.call(arguments, 1);\n if (!eventsApi(this, 'trigger', name, args)) return this;\n var events = this._events[name];\n var allEvents = this._events.all;\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, arguments);\n return this;\n },\n\n listenTo: function(obj, name, callback) {\n var listeners = this._listeners || (this._listeners = {});\n var id = obj._listenerId || (obj._listenerId = _.uniqueId('l'));\n listeners[id] = obj;\n obj.on(name, typeof name === 'object' ? this : callback, this);\n return this;\n },\n\n stopListening: function(obj, name, callback) {\n var listeners = this._listeners;\n if (!listeners) return;\n if (obj) {\n obj.off(name, typeof name === 'object' ? this : callback, this);\n if (!name && !callback) delete listeners[obj._listenerId];\n } else {\n if (typeof name === 'object') callback = this;\n for (var id in listeners) {\n listeners[id].off(name, callback, this);\n }\n this._listeners = {};\n }\n return this;\n }\n };\n\n Events.bind = Events.on;\n Events.unbind = Events.off;\n return Events;\n };\n return eventsShim();\n})();\n\n(function() {\n var $, ActionMessenger, BaseView, Events, RetryingMessage, _, _Message, _Messenger, _ref, _ref1, _ref2,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n __slice = [].slice,\n __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n $ = jQuery;\n\n _ = (_ref = window._) != null ? _ref : window.Messenger._;\n\n Events = (_ref1 = typeof Backbone !== \"undefined\" && Backbone !== null ? Backbone.Events : void 0) != null ? _ref1 : window.Messenger.Events;\n\n BaseView = (function() {\n\n function BaseView(options) {\n $.extend(this, Events);\n if (_.isObject(options)) {\n if (options.el) {\n this.setElement(options.el);\n }\n this.model = options.model;\n }\n this.initialize.apply(this, arguments);\n }\n\n BaseView.prototype.setElement = function(el) {\n this.$el = $(el);\n return this.el = this.$el[0];\n };\n\n BaseView.prototype.delegateEvents = function(events) {\n var delegateEventSplitter, eventName, key, match, method, selector, _results;\n if (!(events || (events = _.result(this, \"events\")))) {\n return;\n }\n this.undelegateEvents();\n delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n _results = [];\n for (key in events) {\n method = events[key];\n if (!_.isFunction(method)) {\n method = this[events[key]];\n }\n if (!method) {\n throw new Error(\"Method \\\"\" + events[key] + \"\\\" does not exist\");\n }\n match = key.match(delegateEventSplitter);\n eventName = match[1];\n selector = match[2];\n method = _.bind(method, this);\n eventName += \".delegateEvents\" + this.cid;\n if (selector === '') {\n _results.push(this.jqon(eventName, method));\n } else {\n _results.push(this.jqon(eventName, selector, method));\n }\n }\n return _results;\n };\n\n BaseView.prototype.jqon = function(eventName, selector, method) {\n var _ref2;\n if (this.$el.on != null) {\n return (_ref2 = this.$el).on.apply(_ref2, arguments);\n } else {\n if (!(method != null)) {\n method = selector;\n selector = void 0;\n }\n if (selector != null) {\n return this.$el.delegate(selector, eventName, method);\n } else {\n return this.$el.bind(eventName, method);\n }\n }\n };\n\n BaseView.prototype.jqoff = function(eventName) {\n var _ref2;\n if (this.$el.off != null) {\n return (_ref2 = this.$el).off.apply(_ref2, arguments);\n } else {\n this.$el.undelegate();\n return this.$el.unbind(eventName);\n }\n };\n\n BaseView.prototype.undelegateEvents = function() {\n return this.jqoff(\".delegateEvents\" + this.cid);\n };\n\n BaseView.prototype.remove = function() {\n this.undelegateEvents();\n return this.$el.remove();\n };\n\n return BaseView;\n\n })();\n\n _Message = (function(_super) {\n\n __extends(_Message, _super);\n\n function _Message() {\n return _Message.__super__.constructor.apply(this, arguments);\n }\n\n _Message.prototype.defaults = {\n hideAfter: 10,\n scroll: true,\n closeButtonText: \"×\",\n escapeText: false\n };\n\n _Message.prototype.initialize = function(opts) {\n if (opts == null) {\n opts = {};\n }\n this.shown = false;\n this.rendered = false;\n this.messenger = opts.messenger;\n return this.options = $.extend({}, this.options, opts, this.defaults);\n };\n\n _Message.prototype.show = function() {\n var wasShown;\n if (!this.rendered) {\n this.render();\n }\n this.$message.removeClass('messenger-hidden');\n wasShown = this.shown;\n this.shown = true;\n if (!wasShown) {\n return this.trigger('show');\n }\n };\n\n _Message.prototype.hide = function() {\n var wasShown;\n if (!this.rendered) {\n return;\n }\n this.$message.addClass('messenger-hidden');\n wasShown = this.shown;\n this.shown = false;\n if (wasShown) {\n return this.trigger('hide');\n }\n };\n\n _Message.prototype.cancel = function() {\n return this.hide();\n };\n\n _Message.prototype.update = function(opts) {\n var _ref2,\n _this = this;\n if (_.isString(opts)) {\n opts = {\n message: opts\n };\n }\n $.extend(this.options, opts);\n this.lastUpdate = new Date();\n this.rendered = false;\n this.events = (_ref2 = this.options.events) != null ? _ref2 : {};\n this.render();\n this.actionsToEvents();\n this.delegateEvents();\n this.checkClickable();\n if (this.options.hideAfter) {\n this.$message.addClass('messenger-will-hide-after');\n if (this._hideTimeout != null) {\n clearTimeout(this._hideTimeout);\n }\n this._hideTimeout = setTimeout(function() {\n return _this.hide();\n }, this.options.hideAfter * 1000);\n } else {\n this.$message.removeClass('messenger-will-hide-after');\n }\n if (this.options.hideOnNavigate) {\n this.$message.addClass('messenger-will-hide-on-navigate');\n if ((typeof Backbone !== \"undefined\" && Backbone !== null ? Backbone.history : void 0) != null) {\n Backbone.history.on('route', function() {\n return _this.hide();\n });\n }\n } else {\n this.$message.removeClass('messenger-will-hide-on-navigate');\n }\n return this.trigger('update', this);\n };\n\n _Message.prototype.scrollTo = function() {\n if (!this.options.scroll) {\n return;\n }\n return $.scrollTo(this.$el, {\n duration: 400,\n offset: {\n left: 0,\n top: -20\n }\n });\n };\n\n _Message.prototype.timeSinceUpdate = function() {\n if (this.lastUpdate) {\n return (new Date) - this.lastUpdate;\n } else {\n return null;\n }\n };\n\n _Message.prototype.actionsToEvents = function() {\n var act, name, _ref2, _results,\n _this = this;\n _ref2 = this.options.actions;\n _results = [];\n for (name in _ref2) {\n act = _ref2[name];\n _results.push(this.events[\"click [data-action=\\\"\" + name + \"\\\"] a\"] = (function(act) {\n return function(e) {\n e.preventDefault();\n e.stopPropagation();\n _this.trigger(\"action:\" + name, act, e);\n return act.action.call(_this, e, _this);\n };\n })(act));\n }\n return _results;\n };\n\n _Message.prototype.checkClickable = function() {\n var evt, name, _ref2, _results;\n _ref2 = this.events;\n _results = [];\n for (name in _ref2) {\n evt = _ref2[name];\n if (name === 'click') {\n _results.push(this.$message.addClass('messenger-clickable'));\n } else {\n _results.push(void 0);\n }\n }\n return _results;\n };\n\n _Message.prototype.undelegateEvents = function() {\n var _ref2;\n _Message.__super__.undelegateEvents.apply(this, arguments);\n return (_ref2 = this.$message) != null ? _ref2.removeClass('messenger-clickable') : void 0;\n };\n\n _Message.prototype.parseActions = function() {\n var act, actions, n_act, name, _ref2, _ref3;\n actions = [];\n _ref2 = this.options.actions;\n for (name in _ref2) {\n act = _ref2[name];\n n_act = $.extend({}, act);\n n_act.name = name;\n if ((_ref3 = n_act.label) == null) {\n n_act.label = name;\n }\n actions.push(n_act);\n }\n return actions;\n };\n\n _Message.prototype.template = function(opts) {\n var $action, $actions, $cancel, $link, $message, $text, action, _i, _len, _ref2,\n _this = this;\n $message = $(\"
    \");\n if (opts.showCloseButton) {\n $cancel = $('\\n \\n ×\\n
    \\n').replace(/(^|\\n)\\s*/g, '');\n\nvar getContainer = function getContainer() {\n return document.body.querySelector('.' + swalClasses.container);\n};\n\nvar getModal = function getModal() {\n return getContainer() ? getContainer().querySelector('.' + swalClasses.modal) : null;\n};\n\nvar getIcons = function getIcons() {\n var modal = getModal();\n return modal.querySelectorAll('.' + swalClasses.icon);\n};\n\nvar elementByClass = function elementByClass(className) {\n return getContainer() ? getContainer().querySelector('.' + className) : null;\n};\n\nvar getTitle = function getTitle() {\n return elementByClass(swalClasses.title);\n};\n\nvar getContent = function getContent() {\n return elementByClass(swalClasses.content);\n};\n\nvar getImage = function getImage() {\n return elementByClass(swalClasses.image);\n};\n\nvar getSpacer = function getSpacer() {\n return elementByClass(swalClasses.spacer);\n};\n\nvar getProgressSteps = function getProgressSteps() {\n return elementByClass(swalClasses.progresssteps);\n};\n\nvar getValidationError = function getValidationError() {\n return elementByClass(swalClasses.validationerror);\n};\n\nvar getConfirmButton = function getConfirmButton() {\n return elementByClass(swalClasses.confirm);\n};\n\nvar getCancelButton = function getCancelButton() {\n return elementByClass(swalClasses.cancel);\n};\n\nvar getCloseButton = function getCloseButton() {\n return elementByClass(swalClasses.close);\n};\n\nvar getFocusableElements = function getFocusableElements(focusCancel) {\n var buttons = [getConfirmButton(), getCancelButton()];\n if (focusCancel) {\n buttons.reverse();\n }\n return buttons.concat(Array.prototype.slice.call(getModal().querySelectorAll('button:not([class^=' + swalPrefix + ']), input:not([type=hidden]), textarea, select')));\n};\n\nvar hasClass = function hasClass(elem, className) {\n if (elem.classList) {\n return elem.classList.contains(className);\n }\n return false;\n};\n\nvar focusInput = function focusInput(input) {\n input.focus();\n\n // place cursor at end of text in text input\n if (input.type !== 'file') {\n // http://stackoverflow.com/a/2345915/1331425\n var val = input.value;\n input.value = '';\n input.value = val;\n }\n};\n\nvar addClass = function addClass(elem, className) {\n if (!elem || !className) {\n return;\n }\n var classes = className.split(/\\s+/).filter(Boolean);\n classes.forEach(function (className) {\n elem.classList.add(className);\n });\n};\n\nvar removeClass = function removeClass(elem, className) {\n if (!elem || !className) {\n return;\n }\n var classes = className.split(/\\s+/).filter(Boolean);\n classes.forEach(function (className) {\n elem.classList.remove(className);\n });\n};\n\nvar getChildByClass = function getChildByClass(elem, className) {\n for (var i = 0; i < elem.childNodes.length; i++) {\n if (hasClass(elem.childNodes[i], className)) {\n return elem.childNodes[i];\n }\n }\n};\n\nvar show = function show(elem, display) {\n if (!display) {\n display = 'block';\n }\n elem.style.opacity = '';\n elem.style.display = display;\n};\n\nvar hide = function hide(elem) {\n elem.style.opacity = '';\n elem.style.display = 'none';\n};\n\nvar empty = function empty(elem) {\n while (elem.firstChild) {\n elem.removeChild(elem.firstChild);\n }\n};\n\n// borrowed from jqeury $(elem).is(':visible') implementation\nvar isVisible = function isVisible(elem) {\n return elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length;\n};\n\nvar removeStyleProperty = function removeStyleProperty(elem, property) {\n if (elem.style.removeProperty) {\n elem.style.removeProperty(property);\n } else {\n elem.style.removeAttribute(property);\n }\n};\n\nvar fireClick = function fireClick(node) {\n if (!isVisible(node)) {\n return false;\n }\n\n // Taken from http://www.nonobtrusive.com/2011/11/29/programatically-fire-crossbrowser-click-event-with-javascript/\n // Then fixed for today's Chrome browser.\n if (typeof MouseEvent === 'function') {\n // Up-to-date approach\n var mevt = new MouseEvent('click', {\n view: window,\n bubbles: false,\n cancelable: true\n });\n node.dispatchEvent(mevt);\n } else if (document.createEvent) {\n // Fallback\n var evt = document.createEvent('MouseEvents');\n evt.initEvent('click', false, false);\n node.dispatchEvent(evt);\n } else if (document.createEventObject) {\n node.fireEvent('onclick');\n } else if (typeof node.onclick === 'function') {\n node.onclick();\n }\n};\n\nvar animationEndEvent = function () {\n var testEl = document.createElement('div');\n var transEndEventNames = {\n 'WebkitAnimation': 'webkitAnimationEnd',\n 'OAnimation': 'oAnimationEnd oanimationend',\n 'msAnimation': 'MSAnimationEnd',\n 'animation': 'animationend'\n };\n for (var i in transEndEventNames) {\n if (transEndEventNames.hasOwnProperty(i) && testEl.style[i] !== undefined) {\n return transEndEventNames[i];\n }\n }\n\n return false;\n}();\n\n// Reset previous window keydown handler and focued element\nvar resetPrevState = function resetPrevState() {\n window.onkeydown = states.previousWindowKeyDown;\n if (states.previousActiveElement && states.previousActiveElement.focus) {\n var x = window.scrollX;\n var y = window.scrollY;\n states.previousActiveElement.focus();\n if (x && y) {\n // IE has no scrollX/scrollY support\n window.scrollTo(x, y);\n }\n }\n};\n\n// Measure width of scrollbar\n// https://github.com/twbs/bootstrap/blob/master/js/modal.js#L279-L286\nvar measureScrollbar = function measureScrollbar() {\n var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints;\n if (supportsTouch) {\n return 0;\n }\n var scrollDiv = document.createElement('div');\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n};\n\n// JavaScript Debounce Function\n// Simplivied version of https://davidwalsh.name/javascript-debounce-function\nvar debounce = function debounce(func, wait) {\n var timeout = void 0;\n return function () {\n var later = function later() {\n timeout = null;\n func();\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n};\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar modalParams = _extends({}, defaultParams);\nvar queue = [];\nvar swal2Observer = void 0;\n\n/*\n * Set type, text and actions on modal\n */\nvar setParameters = function setParameters(params) {\n var modal = getModal() || init(params);\n\n for (var param in params) {\n if (!defaultParams.hasOwnProperty(param) && param !== 'extraParams') {\n console.warn('SweetAlert2: Unknown parameter \"' + param + '\"');\n }\n }\n\n // set modal width and margin-left\n modal.style.width = typeof params.width === 'number' ? params.width + 'px' : params.width;\n\n modal.style.padding = params.padding + 'px';\n modal.style.background = params.background;\n\n var title = getTitle();\n var content = getContent();\n var confirmButton = getConfirmButton();\n var cancelButton = getCancelButton();\n var closeButton = getCloseButton();\n\n // Title\n if (params.titleText) {\n title.innerText = params.titleText;\n } else {\n title.innerHTML = params.title.split('\\n').join('
    ');\n }\n\n // Content\n if (params.text || params.html) {\n if (_typeof(params.html) === 'object') {\n content.innerHTML = '';\n if (0 in params.html) {\n for (var i = 0; i in params.html; i++) {\n content.appendChild(params.html[i].cloneNode(true));\n }\n } else {\n content.appendChild(params.html.cloneNode(true));\n }\n } else if (params.html) {\n content.innerHTML = params.html;\n } else if (params.text) {\n content.textContent = params.text;\n }\n show(content);\n } else {\n hide(content);\n }\n\n // Close button\n if (params.showCloseButton) {\n show(closeButton);\n } else {\n hide(closeButton);\n }\n\n // Custom Class\n modal.className = swalClasses.modal;\n if (params.customClass) {\n addClass(modal, params.customClass);\n }\n\n // Progress steps\n var progressStepsContainer = getProgressSteps();\n var currentProgressStep = parseInt(params.currentProgressStep === null ? sweetAlert.getQueueStep() : params.currentProgressStep, 10);\n if (params.progressSteps.length) {\n show(progressStepsContainer);\n empty(progressStepsContainer);\n if (currentProgressStep >= params.progressSteps.length) {\n console.warn('SweetAlert2: Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n }\n params.progressSteps.forEach(function (step, index) {\n var circle = document.createElement('li');\n addClass(circle, swalClasses.progresscircle);\n circle.innerHTML = step;\n if (index === currentProgressStep) {\n addClass(circle, swalClasses.activeprogressstep);\n }\n progressStepsContainer.appendChild(circle);\n if (index !== params.progressSteps.length - 1) {\n var line = document.createElement('li');\n addClass(line, swalClasses.progressline);\n line.style.width = params.progressStepsDistance;\n progressStepsContainer.appendChild(line);\n }\n });\n } else {\n hide(progressStepsContainer);\n }\n\n // Icon\n var icons = getIcons();\n for (var _i = 0; _i < icons.length; _i++) {\n hide(icons[_i]);\n }\n if (params.type) {\n var validType = false;\n for (var iconType in iconTypes) {\n if (params.type === iconType) {\n validType = true;\n break;\n }\n }\n if (!validType) {\n console.error('SweetAlert2: Unknown alert type: ' + params.type);\n return false;\n }\n var icon = modal.querySelector('.' + swalClasses.icon + '.' + iconTypes[params.type]);\n show(icon);\n\n // Animate icon\n switch (params.type) {\n case 'success':\n addClass(icon, 'animate');\n addClass(icon.querySelector('.tip'), 'animate-success-tip');\n addClass(icon.querySelector('.long'), 'animate-success-long');\n break;\n case 'error':\n addClass(icon, 'animate-error-icon');\n addClass(icon.querySelector('.x-mark'), 'animate-x-mark');\n break;\n case 'warning':\n addClass(icon, 'pulse-warning');\n break;\n default:\n break;\n }\n }\n\n // Custom image\n var image = getImage();\n if (params.imageUrl) {\n image.setAttribute('src', params.imageUrl);\n show(image);\n\n if (params.imageWidth) {\n image.setAttribute('width', params.imageWidth);\n } else {\n image.removeAttribute('width');\n }\n\n if (params.imageHeight) {\n image.setAttribute('height', params.imageHeight);\n } else {\n image.removeAttribute('height');\n }\n\n image.className = swalClasses.image;\n if (params.imageClass) {\n addClass(image, params.imageClass);\n }\n } else {\n hide(image);\n }\n\n // Cancel button\n if (params.showCancelButton) {\n cancelButton.style.display = 'inline-block';\n } else {\n hide(cancelButton);\n }\n\n // Confirm button\n if (params.showConfirmButton) {\n removeStyleProperty(confirmButton, 'display');\n } else {\n hide(confirmButton);\n }\n\n // Buttons spacer\n var spacer = getSpacer();\n if (!params.showConfirmButton && !params.showCancelButton) {\n hide(spacer);\n } else {\n show(spacer);\n }\n\n // Edit text on cancel and confirm buttons\n confirmButton.innerHTML = params.confirmButtonText;\n cancelButton.innerHTML = params.cancelButtonText;\n\n // Set buttons to selected background colors\n if (params.buttonsStyling) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n }\n\n // Add buttons custom classes\n confirmButton.className = swalClasses.confirm;\n addClass(confirmButton, params.confirmButtonClass);\n cancelButton.className = swalClasses.cancel;\n addClass(cancelButton, params.cancelButtonClass);\n\n // Buttons styling\n if (params.buttonsStyling) {\n addClass(confirmButton, swalClasses.styled);\n addClass(cancelButton, swalClasses.styled);\n } else {\n removeClass(confirmButton, swalClasses.styled);\n removeClass(cancelButton, swalClasses.styled);\n\n confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = '';\n cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = '';\n }\n\n // CSS animation\n if (params.animation === true) {\n removeClass(modal, swalClasses.noanimation);\n } else {\n addClass(modal, swalClasses.noanimation);\n }\n};\n\n/*\n * Animations\n */\nvar openModal = function openModal(animation, onComplete) {\n var container = getContainer();\n var modal = getModal();\n\n if (animation) {\n addClass(modal, swalClasses.show);\n addClass(container, swalClasses.fade);\n removeClass(modal, swalClasses.hide);\n } else {\n removeClass(modal, swalClasses.fade);\n }\n show(modal);\n\n // scrolling is 'hidden' until animation is done, after that 'auto'\n container.style.overflowY = 'hidden';\n if (animationEndEvent && !hasClass(modal, swalClasses.noanimation)) {\n modal.addEventListener(animationEndEvent, function swalCloseEventFinished() {\n modal.removeEventListener(animationEndEvent, swalCloseEventFinished);\n container.style.overflowY = 'auto';\n });\n } else {\n container.style.overflowY = 'auto';\n }\n\n addClass(document.documentElement, swalClasses.shown);\n addClass(document.body, swalClasses.shown);\n addClass(container, swalClasses.shown);\n fixScrollbar();\n iOSfix();\n states.previousActiveElement = document.activeElement;\n if (onComplete !== null && typeof onComplete === 'function') {\n setTimeout(function () {\n onComplete(modal);\n });\n }\n};\n\nvar fixScrollbar = function fixScrollbar() {\n // for queues, do not do this more than once\n if (states.previousBodyPadding !== null) {\n return;\n }\n // if the body has overflow\n if (document.body.scrollHeight > window.innerHeight) {\n // add padding so the content doesn't shift after removal of scrollbar\n states.previousBodyPadding = document.body.style.paddingRight;\n document.body.style.paddingRight = measureScrollbar() + 'px';\n }\n};\n\nvar undoScrollbar = function undoScrollbar() {\n if (states.previousBodyPadding !== null) {\n document.body.style.paddingRight = states.previousBodyPadding;\n states.previousBodyPadding = null;\n }\n};\n\n// Fix iOS scrolling http://stackoverflow.com/q/39626302/1331425\nvar iOSfix = function iOSfix() {\n var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n if (iOS && !hasClass(document.body, swalClasses.iosfix)) {\n var offset = document.body.scrollTop;\n document.body.style.top = offset * -1 + 'px';\n addClass(document.body, swalClasses.iosfix);\n }\n};\n\nvar undoIOSfix = function undoIOSfix() {\n if (hasClass(document.body, swalClasses.iosfix)) {\n var offset = parseInt(document.body.style.top, 10);\n removeClass(document.body, swalClasses.iosfix);\n document.body.style.top = '';\n document.body.scrollTop = offset * -1;\n }\n};\n\n// SweetAlert entry point\nvar sweetAlert = function sweetAlert() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args[0] === undefined) {\n console.error('SweetAlert2 expects at least 1 attribute!');\n return false;\n }\n\n var params = _extends({}, modalParams);\n\n switch (_typeof(args[0])) {\n case 'string':\n params.title = args[0];\n params.html = args[1];\n params.type = args[2];\n\n break;\n\n case 'object':\n _extends(params, args[0]);\n params.extraParams = args[0].extraParams;\n\n if (params.input === 'email' && params.inputValidator === null) {\n params.inputValidator = function (email) {\n return new Promise(function (resolve, reject) {\n var emailRegex = /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$/;\n if (emailRegex.test(email)) {\n resolve();\n } else {\n reject('Invalid email address');\n }\n });\n };\n }\n break;\n\n default:\n console.error('SweetAlert2: Unexpected type of argument! Expected \"string\" or \"object\", got ' + _typeof(args[0]));\n return false;\n }\n\n setParameters(params);\n\n var container = getContainer();\n var modal = getModal();\n\n return new Promise(function (resolve, reject) {\n // Close on timer\n if (params.timer) {\n modal.timeout = setTimeout(function () {\n sweetAlert.closeModal(params.onClose);\n reject('timer');\n }, params.timer);\n }\n\n // Get input element by specified type or, if type isn't specified, by params.input\n var getInput = function getInput(inputType) {\n inputType = inputType || params.input;\n if (!inputType) {\n return null;\n }\n switch (inputType) {\n case 'select':\n case 'textarea':\n case 'file':\n return getChildByClass(modal, swalClasses[inputType]);\n case 'checkbox':\n return modal.querySelector('.' + swalClasses.checkbox + ' input');\n case 'radio':\n return modal.querySelector('.' + swalClasses.radio + ' input:checked') || modal.querySelector('.' + swalClasses.radio + ' input:first-child');\n case 'range':\n return modal.querySelector('.' + swalClasses.range + ' input');\n default:\n return getChildByClass(modal, swalClasses.input);\n }\n };\n\n // Get the value of the modal input\n var getInputValue = function getInputValue() {\n var input = getInput();\n if (!input) {\n return null;\n }\n switch (params.input) {\n case 'checkbox':\n return input.checked ? 1 : 0;\n case 'radio':\n return input.checked ? input.value : null;\n case 'file':\n return input.files.length ? input.files[0] : null;\n default:\n return params.inputAutoTrim ? input.value.trim() : input.value;\n }\n };\n\n // input autofocus\n if (params.input) {\n setTimeout(function () {\n var input = getInput();\n if (input) {\n focusInput(input);\n }\n }, 0);\n }\n\n var confirm = function confirm(value) {\n if (params.showLoaderOnConfirm) {\n sweetAlert.showLoading();\n }\n\n if (params.preConfirm) {\n params.preConfirm(value, params.extraParams).then(function (preConfirmValue) {\n sweetAlert.closeModal(params.onClose);\n resolve(preConfirmValue || value);\n }, function (error) {\n sweetAlert.hideLoading();\n if (error) {\n sweetAlert.showValidationError(error);\n }\n });\n } else {\n sweetAlert.closeModal(params.onClose);\n resolve(value);\n }\n };\n\n // Mouse interactions\n var onButtonEvent = function onButtonEvent(event) {\n var e = event || window.event;\n var target = e.target || e.srcElement;\n var confirmButton = getConfirmButton();\n var cancelButton = getCancelButton();\n var targetedConfirm = confirmButton === target || confirmButton.contains(target);\n var targetedCancel = cancelButton === target || cancelButton.contains(target);\n\n switch (e.type) {\n case 'mouseover':\n case 'mouseup':\n if (params.buttonsStyling) {\n if (targetedConfirm) {\n confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.1);\n } else if (targetedCancel) {\n cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.1);\n }\n }\n break;\n case 'mouseout':\n if (params.buttonsStyling) {\n if (targetedConfirm) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n } else if (targetedCancel) {\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n }\n }\n break;\n case 'mousedown':\n if (params.buttonsStyling) {\n if (targetedConfirm) {\n confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.2);\n } else if (targetedCancel) {\n cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.2);\n }\n }\n break;\n case 'click':\n // Clicked 'confirm'\n if (targetedConfirm && sweetAlert.isVisible()) {\n sweetAlert.disableButtons();\n if (params.input) {\n (function () {\n var inputValue = getInputValue();\n\n if (params.inputValidator) {\n sweetAlert.disableInput();\n params.inputValidator(inputValue, params.extraParams).then(function () {\n sweetAlert.enableButtons();\n sweetAlert.enableInput();\n confirm(inputValue);\n }, function (error) {\n sweetAlert.enableButtons();\n sweetAlert.enableInput();\n if (error) {\n sweetAlert.showValidationError(error);\n }\n });\n } else {\n confirm(inputValue);\n }\n })();\n } else {\n confirm(true);\n }\n\n // Clicked 'cancel'\n } else if (targetedCancel && sweetAlert.isVisible()) {\n sweetAlert.disableButtons();\n sweetAlert.closeModal(params.onClose);\n reject('cancel');\n }\n break;\n default:\n }\n };\n\n var buttons = modal.querySelectorAll('button');\n for (var i = 0; i < buttons.length; i++) {\n buttons[i].onclick = onButtonEvent;\n buttons[i].onmouseover = onButtonEvent;\n buttons[i].onmouseout = onButtonEvent;\n buttons[i].onmousedown = onButtonEvent;\n }\n\n // Closing modal by close button\n getCloseButton().onclick = function () {\n sweetAlert.closeModal(params.onClose);\n reject('close');\n };\n\n // Closing modal by overlay click\n container.onclick = function (e) {\n if (e.target !== container) {\n return;\n }\n if (params.allowOutsideClick) {\n sweetAlert.closeModal(params.onClose);\n reject('overlay');\n }\n };\n\n var confirmButton = getConfirmButton();\n var cancelButton = getCancelButton();\n\n // Reverse buttons (Confirm on the right side)\n if (params.reverseButtons) {\n confirmButton.parentNode.insertBefore(cancelButton, confirmButton);\n } else {\n confirmButton.parentNode.insertBefore(confirmButton, cancelButton);\n }\n\n // Focus handling\n var setFocus = function setFocus(index, increment) {\n var focusableElements = getFocusableElements(params.focusCancel);\n // search for visible elements and select the next possible match\n for (var _i2 = 0; _i2 < focusableElements.length; _i2++) {\n index = index + increment;\n\n // rollover to first item\n if (index === focusableElements.length) {\n index = 0;\n\n // go to last item\n } else if (index === -1) {\n index = focusableElements.length - 1;\n }\n\n // determine if element is visible\n var el = focusableElements[index];\n if (isVisible(el)) {\n return el.focus();\n }\n }\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n var e = event || window.event;\n var keyCode = e.keyCode || e.which;\n\n if ([9, 13, 32, 27].indexOf(keyCode) === -1) {\n // Don't do work on keys we don't care about.\n return;\n }\n\n var targetElement = e.target || e.srcElement;\n\n var focusableElements = getFocusableElements(params.focusCancel);\n var btnIndex = -1; // Find the button - note, this is a nodelist, not an array.\n for (var _i3 = 0; _i3 < focusableElements.length; _i3++) {\n if (targetElement === focusableElements[_i3]) {\n btnIndex = _i3;\n break;\n }\n }\n\n // TAB\n if (keyCode === 9) {\n if (!e.shiftKey) {\n // Cycle to the next button\n setFocus(btnIndex, 1);\n } else {\n // Cycle to the prev button\n setFocus(btnIndex, -1);\n }\n e.stopPropagation();\n e.preventDefault();\n\n // ENTER/SPACE\n } else if (keyCode === 13 || keyCode === 32) {\n if (btnIndex === -1 && params.allowEnterKey) {\n // ENTER/SPACE clicked outside of a button.\n if (params.focusCancel) {\n fireClick(cancelButton, e);\n } else {\n fireClick(confirmButton, e);\n }\n }\n // ESC\n } else if (keyCode === 27 && params.allowEscapeKey === true) {\n sweetAlert.closeModal(params.onClose);\n reject('esc');\n }\n };\n\n states.previousWindowKeyDown = window.onkeydown;\n window.onkeydown = handleKeyDown;\n\n // Loading state\n if (params.buttonsStyling) {\n confirmButton.style.borderLeftColor = params.confirmButtonColor;\n confirmButton.style.borderRightColor = params.confirmButtonColor;\n }\n\n /**\n * Show spinner instead of Confirm button and disable Cancel button\n */\n sweetAlert.showLoading = sweetAlert.enableLoading = function () {\n show(getSpacer());\n show(confirmButton, 'inline-block');\n addClass(confirmButton, swalClasses.loading);\n addClass(modal, swalClasses.loading);\n confirmButton.disabled = true;\n cancelButton.disabled = true;\n };\n\n /**\n * Show spinner instead of Confirm button and disable Cancel button\n */\n sweetAlert.hideLoading = sweetAlert.disableLoading = function () {\n if (!params.showConfirmButton) {\n hide(confirmButton);\n if (!params.showCancelButton) {\n hide(getSpacer());\n }\n }\n removeClass(confirmButton, swalClasses.loading);\n removeClass(modal, swalClasses.loading);\n confirmButton.disabled = false;\n cancelButton.disabled = false;\n };\n\n sweetAlert.getTitle = function () {\n return getTitle();\n };\n sweetAlert.getContent = function () {\n return getContent();\n };\n sweetAlert.getInput = function () {\n return getInput();\n };\n sweetAlert.getImage = function () {\n return getImage();\n };\n sweetAlert.getConfirmButton = function () {\n return getConfirmButton();\n };\n sweetAlert.getCancelButton = function () {\n return getCancelButton();\n };\n\n sweetAlert.enableButtons = function () {\n confirmButton.disabled = false;\n cancelButton.disabled = false;\n };\n\n sweetAlert.disableButtons = function () {\n confirmButton.disabled = true;\n cancelButton.disabled = true;\n };\n\n sweetAlert.enableConfirmButton = function () {\n confirmButton.disabled = false;\n };\n\n sweetAlert.disableConfirmButton = function () {\n confirmButton.disabled = true;\n };\n\n sweetAlert.enableInput = function () {\n var input = getInput();\n if (!input) {\n return false;\n }\n if (input.type === 'radio') {\n var radiosContainer = input.parentNode.parentNode;\n var radios = radiosContainer.querySelectorAll('input');\n for (var _i4 = 0; _i4 < radios.length; _i4++) {\n radios[_i4].disabled = false;\n }\n } else {\n input.disabled = false;\n }\n };\n\n sweetAlert.disableInput = function () {\n var input = getInput();\n if (!input) {\n return false;\n }\n if (input && input.type === 'radio') {\n var radiosContainer = input.parentNode.parentNode;\n var radios = radiosContainer.querySelectorAll('input');\n for (var _i5 = 0; _i5 < radios.length; _i5++) {\n radios[_i5].disabled = true;\n }\n } else {\n input.disabled = true;\n }\n };\n\n // Set modal min-height to disable scrolling inside the modal\n sweetAlert.recalculateHeight = debounce(function () {\n var modal = getModal();\n if (!modal) {\n return;\n }\n var prevState = modal.style.display;\n modal.style.minHeight = '';\n show(modal);\n modal.style.minHeight = modal.scrollHeight + 1 + 'px';\n modal.style.display = prevState;\n }, 50);\n\n // Show block with validation error\n sweetAlert.showValidationError = function (error) {\n var validationError = getValidationError();\n validationError.innerHTML = error;\n show(validationError);\n\n var input = getInput();\n if (input) {\n focusInput(input);\n addClass(input, swalClasses.inputerror);\n }\n };\n\n // Hide block with validation error\n sweetAlert.resetValidationError = function () {\n var validationError = getValidationError();\n hide(validationError);\n sweetAlert.recalculateHeight();\n\n var input = getInput();\n if (input) {\n removeClass(input, swalClasses.inputerror);\n }\n };\n\n sweetAlert.getProgressSteps = function () {\n return params.progressSteps;\n };\n\n sweetAlert.setProgressSteps = function (progressSteps) {\n params.progressSteps = progressSteps;\n setParameters(params);\n };\n\n sweetAlert.showProgressSteps = function () {\n show(getProgressSteps());\n };\n\n sweetAlert.hideProgressSteps = function () {\n hide(getProgressSteps());\n };\n\n sweetAlert.enableButtons();\n sweetAlert.hideLoading();\n sweetAlert.resetValidationError();\n\n // inputs\n var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n var input = void 0;\n for (var _i6 = 0; _i6 < inputTypes.length; _i6++) {\n var inputClass = swalClasses[inputTypes[_i6]];\n var inputContainer = getChildByClass(modal, inputClass);\n input = getInput(inputTypes[_i6]);\n\n // set attributes\n if (input) {\n for (var j in input.attributes) {\n if (input.attributes.hasOwnProperty(j)) {\n var attrName = input.attributes[j].name;\n if (attrName !== 'type' && attrName !== 'value') {\n input.removeAttribute(attrName);\n }\n }\n }\n for (var attr in params.inputAttributes) {\n input.setAttribute(attr, params.inputAttributes[attr]);\n }\n }\n\n // set class\n inputContainer.className = inputClass;\n if (params.inputClass) {\n addClass(inputContainer, params.inputClass);\n }\n\n hide(inputContainer);\n }\n\n var populateInputOptions = void 0;\n\n (function () {\n switch (params.input) {\n case 'text':\n case 'email':\n case 'password':\n case 'number':\n case 'tel':\n input = getChildByClass(modal, swalClasses.input);\n input.value = params.inputValue;\n input.placeholder = params.inputPlaceholder;\n input.type = params.input;\n show(input);\n break;\n case 'file':\n input = getChildByClass(modal, swalClasses.file);\n input.placeholder = params.inputPlaceholder;\n input.type = params.input;\n show(input);\n break;\n case 'range':\n var range = getChildByClass(modal, swalClasses.range);\n var rangeInput = range.querySelector('input');\n var rangeOutput = range.querySelector('output');\n rangeInput.value = params.inputValue;\n rangeInput.type = params.input;\n rangeOutput.value = params.inputValue;\n show(range);\n break;\n case 'select':\n var select = getChildByClass(modal, swalClasses.select);\n select.innerHTML = '';\n if (params.inputPlaceholder) {\n var placeholder = document.createElement('option');\n placeholder.innerHTML = params.inputPlaceholder;\n placeholder.value = '';\n placeholder.disabled = true;\n placeholder.selected = true;\n select.appendChild(placeholder);\n }\n populateInputOptions = function populateInputOptions(inputOptions) {\n for (var optionValue in inputOptions) {\n var option = document.createElement('option');\n option.value = optionValue;\n option.innerHTML = inputOptions[optionValue];\n if (params.inputValue === optionValue) {\n option.selected = true;\n }\n select.appendChild(option);\n }\n show(select);\n select.focus();\n };\n break;\n case 'radio':\n var radio = getChildByClass(modal, swalClasses.radio);\n radio.innerHTML = '';\n populateInputOptions = function populateInputOptions(inputOptions) {\n for (var radioValue in inputOptions) {\n var radioInput = document.createElement('input');\n var radioLabel = document.createElement('label');\n var radioLabelSpan = document.createElement('span');\n radioInput.type = 'radio';\n radioInput.name = swalClasses.radio;\n radioInput.value = radioValue;\n if (params.inputValue === radioValue) {\n radioInput.checked = true;\n }\n radioLabelSpan.innerHTML = inputOptions[radioValue];\n radioLabel.appendChild(radioInput);\n radioLabel.appendChild(radioLabelSpan);\n radioLabel.for = radioInput.id;\n radio.appendChild(radioLabel);\n }\n show(radio);\n var radios = radio.querySelectorAll('input');\n if (radios.length) {\n radios[0].focus();\n }\n };\n break;\n case 'checkbox':\n var checkbox = getChildByClass(modal, swalClasses.checkbox);\n var checkboxInput = getInput('checkbox');\n checkboxInput.type = 'checkbox';\n checkboxInput.value = 1;\n checkboxInput.id = swalClasses.checkbox;\n checkboxInput.checked = Boolean(params.inputValue);\n var label = checkbox.getElementsByTagName('span');\n if (label.length) {\n checkbox.removeChild(label[0]);\n }\n label = document.createElement('span');\n label.innerHTML = params.inputPlaceholder;\n checkbox.appendChild(label);\n show(checkbox);\n break;\n case 'textarea':\n var textarea = getChildByClass(modal, swalClasses.textarea);\n textarea.value = params.inputValue;\n textarea.placeholder = params.inputPlaceholder;\n show(textarea);\n break;\n case null:\n break;\n default:\n console.error('SweetAlert2: Unexpected type of input! Expected \"text\", \"email\", \"password\", \"select\", \"checkbox\", \"textarea\" or \"file\", got \"' + params.input + '\"');\n break;\n }\n })();\n\n if (params.input === 'select' || params.input === 'radio') {\n if (params.inputOptions instanceof Promise) {\n sweetAlert.showLoading();\n params.inputOptions.then(function (inputOptions) {\n sweetAlert.hideLoading();\n populateInputOptions(inputOptions);\n });\n } else if (_typeof(params.inputOptions) === 'object') {\n populateInputOptions(params.inputOptions);\n } else {\n console.error('SweetAlert2: Unexpected type of inputOptions! Expected object or Promise, got ' + _typeof(params.inputOptions));\n }\n }\n\n openModal(params.animation, params.onOpen);\n\n // Focus the first element (input or button)\n if (params.allowEnterKey) {\n setFocus(-1, 1);\n } else {\n if (document.activeElement) {\n document.activeElement.blur();\n }\n }\n\n // fix scroll\n getContainer().scrollTop = 0;\n\n // Observe changes inside the modal and adjust height\n if (typeof MutationObserver !== 'undefined' && !swal2Observer) {\n swal2Observer = new MutationObserver(sweetAlert.recalculateHeight);\n swal2Observer.observe(modal, { childList: true, characterData: true, subtree: true });\n }\n });\n};\n\n/*\n * Global function to determine if swal2 modal is shown\n */\nsweetAlert.isVisible = function () {\n return !!getModal();\n};\n\n/*\n * Global function for chaining sweetAlert modals\n */\nsweetAlert.queue = function (steps) {\n queue = steps;\n var resetQueue = function resetQueue() {\n queue = [];\n document.body.removeAttribute('data-swal2-queue-step');\n };\n var queueResult = [];\n return new Promise(function (resolve, reject) {\n (function step(i, callback) {\n if (i < queue.length) {\n document.body.setAttribute('data-swal2-queue-step', i);\n\n sweetAlert(queue[i]).then(function (result) {\n queueResult.push(result);\n step(i + 1, callback);\n }, function (dismiss) {\n resetQueue();\n reject(dismiss);\n });\n } else {\n resetQueue();\n resolve(queueResult);\n }\n })(0);\n });\n};\n\n/*\n * Global function for getting the index of current modal in queue\n */\nsweetAlert.getQueueStep = function () {\n return document.body.getAttribute('data-swal2-queue-step');\n};\n\n/*\n * Global function for inserting a modal to the queue\n */\nsweetAlert.insertQueueStep = function (step, index) {\n if (index && index < queue.length) {\n return queue.splice(index, 0, step);\n }\n return queue.push(step);\n};\n\n/*\n * Global function for deleting a modal from the queue\n */\nsweetAlert.deleteQueueStep = function (index) {\n if (typeof queue[index] !== 'undefined') {\n queue.splice(index, 1);\n }\n};\n\n/*\n * Global function to close sweetAlert\n */\nsweetAlert.close = sweetAlert.closeModal = function (onComplete) {\n var container = getContainer();\n var modal = getModal();\n if (!modal) {\n return;\n }\n removeClass(modal, swalClasses.show);\n addClass(modal, swalClasses.hide);\n clearTimeout(modal.timeout);\n\n resetPrevState();\n\n var removeModalAndResetState = function removeModalAndResetState() {\n container.parentNode.removeChild(container);\n removeClass(document.documentElement, swalClasses.shown);\n removeClass(document.body, swalClasses.shown);\n undoScrollbar();\n undoIOSfix();\n };\n\n // If animation is supported, animate\n if (animationEndEvent && !hasClass(modal, swalClasses.noanimation)) {\n modal.addEventListener(animationEndEvent, function swalCloseEventFinished() {\n modal.removeEventListener(animationEndEvent, swalCloseEventFinished);\n if (hasClass(modal, swalClasses.hide)) {\n removeModalAndResetState();\n }\n });\n } else {\n // Otherwise, remove immediately\n removeModalAndResetState();\n }\n if (onComplete !== null && typeof onComplete === 'function') {\n setTimeout(function () {\n onComplete(modal);\n });\n }\n};\n\n/*\n * Global function to click 'Confirm' button\n */\nsweetAlert.clickConfirm = function () {\n return getConfirmButton().click();\n};\n\n/*\n * Global function to click 'Cancel' button\n */\nsweetAlert.clickCancel = function () {\n return getCancelButton().click();\n};\n\n/**\n * Set default params for each popup\n * @param {Object} userParams\n */\nsweetAlert.setDefaults = function (userParams) {\n if (!userParams || (typeof userParams === 'undefined' ? 'undefined' : _typeof(userParams)) !== 'object') {\n return console.error('SweetAlert2: the argument for setDefaults() is required and has to be a object');\n }\n\n for (var param in userParams) {\n if (!defaultParams.hasOwnProperty(param) && param !== 'extraParams') {\n console.warn('SweetAlert2: Unknown parameter \"' + param + '\"');\n delete userParams[param];\n }\n }\n\n _extends(modalParams, userParams);\n};\n\n/**\n * Reset default params for each popup\n */\nsweetAlert.resetDefaults = function () {\n modalParams = _extends({}, defaultParams);\n};\n\nsweetAlert.noop = function () {};\n\nsweetAlert.version = '6.4.2';\n\nsweetAlert.default = sweetAlert;\n\nreturn sweetAlert;\n\n})));\nif (window.Sweetalert2) window.sweetAlert = window.swal = window.Sweetalert2;","var QRCode;!function(){function t(t){this.mode=l.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(var e=0,r=this.data.length;r>e;e++){var i=[],n=this.data.charCodeAt(e);n>65536?(i[0]=240|(1835008&n)>>>18,i[1]=128|(258048&n)>>>12,i[2]=128|(4032&n)>>>6,i[3]=128|63&n):n>2048?(i[0]=224|(61440&n)>>>12,i[1]=128|(4032&n)>>>6,i[2]=128|63&n):n>128?(i[0]=192|(1984&n)>>>6,i[1]=128|63&n):i[0]=n,this.parsedData.push(i)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function e(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function r(t,e){if(void 0==t.length)throw new Error(t.length+\"/\"+e);for(var r=0;r=n;n++){var a=0;switch(e){case u.L:a=p[n][0];break;case u.M:a=p[n][1];break;case u.Q:a=p[n][2];break;case u.H:a=p[n][3]}if(a>=i)break;r++}if(r>p.length)throw new Error(\"Too long data\");return r}function h(t){var e=encodeURI(t).toString().replace(/\\%[0-9a-fA-F]{2}/g,\"a\");return e.length+(e.length!=t?3:0)}t.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(var e=0,r=this.parsedData.length;r>e;e++)t.put(this.parsedData[e],8)}},e.prototype={addData:function(e){var r=new t(e);this.dataList.push(r),this.dataCache=null},isDark:function(t,e){if(0>t||this.moduleCount<=t||0>e||this.moduleCount<=e)throw new Error(t+\",\"+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,r){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var i=0;i=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)},setupPositionProbePattern:function(t,e){for(var r=-1;7>=r;r++)if(!(-1>=t+r||this.moduleCount<=t+r))for(var i=-1;7>=i;i++)-1>=e+i||this.moduleCount<=e+i||(r>=0&&6>=r&&(0==i||6==i)||i>=0&&6>=i&&(0==r||6==r)||r>=2&&4>=r&&i>=2&&4>=i?this.modules[t+r][e+i]=!0:this.modules[t+r][e+i]=!1)},getBestMaskPattern:function(){for(var t=0,e=0,r=0;8>r;r++){this.makeImpl(!0,r);var i=d.getLostPoint(this);(0==r||t>i)&&(t=i,e=r)}return e},createMovieClip:function(t,e,r){var i=t.createEmptyMovieClip(e,r),n=1;this.make();for(var o=0;o=o;o++)for(var a=-2;2>=a;a++)-2==o||2==o||-2==a||2==a||0==o&&0==a?this.modules[i+o][n+a]=!0:this.modules[i+o][n+a]=!1}},setupTypeNumber:function(t){for(var e=d.getBCHTypeNumber(this.typeNumber),r=0;18>r;r++){var i=!t&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=i}for(var r=0;18>r;r++){var i=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=i}},setupTypeInfo:function(t,e){for(var r=this.errorCorrectLevel<<3|e,i=d.getBCHTypeInfo(r),n=0;15>n;n++){var o=!t&&1==(i>>n&1);6>n?this.modules[n][8]=o:8>n?this.modules[n+1][8]=o:this.modules[this.moduleCount-15+n][8]=o}for(var n=0;15>n;n++){var o=!t&&1==(i>>n&1);8>n?this.modules[8][this.moduleCount-n-1]=o:9>n?this.modules[8][15-n-1+1]=o:this.modules[8][15-n-1]=o}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var r=-1,i=this.moduleCount-1,n=7,o=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;2>s;s++)if(null==this.modules[i][a-s]){var h=!1;o>>n&1));var l=d.getMask(e,i,a-s);l&&(h=!h),this.modules[i][a-s]=h,n--,-1==n&&(o++,n=7)}if(i+=r,0>i||this.moduleCount<=i){i-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(t,r,o){for(var a=i.getRSBlocks(t,r),s=new n,h=0;h8*u)throw new Error(\"code length overflow. (\"+s.getLengthInBits()+\">\"+8*u+\")\");for(s.getLengthInBits()+4<=8*u&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(!1);for(;;){if(s.getLengthInBits()>=8*u)break;if(s.put(e.PAD0,8),s.getLengthInBits()>=8*u)break;s.put(e.PAD1,8)}return e.createBytes(s,a)},e.createBytes=function(t,e){for(var i=0,n=0,o=0,a=new Array(e.length),s=new Array(e.length),h=0;h=0?p.get(m):0}}for(var v=0,c=0;cc;c++)for(var h=0;hc;c++)for(var h=0;h=0;)e^=d.G15<=0;)e^=d.G18<>>=1;return e},getPatternPosition:function(t){return d.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case c.PATTERN000:return(e+r)%2==0;case c.PATTERN001:return e%2==0;case c.PATTERN010:return r%3==0;case c.PATTERN011:return(e+r)%3==0;case c.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case c.PATTERN101:return e*r%2+e*r%3==0;case c.PATTERN110:return(e*r%2+e*r%3)%2==0;case c.PATTERN111:return(e*r%3+(e+r)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new r([1],0),i=0;t>i;i++)e=e.multiply(new r([1,f.gexp(i)],0));return e},getLengthInBits:function(t,e){if(e>=1&&10>e)switch(t){case l.MODE_NUMBER:return 10;case l.MODE_ALPHA_NUM:return 9;case l.MODE_8BIT_BYTE:return 8;case l.MODE_KANJI:return 8;default:throw new Error(\"mode:\"+t)}else if(27>e)switch(t){case l.MODE_NUMBER:return 12;case l.MODE_ALPHA_NUM:return 11;case l.MODE_8BIT_BYTE:return 16;case l.MODE_KANJI:return 10;default:throw new Error(\"mode:\"+t)}else{if(!(41>e))throw new Error(\"type:\"+e);switch(t){case l.MODE_NUMBER:return 14;case l.MODE_ALPHA_NUM:return 13;case l.MODE_8BIT_BYTE:return 16;case l.MODE_KANJI:return 12;default:throw new Error(\"mode:\"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),r=0,i=0;e>i;i++)for(var n=0;e>n;n++){for(var o=0,a=t.isDark(i,n),s=-1;1>=s;s++)if(!(0>i+s||i+s>=e))for(var h=-1;1>=h;h++)0>n+h||n+h>=e||(0!=s||0!=h)&&a==t.isDark(i+s,n+h)&&o++;o>5&&(r+=3+o-5)}for(var i=0;e-1>i;i++)for(var n=0;e-1>n;n++){var l=0;t.isDark(i,n)&&l++,t.isDark(i+1,n)&&l++,t.isDark(i,n+1)&&l++,t.isDark(i+1,n+1)&&l++,(0==l||4==l)&&(r+=3)}for(var i=0;e>i;i++)for(var n=0;e-6>n;n++)t.isDark(i,n)&&!t.isDark(i,n+1)&&t.isDark(i,n+2)&&t.isDark(i,n+3)&&t.isDark(i,n+4)&&!t.isDark(i,n+5)&&t.isDark(i,n+6)&&(r+=40);for(var n=0;e>n;n++)for(var i=0;e-6>i;i++)t.isDark(i,n)&&!t.isDark(i+1,n)&&t.isDark(i+2,n)&&t.isDark(i+3,n)&&t.isDark(i+4,n)&&!t.isDark(i+5,n)&&t.isDark(i+6,n)&&(r+=40);for(var u=0,n=0;e>n;n++)for(var i=0;e>i;i++)t.isDark(i,n)&&u++;var c=Math.abs(100*u/e/e-50)/5;return r+=10*c}},f={glog:function(t){if(1>t)throw new Error(\"glog(\"+t+\")\");return f.LOG_TABLE[t]},gexp:function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return f.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},g=0;8>g;g++)f.EXP_TABLE[g]=1<g;g++)f.EXP_TABLE[g]=f.EXP_TABLE[g-4]^f.EXP_TABLE[g-5]^f.EXP_TABLE[g-6]^f.EXP_TABLE[g-8];for(var g=0;255>g;g++)f.LOG_TABLE[f.EXP_TABLE[g]]=g;r.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=new Array(this.getLength()+t.getLength()-1),i=0;ia;a++)for(var s=r[3*a+0],h=r[3*a+1],l=r[3*a+2],u=0;s>u;u++)o.push(new i(h,l));return o},i.getRsBlockTable=function(t,e){switch(e){case u.L:return i.RS_BLOCK_TABLE[4*(t-1)+0];case u.M:return i.RS_BLOCK_TABLE[4*(t-1)+1];case u.Q:return i.RS_BLOCK_TABLE[4*(t-1)+2];case u.H:return i.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},n.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var r=0;e>r;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var p=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]],m=function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){function e(t,e){var r=document.createElementNS(\"http://www.w3.org/2000/svg\",t);for(var i in e)e.hasOwnProperty(i)&&r.setAttribute(i,e[i]);return r}var r=this._htOption,i=this._el,n=t.getModuleCount();Math.floor(r.width/n),Math.floor(r.height/n);this.clear();var o=e(\"svg\",{viewBox:\"0 0 \"+String(n)+\" \"+String(n),width:\"100%\",height:\"100%\",fill:r.colorLight});o.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),i.appendChild(o),o.appendChild(e(\"rect\",{fill:r.colorLight,width:\"100%\",height:\"100%\"})),o.appendChild(e(\"rect\",{fill:r.colorDark,width:\"1\",height:\"1\",id:\"template\"}));for(var a=0;n>a;a++)for(var s=0;n>s;s++)if(t.isDark(a,s)){var h=e(\"use\",{x:String(s),y:String(a)});h.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",\"#template\"),o.appendChild(h)}},t.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},t}(),v=\"svg\"===document.documentElement.tagName.toLowerCase(),w=v?m:o()?function(){function t(){this._elImage.src=this._elCanvas.toDataURL(\"image/png\"),this._elImage.style.display=\"block\",this._elCanvas.style.display=\"none\"}function e(t,e){var r=this;if(r._fFail=e,r._fSuccess=t,null===r._bSupportDataURI){var i=document.createElement(\"img\"),n=function(){r._bSupportDataURI=!1,r._fFail&&r._fFail.call(r)},o=function(){r._bSupportDataURI=!0,r._fSuccess&&r._fSuccess.call(r)};return i.onabort=n,i.onerror=n,i.onload=o,void(i.src=\"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\")}r._bSupportDataURI===!0&&r._fSuccess?r._fSuccess.call(r):r._bSupportDataURI===!1&&r._fFail&&r._fFail.call(r)}if(this._android&&this._android<=2.1){var r=1/window.devicePixelRatio,i=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(t,e,n,o,a,s,h,l,u){if(\"nodeName\"in t&&/img/i.test(t.nodeName))for(var c=arguments.length-1;c>=1;c--)arguments[c]=arguments[c]*r;else\"undefined\"==typeof l&&(arguments[1]*=r,arguments[2]*=r,arguments[3]*=r,arguments[4]*=r);i.apply(this,arguments)}}var n=function(t,e){this._bIsPainted=!1,this._android=a(),this._htOption=e,this._elCanvas=document.createElement(\"canvas\"),this._elCanvas.width=e.width,this._elCanvas.height=e.height,t.appendChild(this._elCanvas),this._el=t,this._oContext=this._elCanvas.getContext(\"2d\"),this._bIsPainted=!1,this._elImage=document.createElement(\"img\"),this._elImage.alt=\"Scan me!\",this._elImage.style.display=\"none\",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return n.prototype.draw=function(t){var e=this._elImage,r=this._oContext,i=this._htOption,n=t.getModuleCount(),o=i.width/n,a=i.height/n,s=Math.round(o),h=Math.round(a);e.style.display=\"none\",this.clear();for(var l=0;n>l;l++)for(var u=0;n>u;u++){var c=t.isDark(l,u),d=u*o,f=l*a;r.strokeStyle=c?i.colorDark:i.colorLight,r.lineWidth=1,r.fillStyle=c?i.colorDark:i.colorLight,r.fillRect(d,f,o,a),r.strokeRect(Math.floor(d)+.5,Math.floor(f)+.5,s,h),r.strokeRect(Math.ceil(d)-.5,Math.ceil(f)-.5,s,h)}this._bIsPainted=!0},n.prototype.makeImage=function(){this._bIsPainted&&e.call(this,t)},n.prototype.isPainted=function(){return this._bIsPainted},n.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},n.prototype.round=function(t){return t?Math.floor(1e3*t)/1e3:t},n}():function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){for(var e=this._htOption,r=this._el,i=t.getModuleCount(),n=Math.floor(e.width/i),o=Math.floor(e.height/i),a=['
    '],s=0;i>s;s++){a.push(\"\");for(var h=0;i>h;h++)a.push('');a.push(\"\")}a.push(\"
    \"),r.innerHTML=a.join(\"\");var l=r.childNodes[0],u=(e.width-l.offsetWidth)/2,c=(e.height-l.offsetHeight)/2;u>0&&c>0&&(l.style.margin=c+\"px \"+u+\"px\")},t.prototype.clear=function(){this._el.innerHTML=\"\"},t}();QRCode=function(t,e){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:\"#000000\",colorLight:\"#ffffff\",correctLevel:u.H},\"string\"==typeof e&&(e={text:e}),e)for(var r in e)this._htOption[r]=e[r];\"string\"==typeof t&&(t=document.getElementById(t)),this._htOption.useSVG&&(w=m),this._android=a(),this._el=t,this._oQRCode=null,this._oDrawing=new w(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},QRCode.prototype.makeCode=function(t){this._oQRCode=new e(s(t,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(t),this._oQRCode.make(),this._el.title=t,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){\"function\"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=u}(),function(t,e,r){function i(t,e){var r=g({},b,e||{},p(t));r.imageSelector&&(r.image=h(r.imageSelector).map(function(t){return t.src}).join(\"||\")),u(t,\"share-component social-share\"),n(t,r),o(t,r),t.initialized=!0}function n(t,e){var r=a(e),i=\"prepend\"==e.mode;v(i?r.reverse():r,function(r){var n=s(r,e),o=e.initialized?d(t,\"icon-\"+r):f('');return o.length?(o[0].href=n,\"wechat\"===r?o[0].tabindex=-1:o[0].target=\"_blank\",void(e.initialized||(i?t.insertBefore(o[0],t.firstChild):t.appendChild(o[0])))):!0})}function o(t,e){var r=d(t,\"icon-wechat\",\"a\");if(0===r.length)return!1;var i=f('

    '+e.wechatQrcodeTitle+'

    '+e.wechatQrcodeHelper+\"
    \"),n=d(i[0],\"qrcode\",\"div\");r[0].appendChild(i[0]),new QRCode(n[0],{text:e.url,width:e.wechatQrcodeSize,height:e.wechatQrcodeSize})}function a(t){t.mobileSites.length||(t.mobileSites=t.sites);var e=(A?t.mobileSites:t.sites).slice(0),r=t.disabled;return\"string\"==typeof e&&(e=e.split(/\\s*,\\s*/)),\"string\"==typeof r&&(r=r.split(/\\s*,\\s*/)),E&&r.push(\"wechat\"),r.length&&v(r,function(t){e.splice(m(t,e),1)}),e}function s(t,e){return e.summary=e.description,B[t].replace(/\\{\\{(\\w)(\\w*)\\}\\}/g,function(i,n,o){var a=t+n+o.toLowerCase();return o=(n+o).toLowerCase(),encodeURIComponent((e[a]===r?e[o]:e[a])||\"\")})}function h(r){return(e.querySelectorAll||t.jQuery||t.Zepto||l).call(e,r)}function l(t){var r=[];return v(t.split(/\\s*,\\s*/),function(i){var n=i.match(/([#.])(\\w+)/);if(null===n)throw Error(\"Supports only simple single #ID or .CLASS selector.\");if(n[1]){var o=e.getElementById(n[2]);o&&r.push(o)}r=r.concat(d(t))}),r}function u(t,e){if(e&&\"string\"==typeof e){var r=(t.className+\" \"+e).split(/\\s+/),i=\" \";v(r,function(t){i.indexOf(\" \"+t+\" \")<0&&(i+=t+\" \")}),t.className=i.slice(1,-1)}}function c(t){return(e.getElementsByName(t)[0]||0).content}function d(t,e,r){if(t.getElementsByClassName)return t.getElementsByClassName(e);var i=[],n=t.getElementsByTagName(r||\"*\");return e=\" \"+e+\" \",v(n,function(t){(\" \"+(t.className||\"\")+\" \").indexOf(e)>=0&&i.push(t)}),i}function f(t){var r=e.createElement(\"div\");return r.innerHTML=t,r.childNodes}function g(){var t=arguments;if(C)return C.apply(null,t);var e={};return v(t,function(t){v(t,function(t,r){e[r]=t})}),t[0]=e}function p(t){if(t.dataset)return t.dataset;var e={};return t.hasAttributes()?(v(t.attributes,function(t){var r=t.name;return 0!==r.indexOf(\"data-\")?!0:(r=r.replace(/^data-/i,\"\").replace(/-(\\w)/g,function(t,e){return e.toUpperCase()}),void(e[r]=t.value))}),e):{}}function m(t,e,r){var i;if(e){if(_)return _.call(e,t,r);for(i=e.length,r=r?0>r?Math.max(0,i+r):r:0;i>r;r++)if(r in e&&e[r]===t)return r}return-1}function v(t,e){var i=t.length;if(i===r){for(var n in t)if(t.hasOwnProperty(n)&&e.call(t[n],t[n],n)===!1)break}else for(var o=0;i>o&&e.call(t[o],t[o],o)!==!1;o++);}function w(r){var i=\"addEventListener\",n=e[i]?\"\":\"on\";~e.readyState.indexOf(\"m\")?r():\"load DOMContentLoaded readystatechange\".replace(/\\w+/g,function(o,a){(a?e:t)[n?\"attachEvent\":i](n+o,function(){r&&(6>a||~e.readyState.indexOf(\"m\"))&&(r(),r=0)},!1)})}var _=Array.prototype.indexOf,C=Object.assign,E=/MicroMessenger/i.test(navigator.userAgent),A=e.documentElement.clientWidth<=768,T=(e.images[0]||0).src||\"\",y=c(\"site\")||c(\"Site\")||e.title,L=c(\"title\")||c(\"Title\")||e.title,D=c(\"description\")||c(\"Description\")||\"\",b={url:location.href,origin:location.origin,source:y,title:L,description:D,image:T,imageSelector:r,weiboKey:\"\",wechatQrcodeTitle:\"微信扫一扫:分享\",wechatQrcodeHelper:\"

    微信里点“发现”,扫一下

    二维码便可将本文分享至朋友圈。

    \",wechatQrcodeSize:100,sites:[\"weibo\",\"qq\",\"wechat\",\"tencent\",\"douban\",\"qzone\",\"linkedin\",\"diandian\",\"facebook\",\"twitter\",\"google\"],mobileSites:[],disabled:[],initialized:!1},B={qzone:\"http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={{URL}}&title={{TITLE}}&desc={{DESCRIPTION}}&summary={{SUMMARY}}&site={{SOURCE}}\",qq:\"http://connect.qq.com/widget/shareqq/index.html?url={{URL}}&title={{TITLE}}&source={{SOURCE}}&desc={{DESCRIPTION}}&pics={{IMAGE}}\",tencent:\"http://share.v.t.qq.com/index.php?c=share&a=index&title={{TITLE}}&url={{URL}}&pic={{IMAGE}}\",weibo:\"http://service.weibo.com/share/share.php?url={{URL}}&title={{TITLE}}&pic={{IMAGE}}&appkey={{WEIBOKEY}}\",wechat:\"javascript:\",douban:\"http://shuo.douban.com/!service/share?href={{URL}}&name={{TITLE}}&text={{DESCRIPTION}}&image={{IMAGE}}&starid=0&aid=0&style=11\",diandian:\"http://www.diandian.com/share?lo={{URL}}&ti={{TITLE}}&type=link\",linkedin:\"http://www.linkedin.com/shareArticle?mini=true&ro=true&title={{TITLE}}&url={{URL}}&summary={{SUMMARY}}&source={{SOURCE}}&armin=armin\",facebook:\"https://www.facebook.com/sharer/sharer.php?u={{URL}}\",twitter:\"https://twitter.com/intent/tweet?text={{TITLE}}&url={{URL}}&via={{ORIGIN}}\",google:\"https://plus.google.com/share?url={{URL}}\"};t.socialShare=function(t,e){t=\"string\"==typeof t?h(t):t,t.length===r&&(t=[t]),v(t,function(t){t.initialized||i(t,e)})},w(function(){socialShare(\".social-share, .share-component\")})}(window,document);","\n(function($){\n\n var original_title = document.title;\n var nCount = 0;\n\n var PHPHub = {\n init: function(){\n var self = this;\n $(document).pjax('a:not(a[target=\"_blank\"])', 'body', {\n timeout: 1600,\n maxCacheLength: 500\n });\n $(document).on('pjax:start', function() {\n NProgress.start();\n });\n $(document).on('pjax:end', function() {\n NProgress.done();\n self.siteBootUp();\n // Fixing popover persist problem\n $('.popover').remove();\n });\n $(document).on('pjax:complete', function() {\n original_title = document.title;\n NProgress.done();\n self._resetTitle();\n });\n // Exclude links with a specific class\n $(document).on(\"pjax:click\", \"a.no-pjax\", false);\n\n self.siteBootUp();\n self.initLightBox();\n self.initNotificationsCount();\n window.showMsg = self.showMsg;\n window.showPluginDownload = self.showPluginDownload;\n\n if (ShowCrxHint === 'yes') {\n showPluginDownload();\n }\n\n Messenger.options = {\n extraClasses: 'messenger-fixed messenger-on-bottom messenger-on-right',\n theme: 'flat'\n }\n },\n\n /*\n * Things to be execute when normal page load\n * and pjax page load.\n */\n siteBootUp: function(){\n var self = this;\n self.initExternalLink();\n self.initTimeAgo();\n self.initEmoji();\n // self.initAutocompleteAtUser();\n self.initScrollToTop();\n self.initPopup();\n self.initTextareaAutoResize();\n self.initHeightLight();\n self.initLocalStorage();\n self.initEditorPreview();\n self.initReplyOnPressKey();\n self.initDeleteForm();\n\n self.initInlineAttach();\n // self.snowing();\n self.forceImageDataType();\n self.initToolTips();\n self.initAjax();\n self.initLogin();\n self.initEditBtnAnimated();\n self.initAnchorific();\n self.initIinfiniteScroll();\n self.initSticky();\n self.initSubmitBtn();\n self.initLostPass();\n },\n\n initSubmitBtn: function(){\n $('button.loading-on-clicked[type=\"submit\"]').click(function() {\n $(this).button('loading');\n });\n },\n\n initSticky: function(){\n if ($(window).width() > 991) {\n $(\"#sticker\").sticky({topSpacing:20});\n }\n },\n\n initIinfiniteScroll: function(){\n var self = this;\n $('.jscroll').jscroll({\n loadingHtml: '
    Loading...
    ',\n padding: 20,\n nextSelector: '.pagination li:last-child a',\n contentSelector: '.jscroll',\n pagingSelector: '.panel-footer',\n maxPages: 2,\n callback: function() {\n self.initTimeAgo();\n $('.panel-footer').hide();\n }\n });\n },\n\n initAnchorific: function(){\n if ($('.anchorific').length == 0) {\n $('div.entry-content').anchorific({\n navigation: '.anchorific', // position of navigation\n speed: 200, // speed of sliding back to top\n anchorClass: 'anchorific', // class of anchor links\n anchorText: '#', // prepended or appended to anchor headings\n top: '.top', // back to top button or link class\n spy: true, // scroll spy\n position: 'append', // position of anchor text\n spyOffset: 0 // specify heading offset for spy scrolling\n });\n }\n },\n /**\n * Open External Links In New Window\n */\n initExternalLink: function(){\n $('.topics-show a[href^=\"http://\"], .topics-show a[href^=\"https://\"]').each(function() {\n var a = new RegExp('/' + window.location.host + '/');\n if(!a.test(this.href) ) {\n $(this).click(function(event) {\n event.preventDefault();\n event.stopPropagation();\n window.open(this.href, '_blank');\n });\n }\n });\n },\n\n /**\n * Automatically transform any Date format to human\n * friendly format, all you need to do is add a\n * `.timeago` class.\n */\n initTimeAgo: function(){\n moment.lang('zh-cn');\n $('.timeago').each(function(){\n var time_str = $(this).text();\n if(moment(time_str, \"YYYY-MM-DD HH:mm:ss\", true).isValid()) {\n $(this).text(moment(time_str).fromNow());\n }\n\n $(this).addClass('popover-with-html');\n $(this).attr('data-content', time_str);\n });\n },\n\n /**\n * Enable emoji everywhere.\n */\n initEmoji: function(){\n emojify.setConfig({\n img_dir : Config.cdnDomain + 'assets/images/emoji',\n ignored_tags : {\n 'SCRIPT' : 1,\n 'TEXTAREA': 1,\n 'A' : 1,\n 'PRE' : 1,\n 'CODE' : 1\n }\n });\n emojify.run();\n\n $('#reply_content').textcomplete([\n { // emoji strategy\n match: /\\B:([\\-+\\w]*)$/,\n search: function (term, callback) {\n callback($.map(emojies, function (emoji) {\n return emoji.indexOf(term) === 0 ? emoji : null;\n }));\n },\n template: function (value) {\n return '' + value;\n },\n replace: function (value) {\n return ':' + value + ': ';\n },\n index: 1,\n maxCount: 5\n }\n ]);\n },\n\n /**\n * Autocomplete @user\n */\n initAutocompleteAtUser: function() {\n var at_users = Config.following_users,\n user;\n $users = $('.topic .meta a.author, .media-heading a.author');\n for (var i = 0; i < $users.length; i++) {\n user = $users.eq(i).text().trim();\n if ($.inArray(user, at_users) == -1) {\n at_users.push(user);\n };\n };\n\n $('textarea').textcomplete([{\n mentions: at_users,\n match: /\\B@(\\S*)$/,\n search: function(term, callback) {\n callback($.map(this.mentions, function(mention) {\n console.log(term + ' -> '+ mention.indexOf(term) + ' -> ' + mention);\n return (mention.indexOf(term) >= 0 // 中文\n || mention.indexOf(term.toUpperCase()) >= 0 // 大写\n || mention.indexOf(term.toLowerCase()) >= 0 // 小写\n ) ? mention : null;\n }));\n },\n index: 1,\n replace: function(mention) {\n return '@' + mention + ' ';\n }\n }], {\n appendTo: 'body',\n onKeydown: function(e, commands){\n console.log(commands);\n }\n });\n\n },\n\n /**\n * Autoresizing the textarea when you typing.\n */\n initTextareaAutoResize: function(){\n $('textarea').autosize();\n },\n\n /**\n * Scroll to top in one click.\n */\n initScrollToTop: function(){\n $.scrollUp.init();\n },\n\n /**\n * Scroll to top in one click.\n */\n initPopup: function(){\n // Popover with html\n $('.popover-with-html').popover({\n\t\t\t\t html : true,\n\t\t\t\t trigger : 'hover',\n container: 'body',\n\t\t\t\t placement: 'auto top',\n\t\t\t });\n },\n\n /**\n * Code heightlight.\n */\n initHeightLight: function(){\n Prism.highlightAll();\n },\n\n /**\n * lightbox\n */\n initLightBox: function(){\n $(document).delegate('.content-body img:not(.emoji)', 'click', function(event) {\n event.preventDefault();\n return $(this).ekkoLightbox({\n onShown: function() {\n if (window.console) {\n // return console.log('Checking our the events huh?');\n }\n }\n });\n });\n $(document).delegate('.appends-container img:not(.emoji)', 'click', function(event) {\n event.preventDefault();\n return $(this).ekkoLightbox({\n onShown: function() {\n if (window.console) {\n // return console.log('Checking our the events huh?');\n }\n }\n });\n });\n },\n\n /**\n * do content preview\n */\n runPreview: function() {\n var replyContent = $(\"#reply_content\");\n var oldContent = replyContent.val();\n\n if (oldContent) {\n marked(oldContent, function (err, content) {\n $('#preview-box').html(content);\n emojify.run(document.getElementById('preview-box'));\n });\n }\n },\n\n /**\n * Init post content preview\n */\n initEditorPreview: function() {\n var self = this;\n $(\"#reply_content\").focus(function(event) {\n // $(\"#reply_notice\").addClass('animated pulse');\n $(\"#preview-box\").fadeIn(1500);\n $(\"#preview-lable\").fadeIn(1500);\n\n // Scroll to bottom\n // if (!$(\"#reply_content\").val()) {\n // $(\"html, body\").animate({ scrollTop: $(document).height()}, 1800);\n // }\n });\n // $(\"#reply_content\").blur(function(event) {\n // $(\"#reply_notice\").removeClass('animated swing');\n // });\n $('#reply_content').keyup(function(){\n self.runPreview();\n });\n },\n\n /**\n * Notify user unread notifications when they stay on the\n * page for too long.\n */\n initNotificationsCount: function(argumen) {\n var self = this;\n if (Config.user_id > 0 && Config.environment != 'local') {\n function scheduleGetNotification(){\n $.get( Config.routes.notificationsCount, function( data ) {\n\n nCount = parseInt(data);\n self._resetTitle();\n setTimeout(scheduleGetNotification, 15000);\n });\n };\n setTimeout(scheduleGetNotification, 15000);\n }\n },\n\n _resetTitle: function() {\n\n if(window.location.href.indexOf(\"notifications\") > -1) {\n nCount = 0;\n }\n\n if (nCount > 0) {\n $('#notification-count').text(nCount);\n $('#notification-count').hasClass('badge-important') || $('#notification-count').addClass('badge-important');\n document.title = '(' + nCount + ') '+ original_title;\n } else {\n document.title = original_title;\n $('#notification-count').text(0);\n $('#notification-count').addClass('badge-fade');\n $('#notification-count').removeClass('badge-important');\n }\n },\n\n /*\n * Use Ctrl + Enter for reply\n */\n initReplyOnPressKey: function() {\n $(document).on(\"keydown\", \"#reply_content\", function(e)\n {\n if ((e.keyCode == 10 || e.keyCode == 13) && e.ctrlKey && $('#reply-create-submit').is(':enabled')) {\n $(this).parents(\"form\").submit();\n return false;\n }\n });\n },\n\n /*\n * Construct a form when using the following code, makes more clean code.\n * {{ link_to_route('tasks.destroy', 'D', $task->id, ['data-method'=>'delete']) }}\n * See this answer: http://stackoverflow.com/a/23082278/689832\n */\n initDeleteForm: function() {\n $('[data-method]').append(function(){\n return \"\\n\"+\n \"
    \\n\"+\n \" \\n\"+\n \" \\n\"+\n \"
    \\n\"\n })\n .attr('style','cursor:pointer;')\n .click(function() {\n var that = $(this);\n if ($(this).attr('data-method') == 'delete') {\n swal({\n title: \"\",\n text: \"你确定要删除此内容吗?\",\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"删除\"\n }).then(function(){\n that.find(\"form\").submit();\n }).catch(swal.noop);\n }\n if ($(this).attr('data-btn') == 'transform-button') {\n swal({\n title: \"\",\n text: \"确定要把此话题转换为专栏文章?\",\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"转为文章\"\n }).then(function(){\n that.find(\"form\").submit();\n }).catch(swal.noop);\n }\n if ($(this).attr('data-method') == 'post') {\n $(this).find(\"form\").submit();\n }\n });\n // attr('onclick',' if (confirm(\"Are you sure want to proceed?\")) { $(this).find(\"form\").submit(); };');\n },\n\n /**\n * Local Storage\n */\n initLocalStorage: function() {\n var self = this;\n $(\"#reply_content\").focus(function(event) {\n\n // Topic Title ON Topic Creation View\n localforage.getItem('topic-title', function(err, value) {\n if ($('.topic_create #topic-title').val() == '' && !err) {\n $('.topic_create #topic-title').val(value);\n };\n });\n $('.topic_create #topic-title').keyup(function(){\n localforage.setItem('topic-title', $(this).val());\n });\n\n // Topic Content ON Topic Creation View\n localforage.getItem('topic_create_content', function(err, value) {\n if ($('.topic_create #reply_content').val() == '' && !err) {\n $('.topic_create #reply_content').val(value);\n self.runPreview();\n }\n });\n $('.topic_create #reply_content').keyup(function(){\n localforage.setItem('topic_create_content', $(this).val());\n });\n\n // Reply Content ON Topic Detail View\n localforage.getItem('reply_content', function(err, value) {\n if ($('.topics-show #reply_content').val() == '' && !err) {\n $('.topics-show #reply_content').val(value);\n self.runPreview();\n }\n });\n $('.topics-show #reply_content').keyup(function(){\n localforage.setItem('reply_content', $(this).val());\n });\n })\n\n // Clear Local Storage on submit\n $(\"#article-create-form\").submit(function(event){\n localStorage.removeItem('smde_article_content');\n localforage.removeItem('article-title');\n $(\".submit-btn\").text('提交中...').addClass('disabled').prop('disabled', true);\n });\n $(\"#topic-create-form\").submit(function(event){\n localStorage.removeItem('smde_topic_content');\n localforage.removeItem('topic-title');\n $(\".submit-btn\").text('提交中...').addClass('disabled').prop('disabled', true);\n });\n\n $(\"#article-edit-form\").submit(function(event){\n localStorage.removeItem('smde_article_content'+Config.article_id);\n $(\".submit-btn\").text('提交中...').addClass('disabled').prop('disabled', true);\n });\n $(\"#topic-edit-form\").submit(function(event){\n localStorage.removeItem('smde_topic_content'+Config.topic_id);\n console.log('smde_topic_content'+Config.topic_id);\n $(\".submit-btn\").text('提交中...').addClass('disabled').prop('disabled', true);\n });\n\n var allow_submit = false;\n\n $(\".topic-form\").submit(function(event){\n\n var title = $('#topic-title').val();\n var cid = $('#category-select').val();\n\n console.log(title);\n console.log(cid);\n\n if ( ! allow_submit && cid == Config.qa_category_id) {\n event.preventDefault();\n } else {\n return;\n }\n\n if ( cid == Config.qa_category_id && ! title.includes('?') && ! title.includes('?')) {\n swal({\n title: \"\",\n text: '问答话题的标题必须带问号❓',\n type: \"error\",\n confirmButtonText: \"我知道了\"\n }).then(function() {\n $(\".submit-btn\").text('提交').removeClass('disabled').prop('disabled', false);\n }).catch(swal.noop);\n } else if (cid == Config.qa_category_id) {\n\n swal.setDefaults({\n input: 'text',\n confirmButtonText: '下一个 →',\n animation: false,\n progressSteps: ['1', '2', '3', '4'],\n allowOutsideClick: false,\n allowEscapeKey: false\n })\n\n var steps = [\n {\n title: '搜索为先',\n html: '你是否已经尝试过 站内搜索Google 搜索
    请回答:已尝试过搜索'\n },\n {\n title: '提问的智慧',\n html: '你是否已经阅读过 《提问的智慧》
    请回答:已阅读'\n },\n {\n title: '排版是最基本的礼仪',\n html: '你是否知道排版错落帖子将会被 下沉
    请回答:我已知悉'\n },\n {\n title: 'Markdown 代码高亮',\n html: '我们对代码块不使用高亮的态度是 零容忍
    请回答:我会使用高亮'\n }\n ]\n\n swal.queue(steps).then(function (result) {\n swal.resetDefaults()\n var text = '恭喜你💐,现在你可以发布问题啦。';\n var type = 'success';\n var confirmButtonText = '提交问题';\n var showCancelButton = true;\n console.log(result);\n console.log(result[0]);\n if (\n result[0] != '已尝试过搜索'\n || result[1] != '已阅读'\n || result[2] != '我已知悉'\n || result[3] != '我会使用高亮'\n ) {\n text = '回答有误,请严格按照建议进行回答。';\n type = 'error';\n confirmButtonText = '再尝试一遍';\n showCancelButton = false;\n allow_submit = false;\n } else {\n allow_submit = true;\n }\n\n swal({\n title: '',\n text: text,\n type: type,\n confirmButtonText: confirmButtonText,\n showCancelButton: showCancelButton,\n cancelButtonText: '修改问题',\n allowOutsideClick: false,\n allowEscapeKey: false\n }).then(function () {\n\n $('.topic-form').submit();\n\n }).catch(swal.noop)\n\n }, function () {\n\n swal.resetDefaults()\n\n }).catch(swal.noop)\n\n } else {\n\n }\n\n });\n\n\n $(\"#reply-form\").submit(function(event){\n localforage.removeItem('reply_content');\n });\n },\n\n /**\n * Upload image\n */\n initInlineAttach: function() {\n var self = this;\n $('#reply_content').inlineattach({\n uploadUrl: Config.routes.upload_image,\n extraParams: {\n '_token': Config.token,\n },\n onUploadedFile: function(response) {\n setTimeout(self.runPreview, 200);\n },\n });\n },\n\n /**\n * Snowing around the world\n */\n snowing: function() {\n\n // only show snow in Christmas\n var today = new Date()\n var christmas = new Date(today.getFullYear(), 11, 25) // Month is 0-11 in JavaScript\n if (today.getMonth() == 11 && (today.getDate() > 22 && today.getDate() < 30))\n {\n $('#body').snowfall({\n flakeCount: 100,\n minSize: 2,\n maxSize:5,\n round: true\n });\n }\n },\n\n /**\n * Force image data type, fixing the \"Could not detect remote target type...\"\n * problem.\n */\n forceImageDataType: function() {\n $('.content-body img:not(.emoji)').each(function(){\n $(this).attr('data-type', 'image');\n });\n },\n\n initToolTips: function() {\n $('[data-toggle=\"tooltip\"]').tooltip();\n },\n\n initAjax: function() {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('meta[name=\"_token\"]').attr('content')\n }\n });\n\n this.initDataAjax();\n this.initAppendsModal();\n this.initComment();\n },\n\n initComment: function() {\n var self = this;\n var form = $('#reply-form');\n var submitBtn = form.find('input[type=submit]');\n var submitBtnVal = submitBtn.val();\n var replies = $('.replies .list-group');\n var preview = $('#preview-box');\n var emptyBlock = $('#replies-empty-block');\n var count = 0;\n\n form.on('submit', function() {\n var tpl = '';\n var delTpl = '';\n var voteTpl = '';\n var introTpl = '';\n var badgeTpl = '';\n var total = $('.replies .total b');\n\n count = replies.find('li').length + 1;\n comment = $(this).find('textarea');\n commentText = comment.val();\n\n if ($.trim(commentText) !== '') {\n submitBtn.val('提交中...').addClass('disabled').prop('disabled', true);\n $.ajax({\n method: 'POST',\n url: $(this).attr('action'),\n data: {\n body: commentText,\n topic_id: $('[name=topic_id]').val()\n },\n }).done(function(data) {\n if (data.status === 200) {\n if (data.manage_topics === 'yes') {\n delTpl = '';\n }\n\n if (data.reply.user.introduction) {\n introTpl = ',' + data.reply.user.introduction;\n }\n if (Config.user_badge) {\n badgeTpl = '';\n }\n\n tpl = '
  • \\\n
    \\\n \"'\\\n ' + badgeTpl +'
    \\\n
    \\\n
    \\\n ' + data.reply.user.name + '\\\n ' + introTpl + '\\\n ' + delTpl + '\\\n \\\n
    \\\n #' + count + '\\\n \\\n ' + data.reply.created_at + '\\\n
    \\\n
    \\\n
    ' + data.reply.body + '
    \\\n
    \\\n
  • ';\n }\n\n $(tpl).hide().appendTo(replies).slideDown();\n total.html(parseInt(total.html()) + 1);\n emptyBlock.addClass('hide');\n comment.val('');\n localforage.removeItem('reply_content');\n preview.html('');\n location.href = location.href.split('#')[0] + '#reply' + count;\n self.initTimeAgo();\n self.showPluginDownload();\n emojify.run();\n }).always(function() {\n submitBtn.val(submitBtnVal).removeClass('disabled').prop('disabled', false);\n });\n }\n\n return false;\n });\n },\n\n initAppendsModal: function() {\n var self = this;\n var appendsContainer = $('.topic .appends-container');\n var appendText = appendsContainer.data('lang-append');\n var modal = $('#exampleModal');\n var submitBtn = modal.find('button[type=submit]');\n var count = 0;\n var appendMsg = '';\n\n modal.find('form').on('submit', function() {\n var tpl = '';\n count = appendsContainer.find('.appends').length;\n appendMsg = $(this).find('textarea').val();\n\n if ($.trim(appendMsg) !== '') {\n submitBtn.html('提交中...').addClass('disabled').prop('disabled', true);\n $.ajax({\n method: 'POST',\n url: $(this).attr('action'),\n data: {\n content: appendMsg\n },\n }).done(function(data) {\n if (data.status === 200) {\n tpl += '
    ';\n tpl += '' + appendText + ' ' + count + '  ·  ' + data.append.created_at + '';\n tpl += '
    ';\n tpl += '
    ';\n tpl += data.append.content;\n tpl += '
    ';\n tpl += '
    ';\n }\n\n $(tpl).hide().appendTo(appendsContainer).slideDown();\n self.initTimeAgo();\n modal.modal('hide');\n });\n }\n\n return false;\n });\n\n modal.on('hidden.bs.modal', function() {\n $(this).find('textarea').val('');\n submitBtn.html('提交').removeClass('disabled').prop('disabled', false);\n });\n },\n\n initDataAjax: function() {\n var self = this;\n $(document).on('click', '[data-ajax]', function() {\n var that = $(this);\n var method = that.data('ajax');\n var url = that.data('url');\n var active = that.is('.active');\n var cancelText = that.data('lang-cancel');\n var isRecomend = that.is('#topic-recomend-button');\n var isWiki = that.is('#topic-wiki-button');\n var ribbonContainer = $('.topic .ribbon-container');\n var ribbon = $('.topic .ribbon');\n var excellent = $('.topic .ribbon-excellent');\n var wiki = $('.topic .ribbon-wiki');\n var total = $('.replies .total b');\n var voteCount = $('#vote-count');\n var upVote = $('#up-vote');\n var isVote = that.is('.vote');\n var isUpVote = that.is('#up-vote');\n var isCommentVote= that.is('.comment-vote');\n var commenVoteCount= that.find('.vote-count');\n var emptyBlock = $('#replies-empty-block');\n var originUpVoteActive = upVote.is('.active');\n\n if (Config.user_id === 0) {\n swal({\n title: \"\",\n text: '需要登录以后才能执行此操作。',\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"前往登录\"\n }).then(function(){\n\n location.href = '/login-required';\n\n }).catch(swal.noop);\n }\n\n if (method === 'delete') {\n swal({\n title: \"\",\n text: \"Are you sure want to proceed?\",\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"删除\"\n }).then(function(){\n that.closest('.list-group-item').slideUp();\n $.ajax({\n method: method,\n url: url\n }).done(function(data) {\n if (data.status === 200) {\n that.closest('.list-group-item').remove();\n total.html(parseInt(total.html()) - 1);\n if (parseInt(total.html()) === 0) {\n emptyBlock.removeClass('hide');\n }\n }\n }).fail(function() {\n that.closest('.list-group-item').show();\n });\n }).catch(swal.noop);\n\n return;\n }\n\n if (that.is('.ajax-loading')) return;\n that.addClass('ajax-loading');\n\n if (active) {\n that.removeClass('active');\n that.removeClass('animated rubberBand');\n\n if (isRecomend) {\n excellent.hide();\n } else if (isWiki) {\n wiki.hide();\n }\n\n if (isVote) {\n // @CJ 如果是点赞,并且是已经点过赞的点赞,那就是去除点赞\n $('.user-lists').find(\"a[data-userId='\"+Config.user_id+\"']\").fadeOut('slow/400/fast', function() {\n $(this).remove();\n });\n }\n } else {\n that.addClass('active');\n that.addClass('animated rubberBand');\n\n if (cancelText) {\n that.find('span').html(cancelText);\n self.showPluginDownload();\n }\n\n if (isRecomend) {\n var excellentText = ribbonContainer.data('lang-excellent');\n if (excellent.length) {\n excellent.show();\n } else {\n if (ribbon.length) {\n ribbon.prepend('
    ' + excellentText + '
    ');\n } else {\n ribbonContainer.prepend('
    ' + excellentText + '
    ');\n }\n }\n } else if (isWiki) {\n var wikiText = ribbonContainer.data('lang-wiki');\n if (wiki.length) {\n wiki.show();\n } else {\n if (ribbon.length) {\n ribbon.append('
    ' + wikiText + '
    ');\n } else {\n ribbonContainer.append('
    ' + wikiText + '
    ');\n }\n }\n }\n\n if (isVote && Config.user_id > 0) {\n // @CJ 如果是点赞,并且是没有点过赞的\n var newContent = $('.voted-template').clone();\n newContent.attr('data-userId', Config.user_id);\n newContent.attr('href', Config.user_link);\n newContent.find('img').attr('src', Config.user_avatar);\n\n newContent.prependTo('.user-lists').show('fast', function() {\n $(this).addClass('animated swing');\n });\n\n $('.vote-hint').hide();\n }\n }\n\n $.ajax({\n method: method,\n url: url\n }).done(function(data) {\n if (data.status === 200) {\n if (isCommentVote) {\n var num = parseInt(commenVoteCount.html());\n num = isNaN(num) ? 0 : num;\n\n if (data.type === 'sub') {\n commenVoteCount.html(num - 1 < 1 ? '' : num - 1);\n } else if (data.type === 'add') {\n commenVoteCount.html(num + 1);\n }\n }\n }\n }).fail(function() {\n if (!active) {\n that.removeClass('active');\n\n if (isRecomend) {\n excellent.hide();\n } else if (isWiki) {\n wiki.hide();\n }\n } else {\n that.addClass('active');\n\n if (cancelText) {\n that.find('span').html(cancelText);\n }\n\n if (isRecomend) {\n excellent.show();\n } else if (isWiki) {\n wiki.show();\n }\n }\n\n if (isVote) {\n if (originUpVoteActive) {\n upVote.addClass('active');\n } else {\n upVote.removeClass('active');\n }\n }\n })\n .always(function() {\n that.removeClass('ajax-loading');\n });\n });\n },\n\n showMsg: function(msg, myobj) {\n if (!msg) return;\n Messenger().post(msg);\n },\n\n showPluginDownload: function() {\n this.showMsg('操作成功', {\n type: 'success',\n timer: 8000\n });\n },\n\n initLostPass: function() {\n $('.forget-password').on('click', function(e) {\n swal({\n title: \"忘记密码?\",\n text: '请使用微信和 Github 账号尝试,能够直接登录即为注册过的账号。',\n type: \"warning\",\n confirmButtonText: \"知道了\"\n }).then(function() {\n }).catch(swal.noop);\n });\n },\n\n initLogin: function() {\n $('#login-out').on('click', function(e) {\n var langText = $(this).data('lang-loginout');\n var href = $(this).attr('href');\n\n swal({\n title: \"\",\n text: langText,\n type: \"warning\",\n showCancelButton: true,\n cancelButtonText: \"取消\",\n confirmButtonText: \"退出\"\n }).then(function() {\n location.href = href;\n }).catch(swal.noop);\n\n return false;\n });\n },\n initEditBtnAnimated: function() {\n $('.topic-author-box .panel-body').hover(function() {\n $('.edit-btn').toggleClass('infinite');\n });\n\n $(\".bootstrap-switch\").bootstrapSwitch();\n },\n\n };\n window.PHPHub = PHPHub;\n})(jQuery);\n\n$(document).ready(function()\n{\n PHPHub.init();\n});\n\n// reply a reply\nfunction replyOne(username){\n replyContent = $(\"#reply_content\");\n oldContent = replyContent.val();\n prefix = \"@\" + username + \" \";\n newContent = ''\n if(oldContent.length > 0){\n if (oldContent != prefix) {\n newContent = oldContent + \"\\n\" + prefix;\n }\n } else {\n newContent = prefix\n }\n replyContent.focus();\n replyContent.val(newContent);\n moveEnd($(\"#reply_content\"));\n}\n\nvar moveEnd = function(obj){\n obj.focus();\n\n var len = obj.value === undefined ? 0 : obj.value.length;\n\n if (document.selection) {\n var sel = obj.createTextRange();\n sel.moveStart('character',len);\n sel.collapse();\n sel.select();\n } else if (typeof obj.selectionStart == 'number' && typeof obj.selectionEnd == 'number') {\n obj.selectionStart = obj.selectionEnd = len;\n }\n}\n"]} \ No newline at end of file diff --git a/public/build/rev-manifest.json b/public/build/rev-manifest.json index 645ad2f3..35d7e4ee 100644 --- a/public/build/rev-manifest.json +++ b/public/build/rev-manifest.json @@ -4,5 +4,5 @@ "assets/css/styles.css": "assets/css/styles-7f78904947.css", "assets/js/api.js": "assets/js/api-7e40a02c6c.js", "assets/js/editor.js": "assets/js/editor-7c1634df3a.js", - "assets/js/scripts.js": "assets/js/scripts-c767913903.js" + "assets/js/scripts.js": "assets/js/scripts-38a3201cfc.js" } \ No newline at end of file diff --git a/resources/assets/js/main.js b/resources/assets/js/main.js index 7982630e..519e5042 100644 --- a/resources/assets/js/main.js +++ b/resources/assets/js/main.js @@ -507,6 +507,8 @@ text: '问答话题的标题必须带问号❓', type: "error", confirmButtonText: "我知道了" + }).then(function() { + $(".submit-btn").text('提交').removeClass('disabled').prop('disabled', false); }).catch(swal.noop); } else if (cid == Config.qa_category_id) { diff --git a/resources/views/topics/create_edit.blade.php b/resources/views/topics/create_edit.blade.php index b3d849ce..02662eb3 100644 --- a/resources/views/topics/create_edit.blade.php +++ b/resources/views/topics/create_edit.blade.php @@ -139,7 +139,36 @@ delay: 5000, unique_id: "topic_content{{ isset($topic) ? $topic->id : '' }}" }, - forceSync: true + forceSync: true, + tabSize: 4, + toolbar: [ + "bold", "italic", "heading", "|", "quote", "code", "table", + "horizontal-rule", "unordered-list", "ordered-list", "|", + "link", "image", "|", "side-by-side", 'fullscreen', "|", + { + name: "guide", + action: function customFunction(editor){ + var win = window.open('//tiicle.com/items/14/efficient-record-guide', '_blank'); + if (win) { + //Browser has allowed it to be opened + win.focus(); + } else { + //Browser has blocked it + alert('Please allow popups for this website'); + } + }, + className: "fa fa-info-circle", + title: "高效记录指南!", + }, + { + name: "publish", + action: function customFunction(editor){ + $('#topic-submit').click(); + }, + className: "fa fa-paper-plane", + title: "发布文章", + } + ], }); inlineAttachment.editors.codemirror4.attach(simplemde.codemirror, {