From 67a744286108117a563fa97adb365cbd617aa8fa Mon Sep 17 00:00:00 2001 From: xiaopel Date: Wed, 21 Sep 2022 01:32:23 -0400 Subject: [PATCH] switch template --- .DS_Store | Bin 8196 -> 18436 bytes ...40b622142f1c98125abcfe89a76a661b0e8e343910 | 1 + ...dc2e79f1612a3e4e74e0d0b21b1904e6f8f873fb36 | 75 + ...bd0171d405f4507f38455fba00bf347ea7d5954d35 | 2 + ...949f9754ce217c1a9a97b87e35624487a1a37daca3 | 17 + ...db34c010db0cc029606ce9b4a24591d8eb3f7bca00 | 28 + ...0b6983e0b18765a5ae76d065fb778e27a6d0597724 | 2 + ...d4df28e4611830265cd84dfd6ebe832616b77e25c2 | 2 + ...eb903f6af2f2402e6929a1034a8bc8335fde29f741 | 5 + ...2a00f9e67e446e629822cd1fd78f7c418182cd65dc | 2 + ...209ddd2853d69fc793e383fec9c980ae9e0c41bcdd | 2 + ...c43e5b3ecf62d6733d3b2f8e187d904031ca79a604 | 81 + ...20aa69996154d4461ce8414abf6aacc9c2f25d578f | 21 + ...ac232f3bfddffa85e7deab3034903942e59bf17890 | 106 + ...8775acb0f31437d03188035c0280a78a2a52e3cdc1 | 2 + ...1d3a09090546fcefd60dbbd439c6da06e6c7ceffea | 71 + ...c0dcbcb183cc6844589150e2e7ed2956549a085348 | 135 + ...7dd1ca064dd0622060ba2df70ae151201586b0ce5a | 8 + ...947b2b6cfdeb89c5328558db9303532c7030782294 | 306 ++ ...34426ccc06688c3ecceff297a6758143435bf3b0df | 2 + ...a7931b85f60ae880e27425e2d1b91dc03de2012fb9 | 2 + ...191db3af99aeb0d6f99a34842bb8b2209291bb95cb | 487 +++ README.md | 15 + _config.yml | 58 + _data/menu copy.yml | 18 + _data/menu.yml | 11 + _includes/.DS_Store | Bin 0 -> 6148 bytes _includes/analytics-providers/getclicky | 12 + _includes/analytics-providers/google | 11 + _includes/analytics-providers/mixpanel | 11 + _includes/analytics-providers/piwik | 10 + _includes/analytics-providers/statcounter | 18 + _includes/analytics.html | 18 + _includes/comments-providers/disqus | 14 + _includes/comments-providers/facebook | 9 + _includes/comments-providers/intensedebate | 6 + _includes/comments-providers/livefyre | 6 + _includes/comments.html | 16 + _includes/embedpdf.html | 1 + _includes/footer.html | 11 + _includes/head.html | 14 + _includes/header.html | 15 + _includes/image.html | 10 + _includes/nav.html | 15 + _layouts/.DS_Store | Bin 0 -> 6148 bytes _layouts/default.html | 34 + _layouts/page.html | 10 + _layouts/post.html | 27 + _posts/.DS_Store | Bin 0 -> 6148 bytes _posts/2016-05-13-welcome-to-jekyll.markdown | 33 + ...16-08-08-Markov-Chain-Monte-Carlo.markdown | 332 ++ _posts/2016-08-16-Dirichlet-Process.markdown | 160 + ...6-Stochastic-Gradient-Monte-Carlo.markdown | 560 ++++ ...016-11-19-Variational-Autoencoder.markdown | 7 + ...-03-10-Tricks-of-Sigmoid-Function.markdown | 34 + _posts/2017-12-15-EM-In-Depth.markdown | 89 + _posts/2018-03-14-Exponential-Family.markdown | 115 + _sass/.DS_Store | Bin 0 -> 6148 bytes _sass/_base.scss | 162 + _sass/_fancy-image.scss | 39 + _sass/_footer.scss | 23 + _sass/_header.scss | 157 + _sass/_mobile-header.scss | 66 + _sass/_page.scss | 55 + _sass/_syntax-highlighting.scss | 64 + _site/assets/2016-08-08-MH_7_0.png | Bin 0 -> 32412 bytes _site/assets/2016-08-16-DPMM.png | Bin 0 -> 22232 bytes .../Stochastic-Gradient-Monte-Carlo_10_1.png | Bin 0 -> 48042 bytes .../Stochastic-Gradient-Monte-Carlo_16_0.png | Bin 0 -> 12610 bytes .../Stochastic-Gradient-Monte-Carlo_18_1.png | Bin 0 -> 13674 bytes .../Stochastic-Gradient-Monte-Carlo_22_0.png | Bin 0 -> 10829 bytes .../Stochastic-Gradient-Monte-Carlo_24_1.png | Bin 0 -> 13539 bytes .../Stochastic-Gradient-Monte-Carlo_6_1.png | Bin 0 -> 28169 bytes _site/assets/comp5213/evaluate.py | 129 + _site/assets/comp5213/preprocess.py | 72 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 ++ .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes _site/assets/comp5213/website/index.html | 131 + _site/assets/comp5213/website/lib/32px.png | Bin 0 -> 3121 bytes _site/assets/comp5213/website/lib/40px.png | Bin 0 -> 1880 bytes .../comp5213/website/lib/bootstrap.min.css | 6 + .../comp5213/website/lib/bootstrap.min.js | 7 + _site/assets/comp5213/website/lib/custom.css | 22 + _site/assets/comp5213/website/lib/custom.js | 230 ++ .../lib/ie10-viewport-bug-workaround.css | 15 + .../lib/ie10-viewport-bug-workaround.js | 23 + .../assets/comp5213/website/lib/jquery.min.js | 4 + .../website/lib/jquery.tablesorter.min.js | 2 + .../website/lib/jquery.tablesorter.widgets.js | 2959 +++++++++++++++++ .../assets/comp5213/website/lib/jstree.min.js | 6 + .../comp5213/website/lib/magnific-popup.css | 351 ++ .../assets/comp5213/website/lib/style.min.css | 1 + .../comp5213/website/lib/tablesorter.css | 161 + .../assets/comp5213/website/lib/throbber.gif | Bin 0 -> 1720 bytes .../website/topic_output/TopicBase.txt | 793 +++++ .../topic_output/TopicsTable-Level-1.html | 870 +++++ .../topic_output/TopicsTable-Level-2.html | 306 ++ .../topic_output/TopicsTable-Level-3.html | 131 + .../topic_output/TopicsTable-Level-4.html | 59 + .../topic_output/TopicsTable-Level-5.html | 23 + .../website/topic_output/TopicsTable.html | 800 +++++ _site/assets/comp5213/website/topics.nodes.js | 1580 +++++++++ _site/assets/cvae-release.zip | Bin 0 -> 18565 bytes .../Collaborative_Variational_Autoencoder.pdf | Bin 0 -> 964436 bytes _site/assets/paper/GRTM.pdf | Bin 0 -> 821872 bytes ...erformances_Using_Dancer-Shared_Images.pdf | Bin 0 -> 1904103 bytes _site/blog/2016/05/13/welcome-to-jekyll.html | 142 + .../2016/08/08/Markov-Chain-Monte-Carlo.html | 421 +++ _site/blog/2016/08/16/Dirichlet-Process.html | 250 ++ .../06/Stochastic-Gradient-Monte-Carlo.html | 602 ++++ .../2016/11/18/Variational-Autoencoder.html | 117 + .../03/09/Tricks-of-Sigmoid-Function.html | 143 + _site/blog/2017/12/14/EM-In-Depth.html | 196 ++ _site/blog/2018/03/14/Exponential-Family.html | 221 ++ _site/blog/index.html | 173 + _site/css/main.css | 257 ++ _site/css/main.css.map | 26 + _site/cv/index.html | 107 + _site/feed.xml | 1255 +++++++ _site/images/cv-visa.pdf | Bin 0 -> 76402 bytes _site/images/cv.pdf | Bin 0 -> 67053 bytes _site/images/photo.jpg | Bin 0 -> 23032 bytes _site/index.html | 119 + _site/misc/index.html | 110 + _site/research/index.html | 177 + _site/sitemap.txt | 19 + assets/.DS_Store | Bin 0 -> 8196 bytes assets/2016-08-08-MH_7_0.png | Bin 0 -> 32412 bytes assets/2016-08-16-DPMM.png | Bin 0 -> 22232 bytes .../Stochastic-Gradient-Monte-Carlo/.DS_Store | Bin 0 -> 6148 bytes .../Stochastic-Gradient-Monte-Carlo_10_1.png | Bin 0 -> 48042 bytes .../Stochastic-Gradient-Monte-Carlo_16_0.png | Bin 0 -> 12610 bytes .../Stochastic-Gradient-Monte-Carlo_18_1.png | Bin 0 -> 13674 bytes .../Stochastic-Gradient-Monte-Carlo_22_0.png | Bin 0 -> 10829 bytes .../Stochastic-Gradient-Monte-Carlo_24_1.png | Bin 0 -> 13539 bytes .../Stochastic-Gradient-Monte-Carlo_6_1.png | Bin 0 -> 28169 bytes assets/comp5213/.DS_Store | Bin 0 -> 6148 bytes assets/comp5213/evaluate.py | 129 + assets/comp5213/preprocess.py | 72 + assets/comp5213/website/.DS_Store | Bin 0 -> 10244 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 ++ .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes assets/comp5213/website/index.html | 131 + assets/comp5213/website/lib/32px.png | Bin 0 -> 3121 bytes assets/comp5213/website/lib/40px.png | Bin 0 -> 1880 bytes assets/comp5213/website/lib/bootstrap.min.css | 6 + assets/comp5213/website/lib/bootstrap.min.js | 7 + assets/comp5213/website/lib/custom.css | 22 + assets/comp5213/website/lib/custom.js | 230 ++ .../lib/ie10-viewport-bug-workaround.css | 15 + .../lib/ie10-viewport-bug-workaround.js | 23 + assets/comp5213/website/lib/jquery.min.js | 4 + .../website/lib/jquery.tablesorter.min.js | 2 + .../website/lib/jquery.tablesorter.widgets.js | 2959 +++++++++++++++++ assets/comp5213/website/lib/jstree.min.js | 6 + .../comp5213/website/lib/magnific-popup.css | 351 ++ assets/comp5213/website/lib/style.min.css | 1 + assets/comp5213/website/lib/tablesorter.css | 161 + assets/comp5213/website/lib/throbber.gif | Bin 0 -> 1720 bytes .../website/topic_output/TopicBase.txt | 793 +++++ .../topic_output/TopicsTable-Level-1.html | 870 +++++ .../topic_output/TopicsTable-Level-2.html | 306 ++ .../topic_output/TopicsTable-Level-3.html | 131 + .../topic_output/TopicsTable-Level-4.html | 59 + .../topic_output/TopicsTable-Level-5.html | 23 + .../website/topic_output/TopicsTable.html | 800 +++++ assets/comp5213/website/topics.nodes.js | 1580 +++++++++ assets/cvae-release.zip | Bin 0 -> 18565 bytes .../Collaborative_Variational_Autoencoder.pdf | Bin 0 -> 964436 bytes assets/paper/GRTM.pdf | Bin 0 -> 821872 bytes ...erformances_Using_Dancer-Shared_Images.pdf | Bin 0 -> 1904103 bytes blog.md | 21 + css/.DS_Store | Bin 0 -> 6148 bytes css/main.scss | 54 + cv.md | 9 + feed.xml | 30 + image/Pic1.png | Bin 243923 -> 0 bytes image/Pic2.png | Bin 282713 -> 0 bytes image/Pic3.png | Bin 179517 -> 0 bytes image/Pic4.png | Bin 339483 -> 0 bytes image/Thesis outline_v9.pptx.png | Bin 368892 -> 0 bytes image/front.png | Bin 33891 -> 0 bytes images/.DS_Store | Bin 0 -> 6148 bytes images/cv-visa.pdf | Bin 0 -> 76402 bytes images/cv.pdf | Bin 0 -> 67053 bytes images/photo.jpg | Bin 0 -> 23032 bytes index.html | 202 -- index.md | 19 + misc.md | 13 + research.md | 138 + sitemap.txt | 7 + 197 files changed, 26187 insertions(+), 202 deletions(-) create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/0a/8e23256b2df64928c6bcdc2e79f1612a3e4e74e0d0b21b1904e6f8f873fb36 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/2d/fc69bc3ea7892e2f420ebd0171d405f4507f38455fba00bf347ea7d5954d35 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/35/5f78d20a810edd31407b949f9754ce217c1a9a97b87e35624487a1a37daca3 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/3b/13d6aa105675527ce653db34c010db0cc029606ce9b4a24591d8eb3f7bca00 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/48/0d0df527bbc5c096a7ba0b6983e0b18765a5ae76d065fb778e27a6d0597724 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/51/7fded044ba7f76c396d1d4df28e4611830265cd84dfd6ebe832616b77e25c2 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/5d/ee57a6b41dbb4e32821eeb903f6af2f2402e6929a1034a8bc8335fde29f741 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/84/8f28d9ffe99961e4bb9b2a00f9e67e446e629822cd1fd78f7c418182cd65dc create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/8c/fd849745a797aa203a9e209ddd2853d69fc793e383fec9c980ae9e0c41bcdd create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/91/3bab3a8fe84d4b43383cc43e5b3ecf62d6733d3b2f8e187d904031ca79a604 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/92/c14bee73df85afd8711720aa69996154d4461ce8414abf6aacc9c2f25d578f create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/92/e445a9ff8a7558048beeac232f3bfddffa85e7deab3034903942e59bf17890 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ae/ca4c55838d5c9ec422d48775acb0f31437d03188035c0280a78a2a52e3cdc1 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b0/f5a7b2e8125eb6a9b1b71d3a09090546fcefd60dbbd439c6da06e6c7ceffea create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b9/26e2fe5c7682f46b57f9c0dcbcb183cc6844589150e2e7ed2956549a085348 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ca/c81f6d0f113adc32035f7dd1ca064dd0622060ba2df70ae151201586b0ce5a create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e5/d43d3ff37a980d93ab65947b2b6cfdeb89c5328558db9303532c7030782294 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ef/de3789c3ce0ca990ac8934426ccc06688c3ecceff297a6758143435bf3b0df create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/f2/2351cd1930965eda1ecca7931b85f60ae880e27425e2d1b91dc03de2012fb9 create mode 100644 .jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/fd/46a0b98fe1355a19b0da191db3af99aeb0d6f99a34842bb8b2209291bb95cb create mode 100755 README.md create mode 100755 _config.yml create mode 100755 _data/menu copy.yml create mode 100755 _data/menu.yml create mode 100644 _includes/.DS_Store create mode 100755 _includes/analytics-providers/getclicky create mode 100755 _includes/analytics-providers/google create mode 100755 _includes/analytics-providers/mixpanel create mode 100755 _includes/analytics-providers/piwik create mode 100755 _includes/analytics-providers/statcounter create mode 100755 _includes/analytics.html create mode 100755 _includes/comments-providers/disqus create mode 100755 _includes/comments-providers/facebook create mode 100755 _includes/comments-providers/intensedebate create mode 100755 _includes/comments-providers/livefyre create mode 100755 _includes/comments.html create mode 100755 _includes/embedpdf.html create mode 100755 _includes/footer.html create mode 100755 _includes/head.html create mode 100755 _includes/header.html create mode 100755 _includes/image.html create mode 100755 _includes/nav.html create mode 100644 _layouts/.DS_Store create mode 100755 _layouts/default.html create mode 100755 _layouts/page.html create mode 100755 _layouts/post.html create mode 100644 _posts/.DS_Store create mode 100644 _posts/2016-05-13-welcome-to-jekyll.markdown create mode 100644 _posts/2016-08-08-Markov-Chain-Monte-Carlo.markdown create mode 100644 _posts/2016-08-16-Dirichlet-Process.markdown create mode 100644 _posts/2016-09-06-Stochastic-Gradient-Monte-Carlo.markdown create mode 100644 _posts/2016-11-19-Variational-Autoencoder.markdown create mode 100644 _posts/2017-03-10-Tricks-of-Sigmoid-Function.markdown create mode 100644 _posts/2017-12-15-EM-In-Depth.markdown create mode 100644 _posts/2018-03-14-Exponential-Family.markdown create mode 100755 _sass/.DS_Store create mode 100755 _sass/_base.scss create mode 100755 _sass/_fancy-image.scss create mode 100755 _sass/_footer.scss create mode 100755 _sass/_header.scss create mode 100755 _sass/_mobile-header.scss create mode 100755 _sass/_page.scss create mode 100755 _sass/_syntax-highlighting.scss create mode 100644 _site/assets/2016-08-08-MH_7_0.png create mode 100644 _site/assets/2016-08-16-DPMM.png create mode 100644 _site/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_10_1.png create mode 100644 _site/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_16_0.png create mode 100644 _site/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_18_1.png create mode 100644 _site/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_22_0.png create mode 100644 _site/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_24_1.png create mode 100644 _site/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_6_1.png create mode 100644 _site/assets/comp5213/evaluate.py create mode 100644 _site/assets/comp5213/preprocess.py create mode 100644 _site/assets/comp5213/website/fonts/glyphicons-halflings-regular.eot create mode 100644 _site/assets/comp5213/website/fonts/glyphicons-halflings-regular.svg create mode 100644 _site/assets/comp5213/website/fonts/glyphicons-halflings-regular.ttf create mode 100644 _site/assets/comp5213/website/fonts/glyphicons-halflings-regular.woff create mode 100644 _site/assets/comp5213/website/fonts/glyphicons-halflings-regular.woff2 create mode 100644 _site/assets/comp5213/website/index.html create mode 100644 _site/assets/comp5213/website/lib/32px.png create mode 100644 _site/assets/comp5213/website/lib/40px.png create mode 100644 _site/assets/comp5213/website/lib/bootstrap.min.css create mode 100644 _site/assets/comp5213/website/lib/bootstrap.min.js create mode 100644 _site/assets/comp5213/website/lib/custom.css create mode 100644 _site/assets/comp5213/website/lib/custom.js create mode 100644 _site/assets/comp5213/website/lib/ie10-viewport-bug-workaround.css create mode 100644 _site/assets/comp5213/website/lib/ie10-viewport-bug-workaround.js create mode 100644 _site/assets/comp5213/website/lib/jquery.min.js create mode 100644 _site/assets/comp5213/website/lib/jquery.tablesorter.min.js create mode 100644 _site/assets/comp5213/website/lib/jquery.tablesorter.widgets.js create mode 100644 _site/assets/comp5213/website/lib/jstree.min.js create mode 100644 _site/assets/comp5213/website/lib/magnific-popup.css create mode 100644 _site/assets/comp5213/website/lib/style.min.css create mode 100644 _site/assets/comp5213/website/lib/tablesorter.css create mode 100644 _site/assets/comp5213/website/lib/throbber.gif create mode 100644 _site/assets/comp5213/website/topic_output/TopicBase.txt create mode 100644 _site/assets/comp5213/website/topic_output/TopicsTable-Level-1.html create mode 100644 _site/assets/comp5213/website/topic_output/TopicsTable-Level-2.html create mode 100644 _site/assets/comp5213/website/topic_output/TopicsTable-Level-3.html create mode 100644 _site/assets/comp5213/website/topic_output/TopicsTable-Level-4.html create mode 100644 _site/assets/comp5213/website/topic_output/TopicsTable-Level-5.html create mode 100644 _site/assets/comp5213/website/topic_output/TopicsTable.html create mode 100644 _site/assets/comp5213/website/topics.nodes.js create mode 100644 _site/assets/cvae-release.zip create mode 100644 _site/assets/paper/Collaborative_Variational_Autoencoder.pdf create mode 100644 _site/assets/paper/GRTM.pdf create mode 100644 _site/assets/paper/Visual_Background_Recommendation_for_Dance_Performances_Using_Dancer-Shared_Images.pdf create mode 100644 _site/blog/2016/05/13/welcome-to-jekyll.html create mode 100644 _site/blog/2016/08/08/Markov-Chain-Monte-Carlo.html create mode 100644 _site/blog/2016/08/16/Dirichlet-Process.html create mode 100644 _site/blog/2016/09/06/Stochastic-Gradient-Monte-Carlo.html create mode 100644 _site/blog/2016/11/18/Variational-Autoencoder.html create mode 100644 _site/blog/2017/03/09/Tricks-of-Sigmoid-Function.html create mode 100644 _site/blog/2017/12/14/EM-In-Depth.html create mode 100644 _site/blog/2018/03/14/Exponential-Family.html create mode 100644 _site/blog/index.html create mode 100644 _site/css/main.css create mode 100644 _site/css/main.css.map create mode 100644 _site/cv/index.html create mode 100644 _site/feed.xml create mode 100644 _site/images/cv-visa.pdf create mode 100644 _site/images/cv.pdf create mode 100644 _site/images/photo.jpg create mode 100644 _site/index.html create mode 100644 _site/misc/index.html create mode 100644 _site/research/index.html create mode 100644 _site/sitemap.txt create mode 100644 assets/.DS_Store create mode 100644 assets/2016-08-08-MH_7_0.png create mode 100644 assets/2016-08-16-DPMM.png create mode 100644 assets/Stochastic-Gradient-Monte-Carlo/.DS_Store create mode 100644 assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_10_1.png create mode 100644 assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_16_0.png create mode 100644 assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_18_1.png create mode 100644 assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_22_0.png create mode 100644 assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_24_1.png create mode 100644 assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_6_1.png create mode 100644 assets/comp5213/.DS_Store create mode 100644 assets/comp5213/evaluate.py create mode 100644 assets/comp5213/preprocess.py create mode 100644 assets/comp5213/website/.DS_Store create mode 100644 assets/comp5213/website/fonts/glyphicons-halflings-regular.eot create mode 100644 assets/comp5213/website/fonts/glyphicons-halflings-regular.svg create mode 100644 assets/comp5213/website/fonts/glyphicons-halflings-regular.ttf create mode 100644 assets/comp5213/website/fonts/glyphicons-halflings-regular.woff create mode 100644 assets/comp5213/website/fonts/glyphicons-halflings-regular.woff2 create mode 100644 assets/comp5213/website/index.html create mode 100644 assets/comp5213/website/lib/32px.png create mode 100644 assets/comp5213/website/lib/40px.png create mode 100644 assets/comp5213/website/lib/bootstrap.min.css create mode 100644 assets/comp5213/website/lib/bootstrap.min.js create mode 100644 assets/comp5213/website/lib/custom.css create mode 100644 assets/comp5213/website/lib/custom.js create mode 100644 assets/comp5213/website/lib/ie10-viewport-bug-workaround.css create mode 100644 assets/comp5213/website/lib/ie10-viewport-bug-workaround.js create mode 100644 assets/comp5213/website/lib/jquery.min.js create mode 100644 assets/comp5213/website/lib/jquery.tablesorter.min.js create mode 100644 assets/comp5213/website/lib/jquery.tablesorter.widgets.js create mode 100644 assets/comp5213/website/lib/jstree.min.js create mode 100644 assets/comp5213/website/lib/magnific-popup.css create mode 100644 assets/comp5213/website/lib/style.min.css create mode 100644 assets/comp5213/website/lib/tablesorter.css create mode 100644 assets/comp5213/website/lib/throbber.gif create mode 100644 assets/comp5213/website/topic_output/TopicBase.txt create mode 100644 assets/comp5213/website/topic_output/TopicsTable-Level-1.html create mode 100644 assets/comp5213/website/topic_output/TopicsTable-Level-2.html create mode 100644 assets/comp5213/website/topic_output/TopicsTable-Level-3.html create mode 100644 assets/comp5213/website/topic_output/TopicsTable-Level-4.html create mode 100644 assets/comp5213/website/topic_output/TopicsTable-Level-5.html create mode 100644 assets/comp5213/website/topic_output/TopicsTable.html create mode 100644 assets/comp5213/website/topics.nodes.js create mode 100644 assets/cvae-release.zip create mode 100644 assets/paper/Collaborative_Variational_Autoencoder.pdf create mode 100644 assets/paper/GRTM.pdf create mode 100644 assets/paper/Visual_Background_Recommendation_for_Dance_Performances_Using_Dancer-Shared_Images.pdf create mode 100755 blog.md create mode 100644 css/.DS_Store create mode 100755 css/main.scss create mode 100755 cv.md create mode 100755 feed.xml delete mode 100644 image/Pic1.png delete mode 100644 image/Pic2.png delete mode 100644 image/Pic3.png delete mode 100644 image/Pic4.png delete mode 100644 image/Thesis outline_v9.pptx.png delete mode 100644 image/front.png create mode 100644 images/.DS_Store create mode 100644 images/cv-visa.pdf create mode 100644 images/cv.pdf create mode 100644 images/photo.jpg delete mode 100644 index.html create mode 100755 index.md create mode 100755 misc.md create mode 100755 research.md create mode 100755 sitemap.txt diff --git a/.DS_Store b/.DS_Store index d0e75a3912cc67e2be0b7df0977f5ecd8704a728..027358c42cf8108b54279abafe312812ef219933 100644 GIT binary patch literal 18436 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%0DXMu z6UUR@Fx{auGk<)R*D1hgm>wonFf$Mk!hyVzLT(fVpL`kRp|VJaX=fHDbm;;;AgLV+ zuTVKV(L03KXi~I%qv1 zvyo7_4X>hbp)R}{ui;@E0~D}vEd^{O@knaPd>1~3k5iz~6ZoVPDD)h@f+z4b8?`Ak z`x!qnn#Y5Me9WIfesOb4p!NKqRg4xom-bJf*p3RC2>n`~&GxYXq2iL_g^caf?5LjN zMa7F1!n2meLx7epD-LK=cyt>JA1YrNDAsa#92+}bRUHUu**wyXovvO(rMWzyja@k~ zFR+PGLOfb1u&7v7g%~wH08aya4^ouck9oAvYw!mA7XAS5!G{F69GpRb({Vn<3tftf zDPoA3Ka97r%^$|ww9=Hgh4VJMu!oEv#@iS;fPK+MERY`N?Jm3hZ3mk{+I3T$49wiB8V9bee1+!997irQqhXmM)BwCzx;wa{}EX$)LyJ zz~I3U!;s2Qz)(3^*SeMQ=H$Pc^3u0ZEzBt{13Qa>fhlsbqooL|tc$A~rs35#!nh4z zWn0U*Vse3wy!1*`!^?t;@^bR?(m|mB^!EcsL1rKm2qd_Hgexe(fWqIIC-b`)vI4`2 gp<%M4i!=w21qxAy$?-f>CtKKt;q(=;7T;wA0HO+EBme*a diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 new file mode 100644 index 00000000000..31e722640c9 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Cache/b7/9606fb3afea5bd1609ed40b622142f1c98125abcfe89a76a661b0e8e343910 @@ -0,0 +1 @@ +I"ş{"source"=>"/Users/xiaopel/Github/Jiqing1107.github.io", "destination"=>"/Users/xiaopel/Github/Jiqing1107.github.io/_site", "collections_dir"=>"", "cache_dir"=>".jekyll-cache", "plugins_dir"=>"_plugins", "layouts_dir"=>"_layouts", "data_dir"=>"_data", "includes_dir"=>"_includes", "collections"=>{"posts"=>{"output"=>true, "permalink"=>"blog/:year/:month/:day/:title"}}, "safe"=>false, "include"=>[".htaccess"], "exclude"=>["Makefile", "README.md", ".sass-cache", ".jekyll-cache", "gemfiles", "Gemfile", "Gemfile.lock", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"], "keep_files"=>[".git", ".svn"], "encoding"=>"utf-8", "markdown_ext"=>"markdown,mkdown,mkdn,mkd,md", "strict_front_matter"=>false, "show_drafts"=>nil, "limit_posts"=>0, "future"=>false, "unpublished"=>false, "whitelist"=>[], "plugins"=>[], "markdown"=>"kramdown", "highlighter"=>"rouge", "lsi"=>false, "excerpt_separator"=>"\n\n", "incremental"=>false, "detach"=>false, "port"=>"4000", "host"=>"127.0.0.1", "baseurl"=>"", "show_dir_listing"=>false, "permalink"=>"blog/:year/:month/:day/:title", "paginate_path"=>"/page:num", "timezone"=>nil, "quiet"=>false, "verbose"=>false, "defaults"=>[], "liquid"=>{"error_mode"=>"warn", "strict_filters"=>false, "strict_variables"=>false}, "kramdown"=>{"auto_ids"=>true, "toc_levels"=>[1, 2, 3, 4, 5, 6], "entity_output"=>"as_char", "smart_quotes"=>"lsquo,rsquo,ldquo,rdquo", "input"=>"GFM", "hard_wrap"=>false, "guess_lang"=>true, "footnote_nr"=>1, "show_warnings"=>false}, "title"=>"Xiaopeng LI", "description"=>"", "sourcecode"=>"https://github.com/gchauras/much-worse-jekyll-theme", "url"=>"http://localhost:4000", "author"=>{"name"=>nil, "facebook"=>nil, "scholar"=>nil}, "analytics"=>{"provider"=>nil, "statcounter"=>{"sc_project"=>nil, "sc_security"=>nil, "sc_invisible"=>1, "sc_text"=>2}, "google"=>{"tracking_id"=>""}, "getclicky"=>{"site_id"=>nil}, "mixpanel"=>{"token"=>""}, "piwik"=>{"baseURL"=>"", "idsite"=>""}}, "comments"=>{"provider"=>nil, "disqus"=>{"short_name"=>nil}, "livefyre"=>{"site_id"=>nil}, "intensedebate"=>{"account"=>nil}, "facebook"=>{"appid"=>nil, "num_posts"=>5, "width"=>580, "colorscheme"=>"light"}}, "watch"=>true, "livereload_port"=>35729, "serving"=>true}:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/0a/8e23256b2df64928c6bcdc2e79f1612a3e4e74e0d0b21b1904e6f8f873fb36 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/0a/8e23256b2df64928c6bcdc2e79f1612a3e4e74e0d0b21b1904e6f8f873fb36 new file mode 100644 index 00000000000..0aa8280751b --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/0a/8e23256b2df64928c6bcdc2e79f1612a3e4e74e0d0b21b1904e6f8f873fb36 @@ -0,0 +1,75 @@ +I"w

Publications

+ +

Learning Latent Superstructures in Variational Autoencoders for Deep Multidimensional Clustering
+Xiaopeng Li, Zhourong Chen and Nevin L. Zhang
+International Conference on Learning Representations + 2019 +
Media: [arXiv]

+ +

Building Sparse Deep Feedforward Networks using Tree Receptive Fields
+Xiaopeng Li, Zhourong Chen and Nevin L. Zhang
+International Joint Conference on Artificial Intelligence + 2018 +
Media: [arXiv][github]

+ +

Learning Sparse Deep Feedforward Networks via Tree Skeleton Expansion
+Zhourong Chen, Xiaopeng Li and Nevin L. Zhang
+arXiv + 2018 +
Media: [arXiv]

+ +

Relational Variational Autoencoder for Link Prediction with Multimedia Data
+X. Li and J. She
+ACM SIGMM International Conference on Multimedia Thematic Workshop + 2017 +
Media: [paper][github]

+ +

Collaborative Variational Autoencoder for Recommender Systems
+X. Li and J. She
+ACM SIGKDD International Conference on Knowledge Discovery and Data Mining + 2017 +
Media: [paper][github]

+ +

A Bayesian Neural Network for Deep Learning in Mobile Multimedia using Small Data
+X. Li, J. She and M. Cheung
+Submitted to ACM Trans. Multimedia Comput. Commun. Appl. (Under Review) + 2016 +
Media: [paper]

+ +

Connection Discovery using Shared Images by Gaussian Relational Topic Model
+X. Li, M. Cheung and J. She
+IEEE International Conference on Big Data + 2016 +
Media: [paper][github]

+ +

A Distributed Streaming Framework for Connection Discovery Using Shared Videos
+X. Li, M. Cheung and J. She
+ACM Trans. Multimedia Comput. Commun. Appl. + Sep. 18, 2017 +
Media: [paper]

+ +

An Efficient Computation Framework for Connection Discovery using Shared Images
+M. Cheung, X. Li and J. She
+ACM Trans. Multimedia Comput. Commun. Appl. + Aug. 29, 2017 +
Media: [paper]

+ +

Dance Background Image Recommendation with Deep Matrix Factorization
+J. Wen, J. She, X. Li and H. Mao
+ACM Trans. Multimedia Comput. Commun. Appl. + 2018 +
Media: [paper]

+ +

Visual Background Recommendation for Dance Performances Using Dancer-Shared Images
+J. Wen, X. Li, J. She, S. Park and M. Cheung
+IEEE International Conference on Cyber Physical and Social Computing + 2016 +
Media: [paper]

+ +

Non-user Generated Annotation on User Shared Images for Connection Discovery
+M. Cheung, J. She and X. Li
+IEEE International Conference on Cyber Physical and Social Computing + 2015 +
Media: [paper]

+ +:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/2d/fc69bc3ea7892e2f420ebd0171d405f4507f38455fba00bf347ea7d5954d35 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/2d/fc69bc3ea7892e2f420ebd0171d405f4507f38455fba00bf347ea7d5954d35 new file mode 100644 index 00000000000..a27c31927e7 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/2d/fc69bc3ea7892e2f420ebd0171d405f4507f38455fba00bf347ea7d5954d35 @@ -0,0 +1,2 @@ +I"

During my research of Bayesian Deep Models (integration of Bayesian graphical models with deep learning models), I found several handy tricks when dealing with sigmoid functions. Here, I summarize several for future use and also for other researchers who might find it useful.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/35/5f78d20a810edd31407b949f9754ce217c1a9a97b87e35624487a1a37daca3 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/35/5f78d20a810edd31407b949f9754ce217c1a9a97b87e35624487a1a37daca3 new file mode 100644 index 00000000000..9ea9a596d75 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/35/5f78d20a810edd31407b949f9754ce217c1a9a97b87e35624487a1a37daca3 @@ -0,0 +1,17 @@ +I"ë + +

Jiqing Wen is currently doing her PhD at Arizona State University. He works in the area of machine learning and artificial intelligence. His current research interests include deep learning, Bayesian networks and graphical models, Bayesian deep learning, and their application in computer vision, natural language processing, and recommender systems.

+ +

Contact

+ +

Department of Computer Science and Engineering
+The Hong Kong University of Science and Technology
+Kowloon, Hong Kong
+Email: xlibo@connect.ust.hk

+ +:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/3b/13d6aa105675527ce653db34c010db0cc029606ce9b4a24591d8eb3f7bca00 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/3b/13d6aa105675527ce653db34c010db0cc029606ce9b4a24591d8eb3f7bca00 new file mode 100644 index 00000000000..235332abd96 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/3b/13d6aa105675527ce653db34c010db0cc029606ce9b4a24591d8eb3f7bca00 @@ -0,0 +1,28 @@ +I"e

During my research of Bayesian Deep Models (integration of Bayesian graphical models with deep learning models), I found several handy tricks when dealing with sigmoid functions. Here, I summarize several for future use and also for other researchers who might find it useful.

+ +

Variational Lower Bound on Sigmoid $\sigma(x)$

+ +

Expectation of Sigmoid function with Normal distribution

+

Consider the following logistic-normal integral:

+ +\[g=\int_{-\infty}^{\infty} \sigma(x)\mathcal{N}(x|\mu, \sigma^2) dx = \int_{-\infty}^{\infty} \frac{1}{1+e^{-x}} \frac{1}{\sigma \sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} dx.\] + +

The logistic-normal integral does not have analytic expression. However, for mathmatical simplicity, we can approximate the expectation. In the end, we will demonstrate that the integral is approximately a reparameterized logistic function.

+ +

First, we can approximate the sigmoid function with a probit function.

+ +\[\sigma(x)\approx \Phi(\xi x), \text{where } \Phi(x)=\int_{-\infty}^x \mathcal{N}(\theta|0,1)d\theta, \text{and } \xi^2=\frac{\pi}{8}\] + +

A little fact is that the probit-normal integral is just another probit function:

+ +\[\int \Phi(x) \mathcal{N}(x|\mu,\sigma^2) dx = \Phi(\frac{\mu}{\sqrt{1+\sigma^2}})\] + +

Therefore,

+ +\[g\approx \int_{-\infty}^{\infty} \Phi(\xi x)\mathcal{N}(\mu, \sigma^2) dx = \Phi(\frac{\xi \mu}{\sqrt{1+\xi^2\sigma^2}})\approx \sigma(\frac{\mu}{\sqrt{1+\xi^2\sigma^2}}) = \sigma(\frac{\mu}{\sqrt{1+\pi\sigma^2/8}})\] + +

It actually means, given a normally distributed random variable $x$, the sigmoid of $x$ is approximately the sigmoid of $\mathbb{E}[x]$ with some adjustment by the variance.

+ +

Some others

+

\(\tanh(x)=2\sigma(2x)-1\)

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/48/0d0df527bbc5c096a7ba0b6983e0b18765a5ae76d065fb778e27a6d0597724 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/48/0d0df527bbc5c096a7ba0b6983e0b18765a5ae76d065fb778e27a6d0597724 new file mode 100644 index 00000000000..eeb44c05542 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/48/0d0df527bbc5c096a7ba0b6983e0b18765a5ae76d065fb778e27a6d0597724 @@ -0,0 +1,2 @@ +I"©

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve --watch, which launches a web server and auto-regenerates your site when a file is updated.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/51/7fded044ba7f76c396d1d4df28e4611830265cd84dfd6ebe832616b77e25c2 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/51/7fded044ba7f76c396d1d4df28e4611830265cd84dfd6ebe832616b77e25c2 new file mode 100644 index 00000000000..a341ba8132e --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/51/7fded044ba7f76c396d1d4df28e4611830265cd84dfd6ebe832616b77e25c2 @@ -0,0 +1,2 @@ +I"V

Lately, I’m trying to investigate Bayesian Deep Learning and seriously considering it to be my PhD topic. Combining Bayesian with Deep Learning is current hot topic and with the current development of stochastic gradient monte carlo, I think it’s time for Bayesian Deep Learning to fly. And I could probably benefit from it a lot.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/5d/ee57a6b41dbb4e32821eeb903f6af2f2402e6929a1034a8bc8335fde29f741 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/5d/ee57a6b41dbb4e32821eeb903f6af2f2402e6929a1034a8bc8335fde29f741 new file mode 100644 index 00000000000..b1420822181 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/5d/ee57a6b41dbb4e32821eeb903f6af2f2402e6929a1034a8bc8335fde29f741 @@ -0,0 +1,5 @@ +I"

My CV is below and can be downloaded via PDF version.

+ + + +:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/84/8f28d9ffe99961e4bb9b2a00f9e67e446e629822cd1fd78f7c418182cd65dc b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/84/8f28d9ffe99961e4bb9b2a00f9e67e446e629822cd1fd78f7c418182cd65dc new file mode 100644 index 00000000000..e092f8a40fe --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/84/8f28d9ffe99961e4bb9b2a00f9e67e446e629822cd1fd78f7c418182cd65dc @@ -0,0 +1,2 @@ +I"Ä

Variational Autoencoder (VAE) has been proposed for two years. During the past two years, some good papers related variational autoencoder come up time to time. And I think it is a good tool worth investigating. Recently, I decide to do something about collaborative recommendation with cross-modality multimedia content using Bayesian deep learning. I think VAE could be a good help. In this post, I’ll investigate and explain VAE in my way.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/8c/fd849745a797aa203a9e209ddd2853d69fc793e383fec9c980ae9e0c41bcdd b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/8c/fd849745a797aa203a9e209ddd2853d69fc793e383fec9c980ae9e0c41bcdd new file mode 100644 index 00000000000..3359d80226e --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/8c/fd849745a797aa203a9e209ddd2853d69fc793e383fec9c980ae9e0c41bcdd @@ -0,0 +1,2 @@ +I"Ő

Lately I’m dealing with Bayesian non-parametric in order for the praparation of my next paper. Therefore, I spent several days trying to learn and understand Dirichlet process. Dirichlet process is at first difficult to understand, mainly because it is very different from our previous parametric methods and it uses advanced mathmetical concepts. I struggled several days to finally understand Dirichlet process. Once you understand it, it becomes very easy.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/91/3bab3a8fe84d4b43383cc43e5b3ecf62d6733d3b2f8e187d904031ca79a604 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/91/3bab3a8fe84d4b43383cc43e5b3ecf62d6733d3b2f8e187d904031ca79a604 new file mode 100644 index 00000000000..e1877512d54 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/91/3bab3a8fe84d4b43383cc43e5b3ecf62d6733d3b2f8e187d904031ca79a604 @@ -0,0 +1,81 @@ +I"$

I find it necessary to understand EM more. As an optimization method for MLE/MAP, it is also related to variational bayes EM (VBEM), Gibbs sampling as well as Wake-sleep algorithm.

+ +

EM Introduction

+

EM algorithm is extremely useful to deal with models with latent variables. It can be used for MLE and MAP estimates. The center idea of EM is that since we have latent variables, which we do not know their value, we can first complete the data by estimating the latent variables with probability, and then maximize the complete data loglikelihood over the parameters.

+ +

Let $x_i$ be the observed variables in case $i$, and let $z_i$ be the hidden variables. The goal is to maximize the loglikelihood of the observed data:

+ +\[\mathcal{l}(\theta) = \sum_{i=1}^N \log p(x_i|\theta) = \sum_{i=1}^N \log [\sum_{z_i}p(x_i, z_i|\theta)].\] + +

This is hard to optimize since the log cannot be pushed inside. EM gets around this problem. If we complete the data by estimating the value of $z_i$, then we can get the complete data loglikelihood easily:

+ +\[\mathcal{l}_c(\theta) =\sum_{i=1}^N \log p(x_i, z_i|\theta).\] + +

We can estimate the value of $z_i$ using old parameters $\theta^{t}$. But since our estimate of $z$ is not certain, but rather with probability, what we actually get is the so-called expected complete data loglikelihood:

+ +\[Q(\theta, \theta^{t}) =\sum_{i=1}^N p(z_i|x_i,\theta^{t})\log p(x_i, z_i|\theta) = \mathbb{E}_{z|x,\theta^{t}}[\log p(x_i, z_i|\theta)].\] + +

This is exactly E-step. The goal of E-step is to compute $Q(\theta,\theta^{t})$, or rather, the terms inside of it which the MLE depends on (sufficient statistics). In the M-step, we optimize the Q function wrt $\theta$:

+ +\[\theta^{t+1} = \underset{\theta}{\arg\max}Q(\theta, \theta^t).\] + +

That is EM algorithm. To give an concrete example, let me show the derivation of GMM. The expected completed data loglikelihood is given by

+ +\[Q(\theta, \theta^{t}) =\sum_{i} \mathbb{E}_{z|x,\theta^t}[\log p(x_i, z_i|\theta)] = \sum_i \mathbb{E}[\log [\prod_{k=1}^K (\pi_k p(x_i|\theta_k))^\mathbb{I}(z_i=k)]]\\ +=\sum_i \sum_k \mathbb{E}[\mathbb{I}(z_i=k)]\log[\pi_k p(x_i|\theta_k)]\\ +=\sum_i \sum_k p(z_i=k|x_i,\theta_t)\log[\pi_k p(x_i|\theta_k)]\\ +=\sum_i \sum_k r_{ik}\log[\pi_k p(x_i|\theta_k)],\] + +

where $r_{ik} = p(z_i=k|x_i, \theta_t)$ is the responsibility that cluster k takes for data point i. This is computed in E-step. E-step:

+ +\[r_{ik}=\frac{\pi_k p(x_i|\theta_k^t)}{\sum_{k'}\pi_{k'}p(x_i|\theta_{k'}^t)}.\] + +

M-step, we optimize Q wrt $\pi$ and $\theta$. For $\pi$, we should remember the constraint that $\sum_k \pi_k = 1$. Taking the Langagian and set the derivatives wrt $\theta$ to zero, we can get $\lambda=\sum_i\sum_k r_{ik}=N$ and $\pi_k = \frac{1}{N}\sum_{i}r_{ik}$. Same for $\theta$:

+ +\[\mu_k = \frac{\sum_i r_{ik}x_i}{r_k}\\ +\Sigma_k = \frac{\sum_i r_{ik}(x_i - \mu_k)(x_i - \mu_k)^T}{r_k}.\] + +

Generalized EM: tight lower bound of data loglikelihood

+

As stated in Chapter 11 of Murphy’s book, EM actually achieves the tight lower bound of data loglikelihood. The lower bound (or free energy) is

+ +\[\mathcal{L}(\theta, q_i) = \sum_{z_i} q_i(z_i)\log \frac{p(x_i,z_i|\theta)}{q_i(z_i)}\\ += \log p(x_i|\theta) - \mathbb{KL}(q_i(z_i)||p(z_i|x_i,\theta)).\] + +

$\mathcal{L}$ is the lower bound of the data loglikelihood $\log p(x_i|\theta)$, and the gap is $\mathbb{KL}(q_i(z_i)||p(z_i|x_i,\theta))$. We can maximize the lower bound by setting $q_i(z_i) = p(z_i|x_i,\theta))$. Of course, $\theta$ is unknown, so instead we use $q_i^t(z_i) = p(z_i|x_i,\theta^t)$, where $\theta^t$ is our estimate of the parameters at iteration t. With that, we plug back into the lower bound and get

+ +\[Q(\theta, \theta^t) = \sum_i \mathbb{E}_{z_i|x_i,\theta^t}[\log p(x_i, z_i\theta)] + \mathbb{H}(p(z_i|x_i,\theta^t)).\] + +

From above, we noticed that the first term is exactly the expected complete data loglikelihood in the EM algorithm. And since the second term is a constant wrt $\theta$, the M-step becomes

+ +\[\theta^{t+1} = \underset{\theta}{\arg\max}Q(\theta, \theta^t)=\underset{\theta}{\arg\max}\sum_i \mathbb{E}_{z_i|x_i,\theta^t}[\log p(x_i, z_i|\theta)],\] + +

as before. Therefore, the E-step is to optimize over the $q$ function so as to achieve the tight lower bound of the data loglikelihood of given current model (model parameters) and the M-step is optimizing the tight lower bound over the parameters.

+ +

VBEM: EM using variational approximation

+

Without any constraint on the form of $q_i(z_i)$, of course, the tight lower bound is achievable by simply setting $q_i^t(z_i) = p(z_i|x_i,\theta^t)$. However, when the posterior has no closed form, is intractable and not easy to compute, the tight lower bound cannot be achieved. Variational Bayes makes mean-field assumption on the posterior in order to approximate the true posterior. That is, the constraint on $q_i(z_i)$ is factorial form: $q(z,\theta) = q(\theta)\prod_i q(z_i)$. Here, the full Bayesian inference is made, i.e. treating $\theta$ as a distribution like other variables instead of MAP estimate. The whole process then is exactly as EM, except integrating $\theta$ out in E-step and updating $q(\theta)$ in M-step. That’s why it is called VBEM:

+ +\[\text{Variational E-step:} \quad \log q(z) = \mathbb{E}_{q(\theta)}[\log p(x, z, \theta)] + \text{const} \\ +\text{Variational M-step:} \quad \log q(\theta) = \mathbb{E}_{q(z)}[\log p(x, z, \theta)] + \text{const},\] + +

where $\log q_j(x_j) = \mathbb{E}_{-q_j}[\log \tilde{p}(x)] + const$ is the form we usually deal with in variational inference and it is obtained by maximizing lower bound.

+ +

Gibbs Sampling: EM using Monte Carlo sampling

+

The steps of Gibbs sampling has surprising resemblance with EM. Gibbs sampling can be seen as the two sampling steps involving latent variable $z$ and parameter $\theta$:

+ +\[z^{t+1} \sim p(z|x, \theta^t) \\ +\theta^{t+1} \sim p(\theta|x, z^{t+1}).\] + +

The first step resembles E-step, and the second step resembles M-step. In EM, the E-step computes the exact posterior distribution $p(z|x, \theta^t)$ for $z$, while the M-step computes the MAP estimate of $\theta$. In Gibbs sampling, the first step instead samples from $p(z|x, \theta^t)$, while the second step instead samples from the distribution of $\theta$.

+ +

Wake-sleep: EM for probabilistic deep model

+

Wake-sleep is an algorithm proposed by Hinton for training DBN and DBM (unsupervisedly). The network has recognition weights, which convert the input into representations in successive hidden layers, and generative weights, which reconstruct the representation. In the “wake” phase, neurons are driven by recognition connections, and generative weights are adapted to increase the probability that the would reconstruct the correct activity vector in the layer below. In the “sleep” phase, neurons are driven by generative connections, and recognition weights are adapted to increase the probability that they would produce the correct activity vector in the layer above. Wake-sleep algorithm is also optimizing the free energy:

+ +\[\log P(d;G) \geq \log P(d;G) - \mathbb{KL}(Q(h|d;R), P(h|d;G))\\ +F(d;R,G) = -\log P(d;G) + \mathbb{KL}(Q(h|d;R), P(h|d;G)).\] + +

This exactly resembles the free energy of EM algorithm, and the “wake” phase corresponds to M-step, “sleep” phase corresponds to E-step. The distribution $Q(h|d)$ produced by the recognition weights is a factorial distribution in each hidden layer because the recognition weights produce stochastic states of units within a hidden layer that are conditional independent, given the states in the layer below. It is natural to use factorial distribution in neural net because it allows the probability distribution over the $2^n$ alternative hidden representations to be specified with $n$ numbers instead of $2^n-1$. During “wake” phase, minimizing the free energy wrt the generative weights will tend to favor the model whole posterior distribution is most similar to $Q(h|d)$. Thus, the effect of factorial distribution in $Q(h|d)$ is not severe.

+ +

Although generally considered as approximating the normalization constant, the contrastive divergence (CD) algorithm for training RBM is also similar to wake-sleep algorithm if considering only generating one sample.

+ +

In conclusion, many good ideas in machine learning are remarkablely similar. One has to find the underlying connections in order to develop deep understanding of the algorithms. I read some of the points from online or books, and I am not at all fully understand all of them. But the subtle connections are really interesting. And I think that, although many people are interested in deep neural networks without probabilistic, there are indeed many ideas that are more straightforward and more promising under probabilistic framework, especially unsupervised deep learning.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/92/c14bee73df85afd8711720aa69996154d4461ce8414abf6aacc9c2f25d578f b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/92/c14bee73df85afd8711720aa69996154d4461ce8414abf6aacc9c2f25d578f new file mode 100644 index 00000000000..d8673bcf468 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/92/c14bee73df85afd8711720aa69996154d4461ce8414abf6aacc9c2f25d578f @@ -0,0 +1,21 @@ +I"†

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve --watch, which launches a web server and auto-regenerates your site when a file is updated.

+ +

To add new posts, simply add a file in the _posts directory that follows the convention YYYY-MM-DD-name-of-post.ext and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.

+ +

In order to publish to github, run following commands:

+ +
~$ git add --all
+~$ git commit -m "Initial commit"
+~$ git push -u origin master
+ +

Jekyll also offers powerful support for code snippets:

+ +
def print_hi(name)
+  puts "Hi, #{name}"
+end
+print_hi('Tom')
+#=> prints 'Hi, Tom' to STDOUT.
+ +

Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll Talk.

+ +:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/92/e445a9ff8a7558048beeac232f3bfddffa85e7deab3034903942e59bf17890 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/92/e445a9ff8a7558048beeac232f3bfddffa85e7deab3034903942e59bf17890 new file mode 100644 index 00000000000..8c7573c1188 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/92/e445a9ff8a7558048beeac232f3bfddffa85e7deab3034903942e59bf17890 @@ -0,0 +1,106 @@ +I"f

The exponential family distributions are very important in graphical models and Bayesian learning. They have nice properties, like conjugacy and finite sufficient statistics, which enable the convenience and efficiency of the inference and learning process. Yet, I only almost know the details of exponential family distribution. The minor gap between “almost know” and “know” prevents me from understanding it completely. Here I try to close the gap.

+ +

Basics

+ +

The canonical/natural form of exponential family distribution is of the form

+ +\[p(x|\theta) = \frac{1}{Z(\theta)}h(x)\exp[\theta^T \phi(x)] = h(x)\exp[\theta^T \phi(x) - A(\theta)]\] + +

where $\theta$ is the natural parameter, $\phi(x)$ is sufficient statistics, $Z(\theta)$ is the partition function, $A(\theta)$ is the log partition function. Let’s write the univariate Gaussian distribution in exponential family form

+ +\[\mathcal{N}(x|\mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}}\exp[-\frac{1}{2\sigma^2}(x-\mu)^2] = \frac{1}{\sqrt{2\pi \sigma^2}}\exp[-\frac{1}{2\sigma^2}\mu^2]\exp[-\frac{1}{2\sigma^2}x^2 + \frac{\mu}{\sigma^2}x]\] + +

Therefore, it is easy to tell that

+ +\[\theta = \begin{pmatrix} \frac{\mu}{\sigma^2} \\ -\frac{1}{2\sigma^2}\end{pmatrix} \\ +\phi(x) = \begin{pmatrix}x \\ x^2\end{pmatrix}\\ +Z(\theta) = \sqrt{2\pi \sigma^2}\exp[-\frac{1}{2\sigma^2}\mu^2]\] + +

There is one beautiful property of the log partition function $\nabla_{\theta}A(\theta) = \mathbb{E}_{p(x)}[\phi(x)]$.

+ +

MLE Estimation

+ +

Given dataset $\mathcal{D}={x_1, x_2,\cdots,x_N}$, the data likelihood of an exponential family model has the form

+ +\[p(\mathcal{D}|\theta) = [\prod_{i=1}^N h(x_i)] \frac{1}{Z(\theta)^N} \exp[\theta^T (\sum_{i=1}^N \phi(x_i))]\] + +

We see that the sufficient statistics are $N$ and $\sum_{i=1}^N \phi(x_i)$. The loglikelihood of the data $\log p(\mathcal{D}|\theta) = \theta^T \phi(\mathcal{D}) - N A(\theta)$ is concave since $-A(\theta)$ is concave in $\theta$, and $\theta^T \phi(\mathcal{D})$ is linear in $\theta$. To compute MLE for the model, we can compute the derivative of the log-likelihood:

+ +\[\nabla_{\theta} \log p(\mathcal{D}|\theta) = \phi(\mathcal{D}) - N \nabla_{\theta}A(\theta) = \phi(\mathcal{D}) - N \mathbb{E}_{p(X|\theta)}[\phi(X)]\] + +

Setting this gradient to zero, we see that the empirical average of the sufficient statistics must equal the model’s theoretical expected sufficient statistics, i.e. $\hat{\theta}$ must satiesfy

+ +\[\mathbb{E}_{p(X|\hat{\theta})}[\phi(X)] = \frac{1}{N}\sum_{i=1}^N \phi(x_i)\] + +

We need to solve this equation for specific type of distribution, which I will give some examples.

+ +

MLE for Gaussian distribution

+ +

For Gaussian distribution, following above, the MLE corresponds to solve

+ +\[\mathbb{E}[\begin{pmatrix} X \\ X^2 \end{pmatrix}] = \begin{pmatrix} \mu \\ \sigma^2 + \mu^2 \end{pmatrix} = \begin{pmatrix} \frac{1}{N}\sum_{i=1}^N x_i \\ \frac{1}{N}\sum_{i=1}^N x_i^2 \end{pmatrix}\] + +

Solving this, we have

+ +\[\mu = \frac{1}{N}\sum_{i=1}^N x_i, \quad \sigma^2 = \frac{1}{N}\sum_{i=1}^N x_i^2 - \mu^2\] + +

EM for Gaussian Mixture

+ +

For Gaussian mixture, we can use EM to perform MLE. But first, we should identify the MLE under complete data situation. We know that $p(x|\theta) = \sum_k p(z_k, x) = \sum_k p(z^k=1|\pi) p(x|z^k=1,\mu,\Sigma) = \sum_k \pi_k\mathcal{N}(x|\mu_k, \Sigma_k))$. If we assume that all variables are observed, we can learn the parameters simply by using MLE. The data likelihood is

+ +\[p(x,z) = p(x|z,\mu, \sigma)p(z|\pi) = \prod_k \pi_k^{z^k} {\mathcal{N}(x|\mu_k,\sigma_k)}^{z^k} \\ +\log p(x,z) = \sum_k z^k \log \pi_k - z^k \frac{1}{2\sigma_k^2}(x-\mu_k)^2 + C\] + +

Obviously, the sufficient statistics and natural parameter can be identified:

+ +\[\phi(x, z) = \begin{pmatrix} z^k \\ z^kx \\ z^k x^2 \end{pmatrix}\\ +\theta_k = \begin{pmatrix} \log\pi_k \\ \frac{\mu_k}{\sigma_k^2} \\ -\frac{1}{2\sigma^2}\end{pmatrix}\] + +

Here we are also able to compute the expected sufficient statistics of the random variable $X$ and $Z$

+ +\[\mathbb{E}_{p(x,z)}[z^k] = \pi_k, \quad \mathbb{E}_{p(x,z)}[z^k x] = \pi_k\mu_k,\quad \mathbb{E}_{p(x,z)}[z^k x^2] = \pi_k(\sigma^2 + \mu_k^2)\] + +

Using the MLE rule, given the dataset $\mathcal{D}={x_1, x_2,\cdots,x_N}$, we need to set the $\mathbb{E}[\phi(X)] = \frac{1}{N}\sum_{i=1}^N\phi(x_i)$. This leads to

+ +\[\pi_k = \frac{1}{N}\sum_i z_i^k, \quad \pi_k\mu_k = \frac{1}{N}\sum_i z_i^k x_i, \quad \pi_k(\sigma_k^2 + \mu_k^2) = \frac{1}{N}\sum_i z_i^k x_i^2 \\ +\pi_k = \frac{1}{N}\sum_i z_i^k, \quad \mu_k = \frac{\sum_i z_i^k x_i}{\sum_i z_i^k}, \quad \sigma_k^2 = \frac{\sum_i z_i^k x_i^2}{\sum_i z_i^k} - \mu_k^2\] + +

Note that the derivation is different from P351 in Murphy’s book, where one has to enforce the constraints to derive the maximization of $\pi$. Here since we use the MLE property in exponential family, it simplifies the derivation a lot. The results are exactly the same. Now that we have identified the rule for converting the sufficient statistics to the MLE of the parameters, we can now use the EM. In the E-step, we complete the data by computing the posterior distribution of $z$ under current parameter setting $p(z_i^k=1|x_i,\theta^t)$

+ +\[r_{ik} = p(z_i^k=1|x_i,\theta^t) = \frac{\pi_k p(x_i|\theta_k^{t})}{\sum_{k'}\pi_{k'}p(x_i|\theta_{k'}^t)}\] + +

In the M-step, we compute optimize the expected complete data loglikelihood, i.e. MLE. This corresponds to take the expectation of the sufficient statistics over $p(z_i^k=1|x_i,\theta^t)$. Then we follow the MLE estimation using the expected sufficient statistics, i.e.

+ +\[\pi_k = \frac{1}{N}\sum_i r_{ik}, \quad \mu_k = \frac{\sum_i r_{ik} x_i}{\sum_i r_{ik}}, \quad \sigma_k^2 = \frac{\sum_i r_{ik} x_i^2}{\sum_i r_{ik}} - \mu_k^2\] + +

Stepwise EM for Gaussian Mixture

+ +

The reason why I tried to figure out the derivation of Gaussian mixture using sufficient statistics, instead of the one presented in the book, is that using sufficient statistics will lead to more general optimization method, such as stepwise EM and stochastic variational inference. Stepwise EM is computed as follows

+ +\[\text{While not converged} \\\text{for each example $i=1:N$ in a random order do}\\ +s_i = \sum_z p(z|x_i, \theta(\mu))\phi(x_i,z);\\ +\mu = (1-\eta_k)\mu + \eta_k s_i;\\ +t = t+1\] + +

Since we are able to convert sufficient statistics into the MLE of the parameters as above, we only need to update the sufficient statistics $\mu$. Therefore, the Stepwise EM for Gaussian Mixture is as follows

+ +\[\text{While not converged} \\ +\text{For each example $x_i$ and component $k$ do}\\ +\text{E-step:}\quad r_{ik} = p(z_i^k=1|x_i,\theta^t) \\ +\text{M-step:}\quad \hat{\omega}_k = \hat{\omega}_k + \eta_t (r_{ik} - \hat{\omega}_k) \\ +\hat{\mu}_k = \hat{\mu}_k + \eta_t (r_{ik} x_i - \hat{\mu}_k) \\ +\hat{S}_k = \hat{S}_k + \eta_t (r_{ik} x_ix_i^T - \hat{S}_k) \\ +\text{Update parameter}\quad \pi_k^{t+1} = \hat{\omega}_k, \quad \mu_k^{t+1} = \frac{\hat{\mu}_k}{\omega_k}, \quad \Sigma^{t+1} = \frac{\hat{S}_k}{\omega_k} - {\mu_k^{t+1}}^2 \\ +t = t+1\] + +

For Stepwise EM with minibatch of size $m$, the algorithm is as follows:

+ +\[\text{While not converged} \\ +\text{For each minibatch $X$ of size $M$ and component $k$ do}\\ +\text{E-step:}\quad r_{ik} = p(z_i^k=1|x_i,\theta^t) \\ +\text{M-step:}\quad \hat{\omega}_k = \hat{\omega}_k + \eta_t (\sum_{i=1}^M r_{ik} - \hat{\omega}_k) \\ +\hat{\mu}_k = \hat{\mu}_k + \eta_t (\sum_{i=1}^M r_{ik} x_i - \hat{\mu}_k) \\ +\hat{S}_k = \hat{S}_k + \eta_t (\sum_{i=1}^M r_{ik} x_ix_i^T - \hat{S}_k) \\ +\text{Update parameter}\quad \pi_k^{t+1} = \frac{1}{M}\hat{\omega}_k, \quad \mu_k^{t+1} = \frac{\hat{\mu}_k}{\hat{\omega}_k}, \quad \Sigma_k^{t+1} = \frac{\hat{S}_k}{\hat{\omega}_k} - \mu_k^{t+1}{\mu_k^{t+1}}^T \\ +t = t+1\] +:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ae/ca4c55838d5c9ec422d48775acb0f31437d03188035c0280a78a2a52e3cdc1 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ae/ca4c55838d5c9ec422d48775acb0f31437d03188035c0280a78a2a52e3cdc1 new file mode 100644 index 00000000000..cd18fae8ef6 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ae/ca4c55838d5c9ec422d48775acb0f31437d03188035c0280a78a2a52e3cdc1 @@ -0,0 +1,2 @@ +I"Ľ

I find it necessary to understand EM more. As an optimization method for MLE/MAP, it is also related to variational bayes EM (VBEM), Gibbs sampling as well as Wake-sleep algorithm.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b0/f5a7b2e8125eb6a9b1b71d3a09090546fcefd60dbbd439c6da06e6c7ceffea b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b0/f5a7b2e8125eb6a9b1b71d3a09090546fcefd60dbbd439c6da06e6c7ceffea new file mode 100644 index 00000000000..c361d33e4ec --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b0/f5a7b2e8125eb6a9b1b71d3a09090546fcefd60dbbd439c6da06e6c7ceffea @@ -0,0 +1,71 @@ +I"Ř

As a journey towards PhD, this blog intends to record my research/project articles/activities. My research is related to Machine Learning, Artificial Intelligence, Social Media, etc.

+ + +:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b9/26e2fe5c7682f46b57f9c0dcbcb183cc6844589150e2e7ed2956549a085348 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b9/26e2fe5c7682f46b57f9c0dcbcb183cc6844589150e2e7ed2956549a085348 new file mode 100644 index 00000000000..e39584d9801 --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/b9/26e2fe5c7682f46b57f9c0dcbcb183cc6844589150e2e7ed2956549a085348 @@ -0,0 +1,135 @@ +I" 

Lately I’m dealing with Bayesian non-parametric in order for the praparation of my next paper. Therefore, I spent several days trying to learn and understand Dirichlet process. Dirichlet process is at first difficult to understand, mainly because it is very different from our previous parametric methods and it uses advanced mathmetical concepts. I struggled several days to finally understand Dirichlet process. Once you understand it, it becomes very easy.

+ +

$G$ is a random probability measure. We say $G$ is Dirichlet process distributed with base distribution $H$ and concentration parameter $\alpha$, written $G \sim DP(\alpha,H)$ if

+ +\[(G(A_1),...,G(A_r)) \sim Dir(\alpha H(A_1),...,\alpha H(A_r))\] + +

for every finite measure partition $A_1,…,A_r$ of $\Theta$.

+ +

In every tutorial and lecture, we are told that a sample from Dirichlet process is discrete and has point mass at atoms. In order to understand why this is that, it is important to know the posterior of Dirichlet process. +Let $\theta_1,…,\theta_n$ be a sequence of independent draws from $G$. +Let $n_k = \sharp\{i: \theta_i \in A_k\}$ be the number of observed values in $A_k$. From the conjugacy between the Dirichlet and multinomial, we have

+ +\[(G(A_1),...,G(A_r))|\theta_1,...,\theta_n \sim Dir(\alpha H(A_1)+n_1,...,\alpha H(A_r)+n_r) \\ +G|\theta_1,...\theta_n \sim DP(\alpha+n,\frac{\alpha}{\alpha+n}H+\frac{n}{\alpha+n}\frac{\sum_{i=1}^n \delta_{\theta_i}}{n})\] + +

Therefore, the posterior predictive given first $n$ observations is given by posterior of $G$, integrating out (i.e. the base distribution of posterior Dirichlet process):

+ +\[\begin{aligned} +P(\theta \in A | G,\theta_1,...,\theta_n) &= E[G(A)|\theta_1,...,\theta_n]\\ +&= \frac{1}{\alpha+n}(\alpha H(A)+\sum_{i=1}^n \delta_{\theta_i}(A)) +\end{aligned}\] + +

That is to say:

+ +\[\theta_{n+1}|\theta_1,...,\theta_n \sim \frac{1}{\alpha+n}(\alpha H + \sum_{i=1}^n \delta_{\theta_i})\] + +

This in fact show that a sample from Dirichlet process has point masses located at the previous draws $\theta_1,…,\theta_n$. With positive probability, draws from G will take on the same value as previous seen observations. While it also has probability to draw from prior distribution $H$, smooth or not. With long enough sequence of draws from G, the value of any draw will be repeated by another draw, implying that $G$ is composed only of a weighted sum of point masses, i.e. it is a discrete distribution.

+ +\[G = \sum_{k=1}^{\infty} \pi_k\delta_{\theta_k^*}\] + +

The above predictive in fact corresponds to MacQueen urn scheme and the above infinite sum corresponds to Stick-breaking construction. And the famous Chinese Restaurant Process is in fact very similar to MacQueen urn scheme except for different metaphor, both construction has rich-get-richer property. I don’t want to repeat the constructions here, but refer to Yee Whye Teh’s tutorial if necessary.

+ +

However, I do want to state the stick-breaking construction here since it would be useful for susequent Dirichlet Process Mixture Model. The stick-breaking construction separates the construction of $\pi$ and $\theta$. The construction of $\pi$ follows stick-breaking process

+ +\[\beta_k \sim Beta(1,\alpha)\\ +\pi_k = \beta_k \prod_{l=1}^{k-1}(1-\beta_k)\] + +

also written as $\pi \sim GEM(\alpha)$. And the $\theta_k^*$ is sampled directly from the base distribution:

+ +\[\theta_k^* \sim H \\ +G = \sum_{k=1}^{\infty} \pi_k \delta_{\theta_k^*}\] + +

DP Mixture Model

+

Intended to solve the $k$ selection problem for mixture model, LDA, etc, applying Dirichlet process to the problems serves to automatically select the number of mixture components or dimension of variables. Here, I’ll first investigate the application to DP Mixture model.

+ +

We model a set of observations $\{x_1,…,x_n\}$ using a set of latent parameters $\{\theta_1,…,\theta_n\}$. Each $\theta$ is drawn independently and identically from $G$, while each $x_i$ has distribution $F(\theta_i)$ parameterized by $\theta_i$:

+ +\[x_i|\theta_i \sim F(\theta_i)\\ +\theta_i|G \sim G\\ +G|\alpha,H \sim DP(\alpha,H)\] + +

And since $G$ is discrete, multiple $\theta_i$’s can take on the same value simutaneously, therefore it can be viewed that $x_i$ with the same value of $\theta_i$ belong to the same cluster. The mixture perspective can be made more in agreement with the usual representation of mixture models using the stick-breaking construction equaivalently:

+ +\[\pi|\alpha \sim GEM(\alpha)\\ +z_i|\pi \sim Multi(\pi)\\ +\theta_k^*|H \sim H\\ +x_i|z_i,\{\theta_k^*\} \sim F(\theta_{z_i}^*)\] + +

The model is shown as follows.

+ +

DP Mixture Model

+ +

Solving the model using collapsed Gibbs sampling turns out to be very easy, as described in Murphy’s book p.886 (Algorithm 25.1). Before going through the algorithms, one should convince himself that the posterior predictive and prior predictive is easy for Gaussian distribution with conjugate prior as also talked in Murphy’s book in Chpater 4 and it should be Student-t distribution with the updated parameters (if I didn’t remember wrong). The key point is to compute this one

+ +\[p(z_i=k|z_{-i},x,\alpha,\lambda) \propto p(z_i=k|z_{-i},\alpha)p(x_i|x_{-i},z_i=k,z_{-i},\lambda)\] + +
function dpm = dpm_gibbs(dpm,numiter);
+% run numiter number of iterations of gibbs sampling in the DP mixture
+
+KK = dpm.KK; % number of active clusters
+NN = dpm.NN; % number of data items
+aa = dpm.aa; % alpha parameter
+qq = dpm.qq; % row cell vector of mixture components
+xx = dpm.xx; % row cell vector of data items
+zz = dpm.zz; % row vector of cluster indicator variables
+nn = dpm.nn; % row vector of number of data items per cluster
+
+for iter = 1:numiter
+  % in each iteration, remove each data item from model, then add it back in
+  % according to the conditional probabilities.
+
+  for ii = 1:NN % iterate over data items ii
+
+    % remove data item xx{ii} from component qq{kk}
+    kk = zz(ii); % kk is current component that data item ii belongs to
+    nn(kk) = nn(kk) - 1; % subtract from number of data items in component kk
+    qq{kk} = delitem(qq{kk},xx{ii}); % subtract data item sufficient statistics
+
+    % delete active component if it has become empty
+    if nn(kk) == 0, 
+      %fprintf(1,'del component %3d. K=%3d\n',find(nn==0),KK-sum(nn==0));
+      KK = KK - 1;
+      qq(kk) = [];
+      nn(kk) = [];
+      idx = find(zz>kk);
+      zz(idx) = zz(idx) - 1;
+    end
+
+    % compute conditional probabilities pp(kk) of data item ii
+    % belonging to each component kk
+    % compute probabilities in log domain, then exponential
+    pp = log([nn aa]);
+    for kk = 1:KK+1
+      pp(kk) = pp(kk) + logpredictive(qq{kk},xx{ii});
+    end
+    pp = exp(pp - max(pp)); % -max(p) for numerical stability
+    pp = pp / sum(pp);
+
+    % choose component kk by sampling from conditional probabitilies
+    uu = rand;
+    kk = 1+sum(uu>cumsum(pp));
+
+    % instantiates a new active component if needed
+    if kk == KK+1
+      %fprintf(1,'add component %3d. K=%3d\n',kk,KK+1);
+      KK = KK + 1;
+      nn(kk) = 0;
+      qq(kk+1) = qq(kk);
+    end
+
+    % add data item xx{ii} back into model (component qq{kk})
+    zz(1,ii) = kk; 
+    nn(1,kk) = nn(1,kk) + 1; % increment number of data items in component kk
+    qq{1,kk} = additem(qq{1,kk},xx{ii}); % add sufficient stats of data item
+
+  end
+end
+
+% save variables into dpm struct
+dpm.qq = qq;
+dpm.zz = zz;
+dpm.nn = nn;
+dpm.KK = KK;
+
+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ca/c81f6d0f113adc32035f7dd1ca064dd0622060ba2df70ae151201586b0ce5a b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ca/c81f6d0f113adc32035f7dd1ca064dd0622060ba2df70ae151201586b0ce5a new file mode 100644 index 00000000000..5d79b463b2d --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ca/c81f6d0f113adc32035f7dd1ca064dd0622060ba2df70ae151201586b0ce5a @@ -0,0 +1,8 @@ +I"Đ

Shared code for final project in COMP5213 Bayesian Networks

+ +

Hierarchical Topic Detection for PMC005 dataset: example

+ +

Code for PMC005 dataset preprocessing: preprocess.py

+ +

Code for computing coherence and compactness: evaluate.py

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e5/d43d3ff37a980d93ab65947b2b6cfdeb89c5328558db9303532c7030782294 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e5/d43d3ff37a980d93ab65947b2b6cfdeb89c5328558db9303532c7030782294 new file mode 100644 index 00000000000..6d38694a48e --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/e5/d43d3ff37a980d93ab65947b2b6cfdeb89c5328558db9303532c7030782294 @@ -0,0 +1,306 @@ +I"S+

After learned variational inference and latent dirichlet allocation (LDA), I wrote a paper about Gaussian relational topic model to solve the problem of connection discovery using shared images. In order to continue solving more challenging problems and improving myself, I find it necessary to master Markov Chain Monte Carlo methods. Therefore, I put my hands on Gibbs sampling and Metropolis Hastings algorithm.

+ +

Gibbs Sampling and Collapsed Gibbs Sampling

+

The basic idea is to sample each variable in turn, conditioned on the values of all the other variables:

+ +\[x_1^{s+1} \sim p(x_1|x_2^{s},x_3^{s}) \\ +x_2^{s+1} \sim p(x_2|x_1^{s+1},x_3^{s}) \\ +x_3^{s+1} \sim p(x_3|x_1^{s+1},x_2^{s+1}) \\\] + +

The ideal of collapsed Gibbs sampling is to integrate out all possible model parameters analytically, such that the sampling space is minimum, dramatically decrease sampling time. +An example of collapsed Gibbs sampling for fitting a GMM can be found in Murphy’s book, p. 844. +The example code of collapsed Gibbs sampling solving Bayesian Gaussian mixture model can be found in here. The main logic of the collapsed Gibbs sampling is:

+ +
# Loop over iterations
+for i_iter in range(n_iter):
+
+    # Loop over data items
+    for i in xrange(self.components.N):
+
+        # Cache some old values for possible future use
+        k_old = self.components.assignments[i]
+        K_old = self.components.K
+        stats_old = self.components.cache_component_stats(k_old)
+
+        # Remove data vector `X[i]` from its current component
+        self.components.del_item(i)
+
+        # Compute log probability of `X[i]` belonging to each component
+        # (24.26) in Murphy, p. 843
+        log_prob_z = (
+            np.ones(self.components.K_max)*np.log(
+                float(self.alpha)/self.components.K_max + self.components.counts
+                )
+            )
+        # (24.23) in Murphy, p. 842
+        log_prob_z[:self.components.K] += self.components.log_post_pred(i)
+        # Empty (unactive) components
+        log_prob_z[self.components.K:] += self.components.log_prior(i)
+        prob_z = np.exp(log_prob_z - logsumexp(log_prob_z))
+
+        # Sample the new component assignment for `X[i]`
+        k = utils.draw(prob_z)
+
+        # There could be several empty, unactive components at the end
+        if k > self.components.K:
+            k = self.components.K
+        # print prob_z, k, prob_z[k]
+
+        # Add data item X[i] into its component `k`
+        if k == k_old and self.components.K == K_old:
+            # Assignment same and no components have been removed
+            self.components.restore_component_from_stats(k_old, *stats_old)
+            self.components.assignments[i] = k_old
+        else:
+            # Add data item X[i] into its new component `k`
+            self.components.add_item(i, k)
+
+    # Update record
+    record_dict["sample_time"].append(time.time() - start_time)
+    start_time = time.time()
+    record_dict["log_marg"].append(self.log_marg())
+    record_dict["components"].append(self.components.K - 1)
+
+    # Log info
+    info = "iteration: " + str(i_iter)
+    for key in sorted(record_dict):
+        info += ", " + key + ": " + str(record_dict[key][-1])
+    info += "."
+    logger.info(info)
+
+ +

Metroplis Hastings and Slice Sampling

+ +

As an experiment of Metroplis Hastings algorithm, I find this link useful. It also compares Metropolis Hastings with slice sampling, both are worth investigating. Following experiments are based on the post.

+ +

Anyway, first let’s describe the model we are going to MCMC with. It’s a two level hierachical model:

+ +\[v \sim \mathcal{N}(v|0,3^2)\\ +x_k|v \sim \mathcal{N}(x_k|0,e^v) \ \text{for} \ k=0,1,...,9\] + +

The joint distribution is obviously given by

+ +\[p(v,x_1,x_2,...,x_9) = \mathcal{N}(v|0,3^2) \prod_{k=1}^{9} \mathcal{N}(x_k|0,e^v)\] + +

The class defining the distribution for sampling and probability density evaluation is given:

+ +
from __future__ import division
+
+import numpy as np
+import scipy.stats as ss
+
+
+class joint_dist(object):
+
+    def rvs(self, n=1):
+        """ sample a random variable from this distribution """
+        sample = np.zeros((10, n))
+
+        for i in xrange(n):
+            # generate rvs
+            v = ss.norm(0, 3).rvs()
+            xs = ss.norm(0, np.sqrt(np.e**v)).rvs(9)
+            # place in sample array
+            sample[0, i] = v
+            sample[1:, i] = xs
+
+        return sample
+
+    def pdf(self, sample):
+        """ get the probability of a specific sample """
+        v = sample[0]
+        pv = ss.norm(0, 3).pdf(v)
+        xs = sample[1:]
+        pxs = [ss.norm(0, np.sqrt(np.e**v)).pdf(x_k) for x_k in xs]
+        return np.array([pv] + pxs)
+
+    def loglike(self, sample):
+        """ log likelihood of a specific sample """
+        return np.sum(np.log(self.pdf(sample)))
+
+ +

The current state is defined as $w=[v,x_1,x_2,…,x_9]$. And the proposal funciton is defined as symmetric normal distribution with the current state as mean:

+ +\[q(w'|w)=\mathcal{N}(w,\mathbf{1}_{10})\] + +

The Metropolis-Hasting function is defined:

+ +
def metropolis(init, iters):
+    """
+    based on http://www.cs.toronto.edu/~asamir/cifar/rpa-tutorial.pdf
+    
+    can take several minutes to run with large sample sizes.
+    """
+    dist = joint_dist()
+
+    # set up empty sample holder
+    D = len(init)
+    samples = np.zeros((D, iters))
+
+    # initialize state and log-likelihood
+    state = init.copy()
+    Lp_state = dist.loglike(state)
+
+    accepts = 0
+    for i in np.arange(0, iters):
+        
+        # propose a new state
+        prop = np.random.multivariate_normal(state.ravel(), np.eye(10)).reshape(D, 1)
+
+        Lp_prop = dist.loglike(prop)
+        rand = np.random.rand()
+        if np.log(rand) < (Lp_prop - Lp_state):
+            accepts += 1
+            state = prop.copy()
+            Lp_state = Lp_prop
+
+        samples[:, i] = state.copy().ravel()
+        
+        if i % 1000 == 0: print('[#iter: %d]' %i)
+
+    print 'Acceptance ratio', accepts/iters
+    return samples
+
+ +

Let’s start by taking 50,000 samples using Metropolis-Hastings.

+ +
# define our starting point
+w_0 = np.array([0., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
+
+# actually do the sampling
+n = 50000
+samples = metropolis(w_0, n)
+
+ +
Acceptance ratio 0.24342
+
+ +
import matplotlib.pyplot as plt
+%matplotlib inline  
+from matplotlib import rcParams
+rcParams['font.size'] = 12
+rcParams['figure.figsize'] = (10, 6)
+
+burnin = 10000
+m = n-burnin
+v = samples[0, burnin:]
+fig = plt.figure()
+ax0 = fig.add_subplot(211)
+#fig, (ax0, ax1) = plt.subplots(2, 1)
+
+# show values of sampled v by iteration
+ax0.plot(np.arange(m), v)
+ax0.set_xlabel('iteration number')
+ax0.set_ylabel('value of sampled v')
+
+ax1 = fig.add_subplot(212)
+# plot a histogram of values of v
+ax1.hist(v, bins=80)
+ax1.set_xlabel('values of sampled v')
+ax1.set_ylabel('observations')
+
+plt.show()
+
+ +

MH

+ +

As it should be noticed that the sampled $v$ is not Gaussian distributed, rather skewed. However, we know that $v$ is in fact zero-mean gaussian distributed. The skewed sampling is not good to estimate the true distribution of $v$. As discussed in the original post, it is because under the directed regime — any small or negative $v$ implies that every $x_kâĽ\mathcal{N}(0,e^v \approx 0)$, thus imposing a huge probability “penalty” on any non-zero $x_k$. Meanwhile, our Metropolis-Hastings is naively proposing a vector of $x_k$s which are probably not all zero, so we tend to reject any small or negative $v$.

+ +

So for slice sampling:

+ +
def slice_sample(init, iters, sigma, step_out=True):
+    """
+    based on http://homepages.inf.ed.ac.uk/imurray2/teaching/09mlss/
+    sigma is the step size of each coordinate
+    """
+
+    dist = joint_dist()
+
+    # set up empty sample holder
+    D = len(init)
+    samples = np.zeros((D, iters))
+
+    # initialize
+    xx = init.copy()
+
+    for i in xrange(iters):
+        perm = range(D)
+        np.random.shuffle(perm)
+        last_llh = dist.loglike(xx)
+
+        # Sweep through axes (simplest thing)
+        for d in perm:
+            # u|x ~ [0,1]*p(x)
+            llh0 = last_llh + np.log(np.random.rand())
+            
+            # Create a horizontal interval (x_l, x_r) enclosing xx
+            rr = np.random.rand(1)
+            x_l = xx.copy()
+            x_l[d] = x_l[d] - rr * sigma[d]
+            x_r = xx.copy()
+            x_r[d] = x_r[d] + (1 - rr) * sigma[d]
+
+            # step out p(x)>u'
+            if step_out:
+                llh_l = dist.loglike(x_l)
+                while llh_l > llh0:
+                    x_l[d] = x_l[d] - sigma[d]
+                    llh_l = dist.loglike(x_l)
+                llh_r = dist.loglike(x_r)
+                while llh_r > llh0:
+                    x_r[d] = x_r[d] + sigma[d]
+                    llh_r = dist.loglike(x_r)
+
+            x_cur = xx.copy()
+            while True:
+                xd = np.random.rand() * (x_r[d] - x_l[d]) + x_l[d]
+                x_cur[d] = xd.copy()
+                last_llh = dist.loglike(x_cur)
+                if last_llh > llh0: #this is the only way to leave the while loop, satiesfy p(x)>u'
+                    xx[d] = xd.copy()
+                    break
+                elif xd > xx[d]:
+                    x_r[d] = xd
+                elif xd < xx[d]:
+                    x_l[d] = xd
+                else:
+                    raise RuntimeError('Slice sampler shrank too far.')
+
+        if i % 1000 == 0: print 'iteration', i
+
+        samples[:, i] = xx.copy().ravel()
+
+    return samples
+
+ +
# define our starting point
+w_0 = np.array([0., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
+
+# actually do the sampling
+n = 10000
+sigma = np.ones(10)
+samples = slice_sample(w_0, iters=n, sigma=sigma)
+
+ +
burnin = 0
+m = n-burnin
+v = samples[0, burnin:]
+fig = plt.figure()
+ax0 = fig.add_subplot(211)
+#fig, (ax0, ax1) = plt.subplots(2, 1)
+
+# show values of sampled v by iteration
+ax0.plot(np.arange(m), v)
+ax0.set_xlabel('iteration number')
+ax0.set_ylabel('value of sampled v')
+
+ax1 = fig.add_subplot(212)
+# plot a histogram of values of v
+ax1.hist(v, bins=80)
+ax1.set_xlabel('values of sampled v')
+ax1.set_ylabel('observations')
+
+plt.show()
+
+ +:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ef/de3789c3ce0ca990ac8934426ccc06688c3ecceff297a6758143435bf3b0df b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ef/de3789c3ce0ca990ac8934426ccc06688c3ecceff297a6758143435bf3b0df new file mode 100644 index 00000000000..e0aab27f33e --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/ef/de3789c3ce0ca990ac8934426ccc06688c3ecceff297a6758143435bf3b0df @@ -0,0 +1,2 @@ +I"Ó

The exponential family distributions are very important in graphical models and Bayesian learning. They have nice properties, like conjugacy and finite sufficient statistics, which enable the convenience and efficiency of the inference and learning process. Yet, I only almost know the details of exponential family distribution. The minor gap between “almost know” and “know” prevents me from understanding it completely. Here I try to close the gap.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/f2/2351cd1930965eda1ecca7931b85f60ae880e27425e2d1b91dc03de2012fb9 b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/f2/2351cd1930965eda1ecca7931b85f60ae880e27425e2d1b91dc03de2012fb9 new file mode 100644 index 00000000000..b56827aed7e --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/f2/2351cd1930965eda1ecca7931b85f60ae880e27425e2d1b91dc03de2012fb9 @@ -0,0 +1,2 @@ +I"Ő

After learned variational inference and latent dirichlet allocation (LDA), I wrote a paper about Gaussian relational topic model to solve the problem of connection discovery using shared images. In order to continue solving more challenging problems and improving myself, I find it necessary to master Markov Chain Monte Carlo methods. Therefore, I put my hands on Gibbs sampling and Metropolis Hastings algorithm.

+:ET \ No newline at end of file diff --git a/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/fd/46a0b98fe1355a19b0da191db3af99aeb0d6f99a34842bb8b2209291bb95cb b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/fd/46a0b98fe1355a19b0da191db3af99aeb0d6f99a34842bb8b2209291bb95cb new file mode 100644 index 00000000000..873add3145f --- /dev/null +++ b/.jekyll-cache/Jekyll/Cache/Jekyll--Converters--Markdown/fd/46a0b98fe1355a19b0da191db3af99aeb0d6f99a34842bb8b2209291bb95cb @@ -0,0 +1,487 @@ +I"dB

Lately, I’m trying to investigate Bayesian Deep Learning and seriously considering it to be my PhD topic. Combining Bayesian with Deep Learning is current hot topic and with the current development of stochastic gradient monte carlo, I think it’s time for Bayesian Deep Learning to fly. And I could probably benefit from it a lot.

+ +

Hamiltonian Monte Carlo

+

A perfect tutorial for introduction of Hamiltonian Monte Carlo is MCMC: Hamiltonian Monte Carlo (a.k.a. Hybrid Monte Carlo).

+ +

Stochastic Gradient Monte Carlo

+ +

Here, I’m going to run some examples using Hamiltonian Monte Carlo, Stochastic Gradient Langevin Dynamics and Stochastic Gradient Hamiltonian Monte Carlo.

+ +

Suppose we are dealing with target distribution of

+ +\[U(\theta)=-2\theta^2 + \theta^4.\] + +

Think of it as the un-normalized log probability of

+ +\[U(\theta) = - \sum_{x \in \mathcal{D}} \log p(x|\theta) - \log p(\theta)\] + +

Then the un-normalized posterior of $\theta$ is given by:

+ +\[p(\theta | \mathcal{D}) \propto \exp(-U(\theta)).\] + +

And the true gradient is

+ +\[\nabla U(\theta) = -4\theta + 4\theta^3.\] + +

However, if stochastic gradient noise, the gradient we get by calculating stochastic gradient would have an additional noise term. Let’s define the noisy gradient as

+ +\[\nabla \tilde{U}(\theta) = -4\theta^2 + 4\theta^3 + \mathcal{N}(0,4).\] + +

Let’s see how we can approximate this target distribution with noisy gradient using monte carlo methods.

+ +
%matplotlib inline
+
+import numpy as np
+import matplotlib.pyplot as plt
+
+nsample = 80000;
+xStep = 0.1;
+m = 1;
+C = 3;
+dt = 0.1;
+nstep = 50;
+V = 4;
+
+#set random seed
+np.random.seed(10);
+
+def U(x):
+    return -2 * x**2+x**4
+def gradU(x):
+    return -4*x+4*x**3+np.random.randn()*2
+def gradUPerfect(x):
+    return -4*x+4*x**3
+#draw probability diagram
+xGrid = np.array(np.arange(-2,2,xStep));
+y = np.exp( - U(xGrid) ); # take exponential to convert from log to un-normalized probability
+y = y / sum(y) / xStep; # normalize, then divided by xStep to calculate the density
+
+ +
# "Gold Standard" Hamiltonian Monte Carlo
+def hmc( U, gradU, m, dt, nstep, x, mhtest ):
+    # HMC using gradU, for nstep, starting at position x
+    p = np.random.randn() * np.sqrt( m );
+    oldX = x;
+    oldEnergy = p * m * p / 2 + U(x); 
+    # do leapfrog
+    for i in range(nstep):
+        p = p - gradU( x ) * dt / 2;
+        x = x + p/m * dt;
+        p = p - gradU( x ) * dt / 2;
+
+    p = -p;
+
+    # M-H test
+    if mhtest != 0:
+        newEnergy  = p * m * p / 2 + U(x);
+        if np.exp(oldEnergy- newEnergy) < np.random.rand():
+            # reject
+            x = oldX;
+    return x
+
+# HMC without noise with M-H
+samples = np.zeros(nsample);
+x = 0;
+for i in range(nsample):
+    x = hmc( U, gradUPerfect, m, dt, nstep, x, 1); # no stochastic gradient noise
+    samples[i] = x;
+    
+[yhmc,xhmc] = np.histogram(samples, xGrid);
+yhmc = 1.0 * yhmc / np.sum(yhmc) / xStep;
+
+ +
# Stochastic Gradient Langevin Dynamics
+def sgld( U, gradU, m, dt, nstep, x, C, V ):
+    # vanilla SGLD using gradU, for L steps, starting at position x
+    sigma = np.sqrt( 2 * dt);
+    for t in range(nstep):
+        dx = - gradU( x ) * dt + np.random.randn() * sigma;
+        x = x + dx;
+# SGHMC with noise, no M-H
+samples = np.zeros(nsample);
+x = 0;
+for i in range(nsample):
+    x = sghmc( U, gradU, m, dt, nstep, x, C, V );
+    samples[i] = x;
+
+ysgld,xsgld = np.histogram(samples, xGrid);
+ysgld = 1.0 * ysgld / sum(ysgld) / xStep;
+
+ +
# Stochastic Gradient Hamiltonian Monte Carlo
+def sghmc( U, gradU, m, dt, nstep, x, C, V ):
+    # SGHMC using gradU, for nstep, starting at position x
+    p = np.random.randn() * np.sqrt( m );
+    B = 0.5 * V * dt; 
+    D = np.sqrt( 2 * (C-B) * dt );
+
+    for i in range(nstep):
+        p = p - gradU( x ) * dt  - p * C * dt  + np.random.randn()*D;
+        x = x + p/m * dt;
+    return x
+
+# SGHMC with noise, no M-H
+samples = np.zeros(nsample);
+x = 0;
+for i in range(nsample):
+    x = sghmc( U, gradU, m, dt, nstep, x, C, V );
+    samples[i] = x;
+
+ysghmc,xsghmc = np.histogram(samples, xGrid);
+ysghmc = 1.0 * ysghmc / sum(ysghmc) / xStep;
+
+ +
# plot the approximated distribution
+plt.plot(xGrid,y,'-',xhmc[1:],yhmc,'g-v',xsgld[1:], ysgld, 'm-x', xsghmc[1:],ysghmc,'r')
+plt.legend( ('True Distribution', 'Standard HMC', 'SGLD', 'SGHMC'), loc='center left', bbox_to_anchor=(1, 0.5))
+
+ +
<matplotlib.legend.Legend at 0x1064ea110>
+
+ +

png

+ +

That’s great. We now know that under stochastic gradient noise, we can still approximate the true posterior distribution using monte carlo methods, i.e. SGLD and SGHMC.

+ +

Logistic Regression using Stochastic Gradient Monte Carlo

+ +

Now let’s do the simplest case, logistic regression. Hope we can see how stochastic gradient monte carlo actually can be applied to real machine learning problem.

+ +

First, let’s construct a toy dataset. We draw our $X$ data from a 2-D normal distribution, $\mathcal{N}(\mu,\Sigma)$.

+ +
import numpy as np
+import matplotlib.pyplot as plt
+import matplotlib
+
+# Setting for data simulation
+N = 1000; # data size
+D = 3; # parameter size
+#betaTrue = np.random.randint(-1, 2, size=(D,1));
+betaTrue = np.array([2,3,1]).T
+
+# Add correlation to design matrix X
+muDesg = np.zeros(D-1);
+corrX = 0.2;
+SigmaDesg = np.zeros((D-1,D-1));
+for i in range(D-1):
+    for j in range(i,D-1):
+        SigmaDesg[i,j] = corrX ** (j-i);
+        SigmaDesg[j,i] = SigmaDesg[i,j];
+
+X = np.hstack((np.ones((N,1)),np.random.multivariate_normal(muDesg,SigmaDesg,N)));
+probTrue = np.exp(np.dot(X, betaTrue))/(1+np.exp(np.dot(X, betaTrue)));
+y = np.zeros(N);
+for j in range(N):
+    y[j] = np.random.binomial(1,probTrue[j]);
+
+NTest = 1000
+XTest = np.hstack((np.ones((NTest,1)),np.random.multivariate_normal(muDesg,SigmaDesg,NTest)));
+probTrueTest = np.exp(np.dot(XTest, betaTrue))/(1+np.exp(np.dot(XTest, betaTrue)));
+yTest = np.zeros(NTest);
+for j in range(NTest):
+    yTest[j] = np.random.binomial(1,probTrueTest[j]);
+    
+cmap, norm = matplotlib.colors.from_levels_and_colors([0, 1, 2], ['red', 'green'])
+plt.scatter(X[:,1], X[:,2], c=y, cmap=cmap)
+
+ +
<matplotlib.collections.PathCollection at 0x10cb79b50>
+
+ +

png

+ +

Next, let’s see how each of the methods above can perform logistic regression on this dataset. Here we use prior of normal distribution for $\beta$:

+ +\[\beta \sim \mathcal{N}(0,\sigma I)\] + +

For logistic regression, we have following distribution:

+ +\[p(y_k=1|x_k,w) = \frac{e^{w^T x_k}}{1+e^{w^T x_k}}\] + +\[\mathcal{L}(w) = \sum_k y_k \log p(y_k=1|x_k,w) + (1-y_k) \log(1-p(y_k=1|x_k,w))\] + +\[\nabla \mathcal{L}(w) = \sum_k (y_k - p(y_k=1|x_k,w)) x_k\] + +

Let’s use SGD as baseline.

+ +

Logistic Regression with SGD

+ +
# SGD
+def prob(w,X):
+    return 1.0/(1+np.exp(-X.dot(w)))
+ 
+def cost(w,X,y,r):
+    return -np.sum(y*np.log(prob(w,X))+(1-y)*np.log(1-prob(w,X))) + r * np.dot(w.T,w) /2
+ 
+def grad(w,X,y,r):
+    return -np.dot(X.T,y-prob(w,X)) + r * w
+
+w = np.random.rand(3)
+r = 0.1
+i = 0
+lr = 1e-3
+while np.linalg.norm(grad(w,X,y,r)) > 1e-6:
+    if i % 1000 == 0:
+        print('[Iter %d]: cost=%f' % (i,cost(w,X,y,r)))
+    w = w - lr*grad(w,X,y,r)
+    i += 1
+print "weight: ", w[0],w[1],w[2]
+
+ +
[Iter 0]: cost=605.040794
+[Iter 1000]: cost=278.583159
+weight:  2.02798388293 3.42836274096 0.931072930232
+
+ +
# Prediction results for SGD
+accSGLD = np.mean((prob(w, XTest) > 0.5) == yTest);
+print('The test accuracy is %f' % accSGLD)
+
+ +
The test accuracy is 0.855000
+
+ +

Logistic Regression with SGLD

+ +
# Stochastic Gradient Langevin Dynamics
+import scipy.special
+
+def logistic_function(x):
+    return .5 * (1 + np.tanh(.5 * x))
+
+def LR_SGLD(X,y):
+    maxIter = 10000;
+
+    # plot index
+    plotInd = 1;
+
+    N, D = X.shape; # data size
+
+    tau = int(np.floor(np.sqrt(N))); # size of minibatch
+
+    # step size
+    # a = 1;
+    # b = 1;
+    # gamma = 0.7;
+
+    # prior
+    muStar = np.zeros(D);
+    sigma = 0.1;
+    SigmaStar = np.eye(D)*sigma;
+    invSigmaStar = np.linalg.inv(SigmaStar);
+
+    # Initialize
+    beta0 = np.random.rand(D);
+    betaVec = np.zeros((maxIter,D));
+    betaVec[0,:] = beta0;
+
+    eta = np.zeros(maxIter);
+    z = np.zeros((maxIter,D));
+
+    eta0 = 0.01;
+
+    # sgld iteration
+    for t in range(maxIter-1):
+        # random sample a minibatch
+        S = np.random.choice(N,tau, replace=False);
+
+        # sample coordinates of z
+        # eta(t) = a*(b+t)^(-gamma);
+        eta[t] = max(1/(t+1),eta0);
+        zVar = eta[t] * 2;
+        z[t,:] = np.random.randn(D) * np.sqrt(zVar);
+        
+        gradR = np.dot(invSigmaStar,(betaVec[t,:]-muStar));
+        #print gradR
+        gradL = -np.dot(X[S,:].T,(y[S]-scipy.special.expit(np.dot(X[S,:],betaVec[t,:]))));
+        #print gradL
+
+        betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL)+z[t,:];
+        #print betaVec[t+1,:]
+
+    if plotInd == 1:
+        fig = plt.figure();
+        ax1 = fig.add_subplot(311)
+        ax1.plot(range(maxIter),betaVec[:,1]);
+        ax2 = fig.add_subplot(312)
+        ax2.plot(range(maxIter),betaVec[:,2]);
+        ax3 = fig.add_subplot(313)
+        ax3.plot(range(maxIter),betaVec[:,2]);
+
+    burnIn = int(0.5*maxIter);
+    samples = betaVec[burnIn+1:,:];
+    return samples
+
+samples = LR_SGLD(X,y)
+
+ +

png

+ +
np.mean(samples,0)
+
+ +
array([ 1.51066479,  2.60689302,  0.77643745])
+
+ +
plt.subplot(311)
+plt.hist(samples[:,0],20)
+plt.title("Dimension 1")
+plt.xlabel("Value")
+plt.ylabel("Frequency")
+plt.subplot(312)
+plt.hist(samples[:,1],20)
+plt.title("Dimension 1")
+plt.xlabel("Value")
+plt.ylabel("Frequency")
+plt.subplot(313)
+plt.hist(samples[:,2],20)
+plt.title("Dimension 1")
+plt.xlabel("Value")
+plt.ylabel("Frequency")
+
+ +
<matplotlib.text.Text at 0x10bc85f10>
+
+ +

png

+ +
# Prediction results for SGLD
+betaSamples = samples;
+probPred = np.mean(scipy.special.expit(np.dot(XTest,betaSamples.T)),1);
+#loglikSGLD(l) = sum(yTest.*log(probPred)+(1-yTest).*log(1-probPred));
+accSGLD = np.mean((probPred > 0.5) == yTest);
+print('Test accuracy is %f' %accSGLD)
+
+ +
Test accuracy is 0.853000
+
+ +

As it can be seen, using SGLD with minibatch of only about 30, we can approximate the true posterior. Furthermore, as interested by many recent papers, from the posterior distribution of the parameters, we can obtain the uncertainty of the model about the prediction.

+ +

Logistic Regression with SGHMC

+ +
# Stochastic Gradient Hamiltonian Monte Carlo
+import scipy.special
+
+def logistic_function(x):
+    return .5 * (1 + np.tanh(.5 * x))
+
+def LR_SGHMC(X,y):
+    maxIter = 10000;
+
+    # plot index
+    plotInd = 1;
+
+    N, D = X.shape; # data size
+
+    tau = int(np.floor(np.sqrt(N))); # size of minibatch
+
+    # step size
+    # a = 1;
+    # b = 1;
+    # gamma = 0.7;
+
+    # prior
+    muStar = np.zeros(D);
+    sigma = 0.1;
+    SigmaStar = np.eye(D)*sigma;
+    invSigmaStar = np.linalg.inv(SigmaStar);
+
+    # Initialize
+    beta0 = np.random.rand(D);
+    betaVec = np.zeros((maxIter,D));
+    betaVec[0,:] = beta0;
+
+    eta = np.zeros(maxIter);
+    z = np.zeros((maxIter,D));
+
+    eta0 = 0.01;
+
+    # sghmc iteration
+    for t in range(maxIter-1):
+        # random sample a minibatch
+        S = np.random.choice(N,tau, replace=False);
+
+        # parameters of sghmc
+        C = np.eye(D)
+        Bh = 0
+        
+        # eta(t) = a*(b+t)^(-gamma);
+        eta[t] = max(1/(t+1),eta0);
+        zCov = eta[t] * 2 * (C - Bh);
+        z[t,:] = np.random.multivariate_normal(np.zeros(D),zCov);
+        
+        gradR = np.dot(invSigmaStar,(betaVec[t,:]-muStar));
+        gradL = -np.dot(X[S,:].T,(y[S]-scipy.special.expit(np.dot(X[S,:],betaVec[t,:]))));
+
+        #betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL) - eta[t]*np.dot(C,betaVec[t,:]) + z[t,:];
+        #using momentum equaivalent update
+        # Wrong! update it
+        betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL) - eta[t]*np.dot(C,betaVec[t,:]) + z[t,:];
+
+    if plotInd == 1:
+        fig = plt.figure();
+        ax1 = fig.add_subplot(311)
+        ax1.plot(range(maxIter),betaVec[:,1]);
+        ax2 = fig.add_subplot(312)
+        ax2.plot(range(maxIter),betaVec[:,2]);
+        ax3 = fig.add_subplot(313)
+        ax3.plot(range(maxIter),betaVec[:,2]);
+
+    burnIn = int(0.5*maxIter);
+    samples = betaVec[burnIn+1:,:];
+    return samples
+
+samples_SGHMC = LR_SGHMC(X,y)
+
+ +

png

+ +
np.mean(samples_SGHMC,0)
+
+ +
array([ 1.46368518,  2.5681857 ,  0.74677892])
+
+ +
plt.subplot(311)
+plt.hist(samples_SGHMC[:,0],20)
+plt.title("Dimension 1")
+plt.xlabel("Value")
+plt.ylabel("Frequency")
+plt.subplot(312)
+plt.hist(samples_SGHMC[:,1],20)
+plt.title("Dimension 1")
+plt.xlabel("Value")
+plt.ylabel("Frequency")
+plt.subplot(313)
+plt.hist(samples_SGHMC[:,2],20)
+plt.title("Dimension 1")
+plt.xlabel("Value")
+plt.ylabel("Frequency")
+
+ +
<matplotlib.text.Text at 0x114e7d750>
+
+ +

png

+ +
# Prediction results for SGHMC
+betaSamples = samples_SGHMC;
+probPred = np.mean(scipy.special.expit(np.dot(XTest,betaSamples.T)),1);
+#loglikSGLD(l) = sum(yTest.*log(probPred)+(1-yTest).*log(1-probPred));
+accSGLD = np.mean((probPred > 0.5) == yTest);
+print('Test accuracy is %f' %accSGLD)
+
+ +
Test accuracy is 0.851000
+
+ +

Conclusion

+ +

I think this concludes my trial towards Stochastic Gradient Monte Carlo methods. It has been shown that both stochstic gradient monte carlo methods, i.e. Stochastic Gradient Langevin Dynamics and Stochastic Gradient Hamiltonian Monte Carlo, are effective using minibatch of data, showing the scalability towards big data. Some works even show the online algorithm, such as online LDA using stochastic gradient monte carlo. I think it is a big step in Bayesian history.

+ +

Reference

+

[1] Welling, Max, and Yee W. Teh. “Bayesian learning via stochastic gradient Langevin dynamics.” Proceedings of the 28th International Conference on Machine Learning (ICML-11). 2011.

+ +

[2] Chen, Tianqi, Emily B. Fox, and Carlos Guestrin. “Stochastic Gradient Hamiltonian Monte Carlo.” ICML. 2014.

+:ET \ No newline at end of file diff --git a/README.md b/README.md new file mode 100755 index 00000000000..98a1b22569f --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# Much-Worse jekyll theme + +This is a modified version of [Steve Miller's NGVM theme](http://jekyllthemes.org/themes/svm-ngvb/). Since this work is a derivative of Prof. Miller's, therefore it is only fair that I honour his self-deprecating spirit and name this **much-worse**. I prefer large seriff fonts and minimal coloring and styling. Apart form the typography, color scheme and layout, +this theme has two useful changes: + +- It allows you to maintain your website as a subdirectory on your university of company domain (e.g. http://university.edu/department/people/your-website). Most Jekyll blogs are +designed to be hosted at custom domain names. + +- Most jekyll themes are blog-centric, or single page websites. This theme lets you create multi-page website with a blog if you want. + +Both the above are not seminal achievements in science, but they are useful. This theme also supports site analytics including [Statcounter](http://statcounter.com) and major comment providers for blogs. + +See it in action [here](http://people.csail.mit.edu/gchauras). + +Feel free to send me pull requests with better responsive performance or cleaner HTML/CSS. diff --git a/_config.yml b/_config.yml new file mode 100755 index 00000000000..2ae903bbe4d --- /dev/null +++ b/_config.yml @@ -0,0 +1,58 @@ +title: Xiaopeng LI +description: > # this means to ignore newlines until "baseurl:" + +sourcecode: "https://github.com/gchauras/much-worse-jekyll-theme" + +permalink: blog/:year/:month/:day/:title +exclude: ["Makefile", "README.md"] + +url: "http://eelxpeng.github.io" # the base hostname & protocol for your site +baseurl: "" # the subpath of your site, e.g. /blog + +author: + name: + facebook: + scholar: + +# Build settings +markdown: kramdown +highlighter: rouge + +# Settings for analytics helper +# Set 'provider' to the analytics provider you want to use. +# Set 'provider' to false to turn analytics off globally. +# +analytics: + provider: + statcounter: + sc_project : + sc_security : + sc_invisible: 1 + sc_text : 2 + google: + tracking_id: '' + getclicky: + site_id: + mixpanel: + token: '' + piwik: + baseURL: '' # Piwik installation address (without protocol) + idsite: '' # the id of the site on Piwik + +# Settings for comments helper +# Set 'provider' to the comment provider you want to use. +# Set 'provider' to false to turn commenting off globally. +# +comments: + provider: + disqus: + short_name: + livefyre: + site_id: + intensedebate: + account: + facebook: + appid: + num_posts: 5 + width: 580 + colorscheme: light diff --git a/_data/menu copy.yml b/_data/menu copy.yml new file mode 100755 index 00000000000..d504c2b03b9 --- /dev/null +++ b/_data/menu copy.yml @@ -0,0 +1,18 @@ +- title: "Research" + href: "/research/" + +- title: "CV" + href: "/cv/" + +- title: "Misc" + href: "/misc/" + +- title: "Submenu" + subcategories: + - subtitle: "Item 1" + subhref: "/misc/item-1/" + - subtitle: "Item 2" + subhref: "/misc/item-2/" + +- title: "Blog" + href: "/blog/" diff --git a/_data/menu.yml b/_data/menu.yml new file mode 100755 index 00000000000..ec446940320 --- /dev/null +++ b/_data/menu.yml @@ -0,0 +1,11 @@ +- title: "Research" + href: "/research/" + +- title: "CV" + href: "/cv/" + +- title: "Misc" + href: "/misc/" + +- title: "Blog" + href: "/blog/" diff --git a/_includes/.DS_Store b/_includes/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7c0c5177e0b6fefb51f2cf8c969237243274a8dc GIT binary patch literal 6148 zcmeHK!AiqG5Pe&Fh=@@1;?4YkhyKA*q9+eRen3fz3XKUi6};si{UP7%ETth4g9j0r zDYI`gyD!^$8!}k{ZnZ0yzyd%*7n~il88I0bAJ{BLWYC3syrac43T$yTm~DZ-sDSL< zIUevr-{5fn8oZ*$8~3xsn*HtOahVr&)o2>0x6_$bon_^&Er5?IzX|+_YgTpnLuT`I z_;2rI(K9}oH7fqr%(o3s={H#>ms5EoIZj${B*RI(etur^GcyHD0aIYA0<76$$%&%1 zrhqA63hWh-_d`k-^btG7@akX_jsV0t!@<~>vxIQch(2Pc$Pt=TDp9E}9x +var clicky_site_ids = clicky_site_ids || []; +clicky_site_ids.push({{ site.analytics.getclicky.site_id }}); +(function() { + var s = document.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = '//static.getclicky.com/js'; + ( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s ); +})(); + + diff --git a/_includes/analytics-providers/google b/_includes/analytics-providers/google new file mode 100755 index 00000000000..b591b995435 --- /dev/null +++ b/_includes/analytics-providers/google @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/_includes/analytics-providers/mixpanel b/_includes/analytics-providers/mixpanel new file mode 100755 index 00000000000..dba5ef973dc --- /dev/null +++ b/_includes/analytics-providers/mixpanel @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/_includes/analytics-providers/piwik b/_includes/analytics-providers/piwik new file mode 100755 index 00000000000..dd1d68cd651 --- /dev/null +++ b/_includes/analytics-providers/piwik @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/_includes/analytics-providers/statcounter b/_includes/analytics-providers/statcounter new file mode 100755 index 00000000000..08ee708290a --- /dev/null +++ b/_includes/analytics-providers/statcounter @@ -0,0 +1,18 @@ + + + + diff --git a/_includes/analytics.html b/_includes/analytics.html new file mode 100755 index 00000000000..6cca04f6377 --- /dev/null +++ b/_includes/analytics.html @@ -0,0 +1,18 @@ +{% if site.analytics.provider and page.analytics != false %} + +{% case site.analytics.provider %} +{% when "google" %} + {% include analytics-providers/google %} +{% when "getclicky" %} + {% include analytics-providers/getclicky %} +{% when "mixpanel" %} + {% include analytics-providers/mixpanel %} +{% when "piwik" %} + {% include analytics-providers/piwik %} +{% when "statcounter" %} + {% include analytics-providers/statcounter %} +{% when "custom" %} + {% include custom/analytics %} +{% endcase %} + +{% endif %} diff --git a/_includes/comments-providers/disqus b/_includes/comments-providers/disqus new file mode 100755 index 00000000000..70c535b8c83 --- /dev/null +++ b/_includes/comments-providers/disqus @@ -0,0 +1,14 @@ +
+ + +blog comments powered by Disqus diff --git a/_includes/comments-providers/facebook b/_includes/comments-providers/facebook new file mode 100755 index 00000000000..8a510b087a3 --- /dev/null +++ b/_includes/comments-providers/facebook @@ -0,0 +1,9 @@ +
+ +
\ No newline at end of file diff --git a/_includes/comments-providers/intensedebate b/_includes/comments-providers/intensedebate new file mode 100755 index 00000000000..999ea954250 --- /dev/null +++ b/_includes/comments-providers/intensedebate @@ -0,0 +1,6 @@ + + diff --git a/_includes/comments-providers/livefyre b/_includes/comments-providers/livefyre new file mode 100755 index 00000000000..e1a43497c5a --- /dev/null +++ b/_includes/comments-providers/livefyre @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/_includes/comments.html b/_includes/comments.html new file mode 100755 index 00000000000..de2499b19e1 --- /dev/null +++ b/_includes/comments.html @@ -0,0 +1,16 @@ +{% if site.comments.provider and page.comments != false %} + +{% case site.comments.provider %} +{% when "disqus" %} + {% include comments-providers/disqus %} +{% when "livefyre" %} + {% include comments-providers/livefyre %} +{% when "intensedebate" %} + {% include comments-providers/intensedebate %} +{% when "facebook" %} + {% include comments-providers/facebook %} +{% when "custom" %} + {% include custom/comments %} +{% endcase %} + +{% endif %} diff --git a/_includes/embedpdf.html b/_includes/embedpdf.html new file mode 100755 index 00000000000..1c446d8097f --- /dev/null +++ b/_includes/embedpdf.html @@ -0,0 +1 @@ + diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100755 index 00000000000..3ffa4806460 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,11 @@ +
+ {{ site.description }}
+ + Using Jekyll + {% if site.sourcecode %} + :: Website source + {% endif %} + {% if site.analytics.provider and page.analytics != false %} + :: Analytics by {{ site.analytics.provider }} + {% endif %} +
diff --git a/_includes/head.html b/_includes/head.html new file mode 100755 index 00000000000..0a85b9ab672 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,14 @@ + + + + + + {{ site.title }}{% if page.title %} :: {{ page.title }}{% endif %} + + + + + + + + diff --git a/_includes/header.html b/_includes/header.html new file mode 100755 index 00000000000..48dafbb2ec1 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,15 @@ + diff --git a/_includes/image.html b/_includes/image.html new file mode 100755 index 00000000000..753abd7cd96 --- /dev/null +++ b/_includes/image.html @@ -0,0 +1,10 @@ +
+ + {% if include.width %} + + {% else if include.height %} + + {% else %} + + {% endif %}{% if include.caption %}{{ include.caption }}{% endif %} +
diff --git a/_includes/nav.html b/_includes/nav.html new file mode 100755 index 00000000000..b37025da6ad --- /dev/null +++ b/_includes/nav.html @@ -0,0 +1,15 @@ + diff --git a/_layouts/.DS_Store b/_layouts/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..48086fff2c8c9136da32c3abd37e83617b9b033c GIT binary patch literal 6148 zcmeHKyG{c!5S&d?1VNFK(j^rVe{hNd5-t1ygzzX19TKF!59FW1jCY9=IS}KqV zqynixD)6HU@XVG?j~z3n0;xbMuvI|&L!k?sz}~TL9SpSuAWqm_jcr|(#VLVJVDHEg znmLu|RErYBoX-9dc}-yN=yX^V9~N)^E?%s@o%5HP4r?4UrUI$Jz5=R!X)~Swm;7Z0 zi~O3BAr(jk{;L8uS==t>TwR>42kX>XTj+OmneuuyXl(CY0{EbP + + + + {% include head.html %} + + +
+ {% include header.html %} + + {{ content }} + + {% include footer.html %} + + {% include analytics.html %} +
+ + + diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100755 index 00000000000..c33e1ce417a --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,10 @@ +--- +layout: default +--- +
+
+

{{ page.title }}

+
+ + {{ content }} +
diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100755 index 00000000000..95325993962 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,27 @@ +--- +layout: default +--- +
+
+

{{ page.title }}

+ + + {% if page.description %} + + {% endif %} + + {% if page.categories %} + + {% endif %} +
+ + {{ content }} + + {% include comments.html %} +
diff --git a/_posts/.DS_Store b/_posts/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a5cdeb2fd44c57345bee72eb6b8ca76baa4f3ed7 GIT binary patch literal 6148 zcmeHK%We}v5Uc?UMG2rBIqn515^Q7>@w#mi6T|@tVZ<574q&omCF2lr+t1*m@&Wvf zsp@GS#vlt02%+w1y5`w6UF+S+07!eM;~uaHV2wrCS*QDnXp zP1k{`C!Qgr&Wy9fLvjtN-Gpq)QcC?ng3jIP12v-etrtPXMuY>7Ox{G(KkLC8NKjAF$^Ye?1Lx z%=Q6yAnq^wTA@4igvEW?xmgYSO$B&n%honBh7Scofl%P90{T7_EW*mM&1jzvI=cc8 zJM1=NT?fC`6poc+n~@{5l$R3o(&Sf+l$W!=@OhPEn=vm(^2huTwJ*MPm>r!$$YYUbaEHce&Guje5 iKaQ=Uqxc$&8OI7$h?QfTkv+8dN5EtV7Yh7U1wI2j-;4+V literal 0 HcmV?d00001 diff --git a/_posts/2016-05-13-welcome-to-jekyll.markdown b/_posts/2016-05-13-welcome-to-jekyll.markdown new file mode 100644 index 00000000000..1a4bc6b6877 --- /dev/null +++ b/_posts/2016-05-13-welcome-to-jekyll.markdown @@ -0,0 +1,33 @@ +--- +layout: post +title: "Jekyll Cheetsheet" +date: 2016-05-13 22:16:28 +0800 +categories: jekyll update +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve --watch`, which launches a web server and auto-regenerates your site when a file is updated. + +To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +In order to publish to github, run following commands: + +{% highlight bash %} +~$ git add --all +~$ git commit -m "Initial commit" +~$ git push -u origin master +{% endhighlight %} + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: http://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/_posts/2016-08-08-Markov-Chain-Monte-Carlo.markdown b/_posts/2016-08-08-Markov-Chain-Monte-Carlo.markdown new file mode 100644 index 00000000000..8e79c058dca --- /dev/null +++ b/_posts/2016-08-08-Markov-Chain-Monte-Carlo.markdown @@ -0,0 +1,332 @@ +--- +layout: post +title: "Markov Chain Monte Carlo" +date: 2016-08-08 12:00:00 +0800 +--- +After learned variational inference and latent dirichlet allocation (LDA), I wrote a paper about [Gaussian relational topic model](https://arxiv.org/abs/1612.03639) to solve the problem of connection discovery using shared images. In order to continue solving more challenging problems and improving myself, I find it necessary to master Markov Chain Monte Carlo methods. Therefore, I put my hands on Gibbs sampling and Metropolis Hastings algorithm. + +# Gibbs Sampling and Collapsed Gibbs Sampling +The basic idea is to sample each variable in turn, conditioned on the values of all the other variables: + +$$ +x_1^{s+1} \sim p(x_1|x_2^{s},x_3^{s}) \\ +x_2^{s+1} \sim p(x_2|x_1^{s+1},x_3^{s}) \\ +x_3^{s+1} \sim p(x_3|x_1^{s+1},x_2^{s+1}) \\ +$$ + +The ideal of collapsed Gibbs sampling is to integrate out all possible model parameters analytically, such that the sampling space is minimum, dramatically decrease sampling time. +An example of collapsed Gibbs sampling for fitting a GMM can be found in Murphy's book, p. 844. +The example code of collapsed Gibbs sampling solving Bayesian Gaussian mixture model can be found in [here](https://github.com/eelxpeng/bayes_gmm). The main logic of the collapsed Gibbs sampling is: + +```Python +# Loop over iterations +for i_iter in range(n_iter): + + # Loop over data items + for i in xrange(self.components.N): + + # Cache some old values for possible future use + k_old = self.components.assignments[i] + K_old = self.components.K + stats_old = self.components.cache_component_stats(k_old) + + # Remove data vector `X[i]` from its current component + self.components.del_item(i) + + # Compute log probability of `X[i]` belonging to each component + # (24.26) in Murphy, p. 843 + log_prob_z = ( + np.ones(self.components.K_max)*np.log( + float(self.alpha)/self.components.K_max + self.components.counts + ) + ) + # (24.23) in Murphy, p. 842 + log_prob_z[:self.components.K] += self.components.log_post_pred(i) + # Empty (unactive) components + log_prob_z[self.components.K:] += self.components.log_prior(i) + prob_z = np.exp(log_prob_z - logsumexp(log_prob_z)) + + # Sample the new component assignment for `X[i]` + k = utils.draw(prob_z) + + # There could be several empty, unactive components at the end + if k > self.components.K: + k = self.components.K + # print prob_z, k, prob_z[k] + + # Add data item X[i] into its component `k` + if k == k_old and self.components.K == K_old: + # Assignment same and no components have been removed + self.components.restore_component_from_stats(k_old, *stats_old) + self.components.assignments[i] = k_old + else: + # Add data item X[i] into its new component `k` + self.components.add_item(i, k) + + # Update record + record_dict["sample_time"].append(time.time() - start_time) + start_time = time.time() + record_dict["log_marg"].append(self.log_marg()) + record_dict["components"].append(self.components.K - 1) + + # Log info + info = "iteration: " + str(i_iter) + for key in sorted(record_dict): + info += ", " + key + ": " + str(record_dict[key][-1]) + info += "." + logger.info(info) +``` + +# Metroplis Hastings and Slice Sampling + +As an experiment of Metroplis Hastings algorithm, I find [this link](http://isaacslavitt.com/2013/12/30/metropolis-hastings-and-slice-sampling/) useful. It also compares Metropolis Hastings with slice sampling, both are worth investigating. Following experiments are based on the post. + +Anyway, first let's describe the model we are going to MCMC with. It's a two level hierachical model: + +$$ +v \sim \mathcal{N}(v|0,3^2)\\ +x_k|v \sim \mathcal{N}(x_k|0,e^v) \ \text{for} \ k=0,1,...,9 +$$ + +The joint distribution is obviously given by + +$$ +p(v,x_1,x_2,...,x_9) = \mathcal{N}(v|0,3^2) \prod_{k=1}^{9} \mathcal{N}(x_k|0,e^v) +$$ + +The class defining the distribution for sampling and probability density evaluation is given: + + +```Python +from __future__ import division + +import numpy as np +import scipy.stats as ss + + +class joint_dist(object): + + def rvs(self, n=1): + """ sample a random variable from this distribution """ + sample = np.zeros((10, n)) + + for i in xrange(n): + # generate rvs + v = ss.norm(0, 3).rvs() + xs = ss.norm(0, np.sqrt(np.e**v)).rvs(9) + # place in sample array + sample[0, i] = v + sample[1:, i] = xs + + return sample + + def pdf(self, sample): + """ get the probability of a specific sample """ + v = sample[0] + pv = ss.norm(0, 3).pdf(v) + xs = sample[1:] + pxs = [ss.norm(0, np.sqrt(np.e**v)).pdf(x_k) for x_k in xs] + return np.array([pv] + pxs) + + def loglike(self, sample): + """ log likelihood of a specific sample """ + return np.sum(np.log(self.pdf(sample))) +``` + +The current state is defined as $w=[v,x_1,x_2,...,x_9]$. And the proposal funciton is defined as symmetric normal distribution with the current state as mean: + +$$q(w'|w)=\mathcal{N}(w,\mathbf{1}_{10})$$ + +The Metropolis-Hasting function is defined: + + +```Python +def metropolis(init, iters): + """ + based on http://www.cs.toronto.edu/~asamir/cifar/rpa-tutorial.pdf + + can take several minutes to run with large sample sizes. + """ + dist = joint_dist() + + # set up empty sample holder + D = len(init) + samples = np.zeros((D, iters)) + + # initialize state and log-likelihood + state = init.copy() + Lp_state = dist.loglike(state) + + accepts = 0 + for i in np.arange(0, iters): + + # propose a new state + prop = np.random.multivariate_normal(state.ravel(), np.eye(10)).reshape(D, 1) + + Lp_prop = dist.loglike(prop) + rand = np.random.rand() + if np.log(rand) < (Lp_prop - Lp_state): + accepts += 1 + state = prop.copy() + Lp_state = Lp_prop + + samples[:, i] = state.copy().ravel() + + if i % 1000 == 0: print('[#iter: %d]' %i) + + print 'Acceptance ratio', accepts/iters + return samples +``` + +Let's start by taking 50,000 samples using Metropolis-Hastings. + + +```Python +# define our starting point +w_0 = np.array([0., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) + +# actually do the sampling +n = 50000 +samples = metropolis(w_0, n) +``` + + Acceptance ratio 0.24342 + + +```Python +import matplotlib.pyplot as plt +%matplotlib inline +from matplotlib import rcParams +rcParams['font.size'] = 12 +rcParams['figure.figsize'] = (10, 6) + +burnin = 10000 +m = n-burnin +v = samples[0, burnin:] +fig = plt.figure() +ax0 = fig.add_subplot(211) +#fig, (ax0, ax1) = plt.subplots(2, 1) + +# show values of sampled v by iteration +ax0.plot(np.arange(m), v) +ax0.set_xlabel('iteration number') +ax0.set_ylabel('value of sampled v') + +ax1 = fig.add_subplot(212) +# plot a histogram of values of v +ax1.hist(v, bins=80) +ax1.set_xlabel('values of sampled v') +ax1.set_ylabel('observations') + +plt.show() +``` + +![MH](/assets/2016-08-08-MH_7_0.png) + + +As it should be noticed that the sampled $v$ is not Gaussian distributed, rather skewed. However, we know that $v$ is in fact zero-mean gaussian distributed. The skewed sampling is not good to estimate the true distribution of $v$. As discussed in the original post, it is because under the directed regime — any small or negative $v$ implies that every $x_kâĽ\mathcal{N}(0,e^v \approx 0)$, thus imposing a huge probability "penalty" on any non-zero $x_k$. Meanwhile, our Metropolis-Hastings is naively proposing a vector of $x_k$s which are probably not all zero, so we tend to reject any small or negative $v$. + +So for slice sampling: + + +```Python +def slice_sample(init, iters, sigma, step_out=True): + """ + based on http://homepages.inf.ed.ac.uk/imurray2/teaching/09mlss/ + sigma is the step size of each coordinate + """ + + dist = joint_dist() + + # set up empty sample holder + D = len(init) + samples = np.zeros((D, iters)) + + # initialize + xx = init.copy() + + for i in xrange(iters): + perm = range(D) + np.random.shuffle(perm) + last_llh = dist.loglike(xx) + + # Sweep through axes (simplest thing) + for d in perm: + # u|x ~ [0,1]*p(x) + llh0 = last_llh + np.log(np.random.rand()) + + # Create a horizontal interval (x_l, x_r) enclosing xx + rr = np.random.rand(1) + x_l = xx.copy() + x_l[d] = x_l[d] - rr * sigma[d] + x_r = xx.copy() + x_r[d] = x_r[d] + (1 - rr) * sigma[d] + + # step out p(x)>u' + if step_out: + llh_l = dist.loglike(x_l) + while llh_l > llh0: + x_l[d] = x_l[d] - sigma[d] + llh_l = dist.loglike(x_l) + llh_r = dist.loglike(x_r) + while llh_r > llh0: + x_r[d] = x_r[d] + sigma[d] + llh_r = dist.loglike(x_r) + + x_cur = xx.copy() + while True: + xd = np.random.rand() * (x_r[d] - x_l[d]) + x_l[d] + x_cur[d] = xd.copy() + last_llh = dist.loglike(x_cur) + if last_llh > llh0: #this is the only way to leave the while loop, satiesfy p(x)>u' + xx[d] = xd.copy() + break + elif xd > xx[d]: + x_r[d] = xd + elif xd < xx[d]: + x_l[d] = xd + else: + raise RuntimeError('Slice sampler shrank too far.') + + if i % 1000 == 0: print 'iteration', i + + samples[:, i] = xx.copy().ravel() + + return samples +``` + + +```Python +# define our starting point +w_0 = np.array([0., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) + +# actually do the sampling +n = 10000 +sigma = np.ones(10) +samples = slice_sample(w_0, iters=n, sigma=sigma) +``` + + + +```Python +burnin = 0 +m = n-burnin +v = samples[0, burnin:] +fig = plt.figure() +ax0 = fig.add_subplot(211) +#fig, (ax0, ax1) = plt.subplots(2, 1) + +# show values of sampled v by iteration +ax0.plot(np.arange(m), v) +ax0.set_xlabel('iteration number') +ax0.set_ylabel('value of sampled v') + +ax1 = fig.add_subplot(212) +# plot a histogram of values of v +ax1.hist(v, bins=80) +ax1.set_xlabel('values of sampled v') +ax1.set_ylabel('observations') + +plt.show() +``` + diff --git a/_posts/2016-08-16-Dirichlet-Process.markdown b/_posts/2016-08-16-Dirichlet-Process.markdown new file mode 100644 index 00000000000..f013b5609cb --- /dev/null +++ b/_posts/2016-08-16-Dirichlet-Process.markdown @@ -0,0 +1,160 @@ +--- +layout: post +title: "Dirichlet Process" +date: 2016-08-16 12:00:00 +0800 +--- +Lately I'm dealing with Bayesian non-parametric in order for the praparation of my next paper. Therefore, I spent several days trying to learn and understand Dirichlet process. Dirichlet process is at first difficult to understand, mainly because it is very different from our previous parametric methods and it uses advanced mathmetical concepts. I struggled several days to finally understand Dirichlet process. Once you understand it, it becomes very easy. + +$G$ is a random probability measure. We say $G$ is Dirichlet process distributed with base distribution $H$ and concentration parameter $\alpha$, written $G \sim DP(\alpha,H)$ if + +$$ +(G(A_1),...,G(A_r)) \sim Dir(\alpha H(A_1),...,\alpha H(A_r)) +$$ + +for every finite measure partition $A_1,...,A_r$ of $\Theta$. + +In every tutorial and lecture, we are told that a sample from Dirichlet process is discrete and has point mass at atoms. In order to understand why this is that, it is important to know the posterior of Dirichlet process. +Let $\theta_1,...,\theta_n$ be a sequence of independent draws from $G$. +Let $n_k = \sharp\\{i: \theta_i \in A_k\\}$ be the number of observed values in $A_k$. From the conjugacy between the Dirichlet and multinomial, we have + +$$ +(G(A_1),...,G(A_r))|\theta_1,...,\theta_n \sim Dir(\alpha H(A_1)+n_1,...,\alpha H(A_r)+n_r) \\ +G|\theta_1,...\theta_n \sim DP(\alpha+n,\frac{\alpha}{\alpha+n}H+\frac{n}{\alpha+n}\frac{\sum_{i=1}^n \delta_{\theta_i}}{n}) +$$ + +Therefore, the posterior predictive given first $n$ observations is given by posterior of $G$, integrating out (i.e. the base distribution of posterior Dirichlet process): + +$$ +\begin{aligned} +P(\theta \in A | G,\theta_1,...,\theta_n) &= E[G(A)|\theta_1,...,\theta_n]\\ +&= \frac{1}{\alpha+n}(\alpha H(A)+\sum_{i=1}^n \delta_{\theta_i}(A)) +\end{aligned} +$$ + +That is to say: + +$$ +\theta_{n+1}|\theta_1,...,\theta_n \sim \frac{1}{\alpha+n}(\alpha H + \sum_{i=1}^n \delta_{\theta_i}) +$$ + +This in fact show that a sample from Dirichlet process has point masses located at the previous draws $\theta_1,...,\theta_n$. With positive probability, draws from G will take on the same value as previous seen observations. While it also has probability to draw from prior distribution $H$, smooth or not. With long enough sequence of draws from G, the value of any draw will be repeated by another draw, implying that $G$ is composed only of a weighted sum of point masses, i.e. it is a discrete distribution. + +$$ +G = \sum_{k=1}^{\infty} \pi_k\delta_{\theta_k^*} +$$ + +The above predictive in fact corresponds to MacQueen urn scheme and the above infinite sum corresponds to Stick-breaking construction. And the famous Chinese Restaurant Process is in fact very similar to MacQueen urn scheme except for different metaphor, both construction has rich-get-richer property. I don't want to repeat the constructions here, but refer to [Yee Whye Teh's tutorial](http://videolectures.net/mlss07_teh_dp/) if necessary. + +However, I do want to state the stick-breaking construction here since it would be useful for susequent Dirichlet Process Mixture Model. The stick-breaking construction separates the construction of $\pi$ and $\theta$. The construction of $\pi$ follows stick-breaking process + +$$ +\beta_k \sim Beta(1,\alpha)\\ +\pi_k = \beta_k \prod_{l=1}^{k-1}(1-\beta_k) +$$ + +also written as $\pi \sim GEM(\alpha)$. And the $\theta_k^*$ is sampled directly from the base distribution: + +$$ +\theta_k^* \sim H \\ +G = \sum_{k=1}^{\infty} \pi_k \delta_{\theta_k^*} +$$ + +# DP Mixture Model +Intended to solve the $k$ selection problem for mixture model, LDA, etc, applying Dirichlet process to the problems serves to automatically select the number of mixture components or dimension of variables. Here, I'll first investigate the application to DP Mixture model. + +We model a set of observations $\\{x_1,...,x_n\\}$ using a set of latent parameters $\\{\theta_1,...,\theta_n\\}$. Each $\theta$ is drawn independently and identically from $G$, while each $x_i$ has distribution $F(\theta_i)$ parameterized by $\theta_i$: + +$$ +x_i|\theta_i \sim F(\theta_i)\\ +\theta_i|G \sim G\\ +G|\alpha,H \sim DP(\alpha,H) +$$ + +And since $G$ is discrete, multiple $\theta_i$'s can take on the same value simutaneously, therefore it can be viewed that $x_i$ with the same value of $\theta_i$ belong to the same cluster. The mixture perspective can be made more in agreement with the usual representation of mixture models using the stick-breaking construction equaivalently: + +$$ +\pi|\alpha \sim GEM(\alpha)\\ +z_i|\pi \sim Multi(\pi)\\ +\theta_k^*|H \sim H\\ +x_i|z_i,\{\theta_k^*\} \sim F(\theta_{z_i}^*) +$$ + +The model is shown as follows. + +![DP Mixture Model](/assets/2016-08-16-DPMM.png){: height="300px"} + +Solving the model using collapsed Gibbs sampling turns out to be very easy, as described in Murphy's book p.886 (Algorithm 25.1). Before going through the algorithms, one should convince himself that the posterior predictive and prior predictive is easy for Gaussian distribution with conjugate prior as also talked in Murphy's book in Chpater 4 and it should be Student-t distribution with the updated parameters (if I didn't remember wrong). The key point is to compute this one + +$$ +p(z_i=k|z_{-i},x,\alpha,\lambda) \propto p(z_i=k|z_{-i},\alpha)p(x_i|x_{-i},z_i=k,z_{-i},\lambda) +$$ + +```Matlab +function dpm = dpm_gibbs(dpm,numiter); +% run numiter number of iterations of gibbs sampling in the DP mixture + +KK = dpm.KK; % number of active clusters +NN = dpm.NN; % number of data items +aa = dpm.aa; % alpha parameter +qq = dpm.qq; % row cell vector of mixture components +xx = dpm.xx; % row cell vector of data items +zz = dpm.zz; % row vector of cluster indicator variables +nn = dpm.nn; % row vector of number of data items per cluster + +for iter = 1:numiter + % in each iteration, remove each data item from model, then add it back in + % according to the conditional probabilities. + + for ii = 1:NN % iterate over data items ii + + % remove data item xx{ii} from component qq{kk} + kk = zz(ii); % kk is current component that data item ii belongs to + nn(kk) = nn(kk) - 1; % subtract from number of data items in component kk + qq{kk} = delitem(qq{kk},xx{ii}); % subtract data item sufficient statistics + + % delete active component if it has become empty + if nn(kk) == 0, + %fprintf(1,'del component %3d. K=%3d\n',find(nn==0),KK-sum(nn==0)); + KK = KK - 1; + qq(kk) = []; + nn(kk) = []; + idx = find(zz>kk); + zz(idx) = zz(idx) - 1; + end + + % compute conditional probabilities pp(kk) of data item ii + % belonging to each component kk + % compute probabilities in log domain, then exponential + pp = log([nn aa]); + for kk = 1:KK+1 + pp(kk) = pp(kk) + logpredictive(qq{kk},xx{ii}); + end + pp = exp(pp - max(pp)); % -max(p) for numerical stability + pp = pp / sum(pp); + + % choose component kk by sampling from conditional probabitilies + uu = rand; + kk = 1+sum(uu>cumsum(pp)); + + % instantiates a new active component if needed + if kk == KK+1 + %fprintf(1,'add component %3d. K=%3d\n',kk,KK+1); + KK = KK + 1; + nn(kk) = 0; + qq(kk+1) = qq(kk); + end + + % add data item xx{ii} back into model (component qq{kk}) + zz(1,ii) = kk; + nn(1,kk) = nn(1,kk) + 1; % increment number of data items in component kk + qq{1,kk} = additem(qq{1,kk},xx{ii}); % add sufficient stats of data item + + end +end + +% save variables into dpm struct +dpm.qq = qq; +dpm.zz = zz; +dpm.nn = nn; +dpm.KK = KK; +``` \ No newline at end of file diff --git a/_posts/2016-09-06-Stochastic-Gradient-Monte-Carlo.markdown b/_posts/2016-09-06-Stochastic-Gradient-Monte-Carlo.markdown new file mode 100644 index 00000000000..a34b4c11888 --- /dev/null +++ b/_posts/2016-09-06-Stochastic-Gradient-Monte-Carlo.markdown @@ -0,0 +1,560 @@ +--- +layout: post +title: "Stochastic Gradient Monte Carlo" +date: 2016-09-06 12:00:00 +0800 +--- + +Lately, I'm trying to investigate Bayesian Deep Learning and seriously considering it to be my PhD topic. Combining Bayesian with Deep Learning is current hot topic and with the current development of stochastic gradient monte carlo, I think it's time for Bayesian Deep Learning to fly. And I could probably benefit from it a lot. + +# Hamiltonian Monte Carlo +A perfect tutorial for introduction of Hamiltonian Monte Carlo is [MCMC: Hamiltonian Monte Carlo (a.k.a. Hybrid Monte Carlo)](https://theclevermachine.wordpress.com/2012/11/18/mcmc-hamiltonian-monte-carlo-a-k-a-hybrid-monte-carlo/). + +# Stochastic Gradient Monte Carlo + +Here, I'm going to run some examples using Hamiltonian Monte Carlo, Stochastic Gradient Langevin Dynamics and Stochastic Gradient Hamiltonian Monte Carlo. + +Suppose we are dealing with target distribution of + +$$U(\theta)=-2\theta^2 + \theta^4.$$ + +Think of it as the un-normalized log probability of + +$$U(\theta) = - \sum_{x \in \mathcal{D}} \log p(x|\theta) - \log p(\theta)$$ + +Then the un-normalized posterior of $\theta$ is given by: + +$$p(\theta | \mathcal{D}) \propto \exp(-U(\theta)).$$ + +And the true gradient is + +$$\nabla U(\theta) = -4\theta + 4\theta^3.$$ + +However, if stochastic gradient noise, the gradient we get by calculating stochastic gradient would have an additional noise term. Let's define the noisy gradient as + +$$\nabla \tilde{U}(\theta) = -4\theta^2 + 4\theta^3 + \mathcal{N}(0,4).$$ + +Let's see how we can approximate this target distribution with noisy gradient using monte carlo methods. + + +```Python +%matplotlib inline + +import numpy as np +import matplotlib.pyplot as plt + +nsample = 80000; +xStep = 0.1; +m = 1; +C = 3; +dt = 0.1; +nstep = 50; +V = 4; + +#set random seed +np.random.seed(10); + +def U(x): + return -2 * x**2+x**4 +def gradU(x): + return -4*x+4*x**3+np.random.randn()*2 +def gradUPerfect(x): + return -4*x+4*x**3 +#draw probability diagram +xGrid = np.array(np.arange(-2,2,xStep)); +y = np.exp( - U(xGrid) ); # take exponential to convert from log to un-normalized probability +y = y / sum(y) / xStep; # normalize, then divided by xStep to calculate the density +``` + + +```Python +# "Gold Standard" Hamiltonian Monte Carlo +def hmc( U, gradU, m, dt, nstep, x, mhtest ): + # HMC using gradU, for nstep, starting at position x + p = np.random.randn() * np.sqrt( m ); + oldX = x; + oldEnergy = p * m * p / 2 + U(x); + # do leapfrog + for i in range(nstep): + p = p - gradU( x ) * dt / 2; + x = x + p/m * dt; + p = p - gradU( x ) * dt / 2; + + p = -p; + + # M-H test + if mhtest != 0: + newEnergy = p * m * p / 2 + U(x); + if np.exp(oldEnergy- newEnergy) < np.random.rand(): + # reject + x = oldX; + return x + +# HMC without noise with M-H +samples = np.zeros(nsample); +x = 0; +for i in range(nsample): + x = hmc( U, gradUPerfect, m, dt, nstep, x, 1); # no stochastic gradient noise + samples[i] = x; + +[yhmc,xhmc] = np.histogram(samples, xGrid); +yhmc = 1.0 * yhmc / np.sum(yhmc) / xStep; +``` + + +```Python +# Stochastic Gradient Langevin Dynamics +def sgld( U, gradU, m, dt, nstep, x, C, V ): + # vanilla SGLD using gradU, for L steps, starting at position x + sigma = np.sqrt( 2 * dt); + for t in range(nstep): + dx = - gradU( x ) * dt + np.random.randn() * sigma; + x = x + dx; +# SGHMC with noise, no M-H +samples = np.zeros(nsample); +x = 0; +for i in range(nsample): + x = sghmc( U, gradU, m, dt, nstep, x, C, V ); + samples[i] = x; + +ysgld,xsgld = np.histogram(samples, xGrid); +ysgld = 1.0 * ysgld / sum(ysgld) / xStep; +``` + + +```Python +# Stochastic Gradient Hamiltonian Monte Carlo +def sghmc( U, gradU, m, dt, nstep, x, C, V ): + # SGHMC using gradU, for nstep, starting at position x + p = np.random.randn() * np.sqrt( m ); + B = 0.5 * V * dt; + D = np.sqrt( 2 * (C-B) * dt ); + + for i in range(nstep): + p = p - gradU( x ) * dt - p * C * dt + np.random.randn()*D; + x = x + p/m * dt; + return x + +# SGHMC with noise, no M-H +samples = np.zeros(nsample); +x = 0; +for i in range(nsample): + x = sghmc( U, gradU, m, dt, nstep, x, C, V ); + samples[i] = x; + +ysghmc,xsghmc = np.histogram(samples, xGrid); +ysghmc = 1.0 * ysghmc / sum(ysghmc) / xStep; +``` + + +```Python +# plot the approximated distribution +plt.plot(xGrid,y,'-',xhmc[1:],yhmc,'g-v',xsgld[1:], ysgld, 'm-x', xsghmc[1:],ysghmc,'r') +plt.legend( ('True Distribution', 'Standard HMC', 'SGLD', 'SGHMC'), loc='center left', bbox_to_anchor=(1, 0.5)) +``` + + + + + + + + + +![png](/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_6_1.png) + + +That's great. We now know that under stochastic gradient noise, we can still approximate the true posterior distribution using monte carlo methods, i.e. SGLD and SGHMC. + +## Logistic Regression using Stochastic Gradient Monte Carlo + +Now let's do the simplest case, logistic regression. Hope we can see how stochastic gradient monte carlo actually can be applied to real machine learning problem. + +First, let's construct a toy dataset. We draw our $X$ data from a 2-D normal distribution, $\mathcal{N}(\mu,\Sigma)$. + + +```Python +import numpy as np +import matplotlib.pyplot as plt +import matplotlib + +# Setting for data simulation +N = 1000; # data size +D = 3; # parameter size +#betaTrue = np.random.randint(-1, 2, size=(D,1)); +betaTrue = np.array([2,3,1]).T + +# Add correlation to design matrix X +muDesg = np.zeros(D-1); +corrX = 0.2; +SigmaDesg = np.zeros((D-1,D-1)); +for i in range(D-1): + for j in range(i,D-1): + SigmaDesg[i,j] = corrX ** (j-i); + SigmaDesg[j,i] = SigmaDesg[i,j]; + +X = np.hstack((np.ones((N,1)),np.random.multivariate_normal(muDesg,SigmaDesg,N))); +probTrue = np.exp(np.dot(X, betaTrue))/(1+np.exp(np.dot(X, betaTrue))); +y = np.zeros(N); +for j in range(N): + y[j] = np.random.binomial(1,probTrue[j]); + +NTest = 1000 +XTest = np.hstack((np.ones((NTest,1)),np.random.multivariate_normal(muDesg,SigmaDesg,NTest))); +probTrueTest = np.exp(np.dot(XTest, betaTrue))/(1+np.exp(np.dot(XTest, betaTrue))); +yTest = np.zeros(NTest); +for j in range(NTest): + yTest[j] = np.random.binomial(1,probTrueTest[j]); + +cmap, norm = matplotlib.colors.from_levels_and_colors([0, 1, 2], ['red', 'green']) +plt.scatter(X[:,1], X[:,2], c=y, cmap=cmap) +``` + + + + + + + + + +![png](/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_10_1.png) + + +Next, let's see how each of the methods above can perform logistic regression on this dataset. Here we use prior of normal distribution for $\beta$: + +$$\beta \sim \mathcal{N}(0,\sigma I)$$ + +For logistic regression, we have following distribution: + +$$p(y_k=1|x_k,w) = \frac{e^{w^T x_k}}{1+e^{w^T x_k}}$$ + +$$\mathcal{L}(w) = \sum_k y_k \log p(y_k=1|x_k,w) + (1-y_k) \log(1-p(y_k=1|x_k,w))$$ + +$$\nabla \mathcal{L}(w) = \sum_k (y_k - p(y_k=1|x_k,w)) x_k$$ + +Let's use SGD as baseline. + +### Logistic Regression with SGD + + +```Python +# SGD +def prob(w,X): + return 1.0/(1+np.exp(-X.dot(w))) + +def cost(w,X,y,r): + return -np.sum(y*np.log(prob(w,X))+(1-y)*np.log(1-prob(w,X))) + r * np.dot(w.T,w) /2 + +def grad(w,X,y,r): + return -np.dot(X.T,y-prob(w,X)) + r * w + +w = np.random.rand(3) +r = 0.1 +i = 0 +lr = 1e-3 +while np.linalg.norm(grad(w,X,y,r)) > 1e-6: + if i % 1000 == 0: + print('[Iter %d]: cost=%f' % (i,cost(w,X,y,r))) + w = w - lr*grad(w,X,y,r) + i += 1 +print "weight: ", w[0],w[1],w[2] +``` + + [Iter 0]: cost=605.040794 + [Iter 1000]: cost=278.583159 + weight: 2.02798388293 3.42836274096 0.931072930232 + + + +```Python +# Prediction results for SGD +accSGLD = np.mean((prob(w, XTest) > 0.5) == yTest); +print('The test accuracy is %f' % accSGLD) +``` + + The test accuracy is 0.855000 + + +### Logistic Regression with SGLD + + +```Python +# Stochastic Gradient Langevin Dynamics +import scipy.special + +def logistic_function(x): + return .5 * (1 + np.tanh(.5 * x)) + +def LR_SGLD(X,y): + maxIter = 10000; + + # plot index + plotInd = 1; + + N, D = X.shape; # data size + + tau = int(np.floor(np.sqrt(N))); # size of minibatch + + # step size + # a = 1; + # b = 1; + # gamma = 0.7; + + # prior + muStar = np.zeros(D); + sigma = 0.1; + SigmaStar = np.eye(D)*sigma; + invSigmaStar = np.linalg.inv(SigmaStar); + + # Initialize + beta0 = np.random.rand(D); + betaVec = np.zeros((maxIter,D)); + betaVec[0,:] = beta0; + + eta = np.zeros(maxIter); + z = np.zeros((maxIter,D)); + + eta0 = 0.01; + + # sgld iteration + for t in range(maxIter-1): + # random sample a minibatch + S = np.random.choice(N,tau, replace=False); + + # sample coordinates of z + # eta(t) = a*(b+t)^(-gamma); + eta[t] = max(1/(t+1),eta0); + zVar = eta[t] * 2; + z[t,:] = np.random.randn(D) * np.sqrt(zVar); + + gradR = np.dot(invSigmaStar,(betaVec[t,:]-muStar)); + #print gradR + gradL = -np.dot(X[S,:].T,(y[S]-scipy.special.expit(np.dot(X[S,:],betaVec[t,:])))); + #print gradL + + betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL)+z[t,:]; + #print betaVec[t+1,:] + + if plotInd == 1: + fig = plt.figure(); + ax1 = fig.add_subplot(311) + ax1.plot(range(maxIter),betaVec[:,1]); + ax2 = fig.add_subplot(312) + ax2.plot(range(maxIter),betaVec[:,2]); + ax3 = fig.add_subplot(313) + ax3.plot(range(maxIter),betaVec[:,2]); + + burnIn = int(0.5*maxIter); + samples = betaVec[burnIn+1:,:]; + return samples + +samples = LR_SGLD(X,y) +``` + + +![png](/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_16_0.png) + + + +```Python +np.mean(samples,0) +``` + + + + + array([ 1.51066479, 2.60689302, 0.77643745]) + + + + +```Python +plt.subplot(311) +plt.hist(samples[:,0],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +plt.subplot(312) +plt.hist(samples[:,1],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +plt.subplot(313) +plt.hist(samples[:,2],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +``` + + + + + + + + + +![png](/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_18_1.png) + + + +```Python +# Prediction results for SGLD +betaSamples = samples; +probPred = np.mean(scipy.special.expit(np.dot(XTest,betaSamples.T)),1); +#loglikSGLD(l) = sum(yTest.*log(probPred)+(1-yTest).*log(1-probPred)); +accSGLD = np.mean((probPred > 0.5) == yTest); +print('Test accuracy is %f' %accSGLD) +``` + + Test accuracy is 0.853000 + + +As it can be seen, using SGLD with minibatch of only about 30, we can approximate the true posterior. Furthermore, as interested by many recent papers, from the posterior distribution of the parameters, we can obtain the uncertainty of the model about the prediction. + +### Logistic Regression with SGHMC + + +```Python +# Stochastic Gradient Hamiltonian Monte Carlo +import scipy.special + +def logistic_function(x): + return .5 * (1 + np.tanh(.5 * x)) + +def LR_SGHMC(X,y): + maxIter = 10000; + + # plot index + plotInd = 1; + + N, D = X.shape; # data size + + tau = int(np.floor(np.sqrt(N))); # size of minibatch + + # step size + # a = 1; + # b = 1; + # gamma = 0.7; + + # prior + muStar = np.zeros(D); + sigma = 0.1; + SigmaStar = np.eye(D)*sigma; + invSigmaStar = np.linalg.inv(SigmaStar); + + # Initialize + beta0 = np.random.rand(D); + betaVec = np.zeros((maxIter,D)); + betaVec[0,:] = beta0; + + eta = np.zeros(maxIter); + z = np.zeros((maxIter,D)); + + eta0 = 0.01; + + # sghmc iteration + for t in range(maxIter-1): + # random sample a minibatch + S = np.random.choice(N,tau, replace=False); + + # parameters of sghmc + C = np.eye(D) + Bh = 0 + + # eta(t) = a*(b+t)^(-gamma); + eta[t] = max(1/(t+1),eta0); + zCov = eta[t] * 2 * (C - Bh); + z[t,:] = np.random.multivariate_normal(np.zeros(D),zCov); + + gradR = np.dot(invSigmaStar,(betaVec[t,:]-muStar)); + gradL = -np.dot(X[S,:].T,(y[S]-scipy.special.expit(np.dot(X[S,:],betaVec[t,:])))); + + #betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL) - eta[t]*np.dot(C,betaVec[t,:]) + z[t,:]; + #using momentum equaivalent update + # Wrong! update it + betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL) - eta[t]*np.dot(C,betaVec[t,:]) + z[t,:]; + + if plotInd == 1: + fig = plt.figure(); + ax1 = fig.add_subplot(311) + ax1.plot(range(maxIter),betaVec[:,1]); + ax2 = fig.add_subplot(312) + ax2.plot(range(maxIter),betaVec[:,2]); + ax3 = fig.add_subplot(313) + ax3.plot(range(maxIter),betaVec[:,2]); + + burnIn = int(0.5*maxIter); + samples = betaVec[burnIn+1:,:]; + return samples + +samples_SGHMC = LR_SGHMC(X,y) +``` + + +![png](/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_22_0.png) + + + +```Python +np.mean(samples_SGHMC,0) +``` + + + + + array([ 1.46368518, 2.5681857 , 0.74677892]) + + + + +```Python +plt.subplot(311) +plt.hist(samples_SGHMC[:,0],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +plt.subplot(312) +plt.hist(samples_SGHMC[:,1],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +plt.subplot(313) +plt.hist(samples_SGHMC[:,2],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +``` + + + + + + + + + +![png](/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_24_1.png) + + + +```Python +# Prediction results for SGHMC +betaSamples = samples_SGHMC; +probPred = np.mean(scipy.special.expit(np.dot(XTest,betaSamples.T)),1); +#loglikSGLD(l) = sum(yTest.*log(probPred)+(1-yTest).*log(1-probPred)); +accSGLD = np.mean((probPred > 0.5) == yTest); +print('Test accuracy is %f' %accSGLD) +``` + + Test accuracy is 0.851000 + + +## Conclusion + +I think this concludes my trial towards Stochastic Gradient Monte Carlo methods. It has been shown that both stochstic gradient monte carlo methods, i.e. Stochastic Gradient Langevin Dynamics and Stochastic Gradient Hamiltonian Monte Carlo, are effective using minibatch of data, showing the scalability towards big data. Some works even show the online algorithm, such as online LDA using stochastic gradient monte carlo. I think it is a big step in Bayesian history. + +## Reference +[1] Welling, Max, and Yee W. Teh. "Bayesian learning via stochastic gradient Langevin dynamics." Proceedings of the 28th International Conference on Machine Learning (ICML-11). 2011. + +[2] Chen, Tianqi, Emily B. Fox, and Carlos Guestrin. "Stochastic Gradient Hamiltonian Monte Carlo." ICML. 2014. diff --git a/_posts/2016-11-19-Variational-Autoencoder.markdown b/_posts/2016-11-19-Variational-Autoencoder.markdown new file mode 100644 index 00000000000..eb25a4496b1 --- /dev/null +++ b/_posts/2016-11-19-Variational-Autoencoder.markdown @@ -0,0 +1,7 @@ +--- +layout: post +title: "Variational Autoencoder" +date: 2016-11-19 12:00:00 +0800 +--- + +Variational Autoencoder (VAE) has been proposed for two years. During the past two years, some good papers related variational autoencoder come up time to time. And I think it is a good tool worth investigating. Recently, I decide to do something about collaborative recommendation with cross-modality multimedia content using Bayesian deep learning. I think VAE could be a good help. In this post, I'll investigate and explain VAE in my way. \ No newline at end of file diff --git a/_posts/2017-03-10-Tricks-of-Sigmoid-Function.markdown b/_posts/2017-03-10-Tricks-of-Sigmoid-Function.markdown new file mode 100644 index 00000000000..65675bfad61 --- /dev/null +++ b/_posts/2017-03-10-Tricks-of-Sigmoid-Function.markdown @@ -0,0 +1,34 @@ +--- +layout: post +title: "Tricks of Sigmoid Function" +date: 2017-03-10 12:00:00 +0800 +--- + +During my research of Bayesian Deep Models (integration of Bayesian graphical models with deep learning models), I found several handy tricks when dealing with sigmoid functions. Here, I summarize several for future use and also for other researchers who might find it useful. + +### Variational Lower Bound on Sigmoid $\sigma(x)$ + + +### Expectation of Sigmoid function with Normal distribution +Consider the following logistic-normal integral: + +$$g=\int_{-\infty}^{\infty} \sigma(x)\mathcal{N}(x|\mu, \sigma^2) dx = \int_{-\infty}^{\infty} \frac{1}{1+e^{-x}} \frac{1}{\sigma \sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} dx.$$ + +The logistic-normal integral does not have analytic expression. However, for mathmatical simplicity, we can approximate the expectation. In the end, we will demonstrate that the integral is approximately a reparameterized logistic function. + +First, we can approximate the sigmoid function with a probit function. + +$$\sigma(x)\approx \Phi(\xi x), \text{where } \Phi(x)=\int_{-\infty}^x \mathcal{N}(\theta|0,1)d\theta, \text{and } \xi^2=\frac{\pi}{8}$$ + +A little fact is that the probit-normal integral is just another probit function: + +$$\int \Phi(x) \mathcal{N}(x|\mu,\sigma^2) dx = \Phi(\frac{\mu}{\sqrt{1+\sigma^2}})$$ + +Therefore, + +$$g\approx \int_{-\infty}^{\infty} \Phi(\xi x)\mathcal{N}(\mu, \sigma^2) dx = \Phi(\frac{\xi \mu}{\sqrt{1+\xi^2\sigma^2}})\approx \sigma(\frac{\mu}{\sqrt{1+\xi^2\sigma^2}}) = \sigma(\frac{\mu}{\sqrt{1+\pi\sigma^2/8}})$$ + +It actually means, given a normally distributed random variable $x$, the sigmoid of $x$ is approximately the sigmoid of $\mathbb{E}[x]$ with some adjustment by the variance. + +### Some others +$$\tanh(x)=2\sigma(2x)-1$$ \ No newline at end of file diff --git a/_posts/2017-12-15-EM-In-Depth.markdown b/_posts/2017-12-15-EM-In-Depth.markdown new file mode 100644 index 00000000000..a8c90a38f86 --- /dev/null +++ b/_posts/2017-12-15-EM-In-Depth.markdown @@ -0,0 +1,89 @@ +--- +layout: post +title: "EM Algorithm In-depth" +date: 2017-12-15 12:00:00 +0800 +--- + +I find it necessary to understand EM more. As an optimization method for MLE/MAP, it is also related to variational bayes EM (VBEM), Gibbs sampling as well as Wake-sleep algorithm. + +### EM Introduction +EM algorithm is extremely useful to deal with models with latent variables. It can be used for MLE and MAP estimates. The center idea of EM is that since we have latent variables, which we do not know their value, we can first complete the data by estimating the latent variables with probability, and then maximize the complete data loglikelihood over the parameters. + +Let $x_i$ be the observed variables in case $i$, and let $z_i$ be the hidden variables. The goal is to maximize the loglikelihood of the observed data: + +$$\mathcal{l}(\theta) = \sum_{i=1}^N \log p(x_i|\theta) = \sum_{i=1}^N \log [\sum_{z_i}p(x_i, z_i|\theta)].$$ + +This is hard to optimize since the log cannot be pushed inside. EM gets around this problem. If we complete the data by estimating the value of $z_i$, then we can get the complete data loglikelihood easily: + +$$\mathcal{l}_c(\theta) =\sum_{i=1}^N \log p(x_i, z_i|\theta).$$ + +We can estimate the value of $z_i$ using old parameters $\theta^{t}$. But since our estimate of $z$ is not certain, but rather with probability, what we actually get is the so-called expected complete data loglikelihood: + +$$Q(\theta, \theta^{t}) =\sum_{i=1}^N p(z_i|x_i,\theta^{t})\log p(x_i, z_i|\theta) = \mathbb{E}_{z|x,\theta^{t}}[\log p(x_i, z_i|\theta)].$$ + +This is exactly E-step. The goal of E-step is to compute $Q(\theta,\theta^{t})$, or rather, the terms inside of it which the MLE depends on (sufficient statistics). In the M-step, we optimize the Q function wrt $\theta$: + +$$\theta^{t+1} = \underset{\theta}{\arg\max}Q(\theta, \theta^t).$$ + +That is EM algorithm. To give an concrete example, let me show the derivation of GMM. The expected completed data loglikelihood is given by + +$$Q(\theta, \theta^{t}) =\sum_{i} \mathbb{E}_{z|x,\theta^t}[\log p(x_i, z_i|\theta)] = \sum_i \mathbb{E}[\log [\prod_{k=1}^K (\pi_k p(x_i|\theta_k))^\mathbb{I}(z_i=k)]]\\ +=\sum_i \sum_k \mathbb{E}[\mathbb{I}(z_i=k)]\log[\pi_k p(x_i|\theta_k)]\\ +=\sum_i \sum_k p(z_i=k|x_i,\theta_t)\log[\pi_k p(x_i|\theta_k)]\\ +=\sum_i \sum_k r_{ik}\log[\pi_k p(x_i|\theta_k)],$$ + +where $r_{ik} = p(z_i=k\|x_i, \theta_t)$ is the responsibility that cluster k takes for data point i. This is computed in E-step. E-step: + +$$r_{ik}=\frac{\pi_k p(x_i|\theta_k^t)}{\sum_{k'}\pi_{k'}p(x_i|\theta_{k'}^t)}.$$ + +M-step, we optimize Q wrt $\pi$ and $\theta$. For $\pi$, we should remember the constraint that $\sum_k \pi_k = 1$. Taking the Langagian and set the derivatives wrt $\theta$ to zero, we can get $\lambda=\sum_i\sum_k r_{ik}=N$ and $\pi_k = \frac{1}{N}\sum_{i}r_{ik}$. Same for $\theta$: + +$$\mu_k = \frac{\sum_i r_{ik}x_i}{r_k}\\ +\Sigma_k = \frac{\sum_i r_{ik}(x_i - \mu_k)(x_i - \mu_k)^T}{r_k}.$$ + +### Generalized EM: tight lower bound of data loglikelihood +As stated in Chapter 11 of Murphy's book, EM actually achieves the tight lower bound of data loglikelihood. The lower bound (or free energy) is + +$$\mathcal{L}(\theta, q_i) = \sum_{z_i} q_i(z_i)\log \frac{p(x_i,z_i|\theta)}{q_i(z_i)}\\ += \log p(x_i|\theta) - \mathbb{KL}(q_i(z_i)||p(z_i|x_i,\theta)).$$ + +$\mathcal{L}$ is the lower bound of the data loglikelihood $\log p(x_i\|\theta)$, and the gap is $\mathbb{KL}(q_i(z_i)\|\|p(z_i\|x_i,\theta))$. We can maximize the lower bound by setting $q_i(z_i) = p(z_i\|x_i,\theta))$. Of course, $\theta$ is unknown, so instead we use $q_i^t(z_i) = p(z_i\|x_i,\theta^t)$, where $\theta^t$ is our estimate of the parameters at iteration t. With that, we plug back into the lower bound and get + +$$Q(\theta, \theta^t) = \sum_i \mathbb{E}_{z_i|x_i,\theta^t}[\log p(x_i, z_i\theta)] + \mathbb{H}(p(z_i|x_i,\theta^t)). +$$ + +From above, we noticed that the first term is exactly the expected complete data loglikelihood in the EM algorithm. And since the second term is a constant wrt $\theta$, the M-step becomes + +$$\theta^{t+1} = \underset{\theta}{\arg\max}Q(\theta, \theta^t)=\underset{\theta}{\arg\max}\sum_i \mathbb{E}_{z_i|x_i,\theta^t}[\log p(x_i, z_i|\theta)],$$ + +as before. Therefore, the E-step is to optimize over the $q$ function so as to achieve the tight lower bound of the data loglikelihood of given current model (model parameters) and the M-step is optimizing the tight lower bound over the parameters. + +### VBEM: EM using variational approximation +Without any constraint on the form of $q_i(z_i)$, of course, the tight lower bound is achievable by simply setting $q_i^t(z_i) = p(z_i\|x_i,\theta^t)$. However, when the posterior has no closed form, is intractable and not easy to compute, the tight lower bound cannot be achieved. Variational Bayes makes mean-field assumption on the posterior in order to approximate the true posterior. That is, the constraint on $q_i(z_i)$ is factorial form: $q(z,\theta) = q(\theta)\prod_i q(z_i)$. Here, the full Bayesian inference is made, i.e. treating $\theta$ as a distribution like other variables instead of MAP estimate. The whole process then is exactly as EM, except integrating $\theta$ out in E-step and updating $q(\theta)$ in M-step. That's why it is called VBEM: + +$$\text{Variational E-step:} \quad \log q(z) = \mathbb{E}_{q(\theta)}[\log p(x, z, \theta)] + \text{const} \\ +\text{Variational M-step:} \quad \log q(\theta) = \mathbb{E}_{q(z)}[\log p(x, z, \theta)] + \text{const},$$ + +where $\log q_j(x_j) = \mathbb{E}_{-q_j}[\log \tilde{p}(x)] + const$ is the form we usually deal with in variational inference and it is obtained by maximizing lower bound. + + +### Gibbs Sampling: EM using Monte Carlo sampling +The steps of Gibbs sampling has surprising resemblance with EM. Gibbs sampling can be seen as the two sampling steps involving latent variable $z$ and parameter $\theta$: + +$$z^{t+1} \sim p(z|x, \theta^t) \\ +\theta^{t+1} \sim p(\theta|x, z^{t+1}).$$ + +The first step resembles E-step, and the second step resembles M-step. In EM, the E-step computes the exact posterior distribution $p(z\|x, \theta^t)$ for $z$, while the M-step computes the MAP estimate of $\theta$. In Gibbs sampling, the first step instead samples from $p(z\|x, \theta^t)$, while the second step instead samples from the distribution of $\theta$. + +### Wake-sleep: EM for probabilistic deep model +Wake-sleep is an algorithm proposed by Hinton for training DBN and DBM (unsupervisedly). The network has recognition weights, which convert the input into representations in successive hidden layers, and generative weights, which reconstruct the representation. In the "wake" phase, neurons are driven by recognition connections, and generative weights are adapted to increase the probability that the would reconstruct the correct activity vector in the layer below. In the "sleep" phase, neurons are driven by generative connections, and recognition weights are adapted to increase the probability that they would produce the correct activity vector in the layer above. Wake-sleep algorithm is also optimizing the free energy: + +$$\log P(d;G) \geq \log P(d;G) - \mathbb{KL}(Q(h|d;R), P(h|d;G))\\ +F(d;R,G) = -\log P(d;G) + \mathbb{KL}(Q(h|d;R), P(h|d;G)). +$$ + +This exactly resembles the free energy of EM algorithm, and the "wake" phase corresponds to M-step, "sleep" phase corresponds to E-step. The distribution $Q(h\|d)$ produced by the recognition weights is a factorial distribution in each hidden layer because the recognition weights produce stochastic states of units within a hidden layer that are conditional independent, given the states in the layer below. It is natural to use factorial distribution in neural net because it allows the probability distribution over the $2^n$ alternative hidden representations to be specified with $n$ numbers instead of $2^n-1$. During "wake" phase, minimizing the free energy wrt the generative weights will tend to favor the model whole posterior distribution is most similar to $Q(h\|d)$. Thus, the effect of factorial distribution in $Q(h\|d)$ is not severe. + +Although generally considered as approximating the normalization constant, the contrastive divergence (CD) algorithm for training RBM is also similar to wake-sleep algorithm if considering only generating one sample. + +In conclusion, many good ideas in machine learning are remarkablely similar. One has to find the underlying connections in order to develop deep understanding of the algorithms. I read some of the points from online or books, and I am not at all fully understand all of them. But the subtle connections are really interesting. And I think that, although many people are interested in deep neural networks without probabilistic, there are indeed many ideas that are more straightforward and more promising under probabilistic framework, especially unsupervised deep learning. diff --git a/_posts/2018-03-14-Exponential-Family.markdown b/_posts/2018-03-14-Exponential-Family.markdown new file mode 100644 index 00000000000..e22c3d55835 --- /dev/null +++ b/_posts/2018-03-14-Exponential-Family.markdown @@ -0,0 +1,115 @@ +--- +layout: post +title: "Exponential Family" +date: 2018-03-14 12:00:00 +0800 +--- + +The exponential family distributions are very important in graphical models and Bayesian learning. They have nice properties, like conjugacy and finite sufficient statistics, which enable the convenience and efficiency of the inference and learning process. Yet, I only almost know the details of exponential family distribution. The minor gap between "almost know" and "know" prevents me from understanding it completely. Here I try to close the gap. + +## Basics + +The canonical/natural form of exponential family distribution is of the form + +$$p(x|\theta) = \frac{1}{Z(\theta)}h(x)\exp[\theta^T \phi(x)] = h(x)\exp[\theta^T \phi(x) - A(\theta)]$$ + +where $\theta$ is the natural parameter, $\phi(x)$ is sufficient statistics, $Z(\theta)$ is the partition function, $A(\theta)$ is the log partition function. Let's write the univariate Gaussian distribution in exponential family form + +$$\mathcal{N}(x|\mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}}\exp[-\frac{1}{2\sigma^2}(x-\mu)^2] = \frac{1}{\sqrt{2\pi \sigma^2}}\exp[-\frac{1}{2\sigma^2}\mu^2]\exp[-\frac{1}{2\sigma^2}x^2 + \frac{\mu}{\sigma^2}x]$$ + +Therefore, it is easy to tell that + +$$\theta = \begin{pmatrix} \frac{\mu}{\sigma^2} \\ -\frac{1}{2\sigma^2}\end{pmatrix} \\ +\phi(x) = \begin{pmatrix}x \\ x^2\end{pmatrix}\\ +Z(\theta) = \sqrt{2\pi \sigma^2}\exp[-\frac{1}{2\sigma^2}\mu^2]$$ + +There is one beautiful property of the log partition function $\nabla_{\theta}A(\theta) = \mathbb{E}_{p(x)}[\phi(x)]$. + +## MLE Estimation + +Given dataset $\mathcal{D}=\{x_1, x_2,\cdots,x_N\}$, the data likelihood of an exponential family model has the form + +$$p(\mathcal{D}|\theta) = [\prod_{i=1}^N h(x_i)] \frac{1}{Z(\theta)^N} \exp[\theta^T (\sum_{i=1}^N \phi(x_i))] $$ + +We see that the sufficient statistics are $N$ and $\sum_{i=1}^N \phi(x_i)$. The loglikelihood of the data $\log p(\mathcal{D}\|\theta) = \theta^T \phi(\mathcal{D}) - N A(\theta)$ is concave since $-A(\theta)$ is concave in $\theta$, and $\theta^T \phi(\mathcal{D})$ is linear in $\theta$. To compute MLE for the model, we can compute the derivative of the log-likelihood: + +$$\nabla_{\theta} \log p(\mathcal{D}|\theta) = \phi(\mathcal{D}) - N \nabla_{\theta}A(\theta) = \phi(\mathcal{D}) - N \mathbb{E}_{p(X|\theta)}[\phi(X)]$$ + +Setting this gradient to zero, we see that the empirical average of the sufficient statistics must equal the model's theoretical expected sufficient statistics, i.e. $\hat{\theta}$ must satiesfy + +$$\mathbb{E}_{p(X|\hat{\theta})}[\phi(X)] = \frac{1}{N}\sum_{i=1}^N \phi(x_i)$$ + +We need to solve this equation for specific type of distribution, which I will give some examples. + +## MLE for Gaussian distribution + +For Gaussian distribution, following above, the MLE corresponds to solve + +$$\mathbb{E}[\begin{pmatrix} X \\ X^2 \end{pmatrix}] = \begin{pmatrix} \mu \\ \sigma^2 + \mu^2 \end{pmatrix} = \begin{pmatrix} \frac{1}{N}\sum_{i=1}^N x_i \\ \frac{1}{N}\sum_{i=1}^N x_i^2 \end{pmatrix}$$ + +Solving this, we have + +$$\mu = \frac{1}{N}\sum_{i=1}^N x_i, \quad \sigma^2 = \frac{1}{N}\sum_{i=1}^N x_i^2 - \mu^2$$ + +## EM for Gaussian Mixture + +For Gaussian mixture, we can use EM to perform MLE. But first, we should identify the MLE under complete data situation. We know that $p(x\|\theta) = \sum_k p(z_k, x) = \sum_k p(z^k=1\|\pi) p(x\|z^k=1,\mu,\Sigma) = \sum_k \pi_k\mathcal{N}(x\|\mu_k, \Sigma_k))$. If we assume that all variables are observed, we can learn the parameters simply by using MLE. The data likelihood is + +$$p(x,z) = p(x|z,\mu, \sigma)p(z|\pi) = \prod_k \pi_k^{z^k} {\mathcal{N}(x|\mu_k,\sigma_k)}^{z^k} \\ +\log p(x,z) = \sum_k z^k \log \pi_k - z^k \frac{1}{2\sigma_k^2}(x-\mu_k)^2 + C$$ + +Obviously, the sufficient statistics and natural parameter can be identified: + +$$\phi(x, z) = \begin{pmatrix} z^k \\ z^kx \\ z^k x^2 \end{pmatrix}\\ +\theta_k = \begin{pmatrix} \log\pi_k \\ \frac{\mu_k}{\sigma_k^2} \\ -\frac{1}{2\sigma^2}\end{pmatrix}$$ + +Here we are also able to compute the expected sufficient statistics of the random variable $X$ and $Z$ + +$$\mathbb{E}_{p(x,z)}[z^k] = \pi_k, \quad \mathbb{E}_{p(x,z)}[z^k x] = \pi_k\mu_k,\quad \mathbb{E}_{p(x,z)}[z^k x^2] = \pi_k(\sigma^2 + \mu_k^2)$$ + +Using the MLE rule, given the dataset $\mathcal{D}=\{x_1, x_2,\cdots,x_N\}$, we need to set the $\mathbb{E}[\phi(X)] = \frac{1}{N}\sum_{i=1}^N\phi(x_i)$. This leads to + +$$\pi_k = \frac{1}{N}\sum_i z_i^k, \quad \pi_k\mu_k = \frac{1}{N}\sum_i z_i^k x_i, \quad \pi_k(\sigma_k^2 + \mu_k^2) = \frac{1}{N}\sum_i z_i^k x_i^2 \\ +\pi_k = \frac{1}{N}\sum_i z_i^k, \quad \mu_k = \frac{\sum_i z_i^k x_i}{\sum_i z_i^k}, \quad \sigma_k^2 = \frac{\sum_i z_i^k x_i^2}{\sum_i z_i^k} - \mu_k^2$$ + +Note that the derivation is different from P351 in Murphy's book, where one has to enforce the constraints to derive the maximization of $\pi$. Here since we use the MLE property in exponential family, it simplifies the derivation a lot. The results are exactly the same. Now that we have identified the rule for converting the sufficient statistics to the MLE of the parameters, we can now use the EM. In the E-step, we complete the data by computing the posterior distribution of $z$ under current parameter setting $p(z_i^k=1\|x_i,\theta^t)$ + +$$r_{ik} = p(z_i^k=1|x_i,\theta^t) = \frac{\pi_k p(x_i|\theta_k^{t})}{\sum_{k'}\pi_{k'}p(x_i|\theta_{k'}^t)}$$ + +In the M-step, we compute optimize the expected complete data loglikelihood, i.e. MLE. This corresponds to take the expectation of the sufficient statistics over $p(z_i^k=1\|x_i,\theta^t)$. Then we follow the MLE estimation using the expected sufficient statistics, i.e. + +$$\pi_k = \frac{1}{N}\sum_i r_{ik}, \quad \mu_k = \frac{\sum_i r_{ik} x_i}{\sum_i r_{ik}}, \quad \sigma_k^2 = \frac{\sum_i r_{ik} x_i^2}{\sum_i r_{ik}} - \mu_k^2$$ + +## Stepwise EM for Gaussian Mixture + +The reason why I tried to figure out the derivation of Gaussian mixture using sufficient statistics, instead of the one presented in the book, is that using sufficient statistics will lead to more general optimization method, such as stepwise EM and stochastic variational inference. Stepwise EM is computed as follows + +$$\text{While not converged} \\\text{for each example $i=1:N$ in a random order do}\\ +s_i = \sum_z p(z|x_i, \theta(\mu))\phi(x_i,z);\\ +\mu = (1-\eta_k)\mu + \eta_k s_i;\\ +t = t+1$$ + +Since we are able to convert sufficient statistics into the MLE of the parameters as above, we only need to update the sufficient statistics $\mu$. Therefore, the Stepwise EM for Gaussian Mixture is as follows + +$$ +\text{While not converged} \\ +\text{For each example $x_i$ and component $k$ do}\\ +\text{E-step:}\quad r_{ik} = p(z_i^k=1|x_i,\theta^t) \\ +\text{M-step:}\quad \hat{\omega}_k = \hat{\omega}_k + \eta_t (r_{ik} - \hat{\omega}_k) \\ +\hat{\mu}_k = \hat{\mu}_k + \eta_t (r_{ik} x_i - \hat{\mu}_k) \\ +\hat{S}_k = \hat{S}_k + \eta_t (r_{ik} x_ix_i^T - \hat{S}_k) \\ +\text{Update parameter}\quad \pi_k^{t+1} = \hat{\omega}_k, \quad \mu_k^{t+1} = \frac{\hat{\mu}_k}{\omega_k}, \quad \Sigma^{t+1} = \frac{\hat{S}_k}{\omega_k} - {\mu_k^{t+1}}^2 \\ +t = t+1 +$$ + +For Stepwise EM with minibatch of size $m$, the algorithm is as follows: + +$$ +\text{While not converged} \\ +\text{For each minibatch $X$ of size $M$ and component $k$ do}\\ +\text{E-step:}\quad r_{ik} = p(z_i^k=1|x_i,\theta^t) \\ +\text{M-step:}\quad \hat{\omega}_k = \hat{\omega}_k + \eta_t (\sum_{i=1}^M r_{ik} - \hat{\omega}_k) \\ +\hat{\mu}_k = \hat{\mu}_k + \eta_t (\sum_{i=1}^M r_{ik} x_i - \hat{\mu}_k) \\ +\hat{S}_k = \hat{S}_k + \eta_t (\sum_{i=1}^M r_{ik} x_ix_i^T - \hat{S}_k) \\ +\text{Update parameter}\quad \pi_k^{t+1} = \frac{1}{M}\hat{\omega}_k, \quad \mu_k^{t+1} = \frac{\hat{\mu}_k}{\hat{\omega}_k}, \quad \Sigma_k^{t+1} = \frac{\hat{S}_k}{\hat{\omega}_k} - \mu_k^{t+1}{\mu_k^{t+1}}^T \\ +t = t+1 +$$ diff --git a/_sass/.DS_Store b/_sass/.DS_Store new file mode 100755 index 0000000000000000000000000000000000000000..77f271cd5ce886d83fc1665ab46f6ea1caedc164 GIT binary patch literal 6148 zcmeHKOHKko5UoNI@w33V(cLWBVB!rX1WnxP0h9q15@3vAqPsbUhw=d4248&wLqI}Y z7-OoEsy9>9ue$s7FijH?w_bYZM0Fyn!38UO2y0B9i?3M4GrK_68uxTY6Y9bzE3G5( z7Zs4T+oxN~sDm{tt>4u!?`Fe1!*h8#F5wM0&t`~3N8mhwGsbGaQIiHV!rkMB3LjuK zW@=jDP%Gq=(-f@d#hbI-GheUa^}*;+ZzJzhc<_pk_!#|-&|8MF4#8~F7FBfK@1;?T zR!>{Zw9GjLX9AVRm}!SzwdVn}>SG*+Q{Whx`LAb<2IYz>V1!U06bJ==tN`|GvD$%Q z#84m<2nFT}$oC(@Bvezc?JGhv%D-7opT img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + +// Lists +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + +// Headings +h1, h2, h3, h4, h5, h6 { + font-weight: bold; +} + +// Links +a { + color: $url-color; + text-decoration: none; + &:hover { + color: $url-hover-color; + text-decoration: none; + } +} + +// Blockquotes +blockquote { + background-color: $dark-background; + border-left: 4px solid darken($line-color, 66%); + padding-left: 1.0em; + padding-right: 0.8em; + padding-top: 0.8em; + padding-bottom: 0.001em; + font-style: italic; + > :last-child { + margin-bottom: 0; + } +} + +// Code formatting +pre, code { + border: 1px solid $line-color; + border-radius: 3px; + background-color: $dark-background; + font-family: monospace; + font-size: $small-font-size; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: scroll; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + +// Icons +.icon { + > svg { + display: inline-block; + width: 0.75em; + height: 0.75em; + vertical-align: middle; + path { + fill: $text-color; + } + } +} + +.footnotes ol li { + list-style-type:decimal; +} +.footnotes ol { + font-size: $vsmall-font-size; + color: $text-light-color; +} + +ul.listing { + list-style-type: none; + margin-left: 0; +} + +ul.listing li.listing-seperator { + padding-top: 0.75em; + font-size: 1.17em; +} + +ul.listing li.listing-item time { + color: $text-light-color; + text-transform: uppercase; + padding-right: 0.5em; +} + +ul.listing li.listing-item a { + color: $url-color; +} diff --git a/_sass/_fancy-image.scss b/_sass/_fancy-image.scss new file mode 100755 index 00000000000..883bae2759e --- /dev/null +++ b/_sass/_fancy-image.scss @@ -0,0 +1,39 @@ +.captioned-img { + text-align: center; + border: none; + font-size: $vsmall-font-size; + overflow: hidden; +} + +.captioned-img img { + display: block; + margin: auto auto; + padding: 0.5em 0 0.5em 0; + border: none; +} + +.aligncenter { + display: block; + margin-left: auto; + margin-right: auto; +} +.alignleft { + float: left; + margin-top: 0; + margin-right: 1em; + margin-bottom: 0.75em; +} +.alignright { + float: right; + margin-top: 0; + margin-left: 1em; + margin-bottom: 0.75em; +} +@include media-query($mobile) { + .alignleft, .alignright { + display: block; + margin-left: auto; + margin-right: auto; + float: none; + } +} diff --git a/_sass/_footer.scss b/_sass/_footer.scss new file mode 100755 index 00000000000..872eb3ad414 --- /dev/null +++ b/_sass/_footer.scss @@ -0,0 +1,23 @@ +.site-footer { + font-size: $vsmall_font_size; + color: $text-light-color; + border-top: 1px solid $line-color; + padding-top: $spacing-unit; + float: none; + margin-left: auto; + margin-right:auto; + margin-top: 0; + margin-bottom:$spacing-unit; + text-align: center; + @extend %clearfix; +} + +.site-footer a { + color: inherit; + text-decoration: underline; +} + +.site-footer a:hover { + color: $url-hover-color; + text-decoration: underline; +} diff --git a/_sass/_header.scss b/_sass/_header.scss new file mode 100755 index 00000000000..6c7178b5e27 --- /dev/null +++ b/_sass/_header.scss @@ -0,0 +1,157 @@ +.site-header { + border-bottom: 1px solid $line-color; + position: relative; + text-transform: uppercase; + font-size: $small-font-size; + @extend %clearfix; +} + +.site-header, .site-header a { + color: $header-text-color; +} +.site-header a:hover { + color: $header-hover-color; + text-decoration: none; +} + +.site-title { + margin-top: 1em; + margin-bottom: 1em; + float: left; + letter-spacing: 1px; +} + +.site-nav { + background: $background; +} + +.site-nav ul { + text-align: right; + float: right; + letter-spacing: 1px; + list-style-type: none; +} + +.site-nav .menu > li { + display: inline-block; + margin: 1em 0 0 0.75em; + padding: 0; + position: relative; + vertical-align: middle; +} + +.site-nav a { + display: block; +} + +// Sub Menu +.site-nav .sub-menu a { + display: block; + line-height: 1.2em; + padding: 4px 10px; + color: $header-hover-color; +} + +.site-nav .sub-menu a:hover { + color: $header-hover-url; +} +.site-nav .sub-menu { + border-color: $line-color; + z-index:2147483647; +} +.site-nav .sub-menu li.current-menu-item > a { + border-left: none; + border-right: none; +} + +.sub-menu { + border: 1px solid $line-color; + background: $background; + display: none; + right: -10px; + padding: 4px 0 3px 0; + position: absolute; + text-align: left; + text-transform: none; + top: 28px; + min-width: 200px; + z-index:999; +} + +.sub-menu li { + border-bottom: 0; + display: block; + height: auto; + margin: 3px 0; + padding: 0; + text-align: left; +} + +.site-nav li:hover > .sub-menu { + display: block; +} + +.site-nav h1 { + position: absolute; + left: -999em; +} + +.site-nav { + float: right; + + .menu-icon { + display: none; + } + + .page-link { + color: $header-text-color; + + // Gaps between nav items, but not on the first one + &:not(:first-child) { + margin-left: 20px; + } + } + + @include media-query($mobile) { + position: absolute; + top: 9px; + right: 20px; + border: 1px solid $line-color; + border-radius: 5px; + text-align: right; + + .menu-icon { + display: block; + float: right; + width: 1.5em; + height: 1.25em; + line-height: 0; + padding-top: 10px; + text-align: center; + + > svg { + width: 1.25em; + height: 1em; + vertical-align: middle; + path { + fill: $grey-dark; + } + } + } + + .trigger { + clear: both; + display: none; + } + + &:hover .trigger { + display: block; + padding-bottom: 5px; + } + + .page-link { + display: block; + padding: 5px 10px; + } + } +} diff --git a/_sass/_mobile-header.scss b/_sass/_mobile-header.scss new file mode 100755 index 00000000000..9e56955e937 --- /dev/null +++ b/_sass/_mobile-header.scss @@ -0,0 +1,66 @@ +@include media-query($mobile) { + .site-nav h1 { + border-bottom: 1px solid $line-color; + cursor: pointer; + display: none; /* Standard. IE8+, Saf, FF3+ */ + height: 23px; + left: auto; + margin-top: 10px; + position: static; + white-space: nowrap; + } + + .site-nav .menu { + display: block; + left: -3px; + min-width: 215px; + padding: 4px 0; + position: relative; + right: -3px; + z-index: 999; + } + + .site-nav .menu.open { + display: block; + } + + .site-nav .menu li { + display: block; + margin: 0; + color: $header-hover-color; + } + + .site-nav ul.menu a { + color: $header-hover-color; + } + .site-nav ul.menu a:hover { + color: $header-hover-url; + } + + .site-nav a, + .site-nav li.current-menu-item > a { + padding: 4px 10px; + } + + .site-nav .menu > li { + height: auto; + text-align: left; + } + + .site-nav .sub-menu { + border: 0; + display: block; + position: relative; + min-width: 215px; + max-width: 215px; + top: auto; + right: auto; + width: auto; + } + + .site-nav .sub-menu { + padding-left: 16px; + } + .site-nav .sub-menu li.current-menu-item > a { + } +} diff --git a/_sass/_page.scss b/_sass/_page.scss new file mode 100755 index 00000000000..412bb601840 --- /dev/null +++ b/_sass/_page.scss @@ -0,0 +1,55 @@ +.page { + margin: 0 auto; + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); + max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); + min-width: -webkit-calc(#{$content-min-width} - (#{$spacing-unit} * 2)); + min-width: calc(#{$content-min-width} - (#{$spacing-unit} * 2)); + @include media-query($desktop) { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); + max-width: calc(#{$content-width} - (#{$spacing-unit})); + min-width: -webkit-calc(#{$content-min-width} - (#{$spacing-unit} * 2)); + min-width: calc(#{$content-min-width} - (#{$spacing-unit} * 2)); + } +} + +// Clearfix +%clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +.post { + margin-bottom: $spacing-unit; + @extend %clearfix; +} + +.post p { + margin-top: 0; + margin-bottom: $spacing-unit * 0.8; +} + +.post h1, h2, h3, h4, h5, h6 { + margin-top: $spacing-unit * 0.9; + margin-bottom: $spacing-unit * 0.2; +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $text-light-color; +} + +.post-link { + display: block; +} diff --git a/_sass/_syntax-highlighting.scss b/_sass/_syntax-highlighting.scss new file mode 100755 index 00000000000..ed48134b96f --- /dev/null +++ b/_sass/_syntax-highlighting.scss @@ -0,0 +1,64 @@ +.highlight { + background: #fff; + @extend %vertical-rhythm; + + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long +} diff --git a/_site/assets/2016-08-08-MH_7_0.png b/_site/assets/2016-08-08-MH_7_0.png new file mode 100644 index 0000000000000000000000000000000000000000..ef86fd3fa9af7d70057f4f53909abc11cd0fad6d GIT binary patch literal 32412 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 UkDPt(#;4eb($?w1q2q$4Fl`p`{`-@2^@H>pX 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 PAVB)sCXkvt&VT(sM&d?~ literal 0 HcmV?d00001 diff --git a/_site/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_18_1.png b/_site/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_18_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b83365ed6a4cb8ef9aab2f53447a6628611326e0 GIT binary patch literal 13674 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

7SKv%(6C)7i^Ep~Y6>7RBxr741I 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] + tokens = [w for w in tokens if not w in stops] + with open(os.path.join(outDir,os.path.basename(doc)),"w") as fid: + for token in tokens: + fid.write("%s " % token) + diff --git a/_site/assets/comp5213/website/fonts/glyphicons-halflings-regular.eot b/_site/assets/comp5213/website/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..b93a4953fff68df523aa7656497ee339d6026d64 GIT binary patch literal 20127 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_site/assets/comp5213/website/fonts/glyphicons-halflings-regular.ttf b/_site/assets/comp5213/website/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1413fc609ab6f21774de0cb7e01360095584f65b GIT binary patch literal 45404 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/_site/assets/comp5213/website/fonts/glyphicons-halflings-regular.woff2 b/_site/assets/comp5213/website/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 zcmV(~K+nH-Pew8T0RR9107h&84*&oF0I^&E07eM_0Rl|`00000000000000000000 z0000#Mn+Uk92y`7U;vDA2m}!b3WBL5f#qcZHUcCAhI9*rFaQJ~1&1OBl~F%;WnyLq z8)b|&?3j;$^FW}&KmNW53flIFARDZ7_Wz%hpoWaWlgHTHEHf()GI0&dMi#DFPaEt6 zCO)z0v0~C~q&0zBj^;=tv8q{$8JxX)>_`b}WQGgXi46R*CHJ}6r+;}OrvwA{_SY+o zK)H-vy{l!P`+NG*`*x6^PGgHH4!dsolgU4RKj@I8Xz~F6o?quCX&=VQ$Q{w01;M0? zKe|5r<_7CD z=eO3*x!r$aX2iFh3;}xNfx0v;SwBfGG+@Z;->HhvqfF4r__4$mU>Dl_1w;-9`~5rF~@!3;r~xP-hZvOfOx)A z#>8O3N{L{naf215f>m=bzbp7_(ssu&cx)Qo-{)!)Yz3A@Z0uZaM2yJ8#OGlzm?JO5gbrj~@)NB4@?>KE(K-$w}{};@dKY#K3+Vi64S<@!Z{(I{7l=!p9 z&kjG^P~0f46i13(w!hEDJga;*Eb z`!n|++@H8VaKG<9>VDh(y89J#=;Z$ei=GnD5TesW#|Wf)^D+9NKN4J3H5PF_t=V+Z zdeo8*h9+8&Zfc?>>1|E4B7MAx)^uy$L>szyXre7W|81fjy+RZ1>Gd}@@${~PCOXo) z$#HZd3)V3@lNGG%(3PyIbvyJTOJAWcN@Uh!FqUkx^&BuAvc)G}0~SKI`8ZZXw$*xP zum-ZdtPciTAUn$XWb6vrS=JX~f5?M%9S(=QsdYP?K%Odn0S0-Ad<-tBtS3W06I^FK z8}d2eR_n!(uK~APZ-#tl@SycxkRJ@5wmypdWV{MFtYBUY#g-Vv?5AEBj1 z`$T^tRKca*sn7gt%s@XUD-t>bij-4q-ilku9^;QJ3Mpc`HJ_EX4TGGQ-Og)`c~qm51<|gp7D@ zp#>Grssv^#A)&M8>ulnDM_5t#Al`#jaFpZ<#YJ@>!a$w@kEZ1<@PGs#L~kxOSz7jj zEhb?;W)eS}0IQQuk4~JT30>4rFJ3!b+77}>$_>v#2FFEnN^%(ls*o80pv0Q>#t#%H z@`Yy-FXQ9ULKh{Up&oA_A4B!(x^9&>i`+T|eD!&QOLVd(_avv-bFX~4^>o{%mzzrg_i~SBnr%DeE|i+^}|8?kaV(Z32{`vA^l!sp15>Z72z52FgXf z^8ZITvJ9eXBT1~iQjW|Q`Fac^ak$^N-vI^*geh5|*CdMz;n16gV_zk|Z7q8tFfCvU zJK^Pptnn0Rc~egGIAK}uv99VZm2WLPezQQ5K<`f zg{8Ll|GioPYfNheMj-7-S87=w4N0WxHP`1V6Y)0M&SkYzVrwp>yfsEF7wj&T0!}dB z)R~gGfP9pOR;GY_e0~K^^oJ-3AT+m~?Al!{>>5gNe17?OWz)$)sMH*xuQiB>FT2{i zQ>6U_8}Ay~r4li;jzG+$&?S12{)+<*k9 z<^SX#xY|jvlvTxt(m~C7{y{3g>7TX#o2q$xQO|fc<%8rE@A3=UW(o?gVg?gDV!0q6O!{MlX$6-Bu_m&0ms66 znWS&zr{O_4O&{2uCLQvA?xC5vGZ}KV1v6)#oTewgIMSnBur0PtM0&{R5t#UEy3I9) z`LVP?3f;o}sz*7g5qdTxJl^gk3>;8%SOPH@B)rmFOJ)m6?PlYa$y=RX%;}KId{m9R#2=LNwosF@OTivgMqxpRGe}5=LtAn?VVl6VWCFLD z7l#^^H8jY~42hR)OoVF#YDW(md!g(&pJ;yMj|UBAQa}UH?ED@%ci=*(q~Opn>kE2Q z_4Kgf|0kEA6ary41A;)^Ku(*nirvP!Y>{FZYBLXLP6QL~vRL+uMlZ?jWukMV*(dsn zL~~KA@jU)(UeoOz^4Gkw{fJsYQ%|UA7i79qO5=DOPBcWlv%pK!A+)*F`3WJ}t9FU3 zXhC4xMV7Z%5RjDs0=&vC4WdvD?Zi5tg4@xg8-GLUI>N$N&3aS4bHrp%3_1u9wqL)i z)XQLsI&{Hd&bQE!3m&D0vd!4D`l1$rt_{3NS?~lj#|$GN5RmvP(j3hzJOk=+0B*2v z)Bw133RMUM%wu_+$vbzOy?yk#kvR?xGsg-ipX4wKyXqd zROKp5))>tNy$HByaEHK%$mqd>-{Yoj`oSBK;w>+eZ&TVcj^DyXjo{DDbZ>vS2cCWB z(6&~GZ}kUdN(*2-nI!hvbnVy@z2E#F394OZD&Jb04}`Tgaj?MoY?1`{ejE2iud51% zQ~J0sijw(hqr_Ckbj@pm$FAVASKY(D4BS0GYPkSMqSDONRaFH+O2+jL{hIltJSJT~e)TNDr(}=Xt7|UhcU9eoXl&QZRR<9WomW%&m)FT~j zTgGd3-j}Uk%CRD;$@X)NNV9+RJbifYu>yr{FkO;p>_&njI> zyBHh_72bW;8}oGeY0gpHOxiV597j7mY<#?WMmkf5x~Kfk*re(&tG_mX<3&2cON*2u%V29tsXUv{#-ijs2>EuNH-x3) zPBpi+V6gI=wn}u164_j8xi-y(B?Au2o;UO=r6&)i5S3Mx*)*{_;u}~i4dh$`VgUS- zMG6t*?DXDYX0D2Oj31MI!HF>|aG8rjrOPnxHu4wZl;!=NGjjDoBpXf?ntrwt^dqxm zs(lE@*QB3NH)!`rH)5kks-D89g@UX&@DU9jvrsY)aI=9b4nPy3bfdX_U;#?zsan{G>DKob2LnhCJv8o}duQK)qP{7iaaf2=K`a-VNcfC582d4a z>sBJA*%S|NEazDxXcGPW_uZ&d7xG`~JB!U>U(}acUSn=FqOA~(pn^!aMXRnqiL0;? zebEZYouRv}-0r;Dq&z9>s#Rt1HL`0p4bB)A&sMyn|rE_9nh z?NO*RrjET8D4s(-`nS{MrdYtv*kyCnJKbsftG2D#ia@;42!8xd?a3P(&Y?vCf9na< zQ&Ni*1Qel&Xq{Z?=%f0SRqQt5m|Myg+8T=GDc)@^};=tM>9IDr7hdvE9-M@@<0pqv45xZTeNecbL- zWFQt4t`9>j8~X%lz}%We>Kzh_=`XO}!;4!OWH?=p*DOs#Nt({k^IvtBEL~Qafn)I^ zm*k{y7_bIs9YE}0B6%r`EIUH8US+MGY!KQA1fi-jCx9*}oz2k1nBsXp;4K<_&SN}}w<)!EylI_)v7}3&c)V;Cfuj*eJ2yc8LK=vugqTL><#65r6%#2e| zdYzZ)9Uq7)A$ol&ynM!|RDHc_7?FlWqjW>8TIHc`jExt)f5W|;D%GC#$u!%B*S%Z0 zsj&;bIU2jrt_7%$=!h4Q29n*A^^AI8R|stsW%O@?i+pN0YOU`z;TVuPy!N#~F8Z29 zzZh1`FU(q31wa>kmw{$q=MY>XBprL<1)Py~5TW4mgY%rg$S=4C^0qr+*A^T)Q)Q-U zGgRb9%MdE-&i#X3xW=I`%xDzAG95!RG9)s?v_5+qx`7NdkQ)If5}BoEp~h}XoeK>kweAMxJ8tehagx~;Nr_WP?jXa zJ&j7%Ef3w*XWf?V*nR)|IOMrX;$*$e23m?QN` zk>sC^GE=h6?*Cr~596s_QE@>Nnr?{EU+_^G=LZr#V&0fEXQ3IWtrM{=t^qJ62Sp=e zrrc>bzX^6yFV!^v7;>J9>j;`qHDQ4uc92eVe6nO@c>H=ouLQot``E~KLNqMqJ7(G+?GWO9Ol+q$w z!^kMv!n{vF?RqLnxVk{a_Ar;^sw0@=+~6!4&;SCh^utT=I zo&$CwvhNOjQpenw2`5*a6Gos6cs~*TD`8H9P4=#jOU_`%L!W;$57NjN%4 z39(61ZC#s7^tv`_4j}wMRT9rgDo*XtZwN-L;Qc$6v8kKkhmRrxSDkUAzGPgJ?}~_t zkwoGS4=6lsD`=RL|8L3O9L()N)lmEn-M15fRC{dhZ}7eYV%O-R^gsAp{q4 z!C1}_T8gy^v@SZ5R&Li5JMJy+K8iZw3LOGA0pN1~y@w7RRl#F()ii6Y5mr~Mdy@Kz z@FT4cm^I&#Fu_9IX(HAFP{XLbRALqm&)>m_we>a`hfv?eE|t z?YdDp2yAhj-~vuw^wzVDuj%w?exOcOT(ls(F*ceCe(C5HlN{lcQ;}|mRPqFDqLEzw zR7ldY+M6xe$$qLwekmk{Z&5cME$gpC?-8)f0m$rqaS|mj9ATNJvvyCgs(f2{r;2E!oy$k5{jik#(;S>do<#m0wVcU<}>)VtYmF9O0%(C>GDzPgh6X z9OkQLMR~y7=|MtaU!LDPPY7O)L{X#SC+M|v^X2CZ?$GS>U_|aC(VA(mIvCNk+biD| zSpj>gd(v>_Cbq>~-x^Y3o|?eHmuC?E&z>;Ij`%{$Pm$hI}bl0Kd`9KD~AchY+goL1?igDxf$qxL9< z4sW@sD)nwWr`T>e2B8MQN|p*DVTT8)3(%AZ&D|@Zh6`cJFT4G^y6`(UdPLY-&bJYJ z*L06f2~BX9qX}u)nrpmHPG#La#tiZ23<>`R@u8k;ueM6 znuSTY7>XEc+I-(VvL?Y>)adHo(cZ;1I7QP^q%hu#M{BEd8&mG_!EWR7ZV_&EGO;d(hGGJzX|tqyYEg2-m0zLT}a{COi$9!?9yK zGN7&yP$a|0gL`dPUt=4d^}?zrLN?HfKP0_gdRvb}1D73Hx!tXq>7{DWPV;^X{-)cm zFa^H5oBDL3uLkaFDWgFF@HL6Bt+_^g~*o*t`Hgy3M?nHhWvTp^|AQDc9_H< zg>IaSMzd7c(Sey;1SespO=8YUUArZaCc~}}tZZX80w%)fNpMExki-qB+;8xVX@dr; z#L52S6*aM-_$P9xFuIui;dN#qZ_MYy^C^hrY;YAMg;K`!ZpKKFc z9feHsool)`tFSS}Su|cL0%F;h!lpR+ym|P>kE-O`3QnHbJ%gJ$dQ_HPTT~>6WNX41 zoDEUpX-g&Hh&GP3koF4##?q*MX1K`@=W6(Gxm1=2Tb{hn8{sJyhQBoq}S>bZT zisRz-xDBYoYxt6--g2M1yh{#QWFCISux}4==r|7+fYdS$%DZ zXVQu{yPO<)Hn=TK`E@;l!09aY{!TMbT)H-l!(l{0j=SEj@JwW0a_h-2F0MZNpyucb zPPb+4&j?a!6ZnPTB>$t`(XSf-}`&+#rI#`GB> zl=$3HORwccTnA2%>$Nmz)u7j%_ywoGri1UXVNRxSf(<@vDLKKxFo;5pTI$R~a|-sQ zd5Rfwj+$k1t0{J`qOL^q>vZUHc7a^`cKKVa{66z?wMuQAfdZBaVVv@-wamPmes$d! z>gv^xx<0jXOz;7HIQS z4RBIFD?7{o^IQ=sNQ-k!ao*+V*|-^I2=UF?{d>bE9avsWbAs{sRE-y`7r zxVAKA9amvo4T}ZAHSF-{y1GqUHlDp4DO9I3mz5h8n|}P-9nKD|$r9AS3gbF1AX=2B zyaK3TbKYqv%~JHKQH8v+%zQ8UVEGDZY|mb>Oe3JD_Z{+Pq%HB+J1s*y6JOlk`6~H) zKt)YMZ*RkbU!GPHzJltmW-=6zqO=5;S)jz{ zFSx?ryqSMxgx|Nhv3z#kFBTuTBHsViaOHs5e&vXZ@l@mVI37<+^KvTE51!pB4Tggq zz!NlRY2ZLno0&6bA|KHPYOMY;;LZG&_lzuLy{@i$&B(}_*~Zk2 z>bkQ7u&Ww%CFh{aqkT{HCbPbRX&EvPRp=}WKmyHc>S_-qbwAr0<20vEoJ(!?-ucjE zKQ+nSlRL^VnOX0h+WcjGb6WI(8;7bsMaHXDb6ynPoOXMlf9nLKre;w*#E_whR#5!! z!^%_+X3eJVKc$fMZP;+xP$~e(CIP1R&{2m+iTQhDoC8Yl@kLM=Wily_cu>7C1wjVU z-^~I0P06ZSNVaN~A`#cSBH2L&tk6R%dU1(u1XdAx;g+5S^Hn9-L$v@p7CCF&PqV{Z?R$}4EJi36+u2JP7l(@fYfP!=e#76LGy^f>~vs0%s*x@X8`|5 zGd6JOHsQ=feES4Vo8%1P_7F5qjiIm#oRT0kO1(?Z_Dk6oX&j=Xd8Klk(;gk3S(ZFnc^8Gc=d;8O-R9tlGyp=2I@1teAZpGWUi;}`n zbJOS_Z2L16nVtDnPpMn{+wR9&yU9~C<-ncppPee`>@1k7hTl5Fn_3_KzQ)u{iJPp3 z)df?Xo%9ta%(dp@DhKuQj4D8=_!*ra#Ib&OXKrsYvAG%H7Kq|43WbayvsbeeimSa= z8~{7ya9ZUAIgLLPeuNmSB&#-`Je0Lja)M$}I41KHb7dQq$wgwX+EElNxBgyyLbA2* z=c1VJR%EPJEw(7!UE?4w@94{pI3E%(acEYd8*Wmr^R7|IM2RZ-RVXSkXy-8$!(iB* zQA`qh2Ze!EY6}Zs7vRz&nr|L60NlIgnO3L*Yz2k2Ivfen?drnVzzu3)1V&-t5S~S? zw#=Sdh>K@2vA25su*@>npw&7A%|Uh9T1jR$mV*H@)pU0&2#Se`7iJlOr$mp79`DKM z5vr*XLrg7w6lc4&S{So1KGKBqcuJ!E|HVFB?vTOjQHi)g+FwJqX@Y3q(qa#6T@3{q zhc@2T-W}XD9x4u+LCdce$*}x!Sc#+rH-sCz6j}0EE`Tk*irUq)y^za`}^1gFnF)C!yf_l_}I<6qfbT$Gc&Eyr?!QwJR~RE4!gKVmqjbI+I^*^ z&hz^7r-dgm@Mbfc#{JTH&^6sJCZt-NTpChB^fzQ}?etydyf~+)!d%V$0faN(f`rJb zm_YaJZ@>Fg>Ay2&bzTx3w^u-lsulc{mX4-nH*A(32O&b^EWmSuk{#HJk}_ULC}SB(L7`YAs>opp9o5UcnB^kVB*rmW6{s0&~_>J!_#+cEWib@v-Ms`?!&=3fDot`oH9v&$f<52>{n2l* z1FRzJ#yQbTHO}}wt0!y8Eh-0*|Um3vjX-nWH>`JN5tWB_gnW%; zUJ0V?_a#+!=>ahhrbGvmvObe8=v1uI8#gNHJ#>RwxL>E^pT05Br8+$@a9aDC1~$@* zicSQCbQcr=DCHM*?G7Hsovk|{$3oIwvymi#YoXeVfWj{Gd#XmnDgzQPRUKNAAI44y z{1WG&rhIR4ipmvBmq$BZ*5tmPIZmhhWgq|TcuR{6lA)+vhj(cH`0;+B^72{&a7ff* zkrIo|pd-Yxm+VVptC@QNCDk0=Re%Sz%ta7y{5Dn9(EapBS0r zLbDKeZepar5%cAcb<^;m>1{QhMzRmRem=+0I3ERot-)gb`i|sII^A#^Gz+x>TW5A& z3PQcpM$lDy`zb%1yf!e8&_>D02RN950KzW>GN6n@2so&Wu09x@PB=&IkIf|zZ1W}P zAKf*&Mo5@@G=w&290aG1@3=IMCB^|G4L7*xn;r3v&HBrD4D)Zg+)f~Ls$7*P-^i#B z4X7ac=0&58j^@2EBZCs}YPe3rqgLAA1L3Y}o?}$%u~)7Rk=LLFbAdSy@-Uw6lv?0K z&P@@M`o2Rll3GoYjotf@WNNjHbe|R?IKVn*?Rzf9v9QoFMq)ODF~>L}26@z`KA82t z43e!^z&WGqAk$Ww8j6bc3$I|;5^BHwt`?e)zf|&+l#!8uJV_Cwy-n1yS0^Q{W*a8B zTzTYL>tt&I&9vzGQUrO?YIm6C1r>eyh|qw~-&;7s7u1achP$K3VnXd8sV8J7ZTxTh z5+^*J5%_#X)XL2@>h(Gmv$@)fZ@ikR$v(2Rax89xscFEi!3_;ORI0dBxw)S{r50qf zg&_a*>2Xe{s@)7OX9O!C?^6fD8tc3bQTq9}fxhbx2@QeaO9Ej+2m!u~+u%Q6?Tgz{ zjYS}bleKcVhW~1$?t*AO^p!=Xkkgwx6OTik*R3~yg^L`wUU9Dq#$Z*iW%?s6pO_f8 zJ8w#u#Eaw7=8n{zJ}C>w{enA6XYHfUf7h)!Qaev)?V=yW{b@-z`hAz;I7^|DoFChP z1aYQnkGauh*ps6x*_S77@z1wwGmF8ky9fMbM$dr*`vsot4uvqWn)0vTRwJqH#&D%g zL3(0dP>%Oj&vm5Re%>*4x|h1J2X*mK5BH1?Nx_#7( zepgF`+n)rHXj!RiipusEq!X81;QQBXlTvLDj=Qub(ha&D=BDx3@-V*d!D9PeXUY?l zwZ0<4=iY!sUj4G>zTS+eYX7knN-8Oynl=NdwHS*nSz_5}*5LQ@=?Yr?uj$`C1m2OR zK`f5SD2|;=BhU#AmaTKe9QaSHQ_DUj1*cUPa*JICFt1<&S3P3zsrs^yUE;tx=x^cmW!Jq!+hohv_B> zPDMT0D&08dC4x@cTD$o1$x%So1Ir(G3_AVQMvQ13un~sP(cEWi$2%5q93E7t{3VJf%K? zuwSyDke~7KuB2?*#DV8YzJw z&}SCDexnUPD!%4|y~7}VzvJ4ch)WT4%sw@ItwoNt(C*RP)h?&~^g##vnhR0!HvIYx z0td2yz9=>t3JNySl*TszmfH6`Ir;ft@RdWs3}!J88UE|gj_GMQ6$ZYphUL2~4OY7} zB*33_bjkRf_@l;Y!7MIdb~bVe;-m78Pz|pdy=O*3kjak63UnLt!{^!!Ljg0rJD3a~ z1Q;y5Z^MF<=Hr}rdoz>yRczx+p3RxxgJE2GX&Si)14B@2t21j4hnnP#U?T3g#+{W+Zb z5s^@>->~-}4|_*!5pIzMCEp|3+i1XKcfUxW`8|ezAh>y{WiRcjSG*asw6;Ef(k#>V ztguN?EGkV_mGFdq!n#W)<7E}1#EZN8O$O|}qdoE|7K?F4zo1jL-v}E8v?9qz(d$&2 zMwyK&xlC9rXo_2xw7Qe0caC?o?Pc*-QAOE!+UvRuKjG+;dk|jQhDDBe?`XT7Y5lte zqSu0t5`;>Wv%|nhj|ZiE^IqA_lZu7OWh!2Y(627zb=r7Ends}wVk7Q5o09a@ojhH7 zU0m&h*8+j4e|OqWyJ&B`V`y=>MVO;K9=hk^6EsmVAGkLT{oUtR{JqSRY{Qi{kKw1k z6s;0SMPJOLp!som|A`*q3t0wIj-=bG8a#MC)MHcMSQU98Juv$?$CvYX)(n`P^!`5| zv3q@@|G@6wMqh;d;m4qvdibx2Yjml}vG9mDv&!0ne02M#D`Bo}xIB0VWh8>>WtNZQ z$&ISlJX;*ORQIO;k62qA{^6P%3!Z=Y1EbmY02{w^yB$`;%!{kur&XTGDiO2cjA)lr zsY^XZWy^DSAaz;kZ_VG?uWnJR7qdN18$~)>(kOoybY0~QYu9||K#|$Mby{3GduV~N zk9H7$7=RSo+?CUYF502`b76ytBy}sFak&|HIwRvB=0D|S`c#QCJPq zP)uOWI)#(n&{6|C4A^G~%B~BY21aOMoz9RuuM`Ip%oBz+NoAlb7?#`E^}7xXo!4S? zFg8I~G%!@nXi8&aJSGFcZAxQf;0m}942=i#p-&teLvE{AKm7Sl2f}Io?!IqbC|J;h z`=5LFOnU5?^w~SV@YwNZx$k_(kLNxZDE z3cf08^-rIT_>A$}B%IJBPcN^)4;90BQtiEi!gT#+EqyAUZ|}*b_}R>SGloq&6?opL zuT_+lwQMgg6!Cso$BwUA;k-1NcrzyE>(_X$B0HocjY~=Pk~Q08+N}(|%HjO_i+*=o z%G6C6A30Ch<0UlG;Zdj@ed!rfUY_i9mYwK8(aYuzcUzlTJ1yPz|Bb-9b33A9zRhGl>Ny-Q#JAq-+qtI@B@&w z$;PJbyiW=!py@g2hAi0)U1v=;avka`gd@8LC4=BEbNqL&K^UAQ5%r95#x%^qRB%KLaqMnG|6xKAm}sx!Qwo}J=2C;NROi$mfADui4)y(3wVA3k~{j^_5%H)C6K zlYAm1eY**HZOj($)xfKIQFtIVw$4&yvz9>(Crs>Gh{ zya6-FG7Dgi92#K)64=9Csj5?Zqe~_9TwSI!2quAwa1w-*uC5!}xY`?tltb0Hq740< zsq2QelPveZ4chr$=~U3!+c&>xyfvA1`)owOqj=i4wjY=A1577Gwg&Ko7;?il9r|_* z8P&IDV_g2D{in5OLFxsO!kx3AhO$5aKeoM|!q|VokqMlYM@HtsRuMtBY%I35#5$+G zpp|JOeoj^U=95HLemB04Yqv{a8X<^K9G2`&ShM_6&Bi1n?o?@MXsDj9Z*A3>#XK%J zRc*&SlFl>l)9DyRQ{*%Z+^e1XpH?0@vhpXrnPPU*d%vOhKkimm-u3c%Q^v3RKp9kx@A2dS?QfS=iigGr7m><)YkV=%LA5h@Uj@9=~ABPMJ z1UE;F&;Ttg5Kc^Qy!1SuvbNEqdgu3*l`=>s5_}dUv$B%BJbMiWrrMm7OXOdi=GOmh zZBvXXK7VqO&zojI2Om9};zCB5i|<210I{iwiGznGCx=FT89=Ef)5!lB1cZ6lbzgDn07*he}G&w7m!;|E(L-?+cz@0<9ZI~LqYQE7>HnPA436}oeN2Y(VfG6 zxNZuMK3Crm^Z_AFeHc~CVRrSl0W^?+Gbteu1g8NGYa3(8f*P{(ZT>%!jtSl6WbYVv zmE(37t0C8vJ6O-5+o*lL9XRcFbd~GSBGbGh3~R!67g&l)7n!kJlWd)~TUyXus#!&G6sR%(l(h1$xyrR5j_jM1zj#giA&@(Xl26@n<9>folx!92bQ z24h570+<)4!$!IQ(5yOU|4_E6aN@4v0+{Kx~Z z;q7fp%0cHziuI%!kB~w}g9@V+1wDz0wFlzX2UOvOy|&;e;t!lAR8tV2KQHgtfk8Uf zw;rs!(4JPODERk4ckd5I2Vq|0rd@@Mwd8MID%0^fITjYIQom^q;qhP8@|eJx{?5xX zc1@Fj*kDknlk{c-rnCloQ3hGh7OU+@efO3>fkRMcM>J?AeVP& zlfzX%cdp=N+4S#E*%^=BQ+N`A7C}|k%$|QUn0yI6S3$MS-NjO!4hm55uyju)Q6e!} z*OVO@A#-mfC9Pha6ng((Xl^V7{d+&u+yx)_B1{~t7d5e8L^i4J>;x<7@5;+l7-Gge zf#9diXJ$&v^rbN5V(ee%q0xBMEgS6%qZm7hNUP%G;^J44I!BmI@M*+FWz0!+s;+iQ zU4CuI+27bvNK8v>?7PZnVxB=heJ&_ymE0nN^W#-rqB%+JXkYGDuRw>JM_LdtLkiq* z6%%3&^BX$jnM@2bjiGc-DymKly)wVkA-pq;jSWL#7_*moZZ4I|-N}o8SK?sIv)p|c zu~9-B%tMc=!)YMFp*SiC0>kfnH8+X5>;+FFVN{~a9YVdIg1uGkZ~kegFy{^PU(4{( z`CbY`XmVA3esai686Yw8djCEyF7`bfB^F1)nwv+AqYLZ&Zy=eFhYT2uMd@{sP_qS4 zbJ&>PxajjZt?&c<1^!T|pLHfX=E^FJ>-l_XCZzvRV%x}@u(FtF(mS+Umw$e+IA74e>gCdTqi;6&=euAIpxd=Y3I5xWR zBhGoT+T`V1@91OlQ}2YO*~P4ukd*TBBdt?Plt)_ou6Y@Db`ss+Q~A-48s>?eaJYA2 zRGOa8^~Em}EFTmKIVVbMb|ob)hJJ7ITg>yHAn2i|{2ZJU!cwt9YNDT0=*WO7Bq#Xj zg@FjEaKoolrF8%c;49|`IT&25?O$dq8kp3#la9&6aH z6G|{>^C(>yP7#Dr$aeFyS0Ai_$ILhL43#*mgEl(c*4?Ae;tRL&S7Vc}Szl>B`mBuI zB9Y%xp%CZwlH!3V(`6W4-ZuETssvI&B~_O;CbULfl)X1V%(H7VSPf`_Ka9ak@8A=z z1l|B1QKT}NLI`WVTRd;2En5u{0CRqy9PTi$ja^inu){LJ&E&6W%JJPw#&PaTxpt?k zpC~gjN*22Q8tpGHR|tg~ye#9a8N<%odhZJnk7Oh=(PKfhYfzLAxdE36r<6a?A;rO&ELp_Y?8Pdw(PT^Fxn!eG_|LEbSYoBrsBA|6Fgr zt5LntyusI{Q2fdy=>ditS;}^B;I2MD4=(>7fWt0Jp~y=?VvfvzHvQhj6dyIef46J$ zl4Xu7U9v_NJV?uBBC0!kcTS0UcrV7+@~is?Fi+jrr@l3XwD|uG zr26jUWiv>Ju48Y^#qn7r9mwIH-Pv6Y|V|V-GZ&+&gQ?S?-`&ts{@5GXPqbmyZjUACC&oVXfNwUX0}ba(v978 zp8z!v9~8Zx8qB@7>oFPDm^iR@+yw`79YF)w^OHB_N;&&x7c3l^3!)IY#)}x)@D(iNaOm9 zC=^*!{`7={3*S=%iU=KsPXh=DDZcc``Ss>057i{pdW8M@4q+Ba@Tt%OytH!4>rbIbQw^-pR zGGYNPzw@n=PV@)b7yVbFr;glF*Qq3>F9oBN5PUXt!?2mdGcpv^o1?Thp`jP10G2Yi z(c93td3F3SW!Le5DUwdub!aDKoVLU6g!O?Ret21l$qOC;kdd@L#M&baVu&JZGt&<6 z!VCkvgRaav6QDW2x}tUy4~Y5(B+#Ej-8vM?DM-1?J_*&PntI3E96M!`WL#<&Z5n2u zo`P!~vBT$YOT~gU9#PB)%JZ zcd_u=m^LYzC!pH#W`yA1!(fA;D~b zG#73@l)NNd;n#XrKXZEfab;@kQRnOFU2Th-1m<4mJzlj9b3pv-GF$elX7ib9!uILM_$ke zHIGB*&=5=;ynQA{y7H93%i^d)T}y@(p>8vVhJ4L)M{0Q*@D^+SPp`EW+G6E%+`Z;u zS3goV@Dic7vc5`?!pCN44Ts@*{)zwy)9?B||AM{zKlN4T}qQRL2 zgv+{K8bv7w)#xge16;kI1fU87!W4pX)N&|cq8&i^1r`W|Hg4366r(?-ecEJ9u&Eaw zrhyikXQB>C9d>cpPGiu=VU3Z-u4|0V_iap!_J3o+K_R5EXk@sfu~zHwwYkpncVh!R zqNe7Cmf_|Wmeq4#(mIO&(wCK@b4(x0?W1Qtk(`$?+$uCJCGZm_%k?l32vuShgDFMa ztc`{$8DhB9)&?~(m&EUc=LzI1=qo#zjy#2{hLT_*aj<618qQ7mD#k2ZFGou&69;=2 z1j7=Su8k}{L*h&mfs7jg^PN&9C1Z@U!p6gXk&-7xM~{X`nqH#aGO`;Xy_zbz^rYacIq0AH%4!Oh93TzJ820%ur)8OyeS@K?sF1V(iFO z37Nnqj1z#1{|v7=_CX`lQA|$<1gtuNMHGNJYp1D_k;WQk-b+T6VmUK(x=bWviOZ~T z|4e%SpuaWLWD?qN2%`S*`P;BQBw(B__wTD6epvGdJ+>DBq2oVlf&F*lz+#avb4)3P1c^Mf#olQheVvZ|Z5 z>xXfgmv!5Z^SYn+_x}K5B%G^sRwiez&z9|f!E!#oJlT2kCOV0000$L_|bHBqAarB4TD{W@grX1CUr72@caw0faEd7-K|4L_|cawbojjHdpd6 zI6~Iv5J?-Q4*&oF000000FV;^004t70Z6Qk1Xl{X9oJ{sRC2(cs?- literal 0 HcmV?d00001 diff --git a/_site/assets/comp5213/website/index.html b/_site/assets/comp5213/website/index.html new file mode 100644 index 00000000000..c431ce23606 --- /dev/null +++ b/_site/assets/comp5213/website/index.html @@ -0,0 +1,131 @@ + + + + +Topic Tree + + + + + + + + +

+ +
+ +
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_site/assets/comp5213/website/lib/32px.png b/_site/assets/comp5213/website/lib/32px.png new file mode 100644 index 0000000000000000000000000000000000000000..15327152481789306eadef88393cd1c748dc31a7 GIT binary patch literal 3121 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 q$a=%VWn+k|UtiDv&>%>!2^rk(D6aNK_^-%!; literal 0 HcmV?d00001 diff --git a/_site/assets/comp5213/website/lib/40px.png b/_site/assets/comp5213/website/lib/40px.png new file mode 100644 index 0000000000000000000000000000000000000000..1959347aea041d75a58d0584ea7ec51714797983 GIT binary patch literal 1880 zcmZ`)doPK^x}L8xo#OE#OkB~$LGr;}=FbpxeWUvbGmLn1DXa;HsQK~D7_{^sq2 z^fni3chvJ5$YKUAlPB<%YYsGqZ3*PyX7OjPSmNI*c$WG!up*Jd*}3 zyaNUJH)Q(CkAGRYx9(QF6|av~uGv)1Y;;XvzcpOJ6RwjX&Aq_Aw}!?@ks55jzGfWq zHi2b^qzQ-8bl-&6a#)X#NWKfdin__%Ol?}CAS&@2z3m-#8{JmeH=J{JF%S+MQ5YWYP20_w8qRF6(+-b#Trf> zo_2Ahj>H8mS@~xq^k9LXSkqS5UA65dkI8zx!mlGSfKyE;s4Src2P4*>GKW637{uPZ zn41TS!b0I%aCMOGtR7_5i0R^u?Z1kp6{@2~AH^7slz&0Qj|5)78I0s6dlVU{)cQrP zeNGP#HlU^~-R%ecwQ5d4f89gT`1oM|(Ofc=m=oyYg2-k3n{hQ$7?G# z&FPF6FFv(B1kEI;9zR$1bF}BYcUcz6lkHP>F~*Z@^?L7Dwi265tsN>ESDZo%}%mSZ>gVZrQEHe#NWr4C*NSf*0NrTPY+o|6J6YC;=zHNu2 z8bz_U4ETk(5(4ZKzU=r-bX5C~YoQu69_!Kg_;tIz@|bcZeUDp?>LM|N ziJp5yVxnWe6Y7OqZ0sqz9>rV_e8%6p;7r{y(wfYhJK>k?%R9^#}q@xkWO6(y$(5^YBRpql1{)zuK zbrtwwtit>e;@%w>h7p&2<37Z3Q~Of2IoVshosA0BYcm}a31kTD@b5Y^cq1>Lz~v#* z=I3$&3b7mLgtwj%M~`+Qvt=#z{qJiwXm0kiXWM^#JaGk!bF6zb=stF+fn62*;^IMV z;8jniInrmfUG6KNlUC^lV!pmFFQ+Bb!%x?kA|oelOOeQZy&ZYzuw;)RIQ$l#&^K8* z0OFJoe{kr3Me>S$Wc!cxtzZ7K-m>EtO!YQ<*Jwhovtf3=v?o4fP-T|cmxOL~h!|$H iV&_@$q2+YC87j9T{b5}.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/_site/assets/comp5213/website/lib/bootstrap.min.js b/_site/assets/comp5213/website/lib/bootstrap.min.js new file mode 100644 index 00000000000..e79c065134f --- /dev/null +++ b/_site/assets/comp5213/website/lib/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/_site/assets/comp5213/website/lib/custom.css b/_site/assets/comp5213/website/lib/custom.css new file mode 100644 index 00000000000..6e8c200b5d7 --- /dev/null +++ b/_site/assets/comp5213/website/lib/custom.css @@ -0,0 +1,22 @@ +.white-popup { + position: relative; + background: #FFF; + padding: 20px; + width:auto; + max-width: 800px; + margin: 20px auto; +} + +body { + padding-top: 50px; + padding-bottom: 20px; +} + +div#jstree { + font-size: 18px; +} + +.jstree-default .jstree-anchor { + line-height: 28px; + height: 28px; +} \ No newline at end of file diff --git a/_site/assets/comp5213/website/lib/custom.js b/_site/assets/comp5213/website/lib/custom.js new file mode 100644 index 00000000000..a7b8f7a5929 --- /dev/null +++ b/_site/assets/comp5213/website/lib/custom.js @@ -0,0 +1,230 @@ +// this file assumes a variable nodes is used to hold the nodes of the jstree +// and a
with id 'jstree' as a placeholder of the tree. + +function getInputValue(id, defaultValue) { + var value = $(id).val(); + if (value.length <= 0) + value = defaultValue; + + return parseInt(value); +} + +function findLevel(node) { + var l = node.data.level - 1; + if (typeof levels[l] == 'undefined') + levels[l] = []; + + levels[l].push(node) + + $.each(node.children, function(i, v) { + findLevel(v); + }) +} + +// find the node levels in the tree +var levels = []; +$.each(nodes, function(i, v) { + findLevel(v) +}); + +// find the min and max year in the documents +var showTopicDocuments = typeof documents != "undefined" + && typeof topicMap != "undefined" + +if (showTopicDocuments) { + var minYear = 1000000; + var maxYear = 0; + $.each(documents, function(i, d) { + if (d.year > maxYear) + maxYear = d.year; + if (d.year < minYear) + minYear = d.year; + }) +} + +function generateTopicDocumentTable(topic, max) { + var topicDocuments = topicMap[topic]; + + var rows = []; + for (var i = 0; i < topicDocuments.length && i < max; i++) { + var d = topicDocuments[i]; + var doc = documents[d[0]]; + rows.push("" + doc.source + "" + doc.year + + "" + doc.title + "" + d[1].toFixed(2) + + ""); + } + + var table = $("
ConfYearTitleProb
") + .append("").append(rows.join("")); + + table.tablesorter({ + theme : "bootstrap", + widthFixed : true, + headerTemplate : '{content} {icon}', + widgets : [ "uitheme", "zebra" ], + widgetOptions : { + zebra : [ "even", "odd" ], + } + }); + + return table; +} + +function generateCountTable(topic) { + var topicDocuments = topicMap[topic]; + var counts = {}; + for (var year = minYear; year <= maxYear; year++) { + counts[year] = 0; + } + + $.each(topicDocuments, function(i, d) { + var doc = documents[d[0]]; + counts[doc.year] = counts[doc.year] + 1; + }) + + var headRow = $(""); + var bodyRow = $(""); + for (var year = minYear; year <= maxYear; year++) { + headRow.append("" + year + ""); + bodyRow.append("" + counts[year] + ""); + } + var table = $("") + .append("").append(""); + table.children("thead").append(headRow); + table.children("tbody").append(bodyRow); + + return table; +} + +function constructTree(n) { + $("#jstree").on("changed.jstree", function(e, data) { + // show a pop-up when a node has been selected + if (data.action == "select_node") { + $("#topic-modal-title").html( + data.node.text + " (" + data.node.id + ")") + + $("#topic-modal-body").html("") + + if (showTopicDocuments) { + var topicDocuments = topicMap[data.node.id] + max = 500 + + $("#topic-modal-body").append("
Number of documents by year:
") + $("#topic-modal-body").append(generateCountTable(data.node.id)); + $("#topic-modal-body").append("
Document details (showing only the top " + max +"):
") + $("#topic-modal-body").append(generateTopicDocumentTable( + data.node.id, max)); + } else { + $("#topic-modal-body").append("

Document information is not available.

") + } + + $("#topic-modal").modal() + } + }).jstree({ + "core" : { + "data" : n, + "themes" : { + "icons" : false + } + }, + "search" : { + "case_insensitive" : true, + "show_only_matches" : true, + "show_only_matches_children" : true + }, + "plugins" : [ "search" ] + }); +} + +// show the node within the specified range of levels. +// the nodes above the topmost level are discarded, while +// the nodes below the bottommost level are closed. +function showLevels(top, bottom) { + var current = $('#jstree').jstree(true); + if (typeof current != 'undefined' && current) + current.destroy(); + + for (var i = top; i > bottom; i--) { + $.each(levels[i - 1], function(i, v) { + v.state.opened = true; + }) + } + + for (var i = bottom; i > 0; i--) { + $.each(levels[i - 1], function(i, v) { + v.state.opened = false; + }) + } + + constructTree(levels[top - 1]); +} + +function showAlert(message) { + $("#alert-modal-message").html(message) + $("#alert-modal").modal() +} + +$(function() { + topmost = levels.length + bottommost = Math.max(1, levels.length - 1) + + // set the default values of the levels + $("#top-input").val(topmost) + $("#bottom-input").val(bottommost) + + $('[data-toggle="tooltip"]').tooltip() + + showLevels(topmost, bottommost); + + $('#level-button').click(function() { + var top = getInputValue('#top-input', 1000000) + var bottom = getInputValue('#bottom-input', 1) + + if (top > levels.length) { + showAlert("The topmost level (left) cannot be larger than " + + levels.length + ".") + $("#top-input").val(topmost) + } else if (bottom < 1) { + showAlert("The bottommost level (right) cannot be smaller than 1.") + $("#bottom-input").val(1) + } else if (top < bottom) { + showAlert("The topmost level (left) cannot be smaller than the bottommost level (right).") + } else { + showLevels(top, bottom); + } + }) + + $("#filter-button").click(function() { + var searchString = $("#search-input").val(); + $('#jstree').jstree('search', searchString); + }); + + $("#clear-button").click(function() { + $('#jstree').jstree(true).clear_search(); + $("#search-input").val(""); + }); + + $.tablesorter.themes.bootstrap = { + table : 'table table-bordered table-hover', + caption : 'caption', + header : 'bootstrap-header', + sortNone : '', + sortAsc : '', + sortDesc : '', + active : '', + hover : '', + icons : '', + iconSortNone : 'bootstrap-icon-unsorted', + iconSortAsc : 'glyphicon glyphicon-chevron-up', + iconSortDesc : 'glyphicon glyphicon-chevron-down', + filterRow : '', + footerRow : '', + footerCells : '', + even : '', + odd : '' + }; + +// $('#topic-modal').on('hidden.bs.modal', function (e) { +// $("#jstree").focus() +// }) +}); diff --git a/_site/assets/comp5213/website/lib/ie10-viewport-bug-workaround.css b/_site/assets/comp5213/website/lib/ie10-viewport-bug-workaround.css new file mode 100644 index 00000000000..8b3803b48da --- /dev/null +++ b/_site/assets/comp5213/website/lib/ie10-viewport-bug-workaround.css @@ -0,0 +1,15 @@ +/*! + * IE10 viewport hack for Surface/desktop Windows 8 bug + * Copyright 2014-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/* + * See the Getting Started docs for more information: + * http://getbootstrap.com/getting-started/#support-ie10-width + */ +@-webkit-viewport { width: device-width; } +@-moz-viewport { width: device-width; } +@-ms-viewport { width: device-width; } +@-o-viewport { width: device-width; } +@viewport { width: device-width; } diff --git a/_site/assets/comp5213/website/lib/ie10-viewport-bug-workaround.js b/_site/assets/comp5213/website/lib/ie10-viewport-bug-workaround.js new file mode 100644 index 00000000000..479a6ebdae4 --- /dev/null +++ b/_site/assets/comp5213/website/lib/ie10-viewport-bug-workaround.js @@ -0,0 +1,23 @@ +/*! + * IE10 viewport hack for Surface/desktop Windows 8 bug + * Copyright 2014-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// See the Getting Started docs for more information: +// http://getbootstrap.com/getting-started/#support-ie10-width + +(function () { + 'use strict'; + + if (navigator.userAgent.match(/IEMobile\/10\.0/)) { + var msViewportStyle = document.createElement('style') + msViewportStyle.appendChild( + document.createTextNode( + '@-ms-viewport{width:auto!important}' + ) + ) + document.querySelector('head').appendChild(msViewportStyle) + } + +})(); diff --git a/_site/assets/comp5213/website/lib/jquery.min.js b/_site/assets/comp5213/website/lib/jquery.min.js new file mode 100644 index 00000000000..b8c4187de18 --- /dev/null +++ b/_site/assets/comp5213/website/lib/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.2.3 | (c) jQuery Foundation | jquery.org/license */ +!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=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.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()},push:g,sort:c.sort,splice:c.splice},n.extend=n.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||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;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,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=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)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(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 oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(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"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.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===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!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 fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.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},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.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=fa.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=fa.selectors={cacheLength:50,createPseudo:ha,match:W,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(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===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]||fa.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]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.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(ba,ca).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("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.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.replace(P," ")+" ").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,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(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),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).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 Y.test(a.nodeName)},input:function(a){return X.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:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(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,k=[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(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(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 ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(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 va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(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?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(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 va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.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(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.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(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(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&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.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=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;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},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c; +}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.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=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"
","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!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&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n(" + + +
+ + + + + + + + + + + diff --git a/_site/feed.xml b/_site/feed.xml new file mode 100644 index 00000000000..8cec6bc56e6 --- /dev/null +++ b/_site/feed.xml @@ -0,0 +1,1255 @@ + + + + Xiaopeng LI + + http://localhost:4000/ + + Wed, 21 Sep 2022 01:32:10 -0400 + Wed, 21 Sep 2022 01:32:10 -0400 + Jekyll v4.2.2 + + + Exponential Family + <p>The exponential family distributions are very important in graphical models and Bayesian learning. They have nice properties, like conjugacy and finite sufficient statistics, which enable the convenience and efficiency of the inference and learning process. Yet, I only almost know the details of exponential family distribution. The minor gap between “almost know” and “know” prevents me from understanding it completely. Here I try to close the gap.</p> + +<h2 id="basics">Basics</h2> + +<p>The canonical/natural form of exponential family distribution is of the form</p> + +\[p(x|\theta) = \frac{1}{Z(\theta)}h(x)\exp[\theta^T \phi(x)] = h(x)\exp[\theta^T \phi(x) - A(\theta)]\] + +<p>where $\theta$ is the natural parameter, $\phi(x)$ is sufficient statistics, $Z(\theta)$ is the partition function, $A(\theta)$ is the log partition function. Let’s write the univariate Gaussian distribution in exponential family form</p> + +\[\mathcal{N}(x|\mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}}\exp[-\frac{1}{2\sigma^2}(x-\mu)^2] = \frac{1}{\sqrt{2\pi \sigma^2}}\exp[-\frac{1}{2\sigma^2}\mu^2]\exp[-\frac{1}{2\sigma^2}x^2 + \frac{\mu}{\sigma^2}x]\] + +<p>Therefore, it is easy to tell that</p> + +\[\theta = \begin{pmatrix} \frac{\mu}{\sigma^2} \\ -\frac{1}{2\sigma^2}\end{pmatrix} \\ +\phi(x) = \begin{pmatrix}x \\ x^2\end{pmatrix}\\ +Z(\theta) = \sqrt{2\pi \sigma^2}\exp[-\frac{1}{2\sigma^2}\mu^2]\] + +<p>There is one beautiful property of the log partition function $\nabla_{\theta}A(\theta) = \mathbb{E}_{p(x)}[\phi(x)]$.</p> + +<h2 id="mle-estimation">MLE Estimation</h2> + +<p>Given dataset $\mathcal{D}={x_1, x_2,\cdots,x_N}$, the data likelihood of an exponential family model has the form</p> + +\[p(\mathcal{D}|\theta) = [\prod_{i=1}^N h(x_i)] \frac{1}{Z(\theta)^N} \exp[\theta^T (\sum_{i=1}^N \phi(x_i))]\] + +<p>We see that the sufficient statistics are $N$ and $\sum_{i=1}^N \phi(x_i)$. The loglikelihood of the data $\log p(\mathcal{D}|\theta) = \theta^T \phi(\mathcal{D}) - N A(\theta)$ is concave since $-A(\theta)$ is concave in $\theta$, and $\theta^T \phi(\mathcal{D})$ is linear in $\theta$. To compute MLE for the model, we can compute the derivative of the log-likelihood:</p> + +\[\nabla_{\theta} \log p(\mathcal{D}|\theta) = \phi(\mathcal{D}) - N \nabla_{\theta}A(\theta) = \phi(\mathcal{D}) - N \mathbb{E}_{p(X|\theta)}[\phi(X)]\] + +<p>Setting this gradient to zero, we see that the empirical average of the sufficient statistics must equal the model’s theoretical expected sufficient statistics, i.e. $\hat{\theta}$ must satiesfy</p> + +\[\mathbb{E}_{p(X|\hat{\theta})}[\phi(X)] = \frac{1}{N}\sum_{i=1}^N \phi(x_i)\] + +<p>We need to solve this equation for specific type of distribution, which I will give some examples.</p> + +<h2 id="mle-for-gaussian-distribution">MLE for Gaussian distribution</h2> + +<p>For Gaussian distribution, following above, the MLE corresponds to solve</p> + +\[\mathbb{E}[\begin{pmatrix} X \\ X^2 \end{pmatrix}] = \begin{pmatrix} \mu \\ \sigma^2 + \mu^2 \end{pmatrix} = \begin{pmatrix} \frac{1}{N}\sum_{i=1}^N x_i \\ \frac{1}{N}\sum_{i=1}^N x_i^2 \end{pmatrix}\] + +<p>Solving this, we have</p> + +\[\mu = \frac{1}{N}\sum_{i=1}^N x_i, \quad \sigma^2 = \frac{1}{N}\sum_{i=1}^N x_i^2 - \mu^2\] + +<h2 id="em-for-gaussian-mixture">EM for Gaussian Mixture</h2> + +<p>For Gaussian mixture, we can use EM to perform MLE. But first, we should identify the MLE under complete data situation. We know that $p(x|\theta) = \sum_k p(z_k, x) = \sum_k p(z^k=1|\pi) p(x|z^k=1,\mu,\Sigma) = \sum_k \pi_k\mathcal{N}(x|\mu_k, \Sigma_k))$. If we assume that all variables are observed, we can learn the parameters simply by using MLE. The data likelihood is</p> + +\[p(x,z) = p(x|z,\mu, \sigma)p(z|\pi) = \prod_k \pi_k^{z^k} {\mathcal{N}(x|\mu_k,\sigma_k)}^{z^k} \\ +\log p(x,z) = \sum_k z^k \log \pi_k - z^k \frac{1}{2\sigma_k^2}(x-\mu_k)^2 + C\] + +<p>Obviously, the sufficient statistics and natural parameter can be identified:</p> + +\[\phi(x, z) = \begin{pmatrix} z^k \\ z^kx \\ z^k x^2 \end{pmatrix}\\ +\theta_k = \begin{pmatrix} \log\pi_k \\ \frac{\mu_k}{\sigma_k^2} \\ -\frac{1}{2\sigma^2}\end{pmatrix}\] + +<p>Here we are also able to compute the expected sufficient statistics of the random variable $X$ and $Z$</p> + +\[\mathbb{E}_{p(x,z)}[z^k] = \pi_k, \quad \mathbb{E}_{p(x,z)}[z^k x] = \pi_k\mu_k,\quad \mathbb{E}_{p(x,z)}[z^k x^2] = \pi_k(\sigma^2 + \mu_k^2)\] + +<p>Using the MLE rule, given the dataset $\mathcal{D}={x_1, x_2,\cdots,x_N}$, we need to set the $\mathbb{E}[\phi(X)] = \frac{1}{N}\sum_{i=1}^N\phi(x_i)$. This leads to</p> + +\[\pi_k = \frac{1}{N}\sum_i z_i^k, \quad \pi_k\mu_k = \frac{1}{N}\sum_i z_i^k x_i, \quad \pi_k(\sigma_k^2 + \mu_k^2) = \frac{1}{N}\sum_i z_i^k x_i^2 \\ +\pi_k = \frac{1}{N}\sum_i z_i^k, \quad \mu_k = \frac{\sum_i z_i^k x_i}{\sum_i z_i^k}, \quad \sigma_k^2 = \frac{\sum_i z_i^k x_i^2}{\sum_i z_i^k} - \mu_k^2\] + +<p>Note that the derivation is different from P351 in Murphy’s book, where one has to enforce the constraints to derive the maximization of $\pi$. Here since we use the MLE property in exponential family, it simplifies the derivation a lot. The results are exactly the same. Now that we have identified the rule for converting the sufficient statistics to the MLE of the parameters, we can now use the EM. In the E-step, we complete the data by computing the posterior distribution of $z$ under current parameter setting $p(z_i^k=1|x_i,\theta^t)$</p> + +\[r_{ik} = p(z_i^k=1|x_i,\theta^t) = \frac{\pi_k p(x_i|\theta_k^{t})}{\sum_{k'}\pi_{k'}p(x_i|\theta_{k'}^t)}\] + +<p>In the M-step, we compute optimize the expected complete data loglikelihood, i.e. MLE. This corresponds to take the expectation of the sufficient statistics over $p(z_i^k=1|x_i,\theta^t)$. Then we follow the MLE estimation using the expected sufficient statistics, i.e.</p> + +\[\pi_k = \frac{1}{N}\sum_i r_{ik}, \quad \mu_k = \frac{\sum_i r_{ik} x_i}{\sum_i r_{ik}}, \quad \sigma_k^2 = \frac{\sum_i r_{ik} x_i^2}{\sum_i r_{ik}} - \mu_k^2\] + +<h2 id="stepwise-em-for-gaussian-mixture">Stepwise EM for Gaussian Mixture</h2> + +<p>The reason why I tried to figure out the derivation of Gaussian mixture using sufficient statistics, instead of the one presented in the book, is that using sufficient statistics will lead to more general optimization method, such as stepwise EM and stochastic variational inference. Stepwise EM is computed as follows</p> + +\[\text{While not converged} \\\text{for each example $i=1:N$ in a random order do}\\ +s_i = \sum_z p(z|x_i, \theta(\mu))\phi(x_i,z);\\ +\mu = (1-\eta_k)\mu + \eta_k s_i;\\ +t = t+1\] + +<p>Since we are able to convert sufficient statistics into the MLE of the parameters as above, we only need to update the sufficient statistics $\mu$. Therefore, the Stepwise EM for Gaussian Mixture is as follows</p> + +\[\text{While not converged} \\ +\text{For each example $x_i$ and component $k$ do}\\ +\text{E-step:}\quad r_{ik} = p(z_i^k=1|x_i,\theta^t) \\ +\text{M-step:}\quad \hat{\omega}_k = \hat{\omega}_k + \eta_t (r_{ik} - \hat{\omega}_k) \\ +\hat{\mu}_k = \hat{\mu}_k + \eta_t (r_{ik} x_i - \hat{\mu}_k) \\ +\hat{S}_k = \hat{S}_k + \eta_t (r_{ik} x_ix_i^T - \hat{S}_k) \\ +\text{Update parameter}\quad \pi_k^{t+1} = \hat{\omega}_k, \quad \mu_k^{t+1} = \frac{\hat{\mu}_k}{\omega_k}, \quad \Sigma^{t+1} = \frac{\hat{S}_k}{\omega_k} - {\mu_k^{t+1}}^2 \\ +t = t+1\] + +<p>For Stepwise EM with minibatch of size $m$, the algorithm is as follows:</p> + +\[\text{While not converged} \\ +\text{For each minibatch $X$ of size $M$ and component $k$ do}\\ +\text{E-step:}\quad r_{ik} = p(z_i^k=1|x_i,\theta^t) \\ +\text{M-step:}\quad \hat{\omega}_k = \hat{\omega}_k + \eta_t (\sum_{i=1}^M r_{ik} - \hat{\omega}_k) \\ +\hat{\mu}_k = \hat{\mu}_k + \eta_t (\sum_{i=1}^M r_{ik} x_i - \hat{\mu}_k) \\ +\hat{S}_k = \hat{S}_k + \eta_t (\sum_{i=1}^M r_{ik} x_ix_i^T - \hat{S}_k) \\ +\text{Update parameter}\quad \pi_k^{t+1} = \frac{1}{M}\hat{\omega}_k, \quad \mu_k^{t+1} = \frac{\hat{\mu}_k}{\hat{\omega}_k}, \quad \Sigma_k^{t+1} = \frac{\hat{S}_k}{\hat{\omega}_k} - \mu_k^{t+1}{\mu_k^{t+1}}^T \\ +t = t+1\] + + Wed, 14 Mar 2018 00:00:00 -0400 + http://localhost:4000/blog/2018/03/14/Exponential-Family + http://localhost:4000/blog/2018/03/14/Exponential-Family + + + + + + EM Algorithm In-depth + <p>I find it necessary to understand EM more. As an optimization method for MLE/MAP, it is also related to variational bayes EM (VBEM), Gibbs sampling as well as Wake-sleep algorithm.</p> + +<h3 id="em-introduction">EM Introduction</h3> +<p>EM algorithm is extremely useful to deal with models with latent variables. It can be used for MLE and MAP estimates. The center idea of EM is that since we have latent variables, which we do not know their value, we can first complete the data by estimating the latent variables with probability, and then maximize the complete data loglikelihood over the parameters.</p> + +<p>Let $x_i$ be the observed variables in case $i$, and let $z_i$ be the hidden variables. The goal is to maximize the loglikelihood of the observed data:</p> + +\[\mathcal{l}(\theta) = \sum_{i=1}^N \log p(x_i|\theta) = \sum_{i=1}^N \log [\sum_{z_i}p(x_i, z_i|\theta)].\] + +<p>This is hard to optimize since the log cannot be pushed inside. EM gets around this problem. If we complete the data by estimating the value of $z_i$, then we can get the complete data loglikelihood easily:</p> + +\[\mathcal{l}_c(\theta) =\sum_{i=1}^N \log p(x_i, z_i|\theta).\] + +<p>We can estimate the value of $z_i$ using old parameters $\theta^{t}$. But since our estimate of $z$ is not certain, but rather with probability, what we actually get is the so-called expected complete data loglikelihood:</p> + +\[Q(\theta, \theta^{t}) =\sum_{i=1}^N p(z_i|x_i,\theta^{t})\log p(x_i, z_i|\theta) = \mathbb{E}_{z|x,\theta^{t}}[\log p(x_i, z_i|\theta)].\] + +<p>This is exactly E-step. The goal of E-step is to compute $Q(\theta,\theta^{t})$, or rather, the terms inside of it which the MLE depends on (sufficient statistics). In the M-step, we optimize the Q function wrt $\theta$:</p> + +\[\theta^{t+1} = \underset{\theta}{\arg\max}Q(\theta, \theta^t).\] + +<p>That is EM algorithm. To give an concrete example, let me show the derivation of GMM. The expected completed data loglikelihood is given by</p> + +\[Q(\theta, \theta^{t}) =\sum_{i} \mathbb{E}_{z|x,\theta^t}[\log p(x_i, z_i|\theta)] = \sum_i \mathbb{E}[\log [\prod_{k=1}^K (\pi_k p(x_i|\theta_k))^\mathbb{I}(z_i=k)]]\\ +=\sum_i \sum_k \mathbb{E}[\mathbb{I}(z_i=k)]\log[\pi_k p(x_i|\theta_k)]\\ +=\sum_i \sum_k p(z_i=k|x_i,\theta_t)\log[\pi_k p(x_i|\theta_k)]\\ +=\sum_i \sum_k r_{ik}\log[\pi_k p(x_i|\theta_k)],\] + +<p>where $r_{ik} = p(z_i=k|x_i, \theta_t)$ is the responsibility that cluster k takes for data point i. This is computed in E-step. E-step:</p> + +\[r_{ik}=\frac{\pi_k p(x_i|\theta_k^t)}{\sum_{k'}\pi_{k'}p(x_i|\theta_{k'}^t)}.\] + +<p>M-step, we optimize Q wrt $\pi$ and $\theta$. For $\pi$, we should remember the constraint that $\sum_k \pi_k = 1$. Taking the Langagian and set the derivatives wrt $\theta$ to zero, we can get $\lambda=\sum_i\sum_k r_{ik}=N$ and $\pi_k = \frac{1}{N}\sum_{i}r_{ik}$. Same for $\theta$:</p> + +\[\mu_k = \frac{\sum_i r_{ik}x_i}{r_k}\\ +\Sigma_k = \frac{\sum_i r_{ik}(x_i - \mu_k)(x_i - \mu_k)^T}{r_k}.\] + +<h3 id="generalized-em-tight-lower-bound-of-data-loglikelihood">Generalized EM: tight lower bound of data loglikelihood</h3> +<p>As stated in Chapter 11 of Murphy’s book, EM actually achieves the tight lower bound of data loglikelihood. The lower bound (or free energy) is</p> + +\[\mathcal{L}(\theta, q_i) = \sum_{z_i} q_i(z_i)\log \frac{p(x_i,z_i|\theta)}{q_i(z_i)}\\ += \log p(x_i|\theta) - \mathbb{KL}(q_i(z_i)||p(z_i|x_i,\theta)).\] + +<p>$\mathcal{L}$ is the lower bound of the data loglikelihood $\log p(x_i|\theta)$, and the gap is $\mathbb{KL}(q_i(z_i)||p(z_i|x_i,\theta))$. We can maximize the lower bound by setting $q_i(z_i) = p(z_i|x_i,\theta))$. Of course, $\theta$ is unknown, so instead we use $q_i^t(z_i) = p(z_i|x_i,\theta^t)$, where $\theta^t$ is our estimate of the parameters at iteration t. With that, we plug back into the lower bound and get</p> + +\[Q(\theta, \theta^t) = \sum_i \mathbb{E}_{z_i|x_i,\theta^t}[\log p(x_i, z_i\theta)] + \mathbb{H}(p(z_i|x_i,\theta^t)).\] + +<p>From above, we noticed that the first term is exactly the expected complete data loglikelihood in the EM algorithm. And since the second term is a constant wrt $\theta$, the M-step becomes</p> + +\[\theta^{t+1} = \underset{\theta}{\arg\max}Q(\theta, \theta^t)=\underset{\theta}{\arg\max}\sum_i \mathbb{E}_{z_i|x_i,\theta^t}[\log p(x_i, z_i|\theta)],\] + +<p>as before. Therefore, the E-step is to optimize over the $q$ function so as to achieve the tight lower bound of the data loglikelihood of given current model (model parameters) and the M-step is optimizing the tight lower bound over the parameters.</p> + +<h3 id="vbem-em-using-variational-approximation">VBEM: EM using variational approximation</h3> +<p>Without any constraint on the form of $q_i(z_i)$, of course, the tight lower bound is achievable by simply setting $q_i^t(z_i) = p(z_i|x_i,\theta^t)$. However, when the posterior has no closed form, is intractable and not easy to compute, the tight lower bound cannot be achieved. Variational Bayes makes mean-field assumption on the posterior in order to approximate the true posterior. That is, the constraint on $q_i(z_i)$ is factorial form: $q(z,\theta) = q(\theta)\prod_i q(z_i)$. Here, the full Bayesian inference is made, i.e. treating $\theta$ as a distribution like other variables instead of MAP estimate. The whole process then is exactly as EM, except integrating $\theta$ out in E-step and updating $q(\theta)$ in M-step. That’s why it is called VBEM:</p> + +\[\text{Variational E-step:} \quad \log q(z) = \mathbb{E}_{q(\theta)}[\log p(x, z, \theta)] + \text{const} \\ +\text{Variational M-step:} \quad \log q(\theta) = \mathbb{E}_{q(z)}[\log p(x, z, \theta)] + \text{const},\] + +<p>where $\log q_j(x_j) = \mathbb{E}_{-q_j}[\log \tilde{p}(x)] + const$ is the form we usually deal with in variational inference and it is obtained by maximizing lower bound.</p> + +<h3 id="gibbs-sampling-em-using-monte-carlo-sampling">Gibbs Sampling: EM using Monte Carlo sampling</h3> +<p>The steps of Gibbs sampling has surprising resemblance with EM. Gibbs sampling can be seen as the two sampling steps involving latent variable $z$ and parameter $\theta$:</p> + +\[z^{t+1} \sim p(z|x, \theta^t) \\ +\theta^{t+1} \sim p(\theta|x, z^{t+1}).\] + +<p>The first step resembles E-step, and the second step resembles M-step. In EM, the E-step computes the exact posterior distribution $p(z|x, \theta^t)$ for $z$, while the M-step computes the MAP estimate of $\theta$. In Gibbs sampling, the first step instead samples from $p(z|x, \theta^t)$, while the second step instead samples from the distribution of $\theta$.</p> + +<h3 id="wake-sleep-em-for-probabilistic-deep-model">Wake-sleep: EM for probabilistic deep model</h3> +<p>Wake-sleep is an algorithm proposed by Hinton for training DBN and DBM (unsupervisedly). The network has recognition weights, which convert the input into representations in successive hidden layers, and generative weights, which reconstruct the representation. In the “wake” phase, neurons are driven by recognition connections, and generative weights are adapted to increase the probability that the would reconstruct the correct activity vector in the layer below. In the “sleep” phase, neurons are driven by generative connections, and recognition weights are adapted to increase the probability that they would produce the correct activity vector in the layer above. Wake-sleep algorithm is also optimizing the free energy:</p> + +\[\log P(d;G) \geq \log P(d;G) - \mathbb{KL}(Q(h|d;R), P(h|d;G))\\ +F(d;R,G) = -\log P(d;G) + \mathbb{KL}(Q(h|d;R), P(h|d;G)).\] + +<p>This exactly resembles the free energy of EM algorithm, and the “wake” phase corresponds to M-step, “sleep” phase corresponds to E-step. The distribution $Q(h|d)$ produced by the recognition weights is a factorial distribution in each hidden layer because the recognition weights produce stochastic states of units within a hidden layer that are conditional independent, given the states in the layer below. It is natural to use factorial distribution in neural net because it allows the probability distribution over the $2^n$ alternative hidden representations to be specified with $n$ numbers instead of $2^n-1$. During “wake” phase, minimizing the free energy wrt the generative weights will tend to favor the model whole posterior distribution is most similar to $Q(h|d)$. Thus, the effect of factorial distribution in $Q(h|d)$ is not severe.</p> + +<p>Although generally considered as approximating the normalization constant, the contrastive divergence (CD) algorithm for training RBM is also similar to wake-sleep algorithm if considering only generating one sample.</p> + +<p>In conclusion, many good ideas in machine learning are remarkablely similar. One has to find the underlying connections in order to develop deep understanding of the algorithms. I read some of the points from online or books, and I am not at all fully understand all of them. But the subtle connections are really interesting. And I think that, although many people are interested in deep neural networks without probabilistic, there are indeed many ideas that are more straightforward and more promising under probabilistic framework, especially unsupervised deep learning.</p> + + Thu, 14 Dec 2017 23:00:00 -0500 + http://localhost:4000/blog/2017/12/14/EM-In-Depth + http://localhost:4000/blog/2017/12/14/EM-In-Depth + + + + + + Tricks of Sigmoid Function + <p>During my research of Bayesian Deep Models (integration of Bayesian graphical models with deep learning models), I found several handy tricks when dealing with sigmoid functions. Here, I summarize several for future use and also for other researchers who might find it useful.</p> + +<h3 id="variational-lower-bound-on-sigmoid-sigmax">Variational Lower Bound on Sigmoid $\sigma(x)$</h3> + +<h3 id="expectation-of-sigmoid-function-with-normal-distribution">Expectation of Sigmoid function with Normal distribution</h3> +<p>Consider the following logistic-normal integral:</p> + +\[g=\int_{-\infty}^{\infty} \sigma(x)\mathcal{N}(x|\mu, \sigma^2) dx = \int_{-\infty}^{\infty} \frac{1}{1+e^{-x}} \frac{1}{\sigma \sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} dx.\] + +<p>The logistic-normal integral does not have analytic expression. However, for mathmatical simplicity, we can approximate the expectation. In the end, we will demonstrate that the integral is approximately a reparameterized logistic function.</p> + +<p>First, we can approximate the sigmoid function with a probit function.</p> + +\[\sigma(x)\approx \Phi(\xi x), \text{where } \Phi(x)=\int_{-\infty}^x \mathcal{N}(\theta|0,1)d\theta, \text{and } \xi^2=\frac{\pi}{8}\] + +<p>A little fact is that the probit-normal integral is just another probit function:</p> + +\[\int \Phi(x) \mathcal{N}(x|\mu,\sigma^2) dx = \Phi(\frac{\mu}{\sqrt{1+\sigma^2}})\] + +<p>Therefore,</p> + +\[g\approx \int_{-\infty}^{\infty} \Phi(\xi x)\mathcal{N}(\mu, \sigma^2) dx = \Phi(\frac{\xi \mu}{\sqrt{1+\xi^2\sigma^2}})\approx \sigma(\frac{\mu}{\sqrt{1+\xi^2\sigma^2}}) = \sigma(\frac{\mu}{\sqrt{1+\pi\sigma^2/8}})\] + +<p>It actually means, given a normally distributed random variable $x$, the sigmoid of $x$ is approximately the sigmoid of $\mathbb{E}[x]$ with some adjustment by the variance.</p> + +<h3 id="some-others">Some others</h3> +<p>\(\tanh(x)=2\sigma(2x)-1\)</p> + + Thu, 09 Mar 2017 23:00:00 -0500 + http://localhost:4000/blog/2017/03/09/Tricks-of-Sigmoid-Function + http://localhost:4000/blog/2017/03/09/Tricks-of-Sigmoid-Function + + + + + + Variational Autoencoder + <p>Variational Autoencoder (VAE) has been proposed for two years. During the past two years, some good papers related variational autoencoder come up time to time. And I think it is a good tool worth investigating. Recently, I decide to do something about collaborative recommendation with cross-modality multimedia content using Bayesian deep learning. I think VAE could be a good help. In this post, I’ll investigate and explain VAE in my way.</p> + + Fri, 18 Nov 2016 23:00:00 -0500 + http://localhost:4000/blog/2016/11/18/Variational-Autoencoder + http://localhost:4000/blog/2016/11/18/Variational-Autoencoder + + + + + + Stochastic Gradient Monte Carlo + <p>Lately, I’m trying to investigate Bayesian Deep Learning and seriously considering it to be my PhD topic. Combining Bayesian with Deep Learning is current hot topic and with the current development of stochastic gradient monte carlo, I think it’s time for Bayesian Deep Learning to fly. And I could probably benefit from it a lot.</p> + +<h1 id="hamiltonian-monte-carlo">Hamiltonian Monte Carlo</h1> +<p>A perfect tutorial for introduction of Hamiltonian Monte Carlo is <a href="https://theclevermachine.wordpress.com/2012/11/18/mcmc-hamiltonian-monte-carlo-a-k-a-hybrid-monte-carlo/">MCMC: Hamiltonian Monte Carlo (a.k.a. Hybrid Monte Carlo)</a>.</p> + +<h1 id="stochastic-gradient-monte-carlo">Stochastic Gradient Monte Carlo</h1> + +<p>Here, I’m going to run some examples using Hamiltonian Monte Carlo, Stochastic Gradient Langevin Dynamics and Stochastic Gradient Hamiltonian Monte Carlo.</p> + +<p>Suppose we are dealing with target distribution of</p> + +\[U(\theta)=-2\theta^2 + \theta^4.\] + +<p>Think of it as the un-normalized log probability of</p> + +\[U(\theta) = - \sum_{x \in \mathcal{D}} \log p(x|\theta) - \log p(\theta)\] + +<p>Then the un-normalized posterior of $\theta$ is given by:</p> + +\[p(\theta | \mathcal{D}) \propto \exp(-U(\theta)).\] + +<p>And the true gradient is</p> + +\[\nabla U(\theta) = -4\theta + 4\theta^3.\] + +<p>However, if stochastic gradient noise, the gradient we get by calculating stochastic gradient would have an additional noise term. Let’s define the noisy gradient as</p> + +\[\nabla \tilde{U}(\theta) = -4\theta^2 + 4\theta^3 + \mathcal{N}(0,4).\] + +<p>Let’s see how we can approximate this target distribution with noisy gradient using monte carlo methods.</p> + +<pre><code class="language-Python">%matplotlib inline + +import numpy as np +import matplotlib.pyplot as plt + +nsample = 80000; +xStep = 0.1; +m = 1; +C = 3; +dt = 0.1; +nstep = 50; +V = 4; + +#set random seed +np.random.seed(10); + +def U(x): + return -2 * x**2+x**4 +def gradU(x): + return -4*x+4*x**3+np.random.randn()*2 +def gradUPerfect(x): + return -4*x+4*x**3 +#draw probability diagram +xGrid = np.array(np.arange(-2,2,xStep)); +y = np.exp( - U(xGrid) ); # take exponential to convert from log to un-normalized probability +y = y / sum(y) / xStep; # normalize, then divided by xStep to calculate the density +</code></pre> + +<pre><code class="language-Python"># "Gold Standard" Hamiltonian Monte Carlo +def hmc( U, gradU, m, dt, nstep, x, mhtest ): + # HMC using gradU, for nstep, starting at position x + p = np.random.randn() * np.sqrt( m ); + oldX = x; + oldEnergy = p * m * p / 2 + U(x); + # do leapfrog + for i in range(nstep): + p = p - gradU( x ) * dt / 2; + x = x + p/m * dt; + p = p - gradU( x ) * dt / 2; + + p = -p; + + # M-H test + if mhtest != 0: + newEnergy = p * m * p / 2 + U(x); + if np.exp(oldEnergy- newEnergy) &lt; np.random.rand(): + # reject + x = oldX; + return x + +# HMC without noise with M-H +samples = np.zeros(nsample); +x = 0; +for i in range(nsample): + x = hmc( U, gradUPerfect, m, dt, nstep, x, 1); # no stochastic gradient noise + samples[i] = x; + +[yhmc,xhmc] = np.histogram(samples, xGrid); +yhmc = 1.0 * yhmc / np.sum(yhmc) / xStep; +</code></pre> + +<pre><code class="language-Python"># Stochastic Gradient Langevin Dynamics +def sgld( U, gradU, m, dt, nstep, x, C, V ): + # vanilla SGLD using gradU, for L steps, starting at position x + sigma = np.sqrt( 2 * dt); + for t in range(nstep): + dx = - gradU( x ) * dt + np.random.randn() * sigma; + x = x + dx; +# SGHMC with noise, no M-H +samples = np.zeros(nsample); +x = 0; +for i in range(nsample): + x = sghmc( U, gradU, m, dt, nstep, x, C, V ); + samples[i] = x; + +ysgld,xsgld = np.histogram(samples, xGrid); +ysgld = 1.0 * ysgld / sum(ysgld) / xStep; +</code></pre> + +<pre><code class="language-Python"># Stochastic Gradient Hamiltonian Monte Carlo +def sghmc( U, gradU, m, dt, nstep, x, C, V ): + # SGHMC using gradU, for nstep, starting at position x + p = np.random.randn() * np.sqrt( m ); + B = 0.5 * V * dt; + D = np.sqrt( 2 * (C-B) * dt ); + + for i in range(nstep): + p = p - gradU( x ) * dt - p * C * dt + np.random.randn()*D; + x = x + p/m * dt; + return x + +# SGHMC with noise, no M-H +samples = np.zeros(nsample); +x = 0; +for i in range(nsample): + x = sghmc( U, gradU, m, dt, nstep, x, C, V ); + samples[i] = x; + +ysghmc,xsghmc = np.histogram(samples, xGrid); +ysghmc = 1.0 * ysghmc / sum(ysghmc) / xStep; +</code></pre> + +<pre><code class="language-Python"># plot the approximated distribution +plt.plot(xGrid,y,'-',xhmc[1:],yhmc,'g-v',xsgld[1:], ysgld, 'm-x', xsghmc[1:],ysghmc,'r') +plt.legend( ('True Distribution', 'Standard HMC', 'SGLD', 'SGHMC'), loc='center left', bbox_to_anchor=(1, 0.5)) +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;matplotlib.legend.Legend at 0x1064ea110&gt; +</code></pre></div></div> + +<p><img src="/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_6_1.png" alt="png" /></p> + +<p>That’s great. We now know that under stochastic gradient noise, we can still approximate the true posterior distribution using monte carlo methods, i.e. SGLD and SGHMC.</p> + +<h2 id="logistic-regression-using-stochastic-gradient-monte-carlo">Logistic Regression using Stochastic Gradient Monte Carlo</h2> + +<p>Now let’s do the simplest case, logistic regression. Hope we can see how stochastic gradient monte carlo actually can be applied to real machine learning problem.</p> + +<p>First, let’s construct a toy dataset. We draw our $X$ data from a 2-D normal distribution, $\mathcal{N}(\mu,\Sigma)$.</p> + +<pre><code class="language-Python">import numpy as np +import matplotlib.pyplot as plt +import matplotlib + +# Setting for data simulation +N = 1000; # data size +D = 3; # parameter size +#betaTrue = np.random.randint(-1, 2, size=(D,1)); +betaTrue = np.array([2,3,1]).T + +# Add correlation to design matrix X +muDesg = np.zeros(D-1); +corrX = 0.2; +SigmaDesg = np.zeros((D-1,D-1)); +for i in range(D-1): + for j in range(i,D-1): + SigmaDesg[i,j] = corrX ** (j-i); + SigmaDesg[j,i] = SigmaDesg[i,j]; + +X = np.hstack((np.ones((N,1)),np.random.multivariate_normal(muDesg,SigmaDesg,N))); +probTrue = np.exp(np.dot(X, betaTrue))/(1+np.exp(np.dot(X, betaTrue))); +y = np.zeros(N); +for j in range(N): + y[j] = np.random.binomial(1,probTrue[j]); + +NTest = 1000 +XTest = np.hstack((np.ones((NTest,1)),np.random.multivariate_normal(muDesg,SigmaDesg,NTest))); +probTrueTest = np.exp(np.dot(XTest, betaTrue))/(1+np.exp(np.dot(XTest, betaTrue))); +yTest = np.zeros(NTest); +for j in range(NTest): + yTest[j] = np.random.binomial(1,probTrueTest[j]); + +cmap, norm = matplotlib.colors.from_levels_and_colors([0, 1, 2], ['red', 'green']) +plt.scatter(X[:,1], X[:,2], c=y, cmap=cmap) +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;matplotlib.collections.PathCollection at 0x10cb79b50&gt; +</code></pre></div></div> + +<p><img src="/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_10_1.png" alt="png" /></p> + +<p>Next, let’s see how each of the methods above can perform logistic regression on this dataset. Here we use prior of normal distribution for $\beta$:</p> + +\[\beta \sim \mathcal{N}(0,\sigma I)\] + +<p>For logistic regression, we have following distribution:</p> + +\[p(y_k=1|x_k,w) = \frac{e^{w^T x_k}}{1+e^{w^T x_k}}\] + +\[\mathcal{L}(w) = \sum_k y_k \log p(y_k=1|x_k,w) + (1-y_k) \log(1-p(y_k=1|x_k,w))\] + +\[\nabla \mathcal{L}(w) = \sum_k (y_k - p(y_k=1|x_k,w)) x_k\] + +<p>Let’s use SGD as baseline.</p> + +<h3 id="logistic-regression-with-sgd">Logistic Regression with SGD</h3> + +<pre><code class="language-Python"># SGD +def prob(w,X): + return 1.0/(1+np.exp(-X.dot(w))) + +def cost(w,X,y,r): + return -np.sum(y*np.log(prob(w,X))+(1-y)*np.log(1-prob(w,X))) + r * np.dot(w.T,w) /2 + +def grad(w,X,y,r): + return -np.dot(X.T,y-prob(w,X)) + r * w + +w = np.random.rand(3) +r = 0.1 +i = 0 +lr = 1e-3 +while np.linalg.norm(grad(w,X,y,r)) &gt; 1e-6: + if i % 1000 == 0: + print('[Iter %d]: cost=%f' % (i,cost(w,X,y,r))) + w = w - lr*grad(w,X,y,r) + i += 1 +print "weight: ", w[0],w[1],w[2] +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[Iter 0]: cost=605.040794 +[Iter 1000]: cost=278.583159 +weight: 2.02798388293 3.42836274096 0.931072930232 +</code></pre></div></div> + +<pre><code class="language-Python"># Prediction results for SGD +accSGLD = np.mean((prob(w, XTest) &gt; 0.5) == yTest); +print('The test accuracy is %f' % accSGLD) +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>The test accuracy is 0.855000 +</code></pre></div></div> + +<h3 id="logistic-regression-with-sgld">Logistic Regression with SGLD</h3> + +<pre><code class="language-Python"># Stochastic Gradient Langevin Dynamics +import scipy.special + +def logistic_function(x): + return .5 * (1 + np.tanh(.5 * x)) + +def LR_SGLD(X,y): + maxIter = 10000; + + # plot index + plotInd = 1; + + N, D = X.shape; # data size + + tau = int(np.floor(np.sqrt(N))); # size of minibatch + + # step size + # a = 1; + # b = 1; + # gamma = 0.7; + + # prior + muStar = np.zeros(D); + sigma = 0.1; + SigmaStar = np.eye(D)*sigma; + invSigmaStar = np.linalg.inv(SigmaStar); + + # Initialize + beta0 = np.random.rand(D); + betaVec = np.zeros((maxIter,D)); + betaVec[0,:] = beta0; + + eta = np.zeros(maxIter); + z = np.zeros((maxIter,D)); + + eta0 = 0.01; + + # sgld iteration + for t in range(maxIter-1): + # random sample a minibatch + S = np.random.choice(N,tau, replace=False); + + # sample coordinates of z + # eta(t) = a*(b+t)^(-gamma); + eta[t] = max(1/(t+1),eta0); + zVar = eta[t] * 2; + z[t,:] = np.random.randn(D) * np.sqrt(zVar); + + gradR = np.dot(invSigmaStar,(betaVec[t,:]-muStar)); + #print gradR + gradL = -np.dot(X[S,:].T,(y[S]-scipy.special.expit(np.dot(X[S,:],betaVec[t,:])))); + #print gradL + + betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL)+z[t,:]; + #print betaVec[t+1,:] + + if plotInd == 1: + fig = plt.figure(); + ax1 = fig.add_subplot(311) + ax1.plot(range(maxIter),betaVec[:,1]); + ax2 = fig.add_subplot(312) + ax2.plot(range(maxIter),betaVec[:,2]); + ax3 = fig.add_subplot(313) + ax3.plot(range(maxIter),betaVec[:,2]); + + burnIn = int(0.5*maxIter); + samples = betaVec[burnIn+1:,:]; + return samples + +samples = LR_SGLD(X,y) +</code></pre> + +<p><img src="/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_16_0.png" alt="png" /></p> + +<pre><code class="language-Python">np.mean(samples,0) +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>array([ 1.51066479, 2.60689302, 0.77643745]) +</code></pre></div></div> + +<pre><code class="language-Python">plt.subplot(311) +plt.hist(samples[:,0],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +plt.subplot(312) +plt.hist(samples[:,1],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +plt.subplot(313) +plt.hist(samples[:,2],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;matplotlib.text.Text at 0x10bc85f10&gt; +</code></pre></div></div> + +<p><img src="/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_18_1.png" alt="png" /></p> + +<pre><code class="language-Python"># Prediction results for SGLD +betaSamples = samples; +probPred = np.mean(scipy.special.expit(np.dot(XTest,betaSamples.T)),1); +#loglikSGLD(l) = sum(yTest.*log(probPred)+(1-yTest).*log(1-probPred)); +accSGLD = np.mean((probPred &gt; 0.5) == yTest); +print('Test accuracy is %f' %accSGLD) +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Test accuracy is 0.853000 +</code></pre></div></div> + +<p>As it can be seen, using SGLD with minibatch of only about 30, we can approximate the true posterior. Furthermore, as interested by many recent papers, from the posterior distribution of the parameters, we can obtain the uncertainty of the model about the prediction.</p> + +<h3 id="logistic-regression-with-sghmc">Logistic Regression with SGHMC</h3> + +<pre><code class="language-Python"># Stochastic Gradient Hamiltonian Monte Carlo +import scipy.special + +def logistic_function(x): + return .5 * (1 + np.tanh(.5 * x)) + +def LR_SGHMC(X,y): + maxIter = 10000; + + # plot index + plotInd = 1; + + N, D = X.shape; # data size + + tau = int(np.floor(np.sqrt(N))); # size of minibatch + + # step size + # a = 1; + # b = 1; + # gamma = 0.7; + + # prior + muStar = np.zeros(D); + sigma = 0.1; + SigmaStar = np.eye(D)*sigma; + invSigmaStar = np.linalg.inv(SigmaStar); + + # Initialize + beta0 = np.random.rand(D); + betaVec = np.zeros((maxIter,D)); + betaVec[0,:] = beta0; + + eta = np.zeros(maxIter); + z = np.zeros((maxIter,D)); + + eta0 = 0.01; + + # sghmc iteration + for t in range(maxIter-1): + # random sample a minibatch + S = np.random.choice(N,tau, replace=False); + + # parameters of sghmc + C = np.eye(D) + Bh = 0 + + # eta(t) = a*(b+t)^(-gamma); + eta[t] = max(1/(t+1),eta0); + zCov = eta[t] * 2 * (C - Bh); + z[t,:] = np.random.multivariate_normal(np.zeros(D),zCov); + + gradR = np.dot(invSigmaStar,(betaVec[t,:]-muStar)); + gradL = -np.dot(X[S,:].T,(y[S]-scipy.special.expit(np.dot(X[S,:],betaVec[t,:])))); + + #betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL) - eta[t]*np.dot(C,betaVec[t,:]) + z[t,:]; + #using momentum equaivalent update + # Wrong! update it + betaVec[t+1,:] = betaVec[t,:]-eta[t]*(gradR+N/tau*gradL) - eta[t]*np.dot(C,betaVec[t,:]) + z[t,:]; + + if plotInd == 1: + fig = plt.figure(); + ax1 = fig.add_subplot(311) + ax1.plot(range(maxIter),betaVec[:,1]); + ax2 = fig.add_subplot(312) + ax2.plot(range(maxIter),betaVec[:,2]); + ax3 = fig.add_subplot(313) + ax3.plot(range(maxIter),betaVec[:,2]); + + burnIn = int(0.5*maxIter); + samples = betaVec[burnIn+1:,:]; + return samples + +samples_SGHMC = LR_SGHMC(X,y) +</code></pre> + +<p><img src="/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_22_0.png" alt="png" /></p> + +<pre><code class="language-Python">np.mean(samples_SGHMC,0) +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>array([ 1.46368518, 2.5681857 , 0.74677892]) +</code></pre></div></div> + +<pre><code class="language-Python">plt.subplot(311) +plt.hist(samples_SGHMC[:,0],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +plt.subplot(312) +plt.hist(samples_SGHMC[:,1],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +plt.subplot(313) +plt.hist(samples_SGHMC[:,2],20) +plt.title("Dimension 1") +plt.xlabel("Value") +plt.ylabel("Frequency") +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;matplotlib.text.Text at 0x114e7d750&gt; +</code></pre></div></div> + +<p><img src="/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_24_1.png" alt="png" /></p> + +<pre><code class="language-Python"># Prediction results for SGHMC +betaSamples = samples_SGHMC; +probPred = np.mean(scipy.special.expit(np.dot(XTest,betaSamples.T)),1); +#loglikSGLD(l) = sum(yTest.*log(probPred)+(1-yTest).*log(1-probPred)); +accSGLD = np.mean((probPred &gt; 0.5) == yTest); +print('Test accuracy is %f' %accSGLD) +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Test accuracy is 0.851000 +</code></pre></div></div> + +<h2 id="conclusion">Conclusion</h2> + +<p>I think this concludes my trial towards Stochastic Gradient Monte Carlo methods. It has been shown that both stochstic gradient monte carlo methods, i.e. Stochastic Gradient Langevin Dynamics and Stochastic Gradient Hamiltonian Monte Carlo, are effective using minibatch of data, showing the scalability towards big data. Some works even show the online algorithm, such as online LDA using stochastic gradient monte carlo. I think it is a big step in Bayesian history.</p> + +<h2 id="reference">Reference</h2> +<p>[1] Welling, Max, and Yee W. Teh. “Bayesian learning via stochastic gradient Langevin dynamics.” Proceedings of the 28th International Conference on Machine Learning (ICML-11). 2011.</p> + +<p>[2] Chen, Tianqi, Emily B. Fox, and Carlos Guestrin. “Stochastic Gradient Hamiltonian Monte Carlo.” ICML. 2014.</p> + + Tue, 06 Sep 2016 00:00:00 -0400 + http://localhost:4000/blog/2016/09/06/Stochastic-Gradient-Monte-Carlo + http://localhost:4000/blog/2016/09/06/Stochastic-Gradient-Monte-Carlo + + + + + + Dirichlet Process + <p>Lately I’m dealing with Bayesian non-parametric in order for the praparation of my next paper. Therefore, I spent several days trying to learn and understand Dirichlet process. Dirichlet process is at first difficult to understand, mainly because it is very different from our previous parametric methods and it uses advanced mathmetical concepts. I struggled several days to finally understand Dirichlet process. Once you understand it, it becomes very easy.</p> + +<p>$G$ is a random probability measure. We say $G$ is Dirichlet process distributed with base distribution $H$ and concentration parameter $\alpha$, written $G \sim DP(\alpha,H)$ if</p> + +\[(G(A_1),...,G(A_r)) \sim Dir(\alpha H(A_1),...,\alpha H(A_r))\] + +<p>for every finite measure partition $A_1,…,A_r$ of $\Theta$.</p> + +<p>In every tutorial and lecture, we are told that a sample from Dirichlet process is discrete and has point mass at atoms. In order to understand why this is that, it is important to know the posterior of Dirichlet process. +Let $\theta_1,…,\theta_n$ be a sequence of independent draws from $G$. +Let $n_k = \sharp\{i: \theta_i \in A_k\}$ be the number of observed values in $A_k$. From the conjugacy between the Dirichlet and multinomial, we have</p> + +\[(G(A_1),...,G(A_r))|\theta_1,...,\theta_n \sim Dir(\alpha H(A_1)+n_1,...,\alpha H(A_r)+n_r) \\ +G|\theta_1,...\theta_n \sim DP(\alpha+n,\frac{\alpha}{\alpha+n}H+\frac{n}{\alpha+n}\frac{\sum_{i=1}^n \delta_{\theta_i}}{n})\] + +<p>Therefore, the posterior predictive given first $n$ observations is given by posterior of $G$, integrating out (i.e. the base distribution of posterior Dirichlet process):</p> + +\[\begin{aligned} +P(\theta \in A | G,\theta_1,...,\theta_n) &amp;= E[G(A)|\theta_1,...,\theta_n]\\ +&amp;= \frac{1}{\alpha+n}(\alpha H(A)+\sum_{i=1}^n \delta_{\theta_i}(A)) +\end{aligned}\] + +<p>That is to say:</p> + +\[\theta_{n+1}|\theta_1,...,\theta_n \sim \frac{1}{\alpha+n}(\alpha H + \sum_{i=1}^n \delta_{\theta_i})\] + +<p>This in fact show that a sample from Dirichlet process has point masses located at the previous draws $\theta_1,…,\theta_n$. With positive probability, draws from G will take on the same value as previous seen observations. While it also has probability to draw from prior distribution $H$, smooth or not. With long enough sequence of draws from G, the value of any draw will be repeated by another draw, implying that $G$ is composed only of a weighted sum of point masses, i.e. it is a discrete distribution.</p> + +\[G = \sum_{k=1}^{\infty} \pi_k\delta_{\theta_k^*}\] + +<p>The above predictive in fact corresponds to MacQueen urn scheme and the above infinite sum corresponds to Stick-breaking construction. And the famous Chinese Restaurant Process is in fact very similar to MacQueen urn scheme except for different metaphor, both construction has rich-get-richer property. I don’t want to repeat the constructions here, but refer to <a href="http://videolectures.net/mlss07_teh_dp/">Yee Whye Teh’s tutorial</a> if necessary.</p> + +<p>However, I do want to state the stick-breaking construction here since it would be useful for susequent Dirichlet Process Mixture Model. The stick-breaking construction separates the construction of $\pi$ and $\theta$. The construction of $\pi$ follows stick-breaking process</p> + +\[\beta_k \sim Beta(1,\alpha)\\ +\pi_k = \beta_k \prod_{l=1}^{k-1}(1-\beta_k)\] + +<p>also written as $\pi \sim GEM(\alpha)$. And the $\theta_k^*$ is sampled directly from the base distribution:</p> + +\[\theta_k^* \sim H \\ +G = \sum_{k=1}^{\infty} \pi_k \delta_{\theta_k^*}\] + +<h1 id="dp-mixture-model">DP Mixture Model</h1> +<p>Intended to solve the $k$ selection problem for mixture model, LDA, etc, applying Dirichlet process to the problems serves to automatically select the number of mixture components or dimension of variables. Here, I’ll first investigate the application to DP Mixture model.</p> + +<p>We model a set of observations $\{x_1,…,x_n\}$ using a set of latent parameters $\{\theta_1,…,\theta_n\}$. Each $\theta$ is drawn independently and identically from $G$, while each $x_i$ has distribution $F(\theta_i)$ parameterized by $\theta_i$:</p> + +\[x_i|\theta_i \sim F(\theta_i)\\ +\theta_i|G \sim G\\ +G|\alpha,H \sim DP(\alpha,H)\] + +<p>And since $G$ is discrete, multiple $\theta_i$’s can take on the same value simutaneously, therefore it can be viewed that $x_i$ with the same value of $\theta_i$ belong to the same cluster. The mixture perspective can be made more in agreement with the usual representation of mixture models using the stick-breaking construction equaivalently:</p> + +\[\pi|\alpha \sim GEM(\alpha)\\ +z_i|\pi \sim Multi(\pi)\\ +\theta_k^*|H \sim H\\ +x_i|z_i,\{\theta_k^*\} \sim F(\theta_{z_i}^*)\] + +<p>The model is shown as follows.</p> + +<p><img src="/assets/2016-08-16-DPMM.png" alt="DP Mixture Model" height="300px" /></p> + +<p>Solving the model using collapsed Gibbs sampling turns out to be very easy, as described in Murphy’s book p.886 (Algorithm 25.1). Before going through the algorithms, one should convince himself that the posterior predictive and prior predictive is easy for Gaussian distribution with conjugate prior as also talked in Murphy’s book in Chpater 4 and it should be Student-t distribution with the updated parameters (if I didn’t remember wrong). The key point is to compute this one</p> + +\[p(z_i=k|z_{-i},x,\alpha,\lambda) \propto p(z_i=k|z_{-i},\alpha)p(x_i|x_{-i},z_i=k,z_{-i},\lambda)\] + +<pre><code class="language-Matlab">function dpm = dpm_gibbs(dpm,numiter); +% run numiter number of iterations of gibbs sampling in the DP mixture + +KK = dpm.KK; % number of active clusters +NN = dpm.NN; % number of data items +aa = dpm.aa; % alpha parameter +qq = dpm.qq; % row cell vector of mixture components +xx = dpm.xx; % row cell vector of data items +zz = dpm.zz; % row vector of cluster indicator variables +nn = dpm.nn; % row vector of number of data items per cluster + +for iter = 1:numiter + % in each iteration, remove each data item from model, then add it back in + % according to the conditional probabilities. + + for ii = 1:NN % iterate over data items ii + + % remove data item xx{ii} from component qq{kk} + kk = zz(ii); % kk is current component that data item ii belongs to + nn(kk) = nn(kk) - 1; % subtract from number of data items in component kk + qq{kk} = delitem(qq{kk},xx{ii}); % subtract data item sufficient statistics + + % delete active component if it has become empty + if nn(kk) == 0, + %fprintf(1,'del component %3d. K=%3d\n',find(nn==0),KK-sum(nn==0)); + KK = KK - 1; + qq(kk) = []; + nn(kk) = []; + idx = find(zz&gt;kk); + zz(idx) = zz(idx) - 1; + end + + % compute conditional probabilities pp(kk) of data item ii + % belonging to each component kk + % compute probabilities in log domain, then exponential + pp = log([nn aa]); + for kk = 1:KK+1 + pp(kk) = pp(kk) + logpredictive(qq{kk},xx{ii}); + end + pp = exp(pp - max(pp)); % -max(p) for numerical stability + pp = pp / sum(pp); + + % choose component kk by sampling from conditional probabitilies + uu = rand; + kk = 1+sum(uu&gt;cumsum(pp)); + + % instantiates a new active component if needed + if kk == KK+1 + %fprintf(1,'add component %3d. K=%3d\n',kk,KK+1); + KK = KK + 1; + nn(kk) = 0; + qq(kk+1) = qq(kk); + end + + % add data item xx{ii} back into model (component qq{kk}) + zz(1,ii) = kk; + nn(1,kk) = nn(1,kk) + 1; % increment number of data items in component kk + qq{1,kk} = additem(qq{1,kk},xx{ii}); % add sufficient stats of data item + + end +end + +% save variables into dpm struct +dpm.qq = qq; +dpm.zz = zz; +dpm.nn = nn; +dpm.KK = KK; +</code></pre> + + Tue, 16 Aug 2016 00:00:00 -0400 + http://localhost:4000/blog/2016/08/16/Dirichlet-Process + http://localhost:4000/blog/2016/08/16/Dirichlet-Process + + + + + + Markov Chain Monte Carlo + <p>After learned variational inference and latent dirichlet allocation (LDA), I wrote a paper about <a href="https://arxiv.org/abs/1612.03639">Gaussian relational topic model</a> to solve the problem of connection discovery using shared images. In order to continue solving more challenging problems and improving myself, I find it necessary to master Markov Chain Monte Carlo methods. Therefore, I put my hands on Gibbs sampling and Metropolis Hastings algorithm.</p> + +<h1 id="gibbs-sampling-and-collapsed-gibbs-sampling">Gibbs Sampling and Collapsed Gibbs Sampling</h1> +<p>The basic idea is to sample each variable in turn, conditioned on the values of all the other variables:</p> + +\[x_1^{s+1} \sim p(x_1|x_2^{s},x_3^{s}) \\ +x_2^{s+1} \sim p(x_2|x_1^{s+1},x_3^{s}) \\ +x_3^{s+1} \sim p(x_3|x_1^{s+1},x_2^{s+1}) \\\] + +<p>The ideal of collapsed Gibbs sampling is to integrate out all possible model parameters analytically, such that the sampling space is minimum, dramatically decrease sampling time. +An example of collapsed Gibbs sampling for fitting a GMM can be found in Murphy’s book, p. 844. +The example code of collapsed Gibbs sampling solving Bayesian Gaussian mixture model can be found in <a href="https://github.com/eelxpeng/bayes_gmm">here</a>. The main logic of the collapsed Gibbs sampling is:</p> + +<pre><code class="language-Python"># Loop over iterations +for i_iter in range(n_iter): + + # Loop over data items + for i in xrange(self.components.N): + + # Cache some old values for possible future use + k_old = self.components.assignments[i] + K_old = self.components.K + stats_old = self.components.cache_component_stats(k_old) + + # Remove data vector `X[i]` from its current component + self.components.del_item(i) + + # Compute log probability of `X[i]` belonging to each component + # (24.26) in Murphy, p. 843 + log_prob_z = ( + np.ones(self.components.K_max)*np.log( + float(self.alpha)/self.components.K_max + self.components.counts + ) + ) + # (24.23) in Murphy, p. 842 + log_prob_z[:self.components.K] += self.components.log_post_pred(i) + # Empty (unactive) components + log_prob_z[self.components.K:] += self.components.log_prior(i) + prob_z = np.exp(log_prob_z - logsumexp(log_prob_z)) + + # Sample the new component assignment for `X[i]` + k = utils.draw(prob_z) + + # There could be several empty, unactive components at the end + if k &gt; self.components.K: + k = self.components.K + # print prob_z, k, prob_z[k] + + # Add data item X[i] into its component `k` + if k == k_old and self.components.K == K_old: + # Assignment same and no components have been removed + self.components.restore_component_from_stats(k_old, *stats_old) + self.components.assignments[i] = k_old + else: + # Add data item X[i] into its new component `k` + self.components.add_item(i, k) + + # Update record + record_dict["sample_time"].append(time.time() - start_time) + start_time = time.time() + record_dict["log_marg"].append(self.log_marg()) + record_dict["components"].append(self.components.K - 1) + + # Log info + info = "iteration: " + str(i_iter) + for key in sorted(record_dict): + info += ", " + key + ": " + str(record_dict[key][-1]) + info += "." + logger.info(info) +</code></pre> + +<h1 id="metroplis-hastings-and-slice-sampling">Metroplis Hastings and Slice Sampling</h1> + +<p>As an experiment of Metroplis Hastings algorithm, I find <a href="http://isaacslavitt.com/2013/12/30/metropolis-hastings-and-slice-sampling/">this link</a> useful. It also compares Metropolis Hastings with slice sampling, both are worth investigating. Following experiments are based on the post.</p> + +<p>Anyway, first let’s describe the model we are going to MCMC with. It’s a two level hierachical model:</p> + +\[v \sim \mathcal{N}(v|0,3^2)\\ +x_k|v \sim \mathcal{N}(x_k|0,e^v) \ \text{for} \ k=0,1,...,9\] + +<p>The joint distribution is obviously given by</p> + +\[p(v,x_1,x_2,...,x_9) = \mathcal{N}(v|0,3^2) \prod_{k=1}^{9} \mathcal{N}(x_k|0,e^v)\] + +<p>The class defining the distribution for sampling and probability density evaluation is given:</p> + +<pre><code class="language-Python">from __future__ import division + +import numpy as np +import scipy.stats as ss + + +class joint_dist(object): + + def rvs(self, n=1): + """ sample a random variable from this distribution """ + sample = np.zeros((10, n)) + + for i in xrange(n): + # generate rvs + v = ss.norm(0, 3).rvs() + xs = ss.norm(0, np.sqrt(np.e**v)).rvs(9) + # place in sample array + sample[0, i] = v + sample[1:, i] = xs + + return sample + + def pdf(self, sample): + """ get the probability of a specific sample """ + v = sample[0] + pv = ss.norm(0, 3).pdf(v) + xs = sample[1:] + pxs = [ss.norm(0, np.sqrt(np.e**v)).pdf(x_k) for x_k in xs] + return np.array([pv] + pxs) + + def loglike(self, sample): + """ log likelihood of a specific sample """ + return np.sum(np.log(self.pdf(sample))) +</code></pre> + +<p>The current state is defined as $w=[v,x_1,x_2,…,x_9]$. And the proposal funciton is defined as symmetric normal distribution with the current state as mean:</p> + +\[q(w'|w)=\mathcal{N}(w,\mathbf{1}_{10})\] + +<p>The Metropolis-Hasting function is defined:</p> + +<pre><code class="language-Python">def metropolis(init, iters): + """ + based on http://www.cs.toronto.edu/~asamir/cifar/rpa-tutorial.pdf + + can take several minutes to run with large sample sizes. + """ + dist = joint_dist() + + # set up empty sample holder + D = len(init) + samples = np.zeros((D, iters)) + + # initialize state and log-likelihood + state = init.copy() + Lp_state = dist.loglike(state) + + accepts = 0 + for i in np.arange(0, iters): + + # propose a new state + prop = np.random.multivariate_normal(state.ravel(), np.eye(10)).reshape(D, 1) + + Lp_prop = dist.loglike(prop) + rand = np.random.rand() + if np.log(rand) &lt; (Lp_prop - Lp_state): + accepts += 1 + state = prop.copy() + Lp_state = Lp_prop + + samples[:, i] = state.copy().ravel() + + if i % 1000 == 0: print('[#iter: %d]' %i) + + print 'Acceptance ratio', accepts/iters + return samples +</code></pre> + +<p>Let’s start by taking 50,000 samples using Metropolis-Hastings.</p> + +<pre><code class="language-Python"># define our starting point +w_0 = np.array([0., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) + +# actually do the sampling +n = 50000 +samples = metropolis(w_0, n) +</code></pre> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Acceptance ratio 0.24342 +</code></pre></div></div> + +<pre><code class="language-Python">import matplotlib.pyplot as plt +%matplotlib inline +from matplotlib import rcParams +rcParams['font.size'] = 12 +rcParams['figure.figsize'] = (10, 6) + +burnin = 10000 +m = n-burnin +v = samples[0, burnin:] +fig = plt.figure() +ax0 = fig.add_subplot(211) +#fig, (ax0, ax1) = plt.subplots(2, 1) + +# show values of sampled v by iteration +ax0.plot(np.arange(m), v) +ax0.set_xlabel('iteration number') +ax0.set_ylabel('value of sampled v') + +ax1 = fig.add_subplot(212) +# plot a histogram of values of v +ax1.hist(v, bins=80) +ax1.set_xlabel('values of sampled v') +ax1.set_ylabel('observations') + +plt.show() +</code></pre> + +<p><img src="/assets/2016-08-08-MH_7_0.png" alt="MH" /></p> + +<p>As it should be noticed that the sampled $v$ is not Gaussian distributed, rather skewed. However, we know that $v$ is in fact zero-mean gaussian distributed. The skewed sampling is not good to estimate the true distribution of $v$. As discussed in the original post, it is because under the directed regime — any small or negative $v$ implies that every $x_kâĽ\mathcal{N}(0,e^v \approx 0)$, thus imposing a huge probability “penalty” on any non-zero $x_k$. Meanwhile, our Metropolis-Hastings is naively proposing a vector of $x_k$s which are probably not all zero, so we tend to reject any small or negative $v$.</p> + +<p>So for slice sampling:</p> + +<pre><code class="language-Python">def slice_sample(init, iters, sigma, step_out=True): + """ + based on http://homepages.inf.ed.ac.uk/imurray2/teaching/09mlss/ + sigma is the step size of each coordinate + """ + + dist = joint_dist() + + # set up empty sample holder + D = len(init) + samples = np.zeros((D, iters)) + + # initialize + xx = init.copy() + + for i in xrange(iters): + perm = range(D) + np.random.shuffle(perm) + last_llh = dist.loglike(xx) + + # Sweep through axes (simplest thing) + for d in perm: + # u|x ~ [0,1]*p(x) + llh0 = last_llh + np.log(np.random.rand()) + + # Create a horizontal interval (x_l, x_r) enclosing xx + rr = np.random.rand(1) + x_l = xx.copy() + x_l[d] = x_l[d] - rr * sigma[d] + x_r = xx.copy() + x_r[d] = x_r[d] + (1 - rr) * sigma[d] + + # step out p(x)&gt;u' + if step_out: + llh_l = dist.loglike(x_l) + while llh_l &gt; llh0: + x_l[d] = x_l[d] - sigma[d] + llh_l = dist.loglike(x_l) + llh_r = dist.loglike(x_r) + while llh_r &gt; llh0: + x_r[d] = x_r[d] + sigma[d] + llh_r = dist.loglike(x_r) + + x_cur = xx.copy() + while True: + xd = np.random.rand() * (x_r[d] - x_l[d]) + x_l[d] + x_cur[d] = xd.copy() + last_llh = dist.loglike(x_cur) + if last_llh &gt; llh0: #this is the only way to leave the while loop, satiesfy p(x)&gt;u' + xx[d] = xd.copy() + break + elif xd &gt; xx[d]: + x_r[d] = xd + elif xd &lt; xx[d]: + x_l[d] = xd + else: + raise RuntimeError('Slice sampler shrank too far.') + + if i % 1000 == 0: print 'iteration', i + + samples[:, i] = xx.copy().ravel() + + return samples +</code></pre> + +<pre><code class="language-Python"># define our starting point +w_0 = np.array([0., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) + +# actually do the sampling +n = 10000 +sigma = np.ones(10) +samples = slice_sample(w_0, iters=n, sigma=sigma) +</code></pre> + +<pre><code class="language-Python">burnin = 0 +m = n-burnin +v = samples[0, burnin:] +fig = plt.figure() +ax0 = fig.add_subplot(211) +#fig, (ax0, ax1) = plt.subplots(2, 1) + +# show values of sampled v by iteration +ax0.plot(np.arange(m), v) +ax0.set_xlabel('iteration number') +ax0.set_ylabel('value of sampled v') + +ax1 = fig.add_subplot(212) +# plot a histogram of values of v +ax1.hist(v, bins=80) +ax1.set_xlabel('values of sampled v') +ax1.set_ylabel('observations') + +plt.show() +</code></pre> + + + Mon, 08 Aug 2016 00:00:00 -0400 + http://localhost:4000/blog/2016/08/08/Markov-Chain-Monte-Carlo + http://localhost:4000/blog/2016/08/08/Markov-Chain-Monte-Carlo + + + + + + Jekyll Cheetsheet + <p>You’ll find this post in your <code class="language-plaintext highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="language-plaintext highlighter-rouge">jekyll serve --watch</code>, which launches a web server and auto-regenerates your site when a file is updated.</p> + +<p>To add new posts, simply add a file in the <code class="language-plaintext highlighter-rouge">_posts</code> directory that follows the convention <code class="language-plaintext highlighter-rouge">YYYY-MM-DD-name-of-post.ext</code> and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.</p> + +<p>In order to publish to github, run following commands:</p> + +<figure class="highlight"><pre><code class="language-bash" data-lang="bash">~<span class="nv">$ </span>git add <span class="nt">--all</span> +~<span class="nv">$ </span>git commit <span class="nt">-m</span> <span class="s2">"Initial commit"</span> +~<span class="nv">$ </span>git push <span class="nt">-u</span> origin master</code></pre></figure> + +<p>Jekyll also offers powerful support for code snippets:</p> + +<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">def</span> <span class="nf">print_hi</span><span class="p">(</span><span class="nb">name</span><span class="p">)</span> + <span class="nb">puts</span> <span class="s2">"Hi, </span><span class="si">#{</span><span class="nb">name</span><span class="si">}</span><span class="s2">"</span> +<span class="k">end</span> +<span class="n">print_hi</span><span class="p">(</span><span class="s1">'Tom'</span><span class="p">)</span> +<span class="c1">#=&gt; prints 'Hi, Tom' to STDOUT.</span></code></pre></figure> + +<p>Check out the <a href="http://jekyllrb.com/docs/home">Jekyll docs</a> for more info on how to get the most out of Jekyll. File all bugs/feature requests at <a href="https://github.com/jekyll/jekyll">Jekyll’s GitHub repo</a>. If you have questions, you can ask them on <a href="https://talk.jekyllrb.com/">Jekyll Talk</a>.</p> + + + Fri, 13 May 2016 10:16:28 -0400 + http://localhost:4000/blog/2016/05/13/welcome-to-jekyll + http://localhost:4000/blog/2016/05/13/welcome-to-jekyll + + + jekyll + + update + + + + + diff --git a/_site/images/cv-visa.pdf b/_site/images/cv-visa.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cfabbbb7c5b57e3dd53fd0a6d4cced12895ca8a3 GIT binary patch literal 76402 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 literal 0 HcmV?d00001 diff --git a/_site/images/cv.pdf b/_site/images/cv.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ec6ee652a2a84c342f65eca281e3bef9baf92673 GIT binary patch literal 67053 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

p07Ze~_zEwlDYVWcT@%%s{Kgjz1#5uxFJ+>2!1h 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 M=TcR5^>^a}0KteM3IG5A literal 0 HcmV?d00001 diff --git a/_site/images/photo.jpg b/_site/images/photo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09155b22376541362554d514508caf7432483add GIT binary patch literal 23032 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 i0rWYkmcv_}@TXH$ + + + + + + + + + Xiaopeng LI :: About + + + + + + + + + + + +

+ + + +
+
+

About

+
+ + + +

Jiqing Wen is currently doing her PhD at Arizona State University. He works in the area of machine learning and artificial intelligence. His current research interests include deep learning, Bayesian networks and graphical models, Bayesian deep learning, and their application in computer vision, natural language processing, and recommender systems.

+ +

Contact

+ +

Department of Computer Science and Engineering
+The Hong Kong University of Science and Technology
+Kowloon, Hong Kong
+Email: xlibo@connect.ust.hk

+ + +
+ + + + + + + +
+ + + diff --git a/_site/misc/index.html b/_site/misc/index.html new file mode 100644 index 00000000000..a0985e72f43 --- /dev/null +++ b/_site/misc/index.html @@ -0,0 +1,110 @@ + + + + + + + + + + Xiaopeng LI :: Misc + + + + + + + + + + + +
+ + + +
+
+

Misc

+
+ +

Shared code for final project in COMP5213 Bayesian Networks

+ +

Hierarchical Topic Detection for PMC005 dataset: example

+ +

Code for PMC005 dataset preprocessing: preprocess.py

+ +

Code for computing coherence and compactness: evaluate.py

+ +
+ + + + + + + +
+ + + diff --git a/_site/research/index.html b/_site/research/index.html new file mode 100644 index 00000000000..889d985d406 --- /dev/null +++ b/_site/research/index.html @@ -0,0 +1,177 @@ + + + + + + + + + + Xiaopeng LI :: Research + + + + + + + + + + + +
+ + + +
+
+

Research

+
+ +

Publications

+ +

Learning Latent Superstructures in Variational Autoencoders for Deep Multidimensional Clustering
+Xiaopeng Li, Zhourong Chen and Nevin L. Zhang
+International Conference on Learning Representations + 2019 +
Media: [arXiv]

+ +

Building Sparse Deep Feedforward Networks using Tree Receptive Fields
+Xiaopeng Li, Zhourong Chen and Nevin L. Zhang
+International Joint Conference on Artificial Intelligence + 2018 +
Media: [arXiv][github]

+ +

Learning Sparse Deep Feedforward Networks via Tree Skeleton Expansion
+Zhourong Chen, Xiaopeng Li and Nevin L. Zhang
+arXiv + 2018 +
Media: [arXiv]

+ +

Relational Variational Autoencoder for Link Prediction with Multimedia Data
+X. Li and J. She
+ACM SIGMM International Conference on Multimedia Thematic Workshop + 2017 +
Media: [paper][github]

+ +

Collaborative Variational Autoencoder for Recommender Systems
+X. Li and J. She
+ACM SIGKDD International Conference on Knowledge Discovery and Data Mining + 2017 +
Media: [paper][github]

+ +

A Bayesian Neural Network for Deep Learning in Mobile Multimedia using Small Data
+X. Li, J. She and M. Cheung
+Submitted to ACM Trans. Multimedia Comput. Commun. Appl. (Under Review) + 2016 +
Media: [paper]

+ +

Connection Discovery using Shared Images by Gaussian Relational Topic Model
+X. Li, M. Cheung and J. She
+IEEE International Conference on Big Data + 2016 +
Media: [paper][github]

+ +

A Distributed Streaming Framework for Connection Discovery Using Shared Videos
+X. Li, M. Cheung and J. She
+ACM Trans. Multimedia Comput. Commun. Appl. + Sep. 18, 2017 +
Media: [paper]

+ +

An Efficient Computation Framework for Connection Discovery using Shared Images
+M. Cheung, X. Li and J. She
+ACM Trans. Multimedia Comput. Commun. Appl. + Aug. 29, 2017 +
Media: [paper]

+ +

Dance Background Image Recommendation with Deep Matrix Factorization
+J. Wen, J. She, X. Li and H. Mao
+ACM Trans. Multimedia Comput. Commun. Appl. + 2018 +
Media: [paper]

+ +

Visual Background Recommendation for Dance Performances Using Dancer-Shared Images
+J. Wen, X. Li, J. She, S. Park and M. Cheung
+IEEE International Conference on Cyber Physical and Social Computing + 2016 +
Media: [paper]

+ +

Non-user Generated Annotation on User Shared Images for Connection Discovery
+M. Cheung, J. She and X. Li
+IEEE International Conference on Cyber Physical and Social Computing + 2015 +
Media: [paper]

+ + +
+ + + + + + + +
+ + + diff --git a/_site/sitemap.txt b/_site/sitemap.txt new file mode 100644 index 00000000000..88172f085d4 --- /dev/null +++ b/_site/sitemap.txt @@ -0,0 +1,19 @@ + +http://localhost:4000/blog/ +http://localhost:4000/cv/ +http://localhost:4000/feed.xml +http://localhost:4000/ +http://localhost:4000/css/main.css +http://localhost:4000/misc/ +http://localhost:4000/research/ +http://localhost:4000/sitemap.txt +http://localhost:4000/css/main.css.map + +http://localhost:4000/blog/2018/03/14/Exponential-Family +http://localhost:4000/blog/2017/12/14/EM-In-Depth +http://localhost:4000/blog/2017/03/09/Tricks-of-Sigmoid-Function +http://localhost:4000/blog/2016/11/18/Variational-Autoencoder +http://localhost:4000/blog/2016/09/06/Stochastic-Gradient-Monte-Carlo +http://localhost:4000/blog/2016/08/16/Dirichlet-Process +http://localhost:4000/blog/2016/08/08/Markov-Chain-Monte-Carlo +http://localhost:4000/blog/2016/05/13/welcome-to-jekyll diff --git a/assets/.DS_Store b/assets/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..181994c1a8fb0108508c9d3fce58bdef7cc3247f GIT binary patch literal 8196 zcmeHL&2G~`5S~q2nzol9T2u)Md~Bt*ikqg%F{I(|5UC=l6{09OvDH{|>?m;>K@}+n zPH^N6_&;*u1rVG#0)l7Y2@r?!?RwiLaSNhBl!_f|XV$wjv(7iOYfp%XWt*l>G)+WN zG%jNkUhapb+>65WqW|Q}mGcelV-J zLO>z#Un0QI2MvwOjFg=~ilYNelmL*!7#4&+>HuM*Ntuzd6G&kSpF#D&q$!gn1`EtF zuW@zAjFg=~2Ij;9b7FF3CMy&sR)?J?)QM#RsklNwArMA@*X~oah`L>;<(~R|p7L~+ zij+c&(*o7VrOj)OS1vhT308cgT}GQhV>>(GL}x;t0kSG{0oZ=4Ue1}jgE~^@GEwD{C1(@wF zPz%#;&wW9@Kn3!#U&~Yx!SxZ?G6H@DAvegxorROb$4DMpyvNgF1#@*Igx8k>*RdQw zQ6ln08PNNQO&dL)!pRX&@25>t$H{Tjv>6b_o>YsBK0<&7^thj%AJ#s76*)Gr$K90v zQyzP^K_tT;a=>To+dACiG15@5_B5~mFX6OS{{tLjFx1itfn!2|4d)8EEEeDW_UwNS zUTbS;chER-y-py7379CyAw@Y3Da&!8t3j39WTfl_5+k6${zt&cs2tS$A0LXp^&z=m N!>ISa*jYbkKLBL|ZuI~F literal 0 HcmV?d00001 diff --git a/assets/2016-08-08-MH_7_0.png b/assets/2016-08-08-MH_7_0.png new file mode 100644 index 0000000000000000000000000000000000000000..ef86fd3fa9af7d70057f4f53909abc11cd0fad6d GIT binary patch literal 32412 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 literal 0 HcmV?d00001 diff --git a/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_10_1.png b/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_10_1.png new file mode 100644 index 0000000000000000000000000000000000000000..27f14c58196f32da0c414ffae556710232273862 GIT binary patch literal 48042 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 PAVB)sCXkvt&VT(sM&d?~ literal 0 HcmV?d00001 diff --git a/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_18_1.png b/assets/Stochastic-Gradient-Monte-Carlo/Stochastic-Gradient-Monte-Carlo_18_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b83365ed6a4cb8ef9aab2f53447a6628611326e0 GIT binary patch literal 13674 zcmb8W2RK{(|2`hEx0c$oHZ@wCqNT{8s1#LOwJLT?i<)_AbWp^sSrxTv715e`Xz8#T zlqN>{SPczI#E9`f`uTjDYY;L=pmAx@aF! zNS=;*>*`Rn_7^r)4- zfUfW)?+!Cz38QOON^iy~9i~igfuG^egGQgw<=wHd3LV$yrn?O>4!mb>vh)Nh9i~Ay zdDuiQf%ZcsGMWYA(Yw33Iw-CT$|JOf%ogzAGA>F+Op0_7um$orHxe_yqYh1R5;AUz zi1z&{K43+*NC8ofmX{q=K^IApxPW2H2PU{&CbUTIc6d%$ExJPXz!BHaHjyV!QUciT zYJ7tOqse=wlU)PUE$pW3VN9J)|@7y}~Ex^*T~?((BREH|Wy$Sk|{ECo?D?y71IfZ!iE%fA0A{l3b&K2Sd}(G}xqF4M`hqfER^SP3{{+R+ZV z@uS(}dzaDnCs(FlSNmtB6RORSC;IZ;;%_HKtddNUci4Al<=Kb3ApzN~6_5$o19O}P zy62{tdSghehgZ}+De@<*CXo(k1@!Nxcl_cw?;UmT$K>b2qbCmZb;hMvJQJ_9S-TV= zdCZ@ph0u#-acV#Aa?>{j%%1xg^NQo{;g^6T`Srh}S84GzvYfBC&U5{eL|75xKK0Ad zr)d>#@+|Xpo108zHn*U=>AJXGa|&{Wx2)kMJ@e6NMKWRz9c1-gy^FYKk=xhdo8x;o z^a*LuZl*3tLCdUXg_gJJ-+*GPimiPkuP9w-9_l^kAPS=F|fT^I|JfLf`ss0}6!`Cmc-MU~DTTT`Ttd|^gHVg@C5;bA*cBx@Yp~XLx z4OBz06Wy@>@sBYyNI?DR5756fv(__A_WCD7BD}ybmGcKGTFJ~ZMch*t*c=)X_#}hM zu3Bh$gMpkh_Qnp5S)$*hlR1#CV)`nNcu6(_3@Ntx4^r&utMcCS%zc$LlLFUvufZ^2 zHsnj6mla;|$Utbv1%A1(1R}q1)d=cZ&>9C7l}Bg*?a+F9ZMKRlUIyaYn~Q_~k>dD; z6LC*>T;9*#*s;)Z*5jUY1lrT{i((n~jfoye1K9)mby0OOEcF}^gI-jo-*hD_b4Vpz zdE&@f6QhN2T-L_u$Xi?Li|@#Ubdd++xXv+&X_8?Q zj(de&L>oQc=IQmb(geC>I?gpKSOl#On~4{kljkd)R9?nG&# z^Em0?J~13qLYE%Kx$dFp<)niBe!JvggF5hBqYN+P{Ho%%QcR4pNL%0g$5)+N{LJ)( z*rZm-oRGIsowCA-P=Zl^)LympZ+ZX@1%rX2qE!4a{(Em|R0A`TM(3+FhbG zT4+WG($4*j%4ZEPEkZX6rFKa;Y&G=rEIU|d+6!r=Je5sl?qYUb6?MC>iwVvR(?TR| zx9zXB#@8YfQ9c)9cgPr=@{2V7thbtm$Y>J|YYx^v~ z@l{6a;aFT_o-c|`OfnyBQX!ZP9zx9slWGu+P+kurL@kopYu>&mAdi|4Sk7`wC-C4M zg?jzExu!UO`O`EB;q;TSqB}GtoP^aAX~q*X=bN7w7gxcmX?D+kb1sxt-1Y-@S-jnZ zie@aJYPu>3_J|w#o>492AN;Q^aLTZjWR1;I_}&@N4HT?|PZD6ESA-J#@{=}3CIsxl zditETUQ->3WK790%_YMp=x9O-CvGPEJ1keC#zInjyk`7&=afpW6+dEDyu$4uBscB z?@nq@rD#lkdmV7XLM8dqDJi(1i z{vAsE1uk%qAFM&j=E|BZXph6In_I7zL_G8dcH5y~)#LufKE=Av&BRfYZ7=E=WhE8E zQNt;fVD~KqDMdQxsY4Wp=W)Y~larLywPm+#3w>xq=YI!lpM9;Jz+-M!lQgc%Osy^# zgW)dW{({vH(t@Q<3AUf;^)nTDELWxOnDVUwPlJg~JA4_mNt>5UfCSU8$|sE{oz&8| zYVUZCmkLWhx2JxeAqQwH(v&>~Ay}lQuinEN?wal%!48BCz}PeegiFdf7Y4?-N)58U z%G~?t*&jH2-lT1oF1Y!izo&8Yu~$o}%q_DguLt4*MYT};`%ol zA32JEE?u2slrjqIrUuhD99;1_d>_K~<{$xG6mNzSmvNkA|6?#@V;>d&`4LKV(fhsH z1A^^*+>s=yA9QY8-20vey!<99Eh8tsHZLoUQ)$sFfv0EPS&MrPO0>m3#>O$*Fy?$W z^3T(Bfy@OMt0AmBPlRwGBFJE5OS~MVS)*T7iafGeQ~&EHMO7^(`c>O(<$Kg;cDW*s zj)#8f^%APu{HrxwwgjEmpPAcTs{}d-T7T;$neVOt&%2q%;?faop z$jwuL8pDuhZ*W3h@^M0`PFY_ZWpAH@X+86*S0=$;3{wqJK3t)Ge_}<>cf0{#z}BvY z>Pd+HM19zc*5lr}ViXtZ>5r?dqJOl$D7BI^@=sAovY@OMe+vF&ZR*Fr*^T{amFFww zNZ>DkyFvYA$|vakcO~fjl;=N+TMx1?;!>DnSp%2?*k2FY9xbR#6TdMA zS&i{HI;j;L(VdEl ze6T;k`=jNilS;>VfjMFa&5B^O1@CFm8_b5Tp+{W zyI3MLEy~1Hy$vk!+QGqGqD*I)W1)pvwltQIz?nnVkV5p}MvDjYlskL|%wzVYDPAp` zFzNDFbeqU)kRv8h&C72NV1rk(X-5(S~soR9NmgwvGS*Wo0JJ7z3cN{g}@|Cz~^ z5i?&7&0~t5p>mF+vzt$aXdyn0FUfvji;_whc_pl*E)!_tEVXt8egW%@3$j!?quS&q z#5pdHxZ&kQ&fMMcM&IjFmRs)XJi8_WB|=ZKKQ& zb5xIBql+_jjtrK700jCKlfw=*HQvGUN7!hF7iF0I}{A17mLTZ{dGJr(FlRI5*~cQe&O`ZxFhnhq}a&fnHzU zRPM*A+~F+KuQH%zPA5AtUsG<@|Jj9+VqsG6IuGI26EMIMMi|QUUpwNg&~|oEZTUob z`85Jn+ribFEyS&q+gtC%Ob6crAdQ06;j>JZsz>1^9b0~Jir&uqPIKxcN zc4KFXrm;8UIt0N#GTU-`wy3;yT*z0tvv%l$2r2L$({e+SIkOjs<6K<};PYD9Tio0& zATH!l#f;JW-1Jp%+uw@B@m0Ng9BX{I^CL~pMH#mQHzruDJXD=Eg2c(*+j?+k1#smJQ4;DL9SjMDxnl zW>L`ScZtm!GSgC|>wqn64;LRcw{bXxs>`M{qh~GmoPG#z%DBlQkmw~Dm2AzJO5+6b zmjDmjC$sz}Zu+mV4F@OJ6~QWJtcV%g__nANc9IaDzSqSi{!f;;rv`BxJu_kz&kOrO zI}+Y;Ee>E?N5E5>9&YabCpHG8kBrn1&PK5()*T20XnRIdN_XL457hzNtLGsB8Oqdb zTHkL+D#r&RSK@;?Xv{377sal6LM9Ir$p}n%>%j-dCHXLPKT<3yB1k2~{qW9R*#>FS z)0lh3?9CjLIwdq#;u)}v+eIxw*XqZ(U>^Io3GV(hccM;Wvp>+XaBa~)Sd-NO=MOXe zINaPhL=BD)rkCfpp=Fa-LVX{8iH}*{iAuQA@=Qs+T8ealTFs>3LL4YTa-rF z{KV0ebHL)xU}Wmo)|O!JoAPNpk*tL+#cVTE>7S)*e#^DeEuxg&c5=JsIT<@bHBFgD z{_^(u%Uf%sP1zq=i(I46U05tPkI5XXP#3y@vq3#mI&VBrv&FHZ?hmvNqw?#Ol&u~0 zmnCEqhjvX4%{sWNeC~c%j}%@tJmOP)J@huZn;DSi1pBVR!1IXapLt@>)DS1vRpFUS z4fsK~YnG`W?_f{GdZm=v&G)AW3V^xiHnDfl4jY@)|?2L@WcElBb5{F^dDjzWa zSpJ%C3h>AsonnaoMxC~fLIzgiS)X}7W=i-f@kJ)kj7@Hf8&fa#gHk7t5Wy{%mMB#% zez&`O^!)_JINO34^Nre`tl$0J8m`tVA#est#dJy_s>byokpcT>vBlUE*bmFxPbg~G zPnc~871DJxs-$O*b9eSE?P=AEYSw37zcQK?L$s={2Mq}DLw5U@tf z*M811M!?C3_VUE=uN$cQS%FI5`Y^-e<>^z!*G zmsCPS<12na@#yK*-QL0@M$aIyt&LGD0r zsW8<1e7(2hR85XdIKiJyD#0f+fzUV#uE1mo;fFj6^F_#jgii)e$!Fr4+{paWBJ2SS zcNbVw5G_$9&4|{~Y6b^FLDJ{%meZOa13Vka2yE)u3E@jPtbdaF%RlIP_v@%e%lLKf zQWbj#Pgr$L@AroZOj3z>_w-hQ5sAezq0);c5!XFtE#WDj@#2bZETwqiz7MFN+%UgJ z)+(F&H`C1NOHLh15^A!VFqQ=o39U??%DYars3-!6ioy=b5#ktjCP1`&D%iPzav$K;zrGCqL^~$RSBpS4sV>lz8X+DgqBTH~* z`aEo5kx^mx!LNQ9wAT4Pa}^hW#S9NG9sH&FHTc#-Vf4N(k%v&hai<$>PMNaX-Y-W6 zkCmv-JT1MNr46<)MkrN=9Qt6!nWAp&tfg};Vsbt}(0NZD3q;bSDapH!MkK*@r?0x& z3)c3$d1hrC;~}^{l^n?3HWYGJlV!xB`s}{o4xQo)5WNc$;yy18OVzq`Jmb7J6(uc_ z#H1IK*I~{n&7tHcD8*5mFKphz*yo64xA9l8|JGYXJWL!Tn1dXy0!WRkH=n!xK#fUT z?N@L{S|X2$pmep0y4+-J*PG1NR$rSOkd|pK^J7mrW)i-CieXdZ2t9lxb6^W>FQiN4 zE)A{b_a=en7Ze+(dJRD87{ukZeo`U*iw$!vv-S_P)|H7{mqM@A{?Ss-`d zj5h=o>&B#ZcNs6JDN@J2c$vnZLWx7UWK@XaeR-hsoT!sd;IF(zS1yDdEA)AwnyOm6 z^a>-9OSwh#^3-bhNWB5@KJ_w{In|pq1%G=#H^y55LsV4LSj)n}!A4bd^ zsjvIs27XufCQZ&%0!n-8Z63;dr(beQhqa$u@|v<({;B$<7h51}{qcv<4AYsiz6L4T zMR_oGS*ppslP8>V%Es!dM4Mym4Ru;#+R-&gS+u&OReUg=3q8B+;OS(}PfKc<&FS`) zujy@4{VpA|Wqt){E}>s<$pu!!b`M_y)ikqAdzJ-dl^px7Nj}_E@&^Q5A-pU=*ZNcKabpcd)h z1kQoEMrgy{=~a6$(Sgg)x-CQlDZWLCk93& zyKkq5cabN)g|!~8STh7wp>rwxaAc#%31OL(7nw=peIZjLik9pkJiRhm42gzJmd>Os zK!2P7q9zYj6g58{?A|#UVkDBx^zQt`rTbDQ4?#;-);#!U#+;T z+vnO*K%}N5V*NjY7kQ*uV$7`joKJW@jPNw+ZP1u{o9mdmiGl}0qx0#PCY1hXZir1| zXR!D6GoZPq)!0&aK40_69Lr@Vs6mxKBI!UxoWgle2WY9O^a^{{m*Y%M$u|MdP@&KS zENk={2Gf+a7HjWL-@z7P%P?uEX2XzE2-&VvXrq+do9{y7ucL)+C|+U6#*t<|M)RM1 zw^Uz*K|`N?(oqf?T&Ae*kqX4WI^WM#X702>`T7s zXHV;QCff+C{ZPk${zYM$ghmWe&9G&t`?WgWm?eC1p*JALJmpL4MW>VG7e<-D6ljC< z+3ouC6Xw?)tl_A|jMxKP`o+wi$bAvSsjhP|C!7=z{Cb)!@#I@5ew4X=?SI7;7_aod zxTgZ6j-r3L6KI-xaavF1s)kNj!%d%GU`ur`c+6YT;5Yt6e^tQbUFpSdc#O;vd+_&= zRTCD|NB1;MqN*|6-lgbZC;`~hZOGf;zY5mM5jsC1*?WTPTyR6$1A@+2%%~<}4UTht zwuP0&bn};9?91^*DH*$UY@2pkK9-e5@WS6dGqoCU;vUId@(N&_GRt2$up=S}0x*5v z$r*=fjr`P~s}g~(t$x(XYMt>s|hJY6LyJfCCo zhJ_Pn4u7=qAPz|8(KiDN2}ljtztdaxgO|MD%(io4{I?k?Ba$dNLhReWqdD)9t&t^A zZ6OfE1^MfGV{Yes_GW9s9=8E8`&HPlgFZpyjG=AU5%D zf|N*-Ls(093(EL0mzE;v&z;s~L9+rHc-x^+~mXF5Ex+UOt@`AzcTrrqlz8;);&Y<6O>Hkx-zvC9W8~&Bs=s<~JF2PO!=t6X)*CDjbMbLZ zGpxTjMb$`KwS(h7R~B^wTjNSGYbzoi6PFLb5+veU-acC}eX!S7hm}l(Mt-DP5?11s zfznGokQ3F?W3NuybYd(H4%|ww-UHJO`#Q|)$WCAK{G-5UMtgZ}U07SA-LbaS?-JEz z-};?G+1As*hVpOe3xrf@p}r)o%+Mjdit6nxxq^V}mZ@?nUC&6A9EuUK2y^5zbHo!u z#6~ziOb}oNhg6Ag9H;!5)95nUX_*_1oGFyQdM71G+t@P%9RM$^%djIn;vePcAF8t_ z6C)ULa!01&J@uW+5d7zbqA{6!%;1#vs!Sl0s0EwQ$(}0=p0r_19GfV6v`l^dU;hKk zpDK6DgFsIG(E|JrT%X1N`*evK&?I}1j5da~!EyI@-zlQLS?Sy1ECE}~d>5F3DNYPk zoJ~nUtAVo{)wQ)VBxk^ODFZ2??CM>Nu8~nmrxc>gQAveP{9#Y$J(|J0CfeMfalvON{x&Vd(FZVf2JmfRFnR2j_|*S>iJ+-asKh$(4qeus^7dk z{@+o3QkiP;m^{hg-Shbw$E9*18EaHn8JZS4YT3&k%IPgYd@fZS)y5-7Ox$0~OkDDS zU_KMB#{0_{N|S{4=)G+~K+i0RINu<@Zi~u+Zi5^#v&^&{>Ep$XHyZ0H-P*K>aEdXhEe<{# zjq_h|RD+f@cIuF>Z6OACjxseLjzv?}WL;Oih%5wy`F<*thW!C*G1_@O z-TJ`I&U0iTb1&fN$(Z>}c9PRvXS1F*3X?<8!EPhJ+}(tibpgv)^9t7*Gtp&FTE#*R z_x9H!hz=Cnw-GsG(JfthL)0>CJyH!OtcH*v-h_{iUP%&_Qb1erdOpFaQVQ$Be*&LhFD!Dd`N^E`+hsp8v zTAMAY)Q4j}vB5Q)U*{*@o(hp)F9zM{as3?;qPb^1_!2!4DziQu86_9uRFb1TPjsp|a%)f_%cpo=`J!Rnb7&HfVZ^9)>j8s8bXW}zgy2$^sE-Jh<{oCZP@dRI14L!zU%7raF9RcaeM2c|FTT6%LCI&hP^i1otK*A6=91q`3gEjGMk^H-H;P>tps<*^U5Ub6l?5hgswLT((T5^j8gu_&j8+7 z9qCkmrnlqNDoifm42ye|cy-$2R}oV*cix5kj7gP10@&W1&3E>kJS0jcC;xiga==Jr ze<<3`9%1_Uy1$FY?V*5s{L9}yMJ9iYt1&wyc=W%1drbvc#Z2&-unfwvwt82Dvy^Is z1A`T3W|v0(`wDhf*;D@Rxod@Y$DJ;B7^thi?E86mFoSZ1tBH2(>Znx*Hn+oZpGCcd z`(qQWC{4q1s)eP9$(-{E;hWkGlT=Ok<)U+cno!?2$I$NHJ>97FhN(3={&_MZ2(f)- zz}7XeKEtP+2Y<2USgkOvN*cSt3omkC;OkB}-~W%p?hck`A$vr!UEKuiLG&+54_Zn! zKdep~#~V4}R?(BT;fg9(b!VxZvh$@B+ur{aS@gdTX$942X2HQ~Ad8??UWIU~MO(uL zFM7}yOAiu@{b?4x=y_E$<+OUNdLgHQ zM2YmDYZs}hPLd+|;2v~dBgA@PLnSbVKlOV*j7Xxhw-@P*nPM-nDZKqNzTMajg{|<{ z)7yk|NuMF527uik#cM-YD`h0-Wzq@!buFzFu*Lv!tp|7@Yym+g=!@uhU`p(&xAYlB9yrgUp8TEAWrXmO>3_vKc^Aw#cz%=~7MI*fW zf29#bSN{KLgpoQBayK{m?WtE6y$w%BPtcEUl!BTCfAzQmh>NAO?XpB<3g5Nm^!%)wl2 zi4in_ez}{4*UEl~Nvj6Qk7L;lsHtMQ$-1uM>F-&JzCPa|wYz_ec-XS4I60485 zt6pMR29GhMIf zQ`ugeJVu#43RNJE<=m%pVvGKZPhovcr)sr2H{U@D$50-bJj z95_7+HQGDG2Sn7q!b;aDax`G}`2>53bpjLETHAg77k{7@OsKCV1szNjuuQ=LHIfP% z>a7C;Vqb4?+8kDc>nWgT=EKNCBp~-Ib-dqQh`59k$HZB&ao&xKEo3Mh?kl~hI;@r9 z_J{0KU#>2G+iGV*QY8exruE^vu&v;<8!Ql(&eGme>%w<^dH(QxbT)E{OnRVxPpVD? zj7?3uUY6k^yb)tmI~0bw?sV<@*1yJ*e+L+abE!YI?-hD;tdTMaJ?7^iL_Qo# zxm&y~YSAvBNMcLBsJYL~?9cXSI|L%nvgQTRnlQ%f9VhYvXrhFru~6@0nMQ`WrNh7Q z+*Q!}yvUZsgO*(7@RIYNKnslFtA*P6Ym2P^9N<5de*VaxQq)W zi~5%-nzL{l`^uR-8Iaw2`t z^4KWVjk-8Rb09Gz3-gaVhH<@+{50M|mh2qdcibB2^`rE;-hQPf15%^5pDQ>yIPV_I z5Mn@riKXmD^z>jjSesmmcCWngOCBGRKG-W^8jw%i+|j`)Mc>*x-EakW2DA`_@I^*N zCbiO;xlnlg5s!JV@N#VtWy@^St+h&9^P?ds!kxx!5BIOOblPTaUTXrSY0{u@>8q7U z$%i33&{Ft)m0!_6R73_{!MrjA4@5Rz!Ra8$GBKh~m+7A>0{Jo|b70%bS&1~dyF*3s z0}rm?won)q^mA#F6!1m1vuq{`%wd(bDrIOc`k9N>W$wYWq_*IE^9x(^UM((k;Tdw| z7`_NRl@T?>fN3=}7^ZZI=3UIc^j2^(rU6s&KUV|_cYuQQo_nHfV{S0M1t79!gSv^z z$z=O$8qF^KNnQDdIyRmuYxr{X=T$sv7kXhAEoh_7+P|3o<0^Mhzv|zndst+_)NXc z)<48t+!%AnQ#2ENTFY$uLfC^e#Me91LWsGhNj+irQ5W1arecXKfsge7gbY}AWE-+5 zL7M8he5>Baf+kdRJnmS~g#CnmK4Yr-f{(Fpl84d!Had0q#*#uA)(M{X{b1w1!BePr zz$0iGFV03Xk-uvC-+IcTZO$!FdQ+P`2~Jr~ToSDg(tvZ$$>J&%GJ4YM>&~08>2z6- zhB}p1dZlpM_5M6;{;enO#@Ua0^FL$?TRkSYA1Lv33Sml7T;E>0X6D1^aH(c^>>?GYC+@- zE4}a^x&pXDMjh@`aGT9g6ppaWp;>vXWw>%oeWVY?9i_d_WJ>{?Z*ke4hs|SHpK_3S zkk8LD0hT>TYK}DjVjCs({8f*mEf>yCAXn85znpue$$ammc93Jfg?~Yo$#!K*L-pF% ziB=`H0=Y{4j>sC|fkp_1+`D-gfP>X;G8aw=sVRV(%gd&`+xW-uye(#AE1hk+PohL{ zRHT&#|DP)IH?zwS)e2?Ac;>WLd5k>UQ?Se#ie2pm{cOb9Z2}y_xdPo8&6jX$ck?LE zq)5>6dtcTvD5gN5PC=|LYDSG@1gHV|Gt2w-HJS2>mV3|8M!+^kU#$hD3E)yutGUhg za8v(ZDcZoC>~v0daE@g@IKUn^#pwd!R(qd9mhQPB>0CXdWRu5pVq+rCOjXpIKERyB`Lza(qhhH`pch!8~|$5{9ch>Ifl$D3|$55{6optu6= zV3zObHw2(FL2{_!AlfV3$}^^B1I~Rs?A(Y}Ml@DF^P*iOaA!bS?>%`|%;!hDhLvzB zN_#N*Z>ds4AyQ_^hN{B8CpQ3UuRw{R3_MG7Ca;AT{wK0kdDhtNdv~9`+C&#hzBa zI}55_52FZ~Kn>+!``hAuZ|Mc&l2HDJA?hiWf#ny~pW;|r(wk2qJ}r(iH=k@aB&>vH zj>!%~QYb)ClBauSRjsJ`up&^wG5b#R0a=Zt96zqW$&cdar z!Vl1A(WQ&<7tenXe)x4v@jg?~=UJUrx(UMJ^{1O-nrH8*fko7ztug8N?i5zAi2}*G zY_Np}rEany-48aPkD6hY$Q79brni}#6F1JrlPzRb7*^?Hxu=TK>N6>^#FfaHMC@sQWF5Dp#O_IiT)^7KnPWOZN#>kh!{Nu}f=X~d!&+mEXqwD5|T-!Omu;5DDG%;JpW@t!re_q_C5n~MUy`ahK)~UL~^v{ItiP!Ipi5) zwHg`q>5=4Hg?-LN{cls@_a1yPV=`c3V9+~$edE1Bw}3+NtjMfNe^|j;crFgUS44}` z5#IJ#U3c@TS*KtrKibBfW{1M1L=}{jrt-M`Tp5&p`xk=T~;273gxeMfsVwS-sMliT*b4IK36UZ!mv=9oz+lf zrEcw84{Y{Gm;xMb_cCS7^HynzKkMMfbmeM>B>gTnkJEvXb$hqr@TwYXMK^sbNh_}) zYyD~Paftls$}IsB(KixW8~rXA{N~Mp+xWOje}Cgu{gH6kbAy!72SGv#x}w$PQh&)M zjqfXO*feTE)D5h%G4Jr#J+A4=3qlT4J$~(P`ne@r{S1~7I&WZjoX+53Ga!)-;*%I&dssJVecEa-g8QegBWnu8| z=|S~;zrO&V$3e|<>aP$Thdejg6M zePO7Vb-Bo7s|Biry_7Tc{XX6s7AtlmG_3GjcjepOOddwlTm{dMTZ^Ad3JY$+?Rx4F z!?~({PHR*t>o%9mjt(;9;?mWa&r|)CceYv=UDGVBk{RQf zf1u1YM@@Cq!Ohtr%5|LTQlewGr(D=#(8@nakr2g}#PKj7>@id5l;`(ep(M29cJ@lG zlaf*e=YP&$DdXhxWG7e!bU^BYfIQ+M#&KfyGxJd7)>R+`>q@b-<;09}>q9J(4^7hs zokOSxo=^}}XKB7>^||IpKH4$p^s7!JvIFe199iC;PGb7U@KE_bTt>l74*cHH6n;0I z?Zb99v+$jOh$YzK=P$2)?C-y8mjw*hNg&mu ziT2vF8CEcC0nB=>YeAbn^6guB{1}Jf{8`R4mawcHK?PxTm;Wt;Eb?MDd@1a3_^Y8z zo;-AeQc=vO{{G1+pPK5Kp;bY?eJ`mq8JNpH|GNH0r%4Htj$A|2Eey2uNn4khw zl*nqzEXVZM35u3;71|Nq8{9Z~GC=@4FOX;f|9ErLw*i=T$sr%UHvKN|1mBb=u5a%C z{ervsF}1=|S#MV9QSsZSXYz21o9XPoTiImv2+^<18R3bzAev;t&#JHQl2b(iDd>m_ zS1qV$t02*iO4*$w=jLX@zvQzO6v@UznoFPmIt8;uv4Hgw&l*%FqtWx{h9k(eoR>SVbWX*OFgE?G1nGdO+VsoJu;`NLOJ> z&{(MS@)Z6bjW@U6>50uT!!*IbNPfqigsA2gF8m#PSSF7u!ix|=3MEO8C@FesFKZ41 zDUI&CH0*4p2Gf2szlOKOyYLs~0`p{SQ*FpM;aea6)ckTNW1I-&neh^MntjDwRnb$w zvcfA`1lWC5tlbRx=+g>B`|)?QasP+yctC>_W@r-SL=c6YQLc9j4fPo-2V$`@ZwZv~ zzRcSonEI;$2JFM&4PAUsA_ZKWSsxy|+XsB z)ej>a+IYi=XT`tNp2z+8@ECz}!;u=spIeAT{0jQwr{>ThOr+>Ue0y9!U2(>@NhoBk zK-lmKWi4q?8H);4Fz3Y(JGdsbaG z8ntt|rj#b{oYRM~sZk>uh1#fIs19ErNr##c4(_w+C3AmzWfC=DTS1zC_O+_X<4bM5 ze@{B1aInyGrgbMTpdFnPJ^@{&CV-ziH=U}mt+0yG487MhYhE*2chkE^a~;1oRq7W$ zqY^qNpo($WSwSz2HU&8G5aNKgs_mr;MB%ubNzFLcE2`Kn_Hw8M`s*QzndydY3ByI_m9?Rm$hd zhB9Hzl_yIxuS^aq_m-a>u1+ZV0liqMw=VB7k$*KbyV+Cv#gAC9xA~rf9BgHqJy#oe zo>M4qZ2gNO&K`&>?CmbE7S-2#8J~!72eaVwRHSqS)ZXh*F*MxfHE;Kx^o{SCWh?hZ zDrtkVu6d2o^VvJ??d!2+LaDs3dR$vE&2P7iCmUNeMsMzK>>O6Ppmmag)^X>Ci?SVi zPAQ+4M#;38&2F0vvwW)=9`$pvJ-o8_cw#R!wEfuKo0M*#JUnB?xiDx}V`-b+=N>O4 zVUZLNr_?|Rh`+DL4ODpssYQ@ivJAXadnOGf>s?rS*u5@4!p*kG+$~t8c7tXjD`MK1d>pmz9C*i@VyR$pd z4KU#(%n(Q<1F3}VIpR)BK?W~Zo_TDlWa}w$EB=SWsl0@nmNyyG4IamADNHW0m7Gl> z{e#|)f{eb03 zlcy`+Heq^EyvBLrWnTXw!Pxr@jq@_Qm-`y;SeU?;&LMIzk0!pQq=6GKMJWG|lWG=( ztJ!=!umzK-i$0y}P+MCoL2*}UL<8nB^KAp4c-|rBH-5rTZ6aJ-;vkk*@fh=!vmWO@ zoz3N1nHk&ddr?SBfK1%w@ii^-c&iW}wm~ENM)GG72e*v~1G_PQ7{C4jR8eSA08(*2^deqv z!aMZan@iHm7AcmG@1~8P#)n6Q=fI&K7(5g<-e8uo)*&4^Bahir4fVBnT)4Fiy@wBw zxqm$Dej(g;s*dK|_y{?GZ(Z^KldF$fL>$nua7SdVMaF3cx`kmZ!%zLuCY*hatnLvS zRzK=MG;2%OOEkwDk zkNNHw)i)aBKL(>T7&Y~~@;-zW`6SnIEs$TlK^;_se;9VzGT%O#IEo_ z<>TaJhTlqlwG4fX5+`vmPi4JDHeV3kLn6;(C{f<}1uWAh%-t`pg|&LNU_2c^^LYrL z-fKBmn4;leHC}mmGvTL=n_yR4{LeF3+DYs~gX?(#L1U@l(frap~RA7EJ%e~c<`jsShbst%l|)vma}f5(%J$$VObP3E;&OlYGwOvh zcu{G5M&sJN$$Y?n#)l8JlRpYd)s(O&vX{T#M{zToGygD-x~I&vB5Kt*SA}Y4k^!6d zVTAz!bhjmp530`9ROtaR4Y5Q^Iyk096M^P!QYIUBoD|}cop8MI6$Mb zrKO6U>l;V4ahjl1qnj1Ql3eGtprS?9*djncV&Q!iop&l)Few`ENX18-0UfRdDF%2H zbXT|OF4ULkQb1E4uc+azd0h3io8<$p!QiMPO6Bdg`SSXB9(-6L;_zn-#j)9w!*R zdoOg^TZBRe`z)Eh3H)$2khZ%nw>)ujtVZ5kC~un>Pc{LRgPAkszQ}{i!Hw;1&J|SQ z`s`TB!_uOQ#APl4mQ-GqSX%6!6tR8TyTaP4`20X`9DHwoHqjCiueiN?v%gp*OcTJ|3FQ~nmoDUL zofVFjp=}8$oTGWS9!5nhzL@lD3pE*9?a-BR&D;A~m+@}7rgK1TyqZ!K@M_q4dFX5K6=V{)DLr12&>!Z>%R6Etbd9`uUFMO)%P>&{Eo$!#u z^RFi%%C*bYfxDwpZqaM#$?>KDjqL3*i+8T!qyCx^3NhaVHr{h=^huMSEgX}?^Ta*5 z0qBH{ekH_Ad3ngiMWmR=4^#E!%AHnQTk<#s1N(%Fo?JtjkfwvJwY_&1pU&+Uu4A@J zGLjaGOhS)FYY6h&?uRG#h=3$i@*BoQdyl`ly)iFe+Q=9~0@r$iV-AKlW{(Q{xOD}E zW0h$akNWHh(RHeAR6O(77R6lBZrUCsw}{Z# zxV4TS?#k~kyMN7b_UJ;^yA1@?YwsDYUfy$PK034sTd6CPd*;r4w9i@)7j-ZlcSH>& zz{(C?+uqxE0-VIxn9?+KT6~cTE zRJ39>LYA`38%*=E#%N><>)3z}A>qjHI72?*UAFe`#@lm*<9{e^l_`{Ta|e~g7^UeD>w`G= zyT<^@tP`MOSkbn^$fL_C^3y0vKI5`PEKgCaDy`UR`-t$=@b&s?UC(QZCz&w09Y^ou9_|g5fy3V#~%Ey$`!x0B$ zgx0UX_R`oXU|EPEt!R4Ih-jw+qr&Rc`GI?7zXqJz4C{tXQikdRQw<1$>G3 zIrE=O45Qg^Dq%HVo8^C~&+8`$&TCZK5y*J^L^091)k51tn>}ND)t$tF0TZi%bR0UU0jxEkURXuY)iocv)+{OB=8*vh3%Gl!R2H(h^{_ zgzi`-Lm<0hY^XhE76uFWNe*rh9L8^;E1KuXe|4NAAs&5~r@H{aj3pyXsPg#X>?)vPSc zXS`$rkA9Z~O!M}<`81$T^&*8m3z%K_A^9NDx%tZJN729CBJP`f8;Y=DsJ1xb=wFRp zIP)v(NOcE7BHj=GBxhv^@Gi{d9z}yt?cCGoDm7~Y9Hu!(5Ax+jD!}tzj5M(uZ!wbn#~e_e*wdU9Pc#!y`QJR%7LW-khU z-9#Vo?UxjB(iSpThRjE5g9JsqGgt@rUczk}1OPuK)njcndS%GBJVA`B%b3EdGwWm8y%r5t`w=9?Cf`u{2z{H>n8n*JOc%=#`R1(P(6x|shc>{j8zlG$LUvK2uPmMZQ#fuaFs z)iQ#tlGcJRO-Sb8Se{PW;E{{TXsYD~gaf#+dRUj)KR;8o7WiHE$t_@V& z0E`l+#z{}*FoCgal}uss5iY?3V@Z7i-|6G_A=~zK6DB#~=nN#oD?{KdR|STQZ^4_A zEbya{%`4!VWlz9Y8n7wv^wyO^TnqG3h2i7LucwkCXK9=bdnEl~e~x$5p$x|snOA3r}rhXo>z zsq2XDfz4U{FGdWaiBov@Bml=`>2~VV4wp+fvAJHPL$>S?xYc-Rh2H6{Y^qAyihnc~ zU=8}Bk#=?#f{tdHuFLRzn}R4-3^uN_uCW}-isl$kitGpJ3ubE{L4Y(;Y)p)eMrNTW zRR6k}W#fh>0?09atRTni3fn;c&S1$qI`O4M8hd|?UqeMPQW(zYckSeDt+alKf|a}> z4|ag2t-CY;$KCvH?+(i#!yZ$+Joy+5E54egy+H5SB^v^L53$oQ2K*$#XH?N3iYj+! z`QZCi0tjXe9mrI+C$u<5{=?#v(!|+g&DwCQRT%Dxr;A-HK?WZf2vV-FrrWFelH}*c zX~~#vY!~S=Do(zv95r|DpYEu%6BQdlMEPwaG1`qzWylLk~VoC?PmIr~}m{FkHV zKMls=k-jagwa32*G^Z)wVoCC6*_@>L~UWri$i7;FP1+(|1jKz^;NO`_LZxLLr1gfm1ggw(lU8fv) zrNY1Q5@g+{vXKs_Az1AEcp@{#@}?w64PG&0*exbn z#45*HB-Vh4)i-_de(rjPYs!~H*(v=lxJMyI=kco6IQLEG!C`xTn6?p)8aeUw+KeUJ zYLv}A%(sNmiO+U7Bh^+lxS2H=#1h^0yNo=*3h8}RmmN_Wqp*>N_NXhN%*H`5?|JU( ztT)k_XvmkJ5MaU3KB-qDbNti3mH7gPUXR$kUC|UIYd`T~ZxwF_vCPbP<773v z@-q&f>KOUiKic^QH}eN$C&ph4>VFW-@a62OdXG=zw~!Gs(J`!L;IjIm?x%PZ(jk*} zfa6eq(3h&`+UVJ zKCr<-7M;~*o-e&6Ch*(Kwfxch1QKMazXE~i8LjV*Al12=pRuRtJzfdvybJ4m^HLG7 zb#W#5s>bQiT1>Sgt>?)a$q^BBeEo3Vy?@W5-wjN{Vno&-`*cem-cNXifn4=j)@ph^ z_^kw1lEe%C=2Veh_0#a+HV&=KzH-dNZfs2lpH)fAOmt(Oaxvnk)q>Q^pU1=#Y_?Mq zD<)h0WRbm|Bk8E}@9Hat2Va%*m2u`n#%ZhyIzGdK1fGwB*{4{6@>C?r&x$pQ^4T4m-+G!Ng^cHi>H=j1Q$HMS5%@d3^Mi|sfNmJED^&|P21{lvWekRD zU*%^EgGf1V+QHlza~LG&9eIG`ti?q$4Y|)M<&4!a{L!+$2j5xz?C1Ir^{;)-2Rq>n z7258>ATnsX?(WZ1&(8T6jD$ws_D1)OOE5aY1H`v&RDA7H5@udFBkzzE|kwt z<(W;YB%ceG#VrP6SCgbPn2_zc;OJp|o6w&q? znP8UBA9pxv@7c{BvDy&+Y$%_#!cN6cWc_XClCvpfx2X=UE05b*+v@oBDy*fobuVDa zCW5+3X*ZwA^_|Wox*M&=EmtKi+s;N?Efya=uy;d5P+RM&CytW1c6&Ap!wJF8)~+)f z(XO*zbyDjS!9#wrg$I?c&heVg<+Va)H13gxI}oj%>zzXZlT7()9pUi4FVaHDUR|C-oRzDJ-_F4}|#0`7iD%L?zI}T3^$0!sY?(f!kE)))jEsu9%hu%LqPY(HbGvgJl zAWmbYEkI-D(+fSP4vXRtjjv^;fYCU7erK|QY}2QE$ROXr$tnm+7DTxPZ^QX6Un+ES zXgSdup1j(4p8;$owEp(w9#ON9IChfMPJQlU-~1hAbCfP*Eub2Z)SGGTOqt}U#_FV07 zF7Crjcqa-9uwz+~b`-|?DhDqfaD~<5_B+WVp9?MrPWc6Hb_ez=l3P@Kp4->##Q9BT zHM+K38hsIew9`8KOQOG!V|$@gb-g40fbvAo%9k>&gj2=$N{$z`11c4Nuxk<|cu5?$ z_t(>n`y!ZOwqlxZlm(9_=Nj%z+<|rTQu(PN_alD)7HGrvgxB!0U=Y)RMar!Wo%_;Gu`@vBMC$&E7<0mn_UOe=Ha+;6n}HX5-2w|=jw_10k1>L z%dKKG!c3>k(Wo0%!|BNSAw3?m4EK2L?t1IeQzat5Kx?fWts#jIIffS~K>AYGEvT() ztveGsyEe_6AL@%^DQ3kV|E@U@2a0)ST3;;`$DH8SxX^v87j=pvtZmhQxYx83Hyx;V z;5!o=elTcU8xwgj_4e|cvtARx{eW-uy8wkz)zwKw+QZbTvXlKqT!zBOG}qXYMYv}V z!^+p6oL7hlj2cSfewYaU+BW+TaM!yl^;q|JO0A=#DCRYeu7x@kJtDafvJL}k?*Rg_8ccL;5mpcdx;XrMr(5?OsKV?Sk z@j|i1?M#XJZIN(i*PS(^JdWF(8;lCzeHVS1Ke0vfQTg<;)*0N?cQ!FmRTGV5x!EpiAKJ2ATXP|T|iQ+ZNlO?CG{Mb_&a=m~E+WTc0 zIrB7^>G zghUMAowca$^oAC4$DCFd6(tV#ePFOuDr~{9CTv1B?`Ti`#w(@lncB&fxHGd1AI3s> z(U0&_sB&>GmL$|AdKLe{Jeo`ke$F1DAi$)eEjpNv{E6~s{s9(9#K!V@!tD9#`^#w+nDq)s)zYL9}yim|rjVcd1w`CXBZnU6~yJ12x7(dljL zJN+5`OsA(jhA0aJVx^{?NOKMMcJU+g=DUCWYg#I`f1OUIU^KASu}v(k#V2TZ4TEC zEX1_nr|@TfkJx-4ecV<}9VLM19jQ+jXbO9oJ4lSA_`s8pEAN7TLxNJI+fEUai!dY; zDg=&E6Xlj~UW`5G_*#u_nb;}MM;Mp$FQR2BFT)mB9Dc(bo#jJy6kvpT%!78lH(Q5z zG3MppedGL|O^#Iz6c2RMpOz)-lQbH?=2ZO#TbF2~Y3DN#+>%a?GB*<0EF(>kb)sJ; z5Ula6%nIR4z$jvTPJ>P+T8rDl_~{n=cLzX0NZ-?{@r*g$>||v~k|mi2(kZy*F8!%# zjVi^67hWKj`ASSa4K1oryKF%)f(47qqC#$)>;(WfW=da;EBs(AW)zl_sRY>WW`d9S z=uTJ%Q@bFfGr<$3Lwrw%7U|#C1BciRMTENFi>QFki)A9UvHJb}V^pDy-kcF&r8*e` ziNoK@=a-oIK+%4pzkaPGSpWI@owH;LV_+iNC%*YY^K zab2HtsLz6dI~9rLk8sUET~hLSjS_^~8hXwH^qY#b#nTxomE;aule!_)-!CI6D`ZE7 z!9FJ5Po#>|&RX3SzMfeSuDfnNNM#9>tz~l%gz(g3=n$;&JLTz2U6yo$A}%CFR)kp? z=Sh(_?k)WGT$1j>ronEE=^02`!f;|fU?R*BRqs589G`#xPlNrL$()kQg$_o_iW15JZo0qE7{gk(wxi^H%x%w z3+}yn*&w3M(JbMtgAN&PyS7X(8I~B0tL7N=%``s@VeJTmirN`;t@!>7^w;ufcjS^LkgYcpXL(QAy9k2BS3xn#qSdT_O|}&Er5PGNZ^M}5!!QDMKzUMh zZXG|V(cSGE|J7%PJ8i%e)e`>P7aLq7&5+Ycup*iX8%NP3Jtq6X&o+9+Y`1!`%$ArqtnO^RO z09OALWS#)5DrZD3x?N=BhF$xKFF23wyk=z^H@W{IA<}z|#{UBj0g@XRc4h6)KvuB# zNuc2S4?~`=7v0+m3qJ!C$o?NHenx7yD(cmd6ym_nj&IAW)#6+n3*IZS%(=?UIfLnr zM+p8i#!@deG04xgxL`8kLhb(_3ko!6DjS#2%`v16O)4jc1T_XjyBV6#MhHjbk0cf` z?8wQl_f-De}P^BXZgsyZ#Nwx?oMF>?8*l19SGz|ff z5=B8#ilGyMs0dPGkP=D+?!x`;|9t13d&j*DGBUE(yV`tbd7tN*>&_+X^E{m5oDc|v z2QWW}gg{u*z>gRQ8@MG2cc=yYIuK?I*l~b=aU54~gTD`knqLlsK)4R=e^|(q3BMr_ zSqO0MtX=d2+GI?#t9|j$Uv!CN_?g?X1+Zi|Mii?C<*YCl;Id0zz<6<0gNdsaJN#NI|Y-I$vbqLOx z#&67_eFrL^#BXf%Kf7L6D9rDfZwHQVRb@lO;gms*n${BQNs2GZf`Fn8EfHg{+q zBp)*UOF3@Pa{EZAP`&1IKe5BL_k>QdopL81gWzUoJ*LbjJjf)atF)C;`4f|Mev65p-R8@u)T z{XA~hl3WURJ2r2>^`a6tVxenIhT){M!_Dj`+TiLr1SI(pu8)=B*_Rzja|%|yb0r5pejJ?;j^=FsdwQM08VTivw#%Yo4HFEP8(o>>0tJr6y;U?d z40~9+AtVkUr&Y~O!(7=e9H?b&*PfA)O%k{Zl~2>T2XWzD`J77159~PL${T39eZ}J% z`e3EZjMdiX4wzv8(}q%w)qv9LhIq|Ae)~=&d}7cs(+=hF0@1~I$GL#%DI<9t5jMs4 zzz5w(n}&)&yX}i3t7#H9NYhWF2mAMv7O(7|~h(Y1otrlzxaP)>o{Qco3sUt=*ID-9@ z8{psW>{8sv=p<=iH7v!|P$!YSGdQ^wts#SxIa(QO_otOTG!6I4j@fi_OfESC0p=cE zmY6WWW36$)$m3D$-tXV^bR1Dm+s%#TH$It=0`3J=MpIiC;{^HXaGOifB)_rf zq=gD1&*u@ zo`Qv#!d>IxAk%e|0U^@8fbL?~eOn8E41!sRXfvW*IZc`BWR#GKuydGd>>!qv z_yl&6`U~B;;A;`wCsF1i8wc-Wh8$qqdf?-Xc}NI+DN8X#7^&3z2MOc z*8rNW^xCSWOq>s}U6D59kR#L}xwrv|ET8Kh_xVgqO~Ead0{3vZH8V<-cEN81^(0ZI zpDACG!V)@r-?zQhz`HBW56vxA`NUT|KAtb9IDMcz7LA^#(Q4FsZ!;0_9jGYRZ%Fgd z>6XBBR3e9K2=ig9Q3|1F?7`W;_nkp4&lzlJg;79pkMQPbvC-=eD-2}7owfX|W`5;)X*e9A2)~L!V`12hv8mG` zr6tpP6sX&Ngj8htaCLkOI?EqrOe0tnYU^*UDrC*T1KvJYvM=+VRU z##|>l@?`mhd1le1m{RxdpyjUqx$WUMZLIjitExKhyOW<8EH~p{;C|+;6@NY`Ew};t ztJPtFn#czN!f(jA7=Wir-iFkDVMe_^fSGq}_;q+8+Dwi!VXc6d;ywp4V}`u$BV=^$Ri$A0Si79J-z{WgaJaY5O1vH_Y`%|dAwD~3Rz}v zh1}zCRhbvT1+&&d3=Qo5`nU@b@^}7_n4w_vXNI`veLNG}hII^&P2o58%Q&LjMrVr^H}~~y$KS#kmfQmiHn`o^ zbO=F&=9#xhMVH+eV0`o<)4-YoxWK@Pwg8P+W|G!x71UUyg;G^>I2vFbX*}6en9{I! zraNdF*{$sZ>xarH&3Yvr8?1>J{Y3xd=6r%rUWEGtCVhorOzrbJK?E|+-ojg9O)xL_ z@4RM36z=zElJiYU*Z` z#P3{n8~RNc@P&L+km7bd=&I*>1jxpA0$|@ zq*GFxf|Y~Ybj%{Ae>n4}KGkldF8$3v)|LOcMr;$_3{Dt2M;16!N_&g*;f~lcTM=3X zmsnnY*LpiQGxs!1IuSA z7uWRGw1Ey5e^tcx>7s%Zfj=I02aR^1Wyoo(@x-_R-q=!@#9UZi&&7Y;LJOF5ZG4$5 zq&VYBu}lG)?$GRUI*?tN&_m0HR}9hyx*h`lS5aS|kGDGy!z0ezoOk%%+i+S&ainuU zdE1}M9#Sze2w_&=#7n?_CkrJmxDZ7woI|9O@e47c9aR?6pap)MT2DEb!jU>}^xpTuJQ!vD<=o1vS}`zJs2^Dg6z%OP zY;F=7>t%4oBpzLUDS0NeUdx50I;bv3OS&1Wg^x_6z6UMjToxfU_Gx}Hx-jRM;b8A5 z&N_s8g&GMs&h0#M5;+r!pg=^vC!`%G9VXUguLb;5BFc}L0XwPqQWoZS6Pd;~zk;h5 zSrQf1@dV-M$2U&@JLcgqG!UvE#EheUX-!+WGy-`tHgz~!BJ?5tB>$opSQ9DY*RgUa zolxw&z0L zd`_QLen=`%nx~Me;qlN@SaD(7o`6ITR@W=c!njjlc=H=`<(%My$<}?3=Rp0v&O@9V z&78eLy-s;zCskwu<_Yyfs|Z~=t8W{3>DXrRw9^F5!%nf)cqM&O`D%P?AP&rT88SbbX>y%6&12as>t8fikqS(}v@1R^ z)oW?f>8JniLo_DKq3+VyQ`AJ+yqOMwEmJCkHD|x#q+k6ybx%zKmtc3s9pWzdrwkdS z@; zHG3f1+K?XWNu)Vy0j4rtKZN2%Ckr3vZir9rNH?x|rQv}ED_lw58h5?RRDv^E z6IW8JeebDGE8uYWg}D7L9JU%cF_zZ5xC+0@&R9ljc18T+B{O!j(SG4}Do?#A4*g&JZZH$QAg zarv01BlTv?r*fO}>?y*!j=EGRiN$TIb;u=>t?+5n5_j6bfY*>3z5kP>S(`T}H@P*H z8D!*%)($<5nlkglnr$B*>20rFKVEd(Po~HA;3LD&%&^Hv4WU}a)wc&^YsiVmx;n!@ zRiX3UV^thI;@9iv)Gt3vdP#4Wz^K?hM)>wg>P+}O^6{-pH3|96wLJbzGt1yym3|#w zb2qXq>&wf57bek`i)*#{_zf2Nvz_;?dtRRO-Q(44PDv`DpYu2i#MRs9!ECD-?5^if z%_5R!>_FlH>-zZT_=EUNO%L|ipwdghKbjJh4 zLEMs-g{1tljGsA64_QLb=XO;RV+TSpE@R(9LEj(ynibhuQ@D#^q6Hc?}kQXmFi{CJe zk<+6IHy@B;f!u+X3txU8TbA?Wqt;>i1Kda-v(3*Q-}o?R#OgXgk7YvjSlC%SGPMk3 zjAS+oX?I8&c+*bzKA&O6Vbaah9x{-2ILd5zmCkYurU)H{PK&Sb@xSJXxPWExWNz!9 z_g13#<`Go2`;$|Q)JNA@YY1#ZD(1O9yN%BB05rb)kEb%U58Ok6YX;Sc5Mg7YOo#W zIkXomppS%ceOcgI^(`&|j#_=TY6l1C`Qc6Y{AB;XerVx%bHhD?V^OpCkE76wAnF#h z_kx!6?-@F*|6V2e#Gq9}8}UjC27u}X2UvDhAN^*&2p0vmX<@i~+*3ES6i8db-+UhY#TtEn5Jx!Hdg*?`{q1rsEs7_WW!T;-7!$v(+>g zm!G!=OmtSG+^}c;pG^!iev)=bPrdr+T2U-?)?gJqc~hHI#cLM-1*Z#W>Z{&dl%k1* za7@@7&R-NVwo8|s_Y9y)QdNO(%<`B6V@UF2`|igG(wTd>8W!t@HnmE#@GF|T^qwnB zRw{&ohP;HO01Jg*e%o6s?)(r#jvf{zij27zMI~B^TMcUmYBa_hO=@52sLVd0@c)X& zYXZmGbM2TFGjk?5V$Vx8pw}^=dT=~JbW>sZ`){?Ve=+$Fv@tmu*Og_sD)BuaV{rf%od`Wu`993t&Czo$47&XMnWjLp_5l9lk@oP~ zTmsHcqJZ^*W$eYFsyz{t_1!JJU(d-|^l#j{5;%d3OH}FdioQ9P?ir6~JN-=AdV@;h zFL~;}0N&D{s4IL*J|r>v_UfV{N_^fi+Oa0-eo=sMRv~0=?v>!=47fh?SLP_vy{^$T z*)H*;+IjT~7x~A%O414BxryAZ7nkvTYvNT$$g{+48OS%xqIs|IaM0V_ft=FD_#o@m z%bpi0^neMjz(c^Q*zWoycU%{vSmA2JrK;;lA0^w4Mvs@3yYej4e0WIS2rXzd?M==YpEiT*m}N|hkJwePlO7alWIiVE(7T04qMBx==b zR*Ipp_~IK%GkYwCKIk(1A|`CLV1)(P=BT_I;i>6v_k7&2c}bt(WR-ow1dSueg&wYa zQK!bm1)*G=lkrbMnxGR?#zYEK=0iR85ogJ7iT5Oa%skcsz7r`=wxtXYH7kdB9FWXy z^2N0kL#Bu=7sjM>U0 zmKyOow7Xv>nmW#kZ=W*a6I?X9U-bykwIG|2T(G4U3!8?8!KFEs1g9|#?5JhzCGvSN zcx>P_%fipmp3h9z7qq(;PRu1cAenmGtb27L%i9vCv@rX*^27q-)8Zu=o-l-@h3ajK54>xWL|l-_YaHFc`}#C z8q7N7$utEVGn2_bjh)w@9x4dsqU4g2@}cM~m>^V-XXvF=@sylyn@NR-SMd~aL;h{* zIPYdU{sTN+>)`?$>G5gu_h|AGtpzHWvAhdjXW>$qO!A;=NGZ%3#$a!+C9th}jG}ER z_cBLLCS=-OdP-=66wGWx1(QKEo8`6xq(F&$;?Hh zJ{pa(MTH;(E7~w3=4z|z@LTXiGULHn-L?%mZPQ*Q-L_6y=ka+dsqbYjL*#k403L6a zN{8jZsp%xbST9B5eF2T4;Kq6s>M)ns0lNU11$0@WF@&pX#C-Fr1B$M_+t`C9AQN?_ zMmy~-F-qpAliqD{Gw`2dUF}5PP#BK!v}GA2&r(i-*w#3|vJqI2!Kx`37;j%5hDi<* zTyKFk)6-5lnNJWv7|@S3wzZ&Mh-3Y5oS)!_jd%P}xT+_lXgx%FmGd21>UrENpW9G* zkQ+DN;au#@3_lopY?+sQX{-&?l!gcsRB*e0^Wc;`s+7YJOpj6loEA1u;Y1F+HAlSH10KnuF$La_Q_x1qg4@@{Nq2?cqbpequx}) z>D~{yNhm*|>oV=Tk`Cxpye8&Xj5=Kn8*skx6__=OAB~82iBi2ua`;mFlMoT&w~Jd9Ug7x_ zUP%Mux4Li(Ao2~*2Za*9^w%IAxRb?VC`OF(Lxh0QqI&@}SQU&X17-*bJWVc|dt9rB zNeSxDA+UzBA`UyTNfw(V%c6usq4jL1#u@4IZHXXUpBNsR4`SY_>b^nofMqCCca^e} zdmJ9{9<4W!YCc%NnmOks$+N^Q$>#d^kb{7(`Ne)M`0zUDc=wz;i|Civqf_x6PZ$&L zJx3pKOY*upMV$JJFS3CH&VeBQG=BcX*LnOtFH6Oa<(`^7CE#7JseJ2345^azrpgZYUeteBxINiVB6`ts8U}9ssy`E z)To%v0GB)BW=xQ|{D%5!AXQlNPQ2?aiH57~W1epa-V6XuX!G~16B5Tb!1(aesHv@D zKa4882z3=+S|y58gJt7)xkGqSrmatcO8NAUqL>2TkAV?+zB1zRMj%z|Mg^~@JaxJ# zw-TIw+7od4(ZH9}C9wJ(4n*0fB8$SK^NPTRd5a|(*xD4v1?Ld#$UHbjhw}SiN(MG8 zbn&0i`y}6m8rH7V7v3ZYPDkoX{OEr(3x7O3XxQ2FWA<7Q)gEWaaum`|`C%1QSKoFj z#E9#&W#QsKVPG{ZZn^NeHE&~(6i($L&WU8P0E3uGtcTz~=iqViG@rl>T?mJ$z|VWZ zgVjCe?74gRLt%C?!XG?tECC=p1A=PR z(}&NJlku;=9-@rSbjE{#OY^A<<)QQ^+E4+<9qGHHAE`G-A?Qqh(SG|3ieY8@(b}lq zRBU%pDKa9Eclqi8nZU&32kUkQ-^|GlJ<7X-ZWI>n<_rHEY4YVPoW}KAvN<)vvby-} zU5ws7;ea7L-uMsU@QR(?ZBUOhZR9re(LaZKzhOib#=v6=;(!+zRDeGTJZ zusP?KDdXt2bpFi%4b*ODrZ1x5P#n1SVk(Da3qo9~$vNaE#))$)B)AXg}7jZC@Q z$8grudW%Xrbxmc=cEn3mw+5GWlQ$!b_2 z|2adobEliJcEJScc8~GtUwo})e=@PmII5$)Rt;hP2}N((!O(_D-|;_)Wj!sKQtSH0 z7>kcpvC;+xgFSuWer49G2zM@hyT(0)!nvo#+5wT1GF43-J9V2MJa&;AZERKQ4!_^O2eZS9Y9=4iDh+W``=Zm5yU>5FA;2T2S~Vj`y`OtSQmj6A9quQ5y8Q80kd z+X3;oJWE|9*~=o}qfrUW6Ze0>>Qx-18;Cta_Qv&9SiH;!xo`)ISUd8I9di16CdItP zj4T*)mD*ihd)$S57&>(@u}cyk;m6Lm(yU%XA5|`x&4j*Kr_Dyjh?*g>ZGT z?fa~1_#p}x5bwd{xnaRqf4p8DQAFVWm117Dv&XsFim%-IoNaE&PS5X8{C`l4Z>8J` zfIx&|_Im-eDS}ujK%mg${~yYZr3?nquQHdOtqSUr-UCp2lKV}puq?+7rUZvil>%nB~ie(X`mUXCF zl8k3c>uVGXG* zLz)Q2lyn*7OMAq>5hiTMFhcT}76Sr;k821L@XWaeL3;q@=Dgp5spjdW8l4N8iS4&!lc%Vd_*~ z^s;F09>MuIOcSTK0#-Y`v7?!au8^m2ZI7B7YhR`pHJ_BPke*ABK)ro$nfz|>Z}|fX zLCPq}dCd-+b|1OY#6MDmmCvMkcz@LQSa=Zck}vughNev{m0tQCyd_U~i*HBVz&*}N zxHauS`u;y)nrlcCPuzP@vaqv?4ZujO8YBSQUryLfjN^Uq_M~!L30og5<9%c1?z|yK z;Kiz--yEB*w4%j#A&vA|rnIFqZ_MH4FLHf#-C)t~{M?Z(R#1AL82@nTqfj84`b+=H zvNbR*_BZim1`R2VS6y=3x{fp?vZ92BkW@C$E5lpQF-)MtkZ(S!W`kwAa$*m$y#CDH zC41N17CW6=d{42Xs~4k(k^j(VDd_QSmSjab271-sqhSY@ds_`)&BP^r?JwHF*?W_P zLwjo(Agx0UKxn`RUiqq<-^VD!pENvdoH~chi_ZaCD zKBKb}!-Ze}>N%uUsX@>HB%qF2g=w`adPcop?It_KP7#(`g|2#dKE@km7XIeV48Q(9 zMl~m_BZp?h;`ltl>e=9b){2RT5kKNeo)zLF*@B<%{58nmRSE;Cl+gqm!?`2WidKVc zE&7#o+BJNk*?QuHU%`-4vfrbh&}sI(F~g3fG$AXp15R<4_KWn26#sp;N|e}NZ}67E zi|?Pb0@3*~w_4@y+EP!@J+@)@_haNw%>S+Dh?kH2+r_+G!dca45@dJ z(szps*{azQBa2_Soz<0*)XGjm9au<%s?#>=Qnf3u(;P_rkKDpP3AH{W@n&$k?x_Oey z3+!?0Tm7tQYCDINsod%z1&%tyK`5wv?sBJplS2CD_-95mGO&~ncV)f5q3!r`9qGx+ z*2_%YQXRRs)UD_auf|7RAhhf0GadwK?VHi@#kCX<4|R+AwLaFaI`c3@3Cr$HLUZp) z>`u_ecf&MyN=Rn7t|ukz#&&7e5p4SvoqBvlTvFa5s8EgC)=lC8+sh4CE{B~EGA@RH ziCkJE?r9KzuPB6;2SNIu>znm?`al)T-6dLCT%*?`vvoJj#Eu<WB)yp@JMm1G&{WzBoDRIV`xGqtHRJS6 zEr4da(BX7O3%DhIF58Zyv9cVf%5*};5C;G0I`Hb7mUOy`?oQ~Y%fBv4fi^~AkMl;C z^=SzR8)%&ebtl=KmD0SrCg1j7Z%rO_{As5k6@l3|5kIZZ4Gga$66|vg_x1c`Xgc8; zW8F0K=A{e)5mDSRmPq*9zhYHnbP#sf200b$A#j4;3GP`df!EQI^!Of$@&aZEYg_&t+UxLD_i^n?Y&6_TMcLUX5jE_9=@XXEHpO zEBPA9ECwy7BKoC%OM{;HDYmPjnk8fRbT!ljuS7?K$YR|&3XU3KVDP` zmq43lLme-#+7dJwA7wnk5!pbnl>tao?3~6Jzp3n9_Pe~hePg~aVD&-3lbXyc3igUOSJ z!Ms?cdL?JbrHa_iA|u;7Cf)Zh4zJPqVTQ?z*Jm+)#P!!cz5XNk5zM|5N|EE z5JT~hlI?Y(&XKxK^EujEvyV6gi5yaeC-J|2clh`qQ=J4B`Md61zYS1QsRy@yaS}Zs zy!CDD^?IQN_%@*Wr~1F7M-e`QEs~8FcI=Y7xqNuZzNi{C(Ulm*@m=kT6YVNFZOIn` zFFyGD35}00_Z_3E^|a1hCq70rcU}7!G#0q^?!zhqa}B4uif|XOR3&r>ovHssWbzwd zzFXmS0qXvABJsG41P*^3C(NRT*&>P@`cDwpbT*4NyOD=u_LN6@N2GITjU;KD4ts4L zLG6#LIzP@_Hu1bQ#!GWR?vqd<#D zvkBQKyR)bhe2#7N)T8#Vi@N*4J}1AjBmSavh4d@2yd;J^_lXC@o=H*yu^Z+B(*t5* zDD$6^6baZKXB?-yw1eIqyX^bCar%FpFW|6^XKO(sO~T#%Y=}A0afWnrEFo`5Qu{vG zr)Hdej`SLF!&FFg6&^1Uor}MiDSUD}xaN+6mAtmiPT_tz%C>_FkL;SSUNd%ja@z?x zH`~}+s;Dgz|BCV3nLHcORtL2v?mWf+sa)yhyo<%3Uo56go_)C4bFOw32ZMU@CY9UArAv+|GBjQb_nRcQp->{^k~^T=?T7Bc07` zV>bzAZ^LrG5ig1#>1`)zVDila{62F%U^&VP@{rGB3xysnym~MjOFc8f^KYcya&9s+ zeKg;q{*T7~37;o!26iL;f=M+QT#e=j=(4@l&0~zA;` zSV*+Sdaws=ialPa6~Uqa*ajM%a(#smr8HR-PS8WoRrAOt>1g8&(_|cV;5!wVR!FPj z9~+~^0j!N%#JCq;OzhlHii@&tedqR-XC6+|=CfYWnY64Q*;bX1_%BW0}?$7|0#XxrOgcLr3Pb@@!lmUtT*Xjk^@?Cgyo^s0F6ah~Q8hQ#Ww zB-j-k#x}n;l`0wA$Z$hpA=7ENHF>@8qaFvwT`^k zUr&G-XHmgGdHxY;ob(Ep2c>^xj=4iW!tz))SiWKQhW(~MvTvxaVjZ#I!wd-w2|z!k zsSxKT5_%YCiBBkoZy2T3xQ}wfSKRpm`Qi}go2BgiYm6g(63>NJk5X+9bx&|$zL*58{1K%>*t47m0kYp04=i3luGe;8&9F?lg4vGLcmCq<#SgPN z(}=%@>q`17pOhe@TCRU1QZ*7|s<3(viIDz}_rAPgM}*@VB2K1eh&?|TFj_0V`$jce z(dydUyVoMh4=$#i(lW0$k5vnOOfy;CjTH#2?psU~*>41VJl}wKR!BkCrIp0y2-Prd z66xyN-f~F@i|`BCIkbFuym)ig(B-{0<)h&GDnj>hGT7Wz=31=vl&JV$TKE`{RD6!i zRG3tsR{+p?#ib9;|3f(WZbk6`)7c=L--q&k|534VKXF<=bWatVlbwJjz&Xcb8sry- zxc{JV^2KD`x3kAjUBzi&Be7FEMWO?ZEvopsq&Z zA88t772X7IcRb&LhGJ+2AfMO?&pq*=e=exQDSLcxMrxbHen;`_8%@=N!|AN zzY=Y201g+fTp6pa8RZo5Jb1p_>3`8*CK)3?&OAi#c5E{Z>)$Z8uKD8qa73Ke@sNA$ zyo%}#1BU}kvmV`|pV|IAspaIw;^yQDnTF`VX6L-Fh~yNP9r@qXR&k03OD=GK1Ck## zi2rzYBw?Nt$6z%)AX$)7GIc+Z5Rn>$DN;~ZT<`tt$!x)`+7%Wwi-7K>IO(+C@!L_a~j zxsxHq^*i*o*6}YY;jN&gQ89fF(;3FC04g=T9PV&X0@s7@IFLW?9#o)d%uiJ9gqZ6d z3!$r2I+Be6BQTRCZu9qmv@J)(vmK#Oy-+8^@S_O6Xz5cu3>R~(M#qUUg>9L4xB5?F zHpZt?2|vjBoPDtz^5m>f{w984O5nT;GBHY-37BGal#!=;eGPteEa7SLq80lty9!(3 zN~1K&qR+(d5_rE_v*Ofh90Srtafi=GQ-?{?#8HcFc|@&8i}q8G=XLrT)L;rzNAH`Q zmMYjh?1!PvVcd~^^qwPbg4pgGUe_UrMpZz8umvL>!|CAGRH?;Vn@G<9AmrB2IR#X{ zVn-VP!XfQ6e(?TB5UOlD$3X4XY? zAnj%wM~4Jk&Lo}W+kbNhlgLbkT~qF7j_P76%_0bkB-u^J$zf`vLhtqT%z3R@$&Y;{f-1hY>PGV za@WGZb&&aze$hSBzHuWZ3hhTK9!n~&pn>fLMfjgj>m;b)pC4kG|G@bF=OES)xZvjx z`EbAd|9cK3v*4f4LsS7$WYA%`b*gB4rMZ;eVY!}H{)QTqVfHHW@!?^)rxWXpWS`d> zmL4wK7nDO21$zW7_e1K!xI_`sl6Ht7vxPII34~Tb>z9GPqCDtH{Le)xj0z!h_-(bJ zkqHAQzu@>;PvG9rSBXL+!x6@T{pWHU%yESAp#IaA8{+Fpi7a|~l*8Vl@}B6TM_JmS z5}$32e}Sv5PG9~`lTB%>B_F>d6oRv))bV+F@n%XE7$HVE{xRpJT`#jWP<$AoZC_4N zc?3{4Uq=}KTuS>bD4?^nNJ5m)QG(Q3%rkwPuu2MO{etpnhF!3aHz|eF+1{xF~ZHMJj z3eOhxeDly(@;nZ&&N@P{W&uO&aD)aM+-d7r`%&! z5BOi^3oM23=jYYp{iKloGZ@3)$)P`gAT=UH1^>^D{!ga;|KepBXI((1Pp;mF(^x=F zl)kV4o2rsdw8tuM2Bc4T;I4O!T!WdU#y) zzBjtN`s|foOahC?F)y9p5S39X+9L z-u7ufEV&H%2BzJmEjsv~=!8O4F$l%EvLWaWZMSgKR_h|neKIDNEmArj;Lh+Drd>>d z3HG}#Wk3^^$Nmx*goGE{I0z~P&BQUrH0C!Y6hdD~DLKSY#es^2A>JH>p!VvCXVtTi z&dZ1+CKiOF&*ADa(#re#KvWPRsc&hT{*28vEI16m49hV&UmEqo*rd#xm|HEnRG-Tq zNzE_lU@DNDdd$=3DG3B3QVpK`uyP7kzZ@jAM6DN8@kja&HdUBC0yN|RG!eatu;(;O z$5LaANM~d6rgnN$6Bnx`^vQy7nMwlZ^SgWp=PLxww(4cm_0H@9TBl07e8jZjtb#t$ z%N*-G+KEWx+8&qU4lBGY$1kOaT1z*zz*w+n!>S|I{o9N|?|W1ml&oj&I9F7S=~z3Q zfg>h&@z~4+?F=+ou)QE8Hu*G?_n|`j0#*n^8jSRFJ;J>j+ z_Ptq>nD`ATu{F_rfj(Z{Ulj(pK=Fw&p#KW)Xmn|CptrE+A%W>;V-F3^)YL|c~ch{BK zw{nf{P}IphsB~@!fmgl26)BG2G6chg>}iK@Ha4YFmHsjHG5C2&U#T+?jK>2DSvohX zA4H_6PrGh1DNt7_7)wq`EuT4zpQ<$Ct>q&VTVM3txk7@YTPHVPAf?XvQX1*o`l${S zM;}rvFC_mdBH(g%`GG;*;{8?{GAcy$2epMagK9<20jWiccUUE17ZD?Sqf2jw}jXId?{Ls{XN;_XYA7M+-?S~3g z#a25fysIGi4IKgu(s$-=Z8Z8NFyGK*QR@V8n4M;1yp$(}-=6y&^)2-LOr*#q;?ZoC zjeFF3AnM(VtEC>=%BJ4v&jI1LwnmT%`poB!bYAIu!9TZK2{2!ZdvX12Pz4C8VN$8iS>Ecf!-nyEG7#yeQn$Q?(QWP^*xFH zaz<89%?XO$nZBvcrQ63}U>TZD_BGS?ZRRB1mQ%3r9s1N`X=b((pKitM@mi3kVxB!u z=|-V0b262VqT%qxKL3lsg^uYw+>c0qGU@p|COZELF_$mz&|R)gcINgVdcTYUttd2C z*X9djfTpC03mUJ`_EDl{1~slUVGf+m|)}7JWVQ%btag zM&fv#8QR5N-rvb-X`$Y?BxB?36!-454H>^!7Q=_I!Nm!7l}6m;99i4m*e%!pl0y+q z5#hq{_N>gUs~{pFdGICniG?;0|afy$jOiRYmuK%bq(p$2H4ZMfi6V zrGlZI9)K>x0l)nJKv``dL}Clx>>uAR-&nY{9Q|sKhP6_#puP2^bOKs zzw31ARJ#eI{72eRPMwU*-wycoR_E*7T)t0YRSX7caIdhGU0`{*gkHGknM67m36^OMj00y>Q!g z3-$u{#N1hrf{<6n*zC#dq;&1rOq(bBVoi+WIWXgi-k_O|=~PASmRRN%nIMl2Ag zkJoVCU5XKygdr7{^@#mo!R+a6#bawk?gfVob91vT)uG|QX=pgHUE>iOeTMe7lH}2X zG*PXQJ9y%`$qI#jLc`%lH1w{BXe(uEO5=F3B{!MZhpIQi53a*69#MuO_(-+ z$&WW_l>4gP50()mf>cIB!*M<4az#uFB%aO z+W>r#o41qKA&L3)s4?OP!JX)lV^hNs$zu=RXfihFwcxr%#Ae|U~4Y_Sd= zCO6J+coLoJt*h%nG+ou#`dBa!Q9qsb&4uzGteU);jq8~MZzXF~t;M1;fehjb-vH>s zyT72D#m>-2+IRUfw{fJKCjc^akUOQtC03mgKF5^^&+?G7>THI1f2e^vZ$nz>T*!-g zjSS?n5{x)xeQL=6LCSQi!jUgJxj)`M#&n8ftR=PD3Yg! z6tewr0U{>i_c?}mQYzIUa3aLeF#orgxzHF8cHLzumSE#}S``%EKb3FAaFLa#T z#x1M4qD1D$#F?i&2x;t0uFHD!N}9dtcMi5~2SdRg0=w}yRPL^KLw;qk*R7)A*@_gD z-YoHbS@Xg-`+b3_s86b-=mOAI)PiJm2|_DqpBh;FKvxdLvC?B zbQ(wR=Cd%?E{v!P9mP>!ie<-FAVh_n6-I?yT!PhvZMMTQiP)JE9UjJ~sw{=k(8$wE zrNVhU7!f+4`@@V%UeRf~^xkp#DQi*BYRfr+5a0!H+A(lPbjN4UCyOV@VUxu86P@ZnRF8tGahry(dZMv ze8~bsjZ^LDsQQzEM&|X04cbja;-;rH6F;4qGpMqbVcA#%L6uX=bks~kYe{Ikre0kJ z0R$4>pG({@1R7n$G3Doz+a8yRd(`#a@W_#M0o?go0D-q}DC*oV&3EJJ7Or6;3I8!edh< zcCAn)xzQA`x0kYB>(KDLX*+@lgWtZ8ZTxpVC&d_dJ;zhE4imIlBn2s33%WUmdr_o( zlUu4c4t?{q2`i#a+!}ABuROMo#rK$ z*UL4REe2^PdN`ek=|+YP+O&SM7sET{pfRl))Ixl*b{NdBRcQX72>y;NWC- z<2MG${9b+~g1JC$b|CmVxY1))7?=KCJoXkKb8cPtXUC+hiT^C<@md`sI_P++tOI(= zsduUg)bS$q@84A2+)K-@-&UMKX|*Lj1|plxoZ>tzE{s;V@?THp>F%PuN0WE)IBarn z_$H`!m{}i7LF3l50-wAc2H-FQV(R4^W_j<93+8jjQaGT>D-(^#?sLN<4E;W!mpzvu zFDlzM9&uwy+wp<$0PTD)_5NPSiQ*bqLUCa?SkGTANJn+2Ut-CZ^&^kIiDf^n=I}>k z;Z^R&W7(SSqx6Gt5~T(5*H*Kc%{bXE_9qX4qZM@UevX65syMg`0ZahZ!P&6AMn2>7 z(iEiR*jXVus&HGfHt;HxPQRA+pr0jh979uyE6f9m#RM_Q)@FCn80>?=xxW1c^0z@5 z#hTs;G@l~ZC^&)BRrQPzJ5^jcXR{eS7m4svJ^qVmZsZZZwyXz zqHCi746?!+ZlV9`r(0iMd34R2mcn|`TrCUtj>=Imp`56Ac>TU59rramQQIO25l@26g~wn`TMbG1R9A!Ld~Ps zp;$B1p1otp!emaBIeK4GiSHH#36|}P0I>ndZXavVpNC&I_{r=={axQ2&lj*74MdKGpE3L%HYiNGbXpI%TPUMsR{%R4yQNnaZ<^IOj5Av`MSc& z4v@ovt#vX^;3F`R4uBXSxQLwoH$g~3h87BK!Q2kHF$u^rEE)EW8G+*&M2tw|Sx~)= z9(fM5f>V!ktC{vV-(_4hyZZaOTAVJsi+-RHD5oPnc!s1bxm#1yl`!{`EvP<8nHe)q zV(QJbkj7vi%sOEK_vHJ$=UCc|Y*c){Y&FI(#Y*mScRAdeBU#uH zPhk}=3fQMhz4=)ZcF(YcC>U#>2E^#5+ZZecfmXi5A1YZ(9Q~PY@&&`^OX0;j@$!Ee zcLyr$iL8Q#oPIPHTKcDN)%GnbUnHO(-#wg6^JETxKC=0>7^^N?mtE#u9dhV|P|;{< z&8p)@;{`M%EN?58LW{Q=0kUYbG&!{U<%Ga7p62p?5Q(4IA(CECuh_Y}IFdwye}mN= z`YZ3TJ7c8`aw$JTU)N;P*G8J5BWu{=ox!btsHQWJ2>4tfCv&ArECK^>720M%%E!I< zxF*ibJg$;-Ky`St~ z++vK!W_Ka7wJ0!hSrLxyqhm?;0Ge?4sV-FMKYLXNKjhVyg&0AJp-JD5*?n-QvMCnn z@i%B?oI7XWEmG(dtWmjq-sAR?==BZ*4i_5P4%t>zj>VcsDmA|YdFbh#fkB~>KAoqi zf_u3|*rF$hW*P6ro)1BsdXzbVkTPsqM?StREccNr?7Ckvs;r1I4A78IHTTPXLnDJE zld_%9ieA2ufSI|TF-1#b9~Zb01?3jI#7RypP1nlGQV-5;M^pc}g$v2`s679iLE|~< z!zD#Ll_s|dW9)U$O`v?EQVYl34DVLVqg=`lMI)?H&{UW?LIudG_4cSsVl_YNMls5%EVMB{g+j z5lwU`*z?z&zPY*kh3G})s3*!SR0S;2mp~*9J(9~d%?RW!o2~%b_8HhvREli*yxSMg z%JV!SJvfcVXUr9>6N;)|iHXO=G6L_#GA=8{D?hhsBbpiSd;pbmSck{OKO;jU!RLM5 zZ5f|6KRJc{ZBdiYV)oF?U+(GbnYWNLov&;o`#QO)sR>00dRLgg<~bxhoaQR`LDd)~ zkomh@>KV_!7X_*?1?)rmK(()jMWB3Ht~wuJXMXLx)lU6|iYW)3lu7V7kRwUL3b8%u zR1Qp!w$K&)gUzp-H66lnHUDDCWGxWAU*0&5e|!WOFN-iTPTJ_1<(CVZE;bOwv|tCm zUj=&y#O4e2F{TYa5&UVe>4A+4q*5%*e+MWAtVW$_j5N_MB85y>I+tuC$qum{KY>VH zL%GfiLB4VxBqt{TdjK6w&F2YbUw2|>CMfR7`@WJgY!vi{#mC3#d)NLLQWmD{6+wl< zEGt}ruC7;bVpJ_lU{H4el%9>vP=yPFr6vD1<{ExRO7Lfv!*f zykWVl;Dyjc%M>=zV1Y;m)~SZp1+UPHpwWKaLLmZKRFZASo)AkJJaT1;&wfeQc&#S` z^rfsPqPuZVN{Bdr8h;^#v@LtycrS6iX8V8+*_-R}w)%h>Fmskk8Ne4XJ6IiZ+NmhmRB zV7`qTDjt7co=R3ANrI=Z=cV~K_N4!+$f(8X_V<_MVf;o=ZnUA*2mt+3`>)G^ChE3c6eeY&yV?APcz;Sf zoJ-!2p|dC}!XPE3H<`VAhXqoLxRQ&^cxvplPmor*v6)Z%a>h}tj!Lci+cyM+w^4_@ zu-BGx-sWHtLp+Tz-clhJQ$GA8O$E4T$#=C{WB3eir{RWcEiEn1)VAWqeDOHfkGF@~ z@>47pV@BSB89D3WvGv&Fqpy|Z(t(S$2S?6A2L6xDQPoY>%tCzv5evF{44W4Wf#u~$ z(FA2Hh`b$0Ip-NcXIh$eJg*HphH*88@+3s>kHT+mPY=Q(e+_61DuYfqij$z>(R)_4 zLi$9UUM!zv``s4IpW!7CV+D9_#!Sqs4f+F{o0}OqI54myeb=qun z^eir_0WWA+SXlXXcPA$O9&luI^t)xFyORZ3sSNJBdL0(KZ4oBZ$?OIGBqX8JrCKpg zZf@hFdUaqmCL#%q=O=5{X*dO{w7bhbWVE_O-7mn0R-WcOY(-A&92O(6tu)E6v17l1 zeoI1REL;|gcz3A-dZM$jRBJAfER!)Clu|nJ61REnMY(NRa51SfGyo})^n2tVm?_*! zL;mX>h+_-s8zgzVlA|N5yu7@KsOZ+_W>*v*kHW*<(F{fJmALrQ%SQ?2S5$H-LT2XJ zU_^o%`#lK+0)DBPLg~=x=!tm;BbQUa5t~8QB8P6??SZhhm+1UH6NI|L7|qf5*Q6bz zQ*PonqN?f(>K9sWRnnd+{P7#Fr4CCTw)GOha6dXzrYeZB4GVfzkI|h(T0bJ;*}Znz zbFEMhTR7u9ff*OI%J_zq9LEcCOfoykxLs)W($@K+N`ypb8v82T3VXU6vBH`W%S4HsMVPw z&y}eTE-$Bcc)jF~ZG#&E(g@jLw8^Q@pQ;xE;>csY8KMgr{nZM*z~F#rL{m66UbCen z6$~3euI?an49-KxKLIjOTm@WYz}WT@6VK{L5_tY;GhC(>LSr~xr>k6OV$Rd=ErR7x zXKx_ZnBAUFoC8AJ-O%Ut3hM3ojs%!+V1xu7lH+;Ih`=*=TnYsPAXnQxl6*eil7Jzo z^6}YE0&T3S%62-L$L06r6n^@6y+P#X=U;7eiwg;XX187qiHwBr{SCj9;j*s(`gjFI zShdke;_QO;a$P7eAjrtbSF1NxYb^=hZ_mj1_)$eg6nyTt--~7ncrI=XRy(|S_C}Iq z%k8RbYb762X;dp1^}0YhKHfd>`8|K0%$FZ6*ITrtMvSF#)Vf^gSg*D8mnasgwK`iB z`pBC711C!2T@jRr_Unzo5eau!o2_-dg1wW zk*bZMp^)NYN_yRn2&69<7#Ki^>T1lJWO@B4X*^dv`Jc4_3I&WzOm62l@Yt-`77G=? z`ZsFYlDaHhDGkuDRK*mPHz^*G$*jxF8`RBXBsPhK7F16sn)iuB@bO_lFx= zSxFy^XK=ZkYbA~Y+KJY+rN1rBDLFm|s+>l>Akz@enKT2lDU#(1WHi3too2%-I^Ls% zD)tPBBFN~MQA`#+sZ2ADxM|ccg`Q_)35)x6n2Y{i+Uwgjh43R;e6e z-}cJ<^9KnR7gwPXT{OpXsRkTMK%1dRB(x}RdvtU(BsBEjbTc5p!{YNR5h$1OuesQ5 z{6HIJy4b7e>|*{mjsQq}S>9hFLw^U}d)eJy

7SKv%(6C)7i^Ep~Y6>7RBxr741I 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 YsUUg=OO0qjv3~><4Ysok{80vO0PaSCs{jB1 literal 0 HcmV?d00001 diff --git a/assets/comp5213/evaluate.py b/assets/comp5213/evaluate.py new file mode 100644 index 00000000000..7834ca32306 --- /dev/null +++ b/assets/comp5213/evaluate.py @@ -0,0 +1,129 @@ +""" + For COMP5213 final project, to compute coherence and compactness + To compute compactness, need to download pretrained word2vec model: + GoogleNews-vectors-negative300.bin from https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit?usp=sharing + + To adapt this code: + 1. docs: store all documents in an array + each element in docs is an array of word id, denoting an document + 2. vocab: dictionary, mapping from word to id + id2word: dictionary, mapping from id to word + 3. topics: an array of topics + each element in topics is an array of word id, denoting a topic + the number of words for denoting the topic is specified by M + In this experiment, M is set to 4, only using top 4 words to denote a topic + + by Xiaopeng LI + 25/04/2017@HKUST +""" + +import math +import sys +import gensim + +# ====================== BEGIN data preparation part =============== +# ====================== should adapt ======================== +num_docs = 12502 +docs = [None]*num_docs +ind = -1 +for line in open("mult.dat"): + ind += 1 + progress = 1.0*ind/num_docs*100 + sys.stdout.write('\r[%-10s] %0.2f%%' % ('#' * int(progress/10), progress)) + sys.stdout.flush() + + arr = line.strip().split() + doc = [] + for w in arr[1:]: + wid = int(w.split(":")[0]) + doc.append(wid) + docs[ind] = doc + +vocab = {} +id2word = {} +for line in open("vocab.dat"): + w, id = line.strip().split(",") + id = int(id) + vocab[w] = id + id2word[id] = w + +num_topics = 260 +topics = [None]*num_topics +M = 4 +with open("pmc2kTopics3.nhdp.txt") as fid: + lines = fid.readlines() + lines = [x.strip() for x in lines] + i = 0 + while(i3] + tokens = [w for w in tokens if not w in stops] + with open(os.path.join(outDir,os.path.basename(doc)),"w") as fid: + for token in tokens: + fid.write("%s " % token) + diff --git a/assets/comp5213/website/.DS_Store b/assets/comp5213/website/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7ca780c0fdfceeb17ef5f892844f7ab1dac9214e GIT binary patch literal 10244 zcmeHMTWl0n7(QPwunPlBOKV}F*@Z?xX=Dp6HzRB>+#xh<=>>}G?#|GTOlLMbvs<7x zsWIM&QDTUfC!@$kA3EfQGX6sdW z2zUs12zUs12zUrg3zcehAUUWyF;ujufvB%ET6cWEoY9 zMEA505I!MSMqD}KNa0E`o!tXmSGZdYIPRnmadVOpSB^N+ac6Mc8QhlP?oc3FC%=#| zXNWk`%RK}<1a3!w@7>GUUS=|b*#-Oen~9XJS#~&l86~A<<&!4+{8Og#pIk9zPqg10 zjM{NKW3|N7yG2P;)P#HA9=H2*_Z_CG-@1<{IyH4LCReqZh8@=oHJ#_$+oc(bIoM)m z48`h=I`O(R#qN*E)$M6DORnv4L+#WoEura}eZc4EznEMzG}PEoA6mLBJX{|dTCpNr zA8K5-e0W%X*XNsaPgC=@p49N6*N(n^?D&b37e01Cfcqk0GmAjEScr(;*APvb11Vuu zy7`Sl?SR?Vrey3SV_z@&(GoU!XbzalINDTyeq_-=o^LjqHgwbIqnNy>rA%iUOXQue z{QCbHpIJ0Md{CCI%p0JlhS3M;BR&9>#vGteNa?~+FgU*7EAuo~w%s|1Dmk44>PjAw zrD=h6>o?4lHg#)B(}-#Z)tEfPB35srqD!`}q^V~H3@avAB;$HAqsMKvS=YHS)y=Sy zX;atRO-r*i)9C58)%|uZP=Ts@mu05yRuL>F%Na}Ep;9a@tF}=@3RTIey*>ayZ@+`ft`kio!eUtBVMX7^{mca_;Kf3g(yj zCq*q=z*f>HM2C3AJ<6V8udp-h9DARA#=c@#*)?{Z-C)15KiHq_FZfW68qC6M%*TCL zf-qKL4I*ep3$~ygI}k+&_8}N@iI>06yC&XoW*;%h%fLB zzQtu+!8QDV8~DZPUPQ9Jj5kdz4yoWON1xH*DNgEwxT~249};@V5G{ z8bRb$Yg%rxp@;(cL=^0E=p|^Eqm^KG0hcckyXVZUm4Z8oo$CIvs3TA2^T8*q=gkiW zWuIUicV4iNiX}8B9PQ%zpd^=cCY$Rr`$427iR%}Bjy0Htp(M!zi zgNBE(4>q#I&jZBJ$B3U#;we0h=Wzrt;6=QIS8)`_a2zM_7T(4?ID>Qe0O#=`F5q)q z!qp{{L@J@1^1Z literal 0 HcmV?d00001 diff --git a/assets/comp5213/website/fonts/glyphicons-halflings-regular.eot b/assets/comp5213/website/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..b93a4953fff68df523aa7656497ee339d6026d64 GIT binary patch literal 20127 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/comp5213/website/fonts/glyphicons-halflings-regular.ttf b/assets/comp5213/website/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1413fc609ab6f21774de0cb7e01360095584f65b GIT binary patch literal 45404 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/assets/comp5213/website/fonts/glyphicons-halflings-regular.woff2 b/assets/comp5213/website/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 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 literal 0 HcmV?d00001 diff --git a/assets/comp5213/website/index.html b/assets/comp5213/website/index.html new file mode 100644 index 00000000000..c431ce23606 --- /dev/null +++ b/assets/comp5213/website/index.html @@ -0,0 +1,131 @@ + + + + +Topic Tree + + + + + + + + +

+ +
+ +
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/comp5213/website/lib/32px.png b/assets/comp5213/website/lib/32px.png new file mode 100644 index 0000000000000000000000000000000000000000..15327152481789306eadef88393cd1c748dc31a7 GIT binary patch literal 3121 zcmd7U`8U-69tZG`S&Ttp2wAdCqGXM%-z>#gDk)iGP*Pd5FU3%4q{tQ_Lo{TYq8P+T z5f#GN%GeTPjAdk><<7nLm-{E&_xqgZdpqwR-se2d>%6h{=dAYeOYs8$u+JKG+5rG~ zOu2J3ADEkN*=|w*00!*sE}h{nU5gzdXvqoyFfcHHKp@!$I+1Y6afnM?O0B%x~Mb|(c2l@8#hDXMUCqv2rKqy4I z6@l2QsK7&^+`G<=>TiUFIV{dwI6NXUP9q(8;688n@#F0Z3P+RG9BWO&y3Wd_@m4~i zfQ#s{=Yr)R(0o!-H6PzfW~NXatPBR*Sl{p>ntc@%+{n!IZL)@WiKq143Tt=C{~6=) z#wLv%lr|8&bp85}we>p*iFp^7MIWDf2;?yUERGkpN=p-*^qJcXSy}1Q($eY58ypU2 zX^F0^tjuPzD1|<|%hQfdZrn#9^MUR8Vb&(u-6wc+W0SQ_Ut_FIPEJu57WNp_sV|SW z=$*NFxy7lDy0rjEkH9@092{C5XjuQ%{CA?0I`X2sF1DfgdM_zs;v3#Fz#<_LySlof zSHrtCH&jL}+g+Yoq|u)Lx!yb5F+DRA77=^=C7@ji>@gOud^)P}3b-?ZYFJC{+pKl1 zF=y`W4FJFb0MM4`1M{5*1m5}i`OVq>SpcB(@Kk&)F>QeAK9f!yJzKZ(@O+y%d5Fx~ zqSe;U+I$e&S{!@3@bojOP%#G*HDo?FH^=zPn4nOG$iqE6JRgU;aFm3n!@+*vv^=UU zkGufTU1~}x2=XAAlbbsRg>FvutN{Sq*O#@uwD;)IQLJp>N88449|~pzhqs%SR+eJB zTzA%g*Z#_T@--l`)itEqDL%fD@cG^F@EE7QegXhkk&)ZV%4@?-t0pEiVc`p(#IAih znLOb2aL^k|Mwd^fRINq@_3C%`H4?s8Z_z35#l*ac7MogHly4QB%F3jiWL#6}g_nlk z$gPk1{7XiYAG8LZDv_zobIhLgC?Lm{P=nfjyfb=o;=@|D)?-y-OU|=5MQT|h4y}hc z6bh%in-do|(OW_2c>i^*qoKfMAv`=hH=>}xKI&XTi_GMefcdn{)x+M3EIZkkl&>W z+}@+UYHm9PvX;jn)BoFXpCC6I`x5++Z98xoB9S;IbW{@)ac9Nj&6^J~RG(PdMnt)+ z=%ZngTU%Z*R@n~9y88kev~gJoMlZf`S*U(cJZ;|KUYAdCdqi#8E1%>Ig6T`G$LG-z zPZ)@DjZ#(q?mA~R4*?ZF#`|ua>%9f32~Y>gafc7yUo$+-FsiDZaChLamHi|(9B~zC zH;IMt|E2@%*PX;K9MstygLL>rm*8p2NpHJfnFCkKB=g zAiRc>g*Ry94~dQVU5c{gyxF&urRuLBp=ghu-n1?n$;!zY9`e_KY_7A1libqmFKr~} zd&bU@9gA_K)U018s?Iy3ao|$WHO+S9F^u+ZS^&Yd`l8e!Oa2=|D#2YX=Z`4p_5Hjs z+F%hn^x1YYw_y#n(Rswy#)Ca|=YX0f7_Vtz3Hp#_LR!nadf48Q<2G2%zTvmS~^R$iV#1Dt8#s}wR82k3O#nwV zuE+&ifu5~c^5O|V(^m31F^Sa1*Er3W=~HKlgZRxRenpOQ3vto3k}09L>o;Q^S!ryec}Tf zV&e!k80}<5?cI^O{mDM;n_}k21o%sLk%teP+;7e3Q9;SG$U2ST9m>J6)klwjv7y)T zjT2NV)j`znGSmr|$~M4^Dl|PKfh;oO?vX&Uo+cMP+or9eVhh!~u%C#bpP&)#`t~`d z+3uLiXSFX@2p_?7SOtYU{Z^cO~x5Pi0ONSr963q)^Pm5Gc942(Hv6Vvn;5<$!3 zyEbi>sbw$x^}Oz?sYt=1i_3eji=vO-fbg2)5BcO*1v_g_`s~g~V3MJ}av6t|{ggUG zRrD|%i5AP5=@TXaioz%m9EpK&t?!6HD+-b6rU;Zg90^CJLl7vC5pG%@4zc!!^#^K7 z#suSnAmcw#VwCew4K#E$`bt|M%1!hcnR6H}t?m%e6wrF;(O8Ox~r6 z=>3_hju^O_rlNmi;!r*>Tsq}w|OrU||lQz?PytEZCeyXg(6c$6TSOB3y zX$uA&^wG|ACmFa4!PQnrV1Z+o0XTE!Wu~CEio0B{RN9(Dw7}UlbCIRfpzkHHTzMmF z#NG%}yIXKphmSvQ&`HkOwN4hX-OZ&;OYJnA-X#rfTWPL&gN&Y@`oYM)mp~4fO&n_b z^ULL%D^in)Bl#WUg={)6RSGdfDd$Y(J>{I8x<+8^stgrPG>D$%#01VVv{i`lYW;K1 z?;ntQ3<5o4Y+&A9>wE(GNrthn+Cx<_(N!n=c_Q@9*D^?(bbAi|y?})L&E6}tm>*PE zBLQg$KK3 z%k$3EFAGbze#Gb>z6O*3{r1v*=a?IQfD=SlAz=485&qfD>dEpMTtD+elvh& zy=)E^hw1r&leGds7HEu1{Om5tu*JkU{SPd$;*5Z3zin_Q=1PVc7JNgQHW3*=CDUYz zd5?7uk*^WDR}=E!1b+QDb~fBk?GtIlH2Xjj^SHn6m@2gQ^niGkXM$;_RkCVYMl*XBu) zek5q=@t1yvU{`=tMQRPN_eFDkh1PfI|2_*tCdlwSDwFb@Hf~$83T0=55}Ulq{81g|>EmsIu@u zwN8`Y8zp@@&Qpy5FO60!@}+2Tyun-QtF%>`dhKgNf@hDWrRZ=U2d}H>`^{&DlDv64I&u>( z8uW=uGK=c7Psu$Hv@8;>zTt+7$`u~2m9z0|)7cfv+3PCBtFeuy&wye3rS%AWA~lN4 q$a=%VWn+k|UtiDv&>%>!2^rk(D6aNK_^-%!; literal 0 HcmV?d00001 diff --git a/assets/comp5213/website/lib/40px.png b/assets/comp5213/website/lib/40px.png new file mode 100644 index 0000000000000000000000000000000000000000..1959347aea041d75a58d0584ea7ec51714797983 GIT binary patch literal 1880 zcmZ`)doPK^x}L8xo#OE#OkB~$LGr;}=FbpxeWUvbGmLn1DXa;HsQK~D7_{^sq2 z^fni3chvJ5$YKUAlPB<%YYsGqZ3*PyX7OjPSmNI*c$WG!up*Jd*}3 zyaNUJH)Q(CkAGRYx9(QF6|av~uGv)1Y;;XvzcpOJ6RwjX&Aq_Aw}!?@ks55jzGfWq zHi2b^qzQ-8bl-&6a#)X#NWKfdin__%Ol?}CAS&@2z3m-#8{JmeH=J{JF%S+MQ5YWYP20_w8qRF6(+-b#Trf> zo_2Ahj>H8mS@~xq^k9LXSkqS5UA65dkI8zx!mlGSfKyE;s4Src2P4*>GKW637{uPZ zn41TS!b0I%aCMOGtR7_5i0R^u?Z1kp6{@2~AH^7slz&0Qj|5)78I0s6dlVU{)cQrP zeNGP#HlU^~-R%ecwQ5d4f89gT`1oM|(Ofc=m=oyYg2-k3n{hQ$7?G# z&FPF6FFv(B1kEI;9zR$1bF}BYcUcz6lkHP>F~*Z@^?L7Dwi265tsN>ESDZo%}%mSZ>gVZrQEHe#NWr4C*NSf*0NrTPY+o|6J6YC;=zHNu2 z8bz_U4ETk(5(4ZKzU=r-bX5C~YoQu69_!Kg_;tIz@|bcZeUDp?>LM|N ziJp5yVxnWe6Y7OqZ0sqz9>rV_e8%6p;7r{y(wfYhJK>k?%R9^#}q@xkWO6(y$(5^YBRpql1{)zuK zbrtwwtit>e;@%w>h7p&2<37Z3Q~Of2IoVshosA0BYcm}a31kTD@b5Y^cq1>Lz~v#* z=I3$&3b7mLgtwj%M~`+Qvt=#z{qJiwXm0kiXWM^#JaGk!bF6zb=stF+fn62*;^IMV z;8jniInrmfUG6KNlUC^lV!pmFFQ+Bb!%x?kA|oelOOeQZy&ZYzuw;)RIQ$l#&^K8* z0OFJoe{kr3Me>S$Wc!cxtzZ7K-m>EtO!YQ<*Jwhovtf3=v?o4fP-T|cmxOL~h!|$H iV&_@$q2+YC87j9T{b5}.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/assets/comp5213/website/lib/bootstrap.min.js b/assets/comp5213/website/lib/bootstrap.min.js new file mode 100644 index 00000000000..e79c065134f --- /dev/null +++ b/assets/comp5213/website/lib/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/assets/comp5213/website/lib/custom.css b/assets/comp5213/website/lib/custom.css new file mode 100644 index 00000000000..6e8c200b5d7 --- /dev/null +++ b/assets/comp5213/website/lib/custom.css @@ -0,0 +1,22 @@ +.white-popup { + position: relative; + background: #FFF; + padding: 20px; + width:auto; + max-width: 800px; + margin: 20px auto; +} + +body { + padding-top: 50px; + padding-bottom: 20px; +} + +div#jstree { + font-size: 18px; +} + +.jstree-default .jstree-anchor { + line-height: 28px; + height: 28px; +} \ No newline at end of file diff --git a/assets/comp5213/website/lib/custom.js b/assets/comp5213/website/lib/custom.js new file mode 100644 index 00000000000..a7b8f7a5929 --- /dev/null +++ b/assets/comp5213/website/lib/custom.js @@ -0,0 +1,230 @@ +// this file assumes a variable nodes is used to hold the nodes of the jstree +// and a
with id 'jstree' as a placeholder of the tree. + +function getInputValue(id, defaultValue) { + var value = $(id).val(); + if (value.length <= 0) + value = defaultValue; + + return parseInt(value); +} + +function findLevel(node) { + var l = node.data.level - 1; + if (typeof levels[l] == 'undefined') + levels[l] = []; + + levels[l].push(node) + + $.each(node.children, function(i, v) { + findLevel(v); + }) +} + +// find the node levels in the tree +var levels = []; +$.each(nodes, function(i, v) { + findLevel(v) +}); + +// find the min and max year in the documents +var showTopicDocuments = typeof documents != "undefined" + && typeof topicMap != "undefined" + +if (showTopicDocuments) { + var minYear = 1000000; + var maxYear = 0; + $.each(documents, function(i, d) { + if (d.year > maxYear) + maxYear = d.year; + if (d.year < minYear) + minYear = d.year; + }) +} + +function generateTopicDocumentTable(topic, max) { + var topicDocuments = topicMap[topic]; + + var rows = []; + for (var i = 0; i < topicDocuments.length && i < max; i++) { + var d = topicDocuments[i]; + var doc = documents[d[0]]; + rows.push("" + doc.source + "" + doc.year + + "" + doc.title + "" + d[1].toFixed(2) + + ""); + } + + var table = $("
ConfYearTitleProb
") + .append("").append(rows.join("")); + + table.tablesorter({ + theme : "bootstrap", + widthFixed : true, + headerTemplate : '{content} {icon}', + widgets : [ "uitheme", "zebra" ], + widgetOptions : { + zebra : [ "even", "odd" ], + } + }); + + return table; +} + +function generateCountTable(topic) { + var topicDocuments = topicMap[topic]; + var counts = {}; + for (var year = minYear; year <= maxYear; year++) { + counts[year] = 0; + } + + $.each(topicDocuments, function(i, d) { + var doc = documents[d[0]]; + counts[doc.year] = counts[doc.year] + 1; + }) + + var headRow = $(""); + var bodyRow = $(""); + for (var year = minYear; year <= maxYear; year++) { + headRow.append("" + year + ""); + bodyRow.append("" + counts[year] + ""); + } + var table = $("") + .append("").append(""); + table.children("thead").append(headRow); + table.children("tbody").append(bodyRow); + + return table; +} + +function constructTree(n) { + $("#jstree").on("changed.jstree", function(e, data) { + // show a pop-up when a node has been selected + if (data.action == "select_node") { + $("#topic-modal-title").html( + data.node.text + " (" + data.node.id + ")") + + $("#topic-modal-body").html("") + + if (showTopicDocuments) { + var topicDocuments = topicMap[data.node.id] + max = 500 + + $("#topic-modal-body").append("
Number of documents by year:
") + $("#topic-modal-body").append(generateCountTable(data.node.id)); + $("#topic-modal-body").append("
Document details (showing only the top " + max +"):
") + $("#topic-modal-body").append(generateTopicDocumentTable( + data.node.id, max)); + } else { + $("#topic-modal-body").append("

Document information is not available.

") + } + + $("#topic-modal").modal() + } + }).jstree({ + "core" : { + "data" : n, + "themes" : { + "icons" : false + } + }, + "search" : { + "case_insensitive" : true, + "show_only_matches" : true, + "show_only_matches_children" : true + }, + "plugins" : [ "search" ] + }); +} + +// show the node within the specified range of levels. +// the nodes above the topmost level are discarded, while +// the nodes below the bottommost level are closed. +function showLevels(top, bottom) { + var current = $('#jstree').jstree(true); + if (typeof current != 'undefined' && current) + current.destroy(); + + for (var i = top; i > bottom; i--) { + $.each(levels[i - 1], function(i, v) { + v.state.opened = true; + }) + } + + for (var i = bottom; i > 0; i--) { + $.each(levels[i - 1], function(i, v) { + v.state.opened = false; + }) + } + + constructTree(levels[top - 1]); +} + +function showAlert(message) { + $("#alert-modal-message").html(message) + $("#alert-modal").modal() +} + +$(function() { + topmost = levels.length + bottommost = Math.max(1, levels.length - 1) + + // set the default values of the levels + $("#top-input").val(topmost) + $("#bottom-input").val(bottommost) + + $('[data-toggle="tooltip"]').tooltip() + + showLevels(topmost, bottommost); + + $('#level-button').click(function() { + var top = getInputValue('#top-input', 1000000) + var bottom = getInputValue('#bottom-input', 1) + + if (top > levels.length) { + showAlert("The topmost level (left) cannot be larger than " + + levels.length + ".") + $("#top-input").val(topmost) + } else if (bottom < 1) { + showAlert("The bottommost level (right) cannot be smaller than 1.") + $("#bottom-input").val(1) + } else if (top < bottom) { + showAlert("The topmost level (left) cannot be smaller than the bottommost level (right).") + } else { + showLevels(top, bottom); + } + }) + + $("#filter-button").click(function() { + var searchString = $("#search-input").val(); + $('#jstree').jstree('search', searchString); + }); + + $("#clear-button").click(function() { + $('#jstree').jstree(true).clear_search(); + $("#search-input").val(""); + }); + + $.tablesorter.themes.bootstrap = { + table : 'table table-bordered table-hover', + caption : 'caption', + header : 'bootstrap-header', + sortNone : '', + sortAsc : '', + sortDesc : '', + active : '', + hover : '', + icons : '', + iconSortNone : 'bootstrap-icon-unsorted', + iconSortAsc : 'glyphicon glyphicon-chevron-up', + iconSortDesc : 'glyphicon glyphicon-chevron-down', + filterRow : '', + footerRow : '', + footerCells : '', + even : '', + odd : '' + }; + +// $('#topic-modal').on('hidden.bs.modal', function (e) { +// $("#jstree").focus() +// }) +}); diff --git a/assets/comp5213/website/lib/ie10-viewport-bug-workaround.css b/assets/comp5213/website/lib/ie10-viewport-bug-workaround.css new file mode 100644 index 00000000000..8b3803b48da --- /dev/null +++ b/assets/comp5213/website/lib/ie10-viewport-bug-workaround.css @@ -0,0 +1,15 @@ +/*! + * IE10 viewport hack for Surface/desktop Windows 8 bug + * Copyright 2014-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/* + * See the Getting Started docs for more information: + * http://getbootstrap.com/getting-started/#support-ie10-width + */ +@-webkit-viewport { width: device-width; } +@-moz-viewport { width: device-width; } +@-ms-viewport { width: device-width; } +@-o-viewport { width: device-width; } +@viewport { width: device-width; } diff --git a/assets/comp5213/website/lib/ie10-viewport-bug-workaround.js b/assets/comp5213/website/lib/ie10-viewport-bug-workaround.js new file mode 100644 index 00000000000..479a6ebdae4 --- /dev/null +++ b/assets/comp5213/website/lib/ie10-viewport-bug-workaround.js @@ -0,0 +1,23 @@ +/*! + * IE10 viewport hack for Surface/desktop Windows 8 bug + * Copyright 2014-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// See the Getting Started docs for more information: +// http://getbootstrap.com/getting-started/#support-ie10-width + +(function () { + 'use strict'; + + if (navigator.userAgent.match(/IEMobile\/10\.0/)) { + var msViewportStyle = document.createElement('style') + msViewportStyle.appendChild( + document.createTextNode( + '@-ms-viewport{width:auto!important}' + ) + ) + document.querySelector('head').appendChild(msViewportStyle) + } + +})(); diff --git a/assets/comp5213/website/lib/jquery.min.js b/assets/comp5213/website/lib/jquery.min.js new file mode 100644 index 00000000000..b8c4187de18 --- /dev/null +++ b/assets/comp5213/website/lib/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.2.3 | (c) jQuery Foundation | jquery.org/license */ +!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=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.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()},push:g,sort:c.sort,splice:c.splice},n.extend=n.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||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;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,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=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)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(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 oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(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"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.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===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!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 fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.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},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.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=fa.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=fa.selectors={cacheLength:50,createPseudo:ha,match:W,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(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===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]||fa.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]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.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(ba,ca).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("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.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.replace(P," ")+" ").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,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(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),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).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 Y.test(a.nodeName)},input:function(a){return X.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:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(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,k=[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(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(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 ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(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 va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(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?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(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 va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.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(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.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(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(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&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.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=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;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},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c; +}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.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=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"
","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!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&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n(" -
-
-
Another demo by my partner Qin Chen:
- - -
-
- - diff --git a/index.md b/index.md new file mode 100755 index 00000000000..84103fab2e2 --- /dev/null +++ b/index.md @@ -0,0 +1,19 @@ +--- +layout: page +title: About +permalink: / +--- + +{% include image.html url="images/photo.jpg" caption="" width="300em" align="right" %} + +Jiqing Wen is currently doing her PhD at Arizona State University. He works in the area of machine learning and artificial intelligence. His current research interests include deep learning, Bayesian networks and graphical models, Bayesian deep learning, and their application in computer vision, natural language processing, and recommender systems. + +## Contact + +Department of Computer Science and Engineering
+The Hong Kong University of Science and Technology
+Kowloon, Hong Kong
+Email: [xlibo@connect.ust.hk] + + +[xlibo@connect.ust.hk]: mailto:xlibo@connect.ust.hk diff --git a/misc.md b/misc.md new file mode 100755 index 00000000000..358a319ef12 --- /dev/null +++ b/misc.md @@ -0,0 +1,13 @@ +--- +layout: page +title: Misc +permalink: /misc/ +--- + +## Shared code for final project in COMP5213 Bayesian Networks + +Hierarchical Topic Detection for PMC005 dataset: [example](/assets/comp5213/website/index.html) + +Code for PMC005 dataset preprocessing: [preprocess.py](/assets/comp5213/preprocess.py) + +Code for computing coherence and compactness: [evaluate.py](/assets/comp5213/evaluate.py) \ No newline at end of file diff --git a/research.md b/research.md new file mode 100755 index 00000000000..711aacf729e --- /dev/null +++ b/research.md @@ -0,0 +1,138 @@ +--- +layout: page +permalink: /research/ +title: Research +pubs: + + - title: "Learning Latent Superstructures in Variational Autoencoders for Deep Multidimensional Clustering" + author: "Xiaopeng Li, Zhourong Chen and Nevin L. Zhang" + journal: "International Conference on Learning Representations" + year: "2019" + media: + - name: "arXiv" + url: "https://arxiv.org/abs/1803.05206" + + - title: "Building Sparse Deep Feedforward Networks using Tree Receptive Fields" + author: "Xiaopeng Li, Zhourong Chen and Nevin L. Zhang" + journal: "International Joint Conference on Artificial Intelligence" + year: "2018" + media: + - name: "arXiv" + url: "https://arxiv.org/abs/1803.05209" + - name: "github" + url: "https://github.com/eelxpeng/TreeReceptiveFields" + + - title: "Learning Sparse Deep Feedforward Networks via Tree Skeleton Expansion" + author: "Zhourong Chen, Xiaopeng Li and Nevin L. Zhang" + journal: "arXiv" + year: "2018" + media: + - name: "arXiv" + url: "http://arxiv.org/abs/1803.06120" + + - title: "Relational Variational Autoencoder for Link Prediction with Multimedia Data" + author: "X. Li and J. She" + journal: "ACM SIGMM International Conference on Multimedia Thematic Workshop" + year: "2017" + url: "" + media: + - name: "paper" + url: "" + - name: "github" + url: "https://github.com/eelxpeng/RVAE" + + - title: "Collaborative Variational Autoencoder for Recommender Systems" + author: "X. Li and J. She" + journal: "ACM SIGKDD International Conference on Knowledge Discovery and Data Mining" + year: "2017" + url: "" + media: + - name: "paper" + url: "/assets/paper/Collaborative_Variational_Autoencoder.pdf" + - name: "github" + url: "https://github.com/eelxpeng/CollaborativeVAE" + + - title: "A Bayesian Neural Network for Deep Learning in Mobile Multimedia using Small Data" + author: "X. Li, J. She and M. Cheung" + journal: "Submitted to ACM Trans. Multimedia Comput. Commun. Appl. (Under Review)" + year: "2016" + url: "" + media: + - name: "paper" + url: "" + + - title: "Connection Discovery using Shared Images by Gaussian Relational Topic Model" + author: "X. Li, M. Cheung and J. She" + journal: "IEEE International Conference on Big Data" + year: "2016" + url: "" + media: + - name: "paper" + url: "/assets/paper/GRTM.pdf" + - name: "github" + url: "https://github.com/eelxpeng/GRTM" + + - title: "A Distributed Streaming Framework for Connection Discovery Using Shared Videos" + author: "X. Li, M. Cheung and J. She" + journal: "ACM Trans. Multimedia Comput. Commun. Appl." + year: "Sep. 18, 2017" + url: "" + media: + - name: "paper" + url: "" + + - title: "An Efficient Computation Framework for Connection Discovery using Shared Images" + author: "M. Cheung, X. Li and J. She" + journal: "ACM Trans. Multimedia Comput. Commun. Appl." + year: "Aug. 29, 2017" + url: "" + media: + - name: "paper" + url: "" + + - title: "Dance Background Image Recommendation with Deep Matrix Factorization" + author: "J. Wen, J. She, X. Li and H. Mao" + journal: "ACM Trans. Multimedia Comput. Commun. Appl." + year: "2018" + url: "" + media: + - name: "paper" + url: "" + + - title: "Visual Background Recommendation for Dance Performances Using Dancer-Shared Images" + author: "J. Wen, X. Li, J. She, S. Park and M. Cheung" + journal: "IEEE International Conference on Cyber Physical and Social Computing" + year: "2016" + url: "" + media: + - name: "paper" + url: "/assets/paper/Visual_Background_Recommendation_for_Dance_Performances_Using_Dancer-Shared_Images.pdf" + + - title: "Non-user Generated Annotation on User Shared Images for Connection Discovery" + author: "M. Cheung, J. She and X. Li" + journal: "IEEE International Conference on Cyber Physical and Social Computing" + year: "2015" + url: "" + media: + - name: "paper" + url: "http://ieeexplore.ieee.org/document/7396504/?arnumber=7396504&tag=1" + + +--- + +## Publications + +{% assign thumbnail="left" %} + +{% for pub in page.pubs %} +{% if pub.image %} +{% include image.html url=pub.image caption="" height="100px" align=thumbnail %} +{% endif %} +[**{{pub.title}}**]({% if pub.internal %}{{pub.url | prepend: site.baseurl}}{% else %}{{pub.url}}{% endif %})
+{{pub.author}}
+*{{pub.journal}}* +{% if pub.note %} *({{pub.note}})* +{% endif %} *{{pub.year}}* {% if pub.doi %}[[doi]({{pub.doi}})]{% endif %} +{% if pub.media %}
Media: {% for article in pub.media %}[[{{article.name}}]({{article.url}})]{% endfor %}{% endif %} + +{% endfor %} diff --git a/sitemap.txt b/sitemap.txt new file mode 100755 index 00000000000..e78ae5409f1 --- /dev/null +++ b/sitemap.txt @@ -0,0 +1,7 @@ +--- +title : Sitemap +--- +{% for page in site.pages %} +{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}{% endfor %} +{% for post in site.posts %} +{{ post.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}{% endfor %}