aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.compass/config.rb30
-rw-r--r--.cvsignore5
-rw-r--r--.gitignore4
-rw-r--r--.ruby-version2
-rw-r--r--.travis.yml2
-rw-r--r--Gemfile20
-rw-r--r--Gemfile.lock136
-rw-r--r--LICENSE.txt2
-rw-r--r--README.md5
-rw-r--r--Rakefile4
-rwxr-xr-xapp/assets/fonts/delicious-bold-webfont.eot (renamed from public/stylesheets/fonts/delicious-bold-webfont.eot)bin21160 -> 21160 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bold-webfont.svg (renamed from public/stylesheets/fonts/delicious-bold-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-bold-webfont.ttf (renamed from public/stylesheets/fonts/delicious-bold-webfont.ttf)bin42648 -> 42648 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bold-webfont.woff (renamed from public/stylesheets/fonts/delicious-bold-webfont.woff)bin24328 -> 24328 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bolditalic-webfont.eot (renamed from public/stylesheets/fonts/delicious-bolditalic-webfont.eot)bin24992 -> 24992 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bolditalic-webfont.svg (renamed from public/stylesheets/fonts/delicious-bolditalic-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-bolditalic-webfont.ttf (renamed from public/stylesheets/fonts/delicious-bolditalic-webfont.ttf)bin51020 -> 51020 bytes
-rwxr-xr-xapp/assets/fonts/delicious-bolditalic-webfont.woff (renamed from public/stylesheets/fonts/delicious-bolditalic-webfont.woff)bin28268 -> 28268 bytes
-rwxr-xr-xapp/assets/fonts/delicious-heavy-webfont.eot (renamed from public/stylesheets/fonts/delicious-heavy-webfont.eot)bin21199 -> 21199 bytes
-rwxr-xr-xapp/assets/fonts/delicious-heavy-webfont.svg (renamed from public/stylesheets/fonts/delicious-heavy-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-heavy-webfont.ttf (renamed from public/stylesheets/fonts/delicious-heavy-webfont.ttf)bin42744 -> 42744 bytes
-rwxr-xr-xapp/assets/fonts/delicious-heavy-webfont.woff (renamed from public/stylesheets/fonts/delicious-heavy-webfont.woff)bin24308 -> 24308 bytes
-rwxr-xr-xapp/assets/fonts/delicious-italic-webfont.eot (renamed from public/stylesheets/fonts/delicious-italic-webfont.eot)bin23704 -> 23704 bytes
-rwxr-xr-xapp/assets/fonts/delicious-italic-webfont.svg (renamed from public/stylesheets/fonts/delicious-italic-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-italic-webfont.ttf (renamed from public/stylesheets/fonts/delicious-italic-webfont.ttf)bin50464 -> 50464 bytes
-rwxr-xr-xapp/assets/fonts/delicious-italic-webfont.woff (renamed from public/stylesheets/fonts/delicious-italic-webfont.woff)bin27080 -> 27080 bytes
-rwxr-xr-xapp/assets/fonts/delicious-roman-webfont.eot (renamed from public/stylesheets/fonts/delicious-roman-webfont.eot)bin20415 -> 20415 bytes
-rwxr-xr-xapp/assets/fonts/delicious-roman-webfont.svg (renamed from public/stylesheets/fonts/delicious-roman-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-roman-webfont.ttf (renamed from public/stylesheets/fonts/delicious-roman-webfont.ttf)bin42508 -> 42508 bytes
-rwxr-xr-xapp/assets/fonts/delicious-roman-webfont.woff (renamed from public/stylesheets/fonts/delicious-roman-webfont.woff)bin23432 -> 23432 bytes
-rwxr-xr-xapp/assets/fonts/delicious-smallcaps-webfont.eot (renamed from public/stylesheets/fonts/delicious-smallcaps-webfont.eot)bin9940 -> 9940 bytes
-rwxr-xr-xapp/assets/fonts/delicious-smallcaps-webfont.svg (renamed from public/stylesheets/fonts/delicious-smallcaps-webfont.svg)0
-rwxr-xr-xapp/assets/fonts/delicious-smallcaps-webfont.ttf (renamed from public/stylesheets/fonts/delicious-smallcaps-webfont.ttf)bin20936 -> 20936 bytes
-rwxr-xr-xapp/assets/fonts/delicious-smallcaps-webfont.woff (renamed from public/stylesheets/fonts/delicious-smallcaps-webfont.woff)bin12284 -> 12284 bytes
-rw-r--r--app/assets/images/README.txt (renamed from public/images/README.txt)0
-rw-r--r--app/assets/images/arrow-left.png (renamed from public/images/arrow-left.png)bin353 -> 353 bytes
-rw-r--r--app/assets/images/arrow-right.png (renamed from public/images/arrow-right.png)bin439 -> 439 bytes
-rw-r--r--app/assets/images/bighand.png (renamed from public/images/bighand.png)bin2153 -> 2153 bytes
-rw-r--r--app/assets/images/button-gradient-large.png (renamed from public/images/button-gradient-large.png)bin266 -> 266 bytes
-rw-r--r--app/assets/images/button-gradient.png (renamed from public/images/button-gradient.png)bin329 -> 329 bytes
-rw-r--r--app/assets/images/button-preview.png (renamed from public/images/button-preview.png)bin1743 -> 1743 bytes
-rw-r--r--app/assets/images/button-search.png (renamed from public/images/button-search.png)bin1761 -> 1761 bytes
-rw-r--r--app/assets/images/calendar.png (renamed from public/images/calendar.png)bin388 -> 388 bytes
-rw-r--r--app/assets/images/defaultprofilepic.png (renamed from public/images/defaultprofilepic.png)bin4061 -> 4061 bytes
-rw-r--r--app/assets/images/email-16.png (renamed from public/images/email-16.png)bin313 -> 313 bytes
-rwxr-xr-xapp/assets/images/fancybox-x.png (renamed from public/stylesheets/fancybox-x.png)bin203 -> 203 bytes
-rwxr-xr-xapp/assets/images/fancybox-y.png (renamed from public/stylesheets/fancybox-y.png)bin176 -> 176 bytes
-rwxr-xr-xapp/assets/images/fancybox.png (renamed from public/stylesheets/fancybox.png)bin15287 -> 15287 bytes
-rw-r--r--app/assets/images/favicon.ico (renamed from public/favicon.ico)bin22382 -> 22382 bytes
-rw-r--r--app/assets/images/feed-14.png (renamed from public/images/feed-14.png)bin689 -> 689 bytes
-rw-r--r--app/assets/images/feed-16.png (renamed from public/images/feed-16.png)bin764 -> 764 bytes
-rw-r--r--app/assets/images/feed-28.png (renamed from public/images/feed-28.png)bin1737 -> 1737 bytes
-rw-r--r--app/assets/images/flying-computer.png (renamed from public/images/flying-computer.png)bin10357 -> 10357 bytes
-rw-r--r--app/assets/images/glyphicons-halflings-white.png (renamed from public/admin/images/glyphicons-halflings-white.png)bin8777 -> 8777 bytes
-rw-r--r--app/assets/images/glyphicons-halflings.png (renamed from public/admin/images/glyphicons-halflings.png)bin13826 -> 13826 bytes
-rw-r--r--app/assets/images/helpmeinvestigate.png (renamed from public/images/helpmeinvestigate.png)bin607 -> 607 bytes
-rw-r--r--app/assets/images/home-grad.png (renamed from public/images/home-grad.png)bin306 -> 306 bytes
-rw-r--r--app/assets/images/icon-foi.png (renamed from public/images/icon-foi.png)bin320 -> 320 bytes
-rw-r--r--app/assets/images/icon-person.png (renamed from public/images/icon-person.png)bin345 -> 345 bytes
-rw-r--r--app/assets/images/icon-publicbody.png (renamed from public/images/icon-publicbody.png)bin356 -> 356 bytes
-rw-r--r--app/assets/images/icon_application_octet-stream_large.png (renamed from public/images/icon_application_octet-stream_large.png)bin3184 -> 3184 bytes
-rw-r--r--app/assets/images/icon_application_pdf_large.png (renamed from public/images/icon_application_pdf_large.png)bin2522 -> 2522 bytes
-rw-r--r--app/assets/images/icon_application_rtf_large.png (renamed from public/images/icon_application_rtf_large.png)bin2564 -> 2564 bytes
-rw-r--r--app/assets/images/icon_application_vnd.ms-excel_large.png (renamed from public/images/icon_application_vnd.ms-excel_large.png)bin2891 -> 2891 bytes
-rw-r--r--app/assets/images/icon_application_vnd.ms-powerpoint_large.png (renamed from public/images/icon_application_vnd.ms-powerpoint_large.png)bin2495 -> 2495 bytes
-rw-r--r--app/assets/images/icon_application_vnd.ms-word_large.png (renamed from public/images/icon_application_vnd.ms-word_large.png)bin2775 -> 2775 bytes
l---------app/assets/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png (renamed from public/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png)0
l---------app/assets/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png (renamed from public/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png)0
l---------app/assets/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png (renamed from public/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png)0
-rw-r--r--app/assets/images/icon_application_zip_large.png (renamed from public/images/icon_application_zip_large.png)bin2863 -> 2863 bytes
-rw-r--r--app/assets/images/icon_image_bmp_large.png (renamed from public/images/icon_image_bmp_large.png)bin2774 -> 2774 bytes
-rw-r--r--app/assets/images/icon_image_gif_large.png (renamed from public/images/icon_image_gif_large.png)bin2575 -> 2575 bytes
-rw-r--r--app/assets/images/icon_image_jpeg_large.png (renamed from public/images/icon_image_jpeg_large.png)bin2633 -> 2633 bytes
-rw-r--r--app/assets/images/icon_image_png_large.png (renamed from public/images/icon_image_png_large.png)bin2736 -> 2736 bytes
-rw-r--r--app/assets/images/icon_image_tiff_large.png (renamed from public/images/icon_image_tiff_large.png)bin2552 -> 2552 bytes
-rw-r--r--app/assets/images/icon_message_delivery-status_large.png (renamed from public/images/icon_message_delivery-status_large.png)bin3184 -> 3184 bytes
-rw-r--r--app/assets/images/icon_text_html_large.png (renamed from public/images/icon_text_html_large.png)bin3259 -> 3259 bytes
-rw-r--r--app/assets/images/icon_text_plain_large.png (renamed from public/images/icon_text_plain_large.png)bin2138 -> 2138 bytes
-rw-r--r--app/assets/images/icon_text_x-vcard_large.png (renamed from public/images/icon_text_x-vcard_large.png)bin2779 -> 2779 bytes
-rw-r--r--app/assets/images/icon_unknown.png (renamed from public/images/icon_unknown.png)bin3604 -> 3604 bytes
-rw-r--r--app/assets/images/link-icon.png (renamed from public/images/link-icon.png)bin304 -> 304 bytes
-rw-r--r--app/assets/images/littlehand.png (renamed from public/images/littlehand.png)bin1113 -> 1113 bytes
-rw-r--r--app/assets/images/logo.pngbin0 -> 1356 bytes
-rw-r--r--app/assets/images/navimg/alaveteli-logo-header.png (renamed from public/images/navimg/alaveteli-logo-header.png)bin1639 -> 1639 bytes
-rw-r--r--app/assets/images/navimg/alaveteli-logo.png (renamed from public/images/navimg/alaveteli-logo.png)bin2278 -> 2278 bytes
-rw-r--r--app/assets/images/navimg/auth-icon.png (renamed from public/images/navimg/auth-icon.png)bin982 -> 982 bytes
-rw-r--r--app/assets/images/navimg/bnnr-ifyoudontask-24bit.png (renamed from public/images/navimg/bnnr-ifyoudontask-24bit.png)bin145459 -> 145459 bytes
-rw-r--r--app/assets/images/navimg/bnnr-ifyoudontask.png (renamed from public/images/navimg/bnnr-ifyoudontask.png)bin55741 -> 55741 bytes
-rw-r--r--app/assets/images/navimg/bnnr-temp-100px.jpg (renamed from public/images/navimg/bnnr-temp-100px.jpg)bin20020 -> 20020 bytes
-rw-r--r--app/assets/images/navimg/bnnr-temp-100pxa.jpg (renamed from public/images/navimg/bnnr-temp-100pxa.jpg)bin16086 -> 16086 bytes
-rw-r--r--app/assets/images/navimg/bnnr-temp-100pxb.jpg (renamed from public/images/navimg/bnnr-temp-100pxb.jpg)bin11552 -> 11552 bytes
-rwxr-xr-xapp/assets/images/navimg/bnnr-temp-100pxc.jpg (renamed from public/images/navimg/bnnr-temp-100pxc.jpg)bin15905 -> 15905 bytes
-rwxr-xr-xapp/assets/images/navimg/bnnr-temp-100pxd.jpg (renamed from public/images/navimg/bnnr-temp-100pxd.jpg)bin12203 -> 12203 bytes
-rw-r--r--app/assets/images/navimg/bnnr-temp.jpg (renamed from public/images/navimg/bnnr-temp.jpg)bin31690 -> 31690 bytes
-rw-r--r--app/assets/images/navimg/infobug20px.png (renamed from public/images/navimg/infobug20px.png)bin998 -> 998 bytes
-rw-r--r--app/assets/images/navimg/logo-trans-small.png (renamed from public/images/navimg/logo-trans-small.png)bin4445 -> 4445 bytes
-rw-r--r--app/assets/images/navimg/logo-trans.png (renamed from public/images/navimg/logo-trans.png)bin6040 -> 6040 bytes
-rwxr-xr-xapp/assets/images/navimg/mysoc-logo-header.png (renamed from public/images/navimg/mysoc-logo-header.png)bin1300 -> 1300 bytes
-rw-r--r--app/assets/images/navimg/mysoc-logo-small.png (renamed from public/images/navimg/mysoc-logo-small.png)bin1182 -> 1182 bytes
-rwxr-xr-xapp/assets/images/navimg/quote-open-small.png (renamed from public/images/navimg/quote-open-small.png)bin197 -> 197 bytes
-rw-r--r--app/assets/images/navimg/quote-open.png (renamed from public/images/navimg/quote-open.png)bin293 -> 293 bytes
-rw-r--r--app/assets/images/navimg/request-icon.png (renamed from public/images/navimg/request-icon.png)bin440 -> 440 bytes
-rw-r--r--app/assets/images/navimg/status-icons-attn.png (renamed from public/images/navimg/status-icons-attn.png)bin870 -> 870 bytes
-rw-r--r--app/assets/images/navimg/status-icons-error-message.png (renamed from public/images/navimg/status-icons-error-message.png)bin2395 -> 2395 bytes
-rw-r--r--app/assets/images/navimg/status-icons-fail.png (renamed from public/images/navimg/status-icons-fail.png)bin822 -> 822 bytes
-rw-r--r--app/assets/images/navimg/status-icons-internal-review.png (renamed from public/images/navimg/status-icons-internal-review.png)bin2218 -> 2218 bytes
-rw-r--r--app/assets/images/navimg/status-icons-not-held.png (renamed from public/images/navimg/status-icons-not-held.png)bin2220 -> 2220 bytes
-rwxr-xr-xapp/assets/images/navimg/status-icons-post.png (renamed from public/images/navimg/status-icons-post.png)bin860 -> 860 bytes
-rw-r--r--app/assets/images/navimg/status-icons-succeed.png (renamed from public/images/navimg/status-icons-succeed.png)bin926 -> 926 bytes
-rw-r--r--app/assets/images/navimg/status-icons-user-withdrawn.png (renamed from public/images/navimg/status-icons-user-withdrawn.png)bin2937 -> 2937 bytes
-rw-r--r--app/assets/images/navimg/status-icons-wait.png (renamed from public/images/navimg/status-icons-wait.png)bin889 -> 889 bytes
-rw-r--r--app/assets/images/navimg/user-icon.png (renamed from public/images/navimg/user-icon.png)bin462 -> 462 bytes
-rw-r--r--app/assets/images/petitions.png (renamed from public/images/petitions.png)bin469 -> 469 bytes
-rw-r--r--app/assets/images/pledgebank.png (renamed from public/images/pledgebank.png)bin1126 -> 1126 bytes
-rw-r--r--app/assets/images/quote-marks.png (renamed from public/images/quote-marks.png)bin464 -> 464 bytes
-rw-r--r--app/assets/images/rails.png (renamed from public/images/rails.png)bin1787 -> 1787 bytes
-rw-r--r--app/assets/images/rss-16.png (renamed from public/images/rss-16.png)bin905 -> 905 bytes
-rw-r--r--app/assets/images/rss-blue.png (renamed from public/images/rss-blue.png)bin490 -> 490 bytes
-rw-r--r--app/assets/images/rss-orange.png (renamed from public/images/rss-orange.png)bin545 -> 545 bytes
-rw-r--r--app/assets/images/rss.png (renamed from public/images/rss.png)bin6171 -> 6171 bytes
-rw-r--r--app/assets/images/search-button.png (renamed from public/images/search-button.png)bin526 -> 526 bytes
-rw-r--r--app/assets/images/small-green-cross.pngbin0 -> 356 bytes
-rw-r--r--app/assets/images/small-white-cross.png (renamed from public/images/small-white-cross.png)bin355 -> 355 bytes
-rw-r--r--app/assets/images/start-button.png (renamed from public/images/start-button.png)bin809 -> 809 bytes
-rw-r--r--app/assets/images/status-complete.png (renamed from public/images/status-complete.png)bin878 -> 878 bytes
-rw-r--r--app/assets/images/status-denied.png (renamed from public/images/status-denied.png)bin969 -> 969 bytes
-rw-r--r--app/assets/images/status-error.png (renamed from public/images/status-error.png)bin788 -> 788 bytes
-rw-r--r--app/assets/images/status-gone-postal.png (renamed from public/images/status-gone-postal.png)bin882 -> 882 bytes
-rw-r--r--app/assets/images/status-internal-review.png (renamed from public/images/status-internal-review.png)bin965 -> 965 bytes
-rw-r--r--app/assets/images/status-not-held.png (renamed from public/images/status-not-held.png)bin917 -> 917 bytes
-rw-r--r--app/assets/images/status-overdue.png (renamed from public/images/status-overdue.png)bin1049 -> 1049 bytes
-rw-r--r--app/assets/images/status-pending.png (renamed from public/images/status-pending.png)bin1031 -> 1031 bytes
-rw-r--r--app/assets/images/status-withdrawn.png (renamed from public/images/status-withdrawn.png)bin891 -> 891 bytes
-rw-r--r--app/assets/images/stripes-70-light.png (renamed from public/images/stripes-70-light.png)bin260 -> 260 bytes
-rw-r--r--app/assets/images/stripes-70-light2.png (renamed from public/images/stripes-70-light2.png)bin263 -> 263 bytes
-rw-r--r--app/assets/images/stripes-70.png (renamed from public/images/stripes-70.png)bin49397 -> 49397 bytes
-rw-r--r--app/assets/images/stripes.png (renamed from public/images/stripes.png)bin49397 -> 49397 bytes
-rw-r--r--app/assets/images/twitter-16.png (renamed from public/images/twitter-16.png)bin586 -> 586 bytes
-rw-r--r--app/assets/images/twitter.png (renamed from public/images/twitter.png)bin1486 -> 1486 bytes
-rw-r--r--app/assets/images/ui-icons-theme.png (renamed from public/images/ui-icons-theme.png)bin4863 -> 4863 bytes
-rw-r--r--app/assets/images/wordpress.png (renamed from public/images/wordpress.png)bin631 -> 631 bytes
-rw-r--r--app/assets/images/writetothem.png (renamed from public/images/writetothem.png)bin585 -> 585 bytes
-rw-r--r--app/assets/javascripts/admin.js7
-rw-r--r--app/assets/javascripts/admin/admin.js.coffee (renamed from public/admin/javascripts/admin.coffee)0
-rw-r--r--app/assets/javascripts/admin/bootstrap-collapse.js (renamed from public/admin/javascripts/bootstrap-collapse.js)0
-rw-r--r--app/assets/javascripts/admin/bootstrap-tab.js (renamed from public/admin/javascripts/bootstrap-tab.js)0
-rw-r--r--app/assets/javascripts/application.js6
-rw-r--r--app/assets/javascripts/ba-throttle-debounce.js (renamed from public/javascripts/ba-throttle-debounce.js)0
-rw-r--r--app/assets/javascripts/bootstrap-collapse.js (renamed from public/javascripts/bootstrap-collapse.js)0
-rw-r--r--app/assets/javascripts/bootstrap-tab.js (renamed from public/javascripts/bootstrap-tab.js)0
-rw-r--r--app/assets/javascripts/excanvas.min.js (renamed from public/javascripts/excanvas.min.js)0
-rw-r--r--app/assets/javascripts/general.js60
-rw-r--r--app/assets/javascripts/jquery.Jcrop.js (renamed from public/javascripts/jquery.Jcrop.js)0
-rw-r--r--app/assets/javascripts/jquery.cookie.js (renamed from public/javascripts/jquery.cookie.js)0
-rwxr-xr-xapp/assets/javascripts/jquery.fancybox-1.3.4.pack.js (renamed from public/javascripts/jquery.fancybox-1.3.4.pack.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.axislabels.js (renamed from public/javascripts/jquery.flot.axislabels.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.axislabels.min.js (renamed from public/javascripts/jquery.flot.axislabels.min.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.errorbars.js (renamed from public/javascripts/jquery.flot.errorbars.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.errorbars.min.js (renamed from public/javascripts/jquery.flot.errorbars.min.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.js (renamed from public/javascripts/jquery.flot.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.min.js (renamed from public/javascripts/jquery.flot.min.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.tickrotor.js (renamed from public/javascripts/jquery.flot.tickrotor.js)0
-rw-r--r--app/assets/javascripts/jquery.flot.tickrotor.min.js (renamed from public/javascripts/jquery.flot.tickrotor.min.js)0
-rw-r--r--app/assets/javascripts/jquery.form.js (renamed from public/javascripts/jquery.form.js)0
-rw-r--r--app/assets/javascripts/jquery.js (renamed from public/javascripts/jquery.js)0
-rw-r--r--app/assets/javascripts/jquery_ujs.js (renamed from public/javascripts/jquery_ujs.js)0
-rw-r--r--app/assets/javascripts/profile-photos.js3
-rw-r--r--app/assets/javascripts/profile_photo.js (renamed from public/javascripts/profile_photo.js)0
-rw-r--r--app/assets/javascripts/stats-graphs.js (renamed from public/javascripts/stats-graphs.js)0
-rw-r--r--app/assets/javascripts/stats.js6
-rw-r--r--app/assets/stylesheets/admin.scss (renamed from app/sass/admin.scss)8
-rw-r--r--app/assets/stylesheets/application.css7
-rw-r--r--app/assets/stylesheets/custom.css5
-rw-r--r--app/assets/stylesheets/fonts.scss73
-rw-r--r--app/assets/stylesheets/ie6.css (renamed from public/stylesheets/ie6.css)0
-rw-r--r--app/assets/stylesheets/ie7.css (renamed from public/stylesheets/ie7.css)0
-rwxr-xr-xapp/assets/stylesheets/jquery-ui-1.8.15.custom.css (renamed from public/stylesheets/admin-theme/jquery-ui-1.8.15.custom.css)2
-rw-r--r--app/assets/stylesheets/jquery.Jcrop.css (renamed from public/stylesheets/jquery.Jcrop.css)0
-rwxr-xr-xapp/assets/stylesheets/jquery.fancybox-1.3.4.css (renamed from public/stylesheets/jquery.fancybox-1.3.4.css)0
-rw-r--r--app/assets/stylesheets/main.scss (renamed from public/stylesheets/main.css)114
-rw-r--r--app/assets/stylesheets/print.css (renamed from public/stylesheets/print.css)0
-rw-r--r--app/controllers/admin_public_body_controller.rb2
-rw-r--r--app/controllers/admin_request_controller.rb16
-rw-r--r--app/controllers/api_controller.rb2
-rw-r--r--app/controllers/application_controller.rb4
-rw-r--r--app/controllers/general_controller.rb49
-rw-r--r--app/controllers/public_body_controller.rb28
-rw-r--r--app/controllers/request_controller.rb23
-rw-r--r--app/controllers/services_controller.rb3
-rw-r--r--app/controllers/track_controller.rb5
-rw-r--r--app/helpers/application_helper.rb15
-rw-r--r--app/mailers/request_mailer.rb9
-rw-r--r--app/models/foi_attachment.rb2
-rw-r--r--app/models/incoming_message.rb8
-rw-r--r--app/models/info_request.rb63
-rw-r--r--app/models/public_body.rb95
-rw-r--r--app/views/admin_public_body/_form.html.erb14
-rw-r--r--app/views/admin_request/_some_annotations.html.erb48
-rw-r--r--app/views/admin_request/show.html.erb49
-rw-r--r--app/views/admin_user/show.html.erb6
-rw-r--r--app/views/comment/_single_comment.html.erb6
-rw-r--r--app/views/contact_mailer/from_admin_message.text.erb1
-rw-r--r--app/views/general/_footer.html.erb4
-rw-r--r--app/views/general/_frontpage_bodies_list.html.erb5
-rw-r--r--app/views/general/_frontpage_requests_list.html.erb3
-rw-r--r--app/views/general/_header.html.erb37
-rw-r--r--app/views/general/_stylesheet_includes.html.erb13
-rw-r--r--app/views/general/_topnav.html.erb2
-rw-r--r--app/views/general/blog.html.erb4
-rw-r--r--app/views/general/frontpage.html.erb3
-rw-r--r--app/views/help/api.html.erb2
-rw-r--r--app/views/layouts/_favicon.html.erb2
-rw-r--r--app/views/layouts/admin.html.erb5
-rw-r--r--app/views/layouts/default.html.erb65
-rw-r--r--app/views/layouts/no_chrome.html.erb8
-rw-r--r--app/views/public_body/statistics.html.erb4
-rw-r--r--app/views/reports/new.html.erb8
-rw-r--r--app/views/request/_act.html.erb15
-rw-r--r--app/views/request/_bubble.html.erb6
-rw-r--r--app/views/request/_incoming_correspondence.text.erb2
-rw-r--r--app/views/request/_outgoing_correspondence.text.erb2
-rw-r--r--app/views/request/_request_listing_single.html.erb10
-rw-r--r--app/views/request/_sidebar.html.erb27
-rw-r--r--app/views/request/_view_html_prefix.html.erb2
-rw-r--r--app/views/request/new.html.erb1
-rw-r--r--app/views/request/select_authority.html.erb1
-rw-r--r--app/views/request/show.text.erb8
-rw-r--r--app/views/track/_tracking_links.html.erb2
-rw-r--r--app/views/track/atom_feed.atom.erb2
-rw-r--r--app/views/user/_show_user_info.html.erb2
-rw-r--r--app/views/user/wall.html.erb25
m---------commonlib0
-rw-r--r--config/application.rb34
-rw-r--r--config/deploy.rb4
-rw-r--r--config/deploy.yml.example2
-rw-r--r--config/environments/development.rb14
-rw-r--r--config/environments/production.rb17
-rw-r--r--config/environments/test.rb5
-rw-r--r--config/general.yml-example5
-rw-r--r--config/initializers/acts_as_xapian.rb25
-rw-r--r--config/initializers/alaveteli.rb1
-rw-r--r--config/initializers/has_tag_string.rb2
-rw-r--r--config/initializers/rails_security_patches.rb22
-rw-r--r--config/initializers/strip_attributes.rb2
-rw-r--r--config/initializers/theme_loader.rb4
-rw-r--r--config/packages1
-rw-r--r--config/test.yml2
-rw-r--r--doc/ADMIN.md19
-rw-r--r--doc/CHANGES.md57
-rw-r--r--doc/INSTALL.md9
-rw-r--r--doc/THEME-ASSETS-UPGRADE.md76
-rw-r--r--doc/TRANSLATE.md6
-rw-r--r--lib/actionmailer_patches.rb15
-rw-r--r--lib/acts_as_xapian/.gitignore (renamed from vendor/plugins/acts_as_xapian/.gitignore)0
-rw-r--r--lib/acts_as_xapian/LICENSE.txt (renamed from vendor/plugins/acts_as_xapian/LICENSE.txt)0
-rw-r--r--lib/acts_as_xapian/README.txt (renamed from vendor/plugins/acts_as_xapian/README.txt)0
-rw-r--r--lib/acts_as_xapian/acts_as_xapian.rb (renamed from vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb)2
-rw-r--r--lib/acts_as_xapian/tasks/xapian.rake (renamed from vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake)0
-rw-r--r--lib/configuration.rb1
-rw-r--r--lib/generators/acts_as_xapian/USAGE (renamed from vendor/plugins/acts_as_xapian/generators/acts_as_xapian/USAGE)0
-rw-r--r--lib/generators/acts_as_xapian/acts_as_xapian_generator.rb10
-rw-r--r--lib/generators/acts_as_xapian/templates/migration.rb (renamed from vendor/plugins/acts_as_xapian/generators/acts_as_xapian/templates/migration.rb)0
-rw-r--r--lib/has_tag_string/README.txt (renamed from vendor/plugins/has_tag_string/README.txt)0
-rw-r--r--lib/has_tag_string/has_tag_string.rb (renamed from vendor/plugins/has_tag_string/lib/has_tag_string.rb)0
-rw-r--r--lib/i18n_fixes.rb2
-rw-r--r--lib/mail_handler/backends/mail_backend.rb4
-rw-r--r--lib/mail_handler/backends/mail_extensions.rb66
-rw-r--r--lib/mail_handler/mail_handler.rb2
-rw-r--r--lib/no_constraint_disabling.rb2
-rw-r--r--lib/quiet_opener.rb37
-rw-r--r--lib/strip_attributes/README.rdoc (renamed from vendor/plugins/strip_attributes/README.rdoc)0
-rw-r--r--lib/strip_attributes/Rakefile (renamed from vendor/plugins/strip_attributes/Rakefile)0
-rw-r--r--lib/strip_attributes/strip_attributes.rb (renamed from vendor/plugins/strip_attributes/lib/strip_attributes.rb)0
-rw-r--r--lib/strip_attributes/test/strip_attributes_test.rb (renamed from vendor/plugins/strip_attributes/test/strip_attributes_test.rb)0
-rw-r--r--lib/strip_attributes/test/test_helper.rb (renamed from vendor/plugins/strip_attributes/test/test_helper.rb)0
-rw-r--r--lib/tasks/gettext.rake4
-rw-r--r--lib/tasks/import.rake12
-rw-r--r--lib/tasks/temp.rake316
-rw-r--r--lib/tasks/themes.rake142
-rw-r--r--lib/world_foi_websites.rb15
-rw-r--r--locale/aln/app.po2
-rw-r--r--locale/ar/app.po2
-rw-r--r--locale/bg/app.po2
-rw-r--r--locale/bs/app.po2
-rw-r--r--locale/ca/app.po2
-rw-r--r--locale/cs/app.po2
-rw-r--r--locale/cy/app.po700
-rw-r--r--locale/de/app.po2
-rw-r--r--locale/en_IE/app.po2
-rw-r--r--locale/en_UG/app.po3510
-rw-r--r--locale/es/app.po2
-rw-r--r--locale/eu/app.po2
-rw-r--r--locale/fi/app.po2
-rw-r--r--locale/fr/app.po77
-rw-r--r--locale/fr_CA/app.po2
-rw-r--r--locale/gl/app.po2
-rw-r--r--locale/he_IL/app.po2
-rw-r--r--locale/hr/app.po2
-rw-r--r--locale/hr_HR/app.po2
-rw-r--r--locale/hu_HU/app.po2
-rw-r--r--locale/id/app.po2
-rw-r--r--locale/it/app.po2
-rw-r--r--locale/mk_MK/app.po3536
-rw-r--r--locale/nb_NO/app.po2
-rw-r--r--locale/nl/app.po2
-rw-r--r--locale/pl/app.po2
-rw-r--r--locale/pt_BR/app.po2
-rw-r--r--locale/pt_PT/app.po2
-rw-r--r--locale/ro_RO/app.po2
-rw-r--r--locale/sl/app.po2
-rw-r--r--locale/sq/app.po2
-rw-r--r--locale/sr@latin/app.po2
-rw-r--r--locale/sv/app.po2
-rw-r--r--locale/sw_KE/app.po3510
-rw-r--r--locale/tr/app.po2
-rw-r--r--locale/uk/app.po2
-rw-r--r--locale/vi/app.po2
-rw-r--r--locale/zh_HK/app.po3499
-rw-r--r--public/admin/javascripts/admin.js32
-rw-r--r--public/admin/javascripts/jquery-ui.min.js356
-rw-r--r--public/admin/stylesheets/admin.css1005
-rw-r--r--public/down.default.html2
-rw-r--r--public/images/logo.pngbin1351 -> 0 bytes
-rw-r--r--public/javascripts/application.js2
-rw-r--r--public/javascripts/general.js53
-rw-r--r--public/javascripts/jquery-ui.min.js168
-rw-r--r--public/robots.txt6
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_0_aaaaaa_40x100.pngbin180 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_55_fbf9ee_40x100.pngbin182 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_65_ffffff_40x100.pngbin178 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_75_cccccc_40x100.pngbin180 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_75_dadada_40x100.pngbin180 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_75_e6e6e6_40x100.pngbin180 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_flat_75_ffffff_40x100.pngbin178 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.pngbin123 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_222222_256x240.pngbin4369 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_2e83ff_256x240.pngbin4369 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_454545_256x240.pngbin4369 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_888888_256x240.pngbin4369 -> 0 bytes
-rwxr-xr-xpublic/stylesheets/admin-theme/images/ui-icons_cd0a0a_256x240.pngbin4369 -> 0 bytes
-rw-r--r--public/stylesheets/fonts.css73
-rwxr-xr-xscript/compact-xapian-database2
-rwxr-xr-xscript/handle-mail-replies.rb3
-rwxr-xr-xscript/rails-post-deploy5
-rwxr-xr-xscript/site-specific-install.sh5
-rwxr-xr-xscript/switch-theme.rb31
-rw-r--r--spec/controllers/general_controller_spec.rb53
-rw-r--r--spec/controllers/public_body_controller_spec.rb14
-rw-r--r--spec/controllers/services_controller_spec.rb2
-rw-r--r--spec/fixtures/files/document-pdf.email110
-rw-r--r--spec/fixtures/public_body_translations.yml20
-rw-r--r--spec/lib/mail_handler/mail_handler_spec.rb8
-rw-r--r--spec/lib/sendmail_return_path_spec.rb88
-rw-r--r--spec/mailers/application_mailer_spec.rb2
-rw-r--r--spec/mailers/request_mailer_spec.rb21
-rw-r--r--spec/models/info_request_spec.rb58
-rw-r--r--spec/models/public_body_spec.rb63
-rw-r--r--spec/models/xapian_spec.rb2
-rw-r--r--spec/spec_helper.rb9
-rw-r--r--vendor/plugins/acts_as_xapian/.cvsignore2
-rw-r--r--vendor/plugins/acts_as_xapian/generators/acts_as_xapian/acts_as_xapian_generator.rb13
-rw-r--r--vendor/plugins/acts_as_xapian/init.rb7
-rw-r--r--vendor/plugins/has_tag_string/init.rb2
-rw-r--r--vendor/plugins/strip_attributes/.gitignore1
-rw-r--r--vendor/plugins/strip_attributes/init.rb2
365 files changed, 16026 insertions, 3246 deletions
diff --git a/.compass/config.rb b/.compass/config.rb
deleted file mode 100644
index 5e8e8cc2d..000000000
--- a/.compass/config.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'bootstrap-sass'
-# Require any additional compass plugins here.
-
-
-# Set this to the root of your project when deployed:
-http_path = "/admin/"
-css_dir = "public/admin/stylesheets"
-http_css_dir = "stylesheets"
-sass_dir = "app/sass"
-images_dir = "public/admin/images"
-http_images_dir = "images"
-javascripts_dir = "public/admin/javascripts"
-
-output_style = :compact
-#output_style = :compressed
-# You can select your preferred output style here (can be overridden via the command line):
-# output_style = :expanded or :nested or :compact or :compressed
-
-# To enable relative paths to assets via compass helper functions. Uncomment:
-relative_assets = true
-
-# To disable debugging comments that display the original location of your selectors. Uncomment:
-line_comments = false
-
-
-# If you prefer the indented syntax, you might want to regenerate this
-# project again passing --syntax sass, or you can uncomment this:
-# preferred_syntax = :sass
-# and then run:
-# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index 1e38e022c..000000000
--- a/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-tmp
-log
-coverage
-sqlitedbs
-cache
diff --git a/.gitignore b/.gitignore
index d2c256ef1..537a7abf2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,7 +11,7 @@
.autotest
*#*#
TAGS
-/vendor/plugins/*theme
+/lib/themes
/locale/model_attributes.rb
/files/
/public/download
@@ -28,3 +28,5 @@ alaveteli.sublime*
webrat.log
/.rbenv-version
/db/development_structure.sql
+/db/structure.sql
+/public/assets
diff --git a/.ruby-version b/.ruby-version
index 2aaf2528c..7fa1d1ef4 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-ruby-1.9.3-p392
+2.0.0-p353
diff --git a/.travis.yml b/.travis.yml
index 051dc0fae..4fa23e6cb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,7 +6,9 @@ branches:
rvm:
- 1.8.7
- 1.9.3
+ - 2.0.0
before_install:
+ - gem update --system 2.1.11
- gem install rake --version=0.9.2.2
- git submodule update --init --recursive
- psql -c "create database foi_test template template0 encoding 'SQL_ASCII';" -U postgres
diff --git a/Gemfile b/Gemfile
index 3caa83885..824b4f1f7 100644
--- a/Gemfile
+++ b/Gemfile
@@ -7,7 +7,8 @@ if File.exist? "/etc/debian_version" and File.open("/etc/debian_version").read.s
end
source 'https://rubygems.org'
-gem 'rails', '3.1.12'
+gem 'rails', '3.2.16'
+
gem 'pg'
# New gem releases aren't being done. master is newer and supports Rails > 3.0
@@ -17,10 +18,12 @@ gem 'charlock_holmes'
gem 'dynamic_form'
gem 'exception_notification'
gem 'fastercsv', '>=1.5.5'
-gem 'jquery-rails', '~> 2.1'
+gem 'jquery-rails', '~> 3.0.4'
+gem 'jquery-ui-rails'
gem 'json'
gem 'mahoro'
-gem 'net-http-local'
+gem 'memcache-client'
+gem 'net-http-local', :platforms => [:ruby_18, :ruby_19]
gem 'net-purge'
gem 'newrelic_rpm'
gem 'rack'
@@ -51,6 +54,15 @@ gem 'routing-filter'
gem 'unicode'
gem 'unidecoder'
+group :assets do
+ gem 'bootstrap-sass'
+ gem 'sass-rails', '~> 3.2.3'
+ gem 'compass-rails'
+ gem 'coffee-rails', "~> 3.2.1"
+ gem 'uglifier', '>= 1.0.3'
+ gem 'therubyracer'
+end
+
group :test do
gem 'fakeweb'
gem 'coveralls', :require => false
@@ -65,8 +77,6 @@ end
group :develop do
gem 'ruby-debug', :platforms => :ruby_18
gem 'debugger', :platforms => :ruby_19
- gem 'bootstrap-sass'
- gem 'compass'
gem 'annotate'
end
diff --git a/Gemfile.lock b/Gemfile.lock
index e6be9d9f9..492c855c3 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -18,37 +18,36 @@ GIT
GEM
remote: https://rubygems.org/
specs:
- actionmailer (3.1.12)
- actionpack (= 3.1.12)
- mail (~> 2.4.4)
- actionpack (3.1.12)
- activemodel (= 3.1.12)
- activesupport (= 3.1.12)
+ actionmailer (3.2.16)
+ actionpack (= 3.2.16)
+ mail (~> 2.5.4)
+ actionpack (3.2.16)
+ activemodel (= 3.2.16)
+ activesupport (= 3.2.16)
builder (~> 3.0.0)
erubis (~> 2.7.0)
- i18n (~> 0.6)
- rack (~> 1.3.6)
+ journey (~> 1.0.4)
+ rack (~> 1.4.5)
rack-cache (~> 1.2)
- rack-mount (~> 0.8.2)
rack-test (~> 0.6.1)
- sprockets (~> 2.0.4)
- activemodel (3.1.12)
- activesupport (= 3.1.12)
+ sprockets (~> 2.2.1)
+ activemodel (3.2.16)
+ activesupport (= 3.2.16)
builder (~> 3.0.0)
- i18n (~> 0.6)
- activerecord (3.1.12)
- activemodel (= 3.1.12)
- activesupport (= 3.1.12)
- arel (~> 2.2.3)
+ activerecord (3.2.16)
+ activemodel (= 3.2.16)
+ activesupport (= 3.2.16)
+ arel (~> 3.0.2)
tzinfo (~> 0.3.29)
- activeresource (3.1.12)
- activemodel (= 3.1.12)
- activesupport (= 3.1.12)
- activesupport (3.1.12)
+ activeresource (3.2.16)
+ activemodel (= 3.2.16)
+ activesupport (= 3.2.16)
+ activesupport (3.2.16)
+ i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
annotate (2.5.0)
rake
- arel (2.2.3)
+ arel (3.0.3)
bootstrap-sass (2.3.1.2)
sass (~> 3.2)
builder (3.0.4)
@@ -60,12 +59,21 @@ GEM
net-ssh-gateway (>= 1.1.0)
charlock_holmes (0.6.9.4)
chunky_png (1.2.8)
+ coffee-rails (3.2.2)
+ coffee-script (>= 2.2.0)
+ railties (~> 3.2.0)
+ coffee-script (2.2.0)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.6.3)
colorize (0.5.8)
columnize (0.3.6)
compass (0.12.2)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.1)
+ compass-rails (1.0.3)
+ compass (>= 0.12.2, < 0.14)
coveralls (0.6.7)
colorize
multi_json (~> 1.3)
@@ -85,6 +93,8 @@ GEM
eventmachine (1.0.3)
exception_notification (3.0.1)
actionmailer (>= 3.0.4)
+ activesupport (>= 3.0.4)
+ execjs (2.0.1)
factory_girl (2.6.4)
activesupport (>= 2.3.9)
factory_girl_rails (1.7.0)
@@ -102,18 +112,21 @@ GEM
haml (4.0.3)
tilt
highline (1.6.19)
- hike (1.2.2)
+ hike (1.2.3)
i18n (0.6.9)
- jquery-rails (2.3.0)
+ journey (1.0.4)
+ jquery-rails (3.0.4)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
- json (1.8.0)
+ jquery-ui-rails (4.1.0)
+ railties (>= 3.1.0)
+ json (1.8.1)
+ libv8 (3.16.14.3)
linecache (0.46)
rbx-require-relative (> 0.0.4)
locale (2.0.8)
mahoro (0.4)
- mail (2.4.4)
- i18n (>= 0.4.0)
+ mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mailcatcher (0.5.11)
@@ -125,8 +138,9 @@ GEM
skinny (~> 0.2.3)
sqlite3 (~> 1.3)
thin (~> 1.5.0)
- mime-types (1.23)
- multi_json (1.7.4)
+ memcache-client (1.8.5)
+ mime-types (1.25.1)
+ multi_json (1.8.2)
net-http-local (0.1.2)
net-purge (0.1.0)
net-scp (1.1.1)
@@ -143,39 +157,38 @@ GEM
railties (~> 3.0)
pg (0.15.1)
polyglot (0.3.3)
- rack (1.3.10)
+ rack (1.4.5)
rack-cache (1.2)
rack (>= 0.4)
- rack-mount (0.8.3)
- rack (>= 1.0.0)
rack-protection (1.5.0)
rack
rack-ssl (1.3.3)
rack
rack-test (0.6.2)
rack (>= 1.0)
- rails (3.1.12)
- actionmailer (= 3.1.12)
- actionpack (= 3.1.12)
- activerecord (= 3.1.12)
- activeresource (= 3.1.12)
- activesupport (= 3.1.12)
+ rails (3.2.16)
+ actionmailer (= 3.2.16)
+ actionpack (= 3.2.16)
+ activerecord (= 3.2.16)
+ activeresource (= 3.2.16)
+ activesupport (= 3.2.16)
bundler (~> 1.0)
- railties (= 3.1.12)
+ railties (= 3.2.16)
rails-i18n (0.7.3)
i18n (~> 0.5)
- railties (3.1.12)
- actionpack (= 3.1.12)
- activesupport (= 3.1.12)
+ railties (3.2.16)
+ actionpack (= 3.2.16)
+ activesupport (= 3.2.16)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
- thor (~> 0.14.6)
+ thor (>= 0.14.6, < 2.0)
rake (0.9.2.2)
rbx-require-relative (0.0.9)
rdoc (3.12.2)
json (~> 1.4)
recaptcha (0.3.5)
+ ref (1.0.5)
rest-client (1.6.7)
mime-types (>= 1.16)
rmagick (2.13.2)
@@ -201,7 +214,11 @@ GEM
ruby-ole (>= 1.2.8)
vpim (>= 0.360)
ruby-ole (1.2.11.6)
- sass (3.2.9)
+ sass (3.2.10)
+ sass-rails (3.2.6)
+ railties (~> 3.2.0)
+ sass (>= 3.1.10)
+ tilt (~> 1.3)
simplecov (0.7.1)
multi_json (~> 1.0)
simplecov-html (~> 0.7.1)
@@ -217,32 +234,39 @@ GEM
spork-rails (3.2.1)
rails (>= 3.0.0, < 3.3.0)
spork (>= 1.0rc0)
- sprockets (2.0.4)
+ sprockets (2.2.2)
hike (~> 1.2)
+ multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.7)
statistics2 (0.54)
syslog_protocol (0.9.2)
text (1.2.1)
+ therubyracer (0.12.0)
+ libv8 (~> 3.16.14.0)
+ ref
thin (1.5.1)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
- thor (0.14.6)
+ thor (0.18.1)
tilt (1.4.1)
- treetop (1.4.12)
+ treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
- tzinfo (0.3.37)
+ tzinfo (0.3.38)
+ uglifier (2.2.1)
+ execjs (>= 0.3.0)
+ multi_json (~> 1.0, >= 1.0.2)
unicode (0.4.4)
unidecoder (1.1.2)
- vpim (0.695)
+ vpim (13.11.11)
webrat (0.7.3)
nokogiri (>= 1.2.0)
rack (>= 1.0)
rack-test (>= 0.5.3)
- will_paginate (3.0.4)
+ will_paginate (3.0.5)
xapian-full-alaveteli (1.2.9.5)
xml-simple (1.1.2)
zip (2.0.2)
@@ -256,7 +280,8 @@ DEPENDENCIES
bootstrap-sass
capistrano
charlock_holmes
- compass
+ coffee-rails (~> 3.2.1)
+ compass-rails
coveralls
debugger
dynamic_form
@@ -268,18 +293,20 @@ DEPENDENCIES
gettext
gettext_i18n_rails
globalize3!
- jquery-rails (~> 2.1)
+ jquery-rails (~> 3.0.4)
+ jquery-ui-rails
json
locale
mahoro
mailcatcher
+ memcache-client
net-http-local
net-purge
newrelic_rpm
nokogiri
pg
rack
- rails (= 3.1.12)
+ rails (= 3.2.16)
rails-i18n
rake (= 0.9.2.2)
rdoc
@@ -289,10 +316,13 @@ DEPENDENCIES
rspec-rails
ruby-debug
ruby-msg (~> 1.5.0)
+ sass-rails (~> 3.2.3)
spork-rails
statistics2 (~> 0.54)
syslog_protocol
+ therubyracer
thin
+ uglifier (>= 1.0.3)
unicode
unidecoder
vpim
diff --git a/LICENSE.txt b/LICENSE.txt
index 23976d86e..21e66eedb 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -10,7 +10,7 @@ by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Note in particular,
-- acts_as_xapian in vendor/plugins/ is licensed with an MIT license.
+- acts_as_xapian in lib/acts_as_xapian is licensed with an MIT license.
Can you explain briefly what the GNU Affero GPL is? We offer the
source code of our websites to our users. The GNU Affero GPL has the
diff --git a/README.md b/README.md
index 8dc3125a1..1a2aeee05 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ drop a line to hello@alaveteli.org to let us know that you're using Alaveteli.
Some documentation can be found in the
[`doc/` folder](https://github.com/mysociety/alaveteli/tree/master/doc).
-There's background information and a more documentation on
+There's background information and more documentation on
[our wiki](https://github.com/mysociety/alaveteli/wiki/Home/), and lots
of useful information (including a blog) on
[the project website](http://alaveteli.org)
@@ -35,9 +35,10 @@ If you find what looks like a bug:
If you want to contribute an enhancement or a fix:
* Fork the project on GitHub.
+* Make a topic branch from the rails-3-develop branch.
* Make your changes with tests.
* Commit the changes without making changes to any files that aren't related to your enhancement or fix.
-* Send a pull request.
+* Send a pull request against the rails-3-develop branch.
Looking for the latest stable release? It's on the
[master branch](https://github.com/mysociety/alaveteli/tree/master).
diff --git a/Rakefile b/Rakefile
index 5fa2a360d..09582dd77 100644
--- a/Rakefile
+++ b/Rakefile
@@ -5,5 +5,7 @@ require File.expand_path('../config/application', __FILE__)
require 'rake'
Alaveteli::Application.load_tasks
if Rails.env == 'test'
- Dir[File.join(File.dirname(__FILE__),'commonlib','rblib','tests','*.rake')].each { |file| load(file) }
+ Dir[Rails.root.join('commonlib','rblib','tests','*.rake')].each { |file| load(file) }
end
+# Make sure the the acts_as_xapian tasks are also loaded:
+Dir[Rails.root.join('lib','acts_as_xapian','tasks','*.rake')].each { |file| load(file) }
diff --git a/public/stylesheets/fonts/delicious-bold-webfont.eot b/app/assets/fonts/delicious-bold-webfont.eot
index 90d2e95fa..90d2e95fa 100755
--- a/public/stylesheets/fonts/delicious-bold-webfont.eot
+++ b/app/assets/fonts/delicious-bold-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bold-webfont.svg b/app/assets/fonts/delicious-bold-webfont.svg
index 51a5d9080..51a5d9080 100755
--- a/public/stylesheets/fonts/delicious-bold-webfont.svg
+++ b/app/assets/fonts/delicious-bold-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-bold-webfont.ttf b/app/assets/fonts/delicious-bold-webfont.ttf
index 2ec5d3e49..2ec5d3e49 100755
--- a/public/stylesheets/fonts/delicious-bold-webfont.ttf
+++ b/app/assets/fonts/delicious-bold-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bold-webfont.woff b/app/assets/fonts/delicious-bold-webfont.woff
index b47277ef1..b47277ef1 100755
--- a/public/stylesheets/fonts/delicious-bold-webfont.woff
+++ b/app/assets/fonts/delicious-bold-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bolditalic-webfont.eot b/app/assets/fonts/delicious-bolditalic-webfont.eot
index 8e8957864..8e8957864 100755
--- a/public/stylesheets/fonts/delicious-bolditalic-webfont.eot
+++ b/app/assets/fonts/delicious-bolditalic-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bolditalic-webfont.svg b/app/assets/fonts/delicious-bolditalic-webfont.svg
index 7368c90f2..7368c90f2 100755
--- a/public/stylesheets/fonts/delicious-bolditalic-webfont.svg
+++ b/app/assets/fonts/delicious-bolditalic-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-bolditalic-webfont.ttf b/app/assets/fonts/delicious-bolditalic-webfont.ttf
index ef25c0adc..ef25c0adc 100755
--- a/public/stylesheets/fonts/delicious-bolditalic-webfont.ttf
+++ b/app/assets/fonts/delicious-bolditalic-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-bolditalic-webfont.woff b/app/assets/fonts/delicious-bolditalic-webfont.woff
index 068f460de..068f460de 100755
--- a/public/stylesheets/fonts/delicious-bolditalic-webfont.woff
+++ b/app/assets/fonts/delicious-bolditalic-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-heavy-webfont.eot b/app/assets/fonts/delicious-heavy-webfont.eot
index 782a01422..782a01422 100755
--- a/public/stylesheets/fonts/delicious-heavy-webfont.eot
+++ b/app/assets/fonts/delicious-heavy-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-heavy-webfont.svg b/app/assets/fonts/delicious-heavy-webfont.svg
index 64e0eb347..64e0eb347 100755
--- a/public/stylesheets/fonts/delicious-heavy-webfont.svg
+++ b/app/assets/fonts/delicious-heavy-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-heavy-webfont.ttf b/app/assets/fonts/delicious-heavy-webfont.ttf
index deba1f94f..deba1f94f 100755
--- a/public/stylesheets/fonts/delicious-heavy-webfont.ttf
+++ b/app/assets/fonts/delicious-heavy-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-heavy-webfont.woff b/app/assets/fonts/delicious-heavy-webfont.woff
index b3c48915d..b3c48915d 100755
--- a/public/stylesheets/fonts/delicious-heavy-webfont.woff
+++ b/app/assets/fonts/delicious-heavy-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-italic-webfont.eot b/app/assets/fonts/delicious-italic-webfont.eot
index 8bc7f8ce0..8bc7f8ce0 100755
--- a/public/stylesheets/fonts/delicious-italic-webfont.eot
+++ b/app/assets/fonts/delicious-italic-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-italic-webfont.svg b/app/assets/fonts/delicious-italic-webfont.svg
index 3cad32124..3cad32124 100755
--- a/public/stylesheets/fonts/delicious-italic-webfont.svg
+++ b/app/assets/fonts/delicious-italic-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-italic-webfont.ttf b/app/assets/fonts/delicious-italic-webfont.ttf
index 01d11991b..01d11991b 100755
--- a/public/stylesheets/fonts/delicious-italic-webfont.ttf
+++ b/app/assets/fonts/delicious-italic-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-italic-webfont.woff b/app/assets/fonts/delicious-italic-webfont.woff
index 32aa7611e..32aa7611e 100755
--- a/public/stylesheets/fonts/delicious-italic-webfont.woff
+++ b/app/assets/fonts/delicious-italic-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-roman-webfont.eot b/app/assets/fonts/delicious-roman-webfont.eot
index 2e1b7b24e..2e1b7b24e 100755
--- a/public/stylesheets/fonts/delicious-roman-webfont.eot
+++ b/app/assets/fonts/delicious-roman-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-roman-webfont.svg b/app/assets/fonts/delicious-roman-webfont.svg
index c7c20b31c..c7c20b31c 100755
--- a/public/stylesheets/fonts/delicious-roman-webfont.svg
+++ b/app/assets/fonts/delicious-roman-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-roman-webfont.ttf b/app/assets/fonts/delicious-roman-webfont.ttf
index cc27c5c1d..cc27c5c1d 100755
--- a/public/stylesheets/fonts/delicious-roman-webfont.ttf
+++ b/app/assets/fonts/delicious-roman-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-roman-webfont.woff b/app/assets/fonts/delicious-roman-webfont.woff
index 9acbdd4a0..9acbdd4a0 100755
--- a/public/stylesheets/fonts/delicious-roman-webfont.woff
+++ b/app/assets/fonts/delicious-roman-webfont.woff
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-smallcaps-webfont.eot b/app/assets/fonts/delicious-smallcaps-webfont.eot
index 358efc11f..358efc11f 100755
--- a/public/stylesheets/fonts/delicious-smallcaps-webfont.eot
+++ b/app/assets/fonts/delicious-smallcaps-webfont.eot
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-smallcaps-webfont.svg b/app/assets/fonts/delicious-smallcaps-webfont.svg
index d1235b7f6..d1235b7f6 100755
--- a/public/stylesheets/fonts/delicious-smallcaps-webfont.svg
+++ b/app/assets/fonts/delicious-smallcaps-webfont.svg
diff --git a/public/stylesheets/fonts/delicious-smallcaps-webfont.ttf b/app/assets/fonts/delicious-smallcaps-webfont.ttf
index 152f15f13..152f15f13 100755
--- a/public/stylesheets/fonts/delicious-smallcaps-webfont.ttf
+++ b/app/assets/fonts/delicious-smallcaps-webfont.ttf
Binary files differ
diff --git a/public/stylesheets/fonts/delicious-smallcaps-webfont.woff b/app/assets/fonts/delicious-smallcaps-webfont.woff
index 0d4d1f7d0..0d4d1f7d0 100755
--- a/public/stylesheets/fonts/delicious-smallcaps-webfont.woff
+++ b/app/assets/fonts/delicious-smallcaps-webfont.woff
Binary files differ
diff --git a/public/images/README.txt b/app/assets/images/README.txt
index 0bf9f36d6..0bf9f36d6 100644
--- a/public/images/README.txt
+++ b/app/assets/images/README.txt
diff --git a/public/images/arrow-left.png b/app/assets/images/arrow-left.png
index 74d2fa253..74d2fa253 100644
--- a/public/images/arrow-left.png
+++ b/app/assets/images/arrow-left.png
Binary files differ
diff --git a/public/images/arrow-right.png b/app/assets/images/arrow-right.png
index 34dd75ef8..34dd75ef8 100644
--- a/public/images/arrow-right.png
+++ b/app/assets/images/arrow-right.png
Binary files differ
diff --git a/public/images/bighand.png b/app/assets/images/bighand.png
index 92a4a6105..92a4a6105 100644
--- a/public/images/bighand.png
+++ b/app/assets/images/bighand.png
Binary files differ
diff --git a/public/images/button-gradient-large.png b/app/assets/images/button-gradient-large.png
index 93ebc6cbc..93ebc6cbc 100644
--- a/public/images/button-gradient-large.png
+++ b/app/assets/images/button-gradient-large.png
Binary files differ
diff --git a/public/images/button-gradient.png b/app/assets/images/button-gradient.png
index 8b29e89ba..8b29e89ba 100644
--- a/public/images/button-gradient.png
+++ b/app/assets/images/button-gradient.png
Binary files differ
diff --git a/public/images/button-preview.png b/app/assets/images/button-preview.png
index 79b4ccd04..79b4ccd04 100644
--- a/public/images/button-preview.png
+++ b/app/assets/images/button-preview.png
Binary files differ
diff --git a/public/images/button-search.png b/app/assets/images/button-search.png
index 23945f4f0..23945f4f0 100644
--- a/public/images/button-search.png
+++ b/app/assets/images/button-search.png
Binary files differ
diff --git a/public/images/calendar.png b/app/assets/images/calendar.png
index 44981a41c..44981a41c 100644
--- a/public/images/calendar.png
+++ b/app/assets/images/calendar.png
Binary files differ
diff --git a/public/images/defaultprofilepic.png b/app/assets/images/defaultprofilepic.png
index affdaad3d..affdaad3d 100644
--- a/public/images/defaultprofilepic.png
+++ b/app/assets/images/defaultprofilepic.png
Binary files differ
diff --git a/public/images/email-16.png b/app/assets/images/email-16.png
index 8692748e2..8692748e2 100644
--- a/public/images/email-16.png
+++ b/app/assets/images/email-16.png
Binary files differ
diff --git a/public/stylesheets/fancybox-x.png b/app/assets/images/fancybox-x.png
index c2130f869..c2130f869 100755
--- a/public/stylesheets/fancybox-x.png
+++ b/app/assets/images/fancybox-x.png
Binary files differ
diff --git a/public/stylesheets/fancybox-y.png b/app/assets/images/fancybox-y.png
index 7ef399b99..7ef399b99 100755
--- a/public/stylesheets/fancybox-y.png
+++ b/app/assets/images/fancybox-y.png
Binary files differ
diff --git a/public/stylesheets/fancybox.png b/app/assets/images/fancybox.png
index 65e14f68f..65e14f68f 100755
--- a/public/stylesheets/fancybox.png
+++ b/app/assets/images/fancybox.png
Binary files differ
diff --git a/public/favicon.ico b/app/assets/images/favicon.ico
index 26127495c..26127495c 100644
--- a/public/favicon.ico
+++ b/app/assets/images/favicon.ico
Binary files differ
diff --git a/public/images/feed-14.png b/app/assets/images/feed-14.png
index b3c949d22..b3c949d22 100644
--- a/public/images/feed-14.png
+++ b/app/assets/images/feed-14.png
Binary files differ
diff --git a/public/images/feed-16.png b/app/assets/images/feed-16.png
index 1679ab05b..1679ab05b 100644
--- a/public/images/feed-16.png
+++ b/app/assets/images/feed-16.png
Binary files differ
diff --git a/public/images/feed-28.png b/app/assets/images/feed-28.png
index d64c669c7..d64c669c7 100644
--- a/public/images/feed-28.png
+++ b/app/assets/images/feed-28.png
Binary files differ
diff --git a/public/images/flying-computer.png b/app/assets/images/flying-computer.png
index b1e1d59bb..b1e1d59bb 100644
--- a/public/images/flying-computer.png
+++ b/app/assets/images/flying-computer.png
Binary files differ
diff --git a/public/admin/images/glyphicons-halflings-white.png b/app/assets/images/glyphicons-halflings-white.png
index 3bf6484a2..3bf6484a2 100644
--- a/public/admin/images/glyphicons-halflings-white.png
+++ b/app/assets/images/glyphicons-halflings-white.png
Binary files differ
diff --git a/public/admin/images/glyphicons-halflings.png b/app/assets/images/glyphicons-halflings.png
index 79bc568c2..79bc568c2 100644
--- a/public/admin/images/glyphicons-halflings.png
+++ b/app/assets/images/glyphicons-halflings.png
Binary files differ
diff --git a/public/images/helpmeinvestigate.png b/app/assets/images/helpmeinvestigate.png
index e9aaf5aec..e9aaf5aec 100644
--- a/public/images/helpmeinvestigate.png
+++ b/app/assets/images/helpmeinvestigate.png
Binary files differ
diff --git a/public/images/home-grad.png b/app/assets/images/home-grad.png
index ff9887a11..ff9887a11 100644
--- a/public/images/home-grad.png
+++ b/app/assets/images/home-grad.png
Binary files differ
diff --git a/public/images/icon-foi.png b/app/assets/images/icon-foi.png
index 138bf3b5c..138bf3b5c 100644
--- a/public/images/icon-foi.png
+++ b/app/assets/images/icon-foi.png
Binary files differ
diff --git a/public/images/icon-person.png b/app/assets/images/icon-person.png
index dfb35a849..dfb35a849 100644
--- a/public/images/icon-person.png
+++ b/app/assets/images/icon-person.png
Binary files differ
diff --git a/public/images/icon-publicbody.png b/app/assets/images/icon-publicbody.png
index 0f3848ccf..0f3848ccf 100644
--- a/public/images/icon-publicbody.png
+++ b/app/assets/images/icon-publicbody.png
Binary files differ
diff --git a/public/images/icon_application_octet-stream_large.png b/app/assets/images/icon_application_octet-stream_large.png
index a239862e1..a239862e1 100644
--- a/public/images/icon_application_octet-stream_large.png
+++ b/app/assets/images/icon_application_octet-stream_large.png
Binary files differ
diff --git a/public/images/icon_application_pdf_large.png b/app/assets/images/icon_application_pdf_large.png
index 9a38ca33c..9a38ca33c 100644
--- a/public/images/icon_application_pdf_large.png
+++ b/app/assets/images/icon_application_pdf_large.png
Binary files differ
diff --git a/public/images/icon_application_rtf_large.png b/app/assets/images/icon_application_rtf_large.png
index 2ad990608..2ad990608 100644
--- a/public/images/icon_application_rtf_large.png
+++ b/app/assets/images/icon_application_rtf_large.png
Binary files differ
diff --git a/public/images/icon_application_vnd.ms-excel_large.png b/app/assets/images/icon_application_vnd.ms-excel_large.png
index 3f346f5ef..3f346f5ef 100644
--- a/public/images/icon_application_vnd.ms-excel_large.png
+++ b/app/assets/images/icon_application_vnd.ms-excel_large.png
Binary files differ
diff --git a/public/images/icon_application_vnd.ms-powerpoint_large.png b/app/assets/images/icon_application_vnd.ms-powerpoint_large.png
index 82c225059..82c225059 100644
--- a/public/images/icon_application_vnd.ms-powerpoint_large.png
+++ b/app/assets/images/icon_application_vnd.ms-powerpoint_large.png
Binary files differ
diff --git a/public/images/icon_application_vnd.ms-word_large.png b/app/assets/images/icon_application_vnd.ms-word_large.png
index 91a696ab5..91a696ab5 100644
--- a/public/images/icon_application_vnd.ms-word_large.png
+++ b/app/assets/images/icon_application_vnd.ms-word_large.png
Binary files differ
diff --git a/public/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png
index 4e0dcebe7..4e0dcebe7 120000
--- a/public/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png
+++ b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.presentationml.presentation_large.png
diff --git a/public/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png
index c664a30f9..c664a30f9 120000
--- a/public/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png
+++ b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.spreadsheetml.sheet_large.png
diff --git a/public/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png
index 950105e3b..950105e3b 120000
--- a/public/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png
+++ b/app/assets/images/icon_application_vnd.openxmlformats-officedocument.wordprocessingml.document_large.png
diff --git a/public/images/icon_application_zip_large.png b/app/assets/images/icon_application_zip_large.png
index 0a14e978e..0a14e978e 100644
--- a/public/images/icon_application_zip_large.png
+++ b/app/assets/images/icon_application_zip_large.png
Binary files differ
diff --git a/public/images/icon_image_bmp_large.png b/app/assets/images/icon_image_bmp_large.png
index f6e8dbaed..f6e8dbaed 100644
--- a/public/images/icon_image_bmp_large.png
+++ b/app/assets/images/icon_image_bmp_large.png
Binary files differ
diff --git a/public/images/icon_image_gif_large.png b/app/assets/images/icon_image_gif_large.png
index 424d1e0fd..424d1e0fd 100644
--- a/public/images/icon_image_gif_large.png
+++ b/app/assets/images/icon_image_gif_large.png
Binary files differ
diff --git a/public/images/icon_image_jpeg_large.png b/app/assets/images/icon_image_jpeg_large.png
index fd50a889d..fd50a889d 100644
--- a/public/images/icon_image_jpeg_large.png
+++ b/app/assets/images/icon_image_jpeg_large.png
Binary files differ
diff --git a/public/images/icon_image_png_large.png b/app/assets/images/icon_image_png_large.png
index f16edb08e..f16edb08e 100644
--- a/public/images/icon_image_png_large.png
+++ b/app/assets/images/icon_image_png_large.png
Binary files differ
diff --git a/public/images/icon_image_tiff_large.png b/app/assets/images/icon_image_tiff_large.png
index 356f63478..356f63478 100644
--- a/public/images/icon_image_tiff_large.png
+++ b/app/assets/images/icon_image_tiff_large.png
Binary files differ
diff --git a/public/images/icon_message_delivery-status_large.png b/app/assets/images/icon_message_delivery-status_large.png
index a239862e1..a239862e1 100644
--- a/public/images/icon_message_delivery-status_large.png
+++ b/app/assets/images/icon_message_delivery-status_large.png
Binary files differ
diff --git a/public/images/icon_text_html_large.png b/app/assets/images/icon_text_html_large.png
index 914502cf4..914502cf4 100644
--- a/public/images/icon_text_html_large.png
+++ b/app/assets/images/icon_text_html_large.png
Binary files differ
diff --git a/public/images/icon_text_plain_large.png b/app/assets/images/icon_text_plain_large.png
index f74a997ba..f74a997ba 100644
--- a/public/images/icon_text_plain_large.png
+++ b/app/assets/images/icon_text_plain_large.png
Binary files differ
diff --git a/public/images/icon_text_x-vcard_large.png b/app/assets/images/icon_text_x-vcard_large.png
index cc44d3edc..cc44d3edc 100644
--- a/public/images/icon_text_x-vcard_large.png
+++ b/app/assets/images/icon_text_x-vcard_large.png
Binary files differ
diff --git a/public/images/icon_unknown.png b/app/assets/images/icon_unknown.png
index 992c646c0..992c646c0 100644
--- a/public/images/icon_unknown.png
+++ b/app/assets/images/icon_unknown.png
Binary files differ
diff --git a/public/images/link-icon.png b/app/assets/images/link-icon.png
index 7d9237fcd..7d9237fcd 100644
--- a/public/images/link-icon.png
+++ b/app/assets/images/link-icon.png
Binary files differ
diff --git a/public/images/littlehand.png b/app/assets/images/littlehand.png
index f7ec82045..f7ec82045 100644
--- a/public/images/littlehand.png
+++ b/app/assets/images/littlehand.png
Binary files differ
diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png
new file mode 100644
index 000000000..1e44ced7d
--- /dev/null
+++ b/app/assets/images/logo.png
Binary files differ
diff --git a/public/images/navimg/alaveteli-logo-header.png b/app/assets/images/navimg/alaveteli-logo-header.png
index 49b529718..49b529718 100644
--- a/public/images/navimg/alaveteli-logo-header.png
+++ b/app/assets/images/navimg/alaveteli-logo-header.png
Binary files differ
diff --git a/public/images/navimg/alaveteli-logo.png b/app/assets/images/navimg/alaveteli-logo.png
index ce9abdd3d..ce9abdd3d 100644
--- a/public/images/navimg/alaveteli-logo.png
+++ b/app/assets/images/navimg/alaveteli-logo.png
Binary files differ
diff --git a/public/images/navimg/auth-icon.png b/app/assets/images/navimg/auth-icon.png
index 6eaa229bf..6eaa229bf 100644
--- a/public/images/navimg/auth-icon.png
+++ b/app/assets/images/navimg/auth-icon.png
Binary files differ
diff --git a/public/images/navimg/bnnr-ifyoudontask-24bit.png b/app/assets/images/navimg/bnnr-ifyoudontask-24bit.png
index 5c87bdab4..5c87bdab4 100644
--- a/public/images/navimg/bnnr-ifyoudontask-24bit.png
+++ b/app/assets/images/navimg/bnnr-ifyoudontask-24bit.png
Binary files differ
diff --git a/public/images/navimg/bnnr-ifyoudontask.png b/app/assets/images/navimg/bnnr-ifyoudontask.png
index f577778e1..f577778e1 100644
--- a/public/images/navimg/bnnr-ifyoudontask.png
+++ b/app/assets/images/navimg/bnnr-ifyoudontask.png
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100px.jpg b/app/assets/images/navimg/bnnr-temp-100px.jpg
index baf03585e..baf03585e 100644
--- a/public/images/navimg/bnnr-temp-100px.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100px.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100pxa.jpg b/app/assets/images/navimg/bnnr-temp-100pxa.jpg
index f95a4d9f5..f95a4d9f5 100644
--- a/public/images/navimg/bnnr-temp-100pxa.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100pxa.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100pxb.jpg b/app/assets/images/navimg/bnnr-temp-100pxb.jpg
index f09f5c838..f09f5c838 100644
--- a/public/images/navimg/bnnr-temp-100pxb.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100pxb.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100pxc.jpg b/app/assets/images/navimg/bnnr-temp-100pxc.jpg
index e83ec90ed..e83ec90ed 100755
--- a/public/images/navimg/bnnr-temp-100pxc.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100pxc.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp-100pxd.jpg b/app/assets/images/navimg/bnnr-temp-100pxd.jpg
index 105b97a19..105b97a19 100755
--- a/public/images/navimg/bnnr-temp-100pxd.jpg
+++ b/app/assets/images/navimg/bnnr-temp-100pxd.jpg
Binary files differ
diff --git a/public/images/navimg/bnnr-temp.jpg b/app/assets/images/navimg/bnnr-temp.jpg
index abcc0bcfc..abcc0bcfc 100644
--- a/public/images/navimg/bnnr-temp.jpg
+++ b/app/assets/images/navimg/bnnr-temp.jpg
Binary files differ
diff --git a/public/images/navimg/infobug20px.png b/app/assets/images/navimg/infobug20px.png
index f9cc70694..f9cc70694 100644
--- a/public/images/navimg/infobug20px.png
+++ b/app/assets/images/navimg/infobug20px.png
Binary files differ
diff --git a/public/images/navimg/logo-trans-small.png b/app/assets/images/navimg/logo-trans-small.png
index fde1d1e51..fde1d1e51 100644
--- a/public/images/navimg/logo-trans-small.png
+++ b/app/assets/images/navimg/logo-trans-small.png
Binary files differ
diff --git a/public/images/navimg/logo-trans.png b/app/assets/images/navimg/logo-trans.png
index 320a52efd..320a52efd 100644
--- a/public/images/navimg/logo-trans.png
+++ b/app/assets/images/navimg/logo-trans.png
Binary files differ
diff --git a/public/images/navimg/mysoc-logo-header.png b/app/assets/images/navimg/mysoc-logo-header.png
index ad813926a..ad813926a 100755
--- a/public/images/navimg/mysoc-logo-header.png
+++ b/app/assets/images/navimg/mysoc-logo-header.png
Binary files differ
diff --git a/public/images/navimg/mysoc-logo-small.png b/app/assets/images/navimg/mysoc-logo-small.png
index 1d644924c..1d644924c 100644
--- a/public/images/navimg/mysoc-logo-small.png
+++ b/app/assets/images/navimg/mysoc-logo-small.png
Binary files differ
diff --git a/public/images/navimg/quote-open-small.png b/app/assets/images/navimg/quote-open-small.png
index 46edaa850..46edaa850 100755
--- a/public/images/navimg/quote-open-small.png
+++ b/app/assets/images/navimg/quote-open-small.png
Binary files differ
diff --git a/public/images/navimg/quote-open.png b/app/assets/images/navimg/quote-open.png
index 7e8858265..7e8858265 100644
--- a/public/images/navimg/quote-open.png
+++ b/app/assets/images/navimg/quote-open.png
Binary files differ
diff --git a/public/images/navimg/request-icon.png b/app/assets/images/navimg/request-icon.png
index 9f2854d0e..9f2854d0e 100644
--- a/public/images/navimg/request-icon.png
+++ b/app/assets/images/navimg/request-icon.png
Binary files differ
diff --git a/public/images/navimg/status-icons-attn.png b/app/assets/images/navimg/status-icons-attn.png
index 6a543c5da..6a543c5da 100644
--- a/public/images/navimg/status-icons-attn.png
+++ b/app/assets/images/navimg/status-icons-attn.png
Binary files differ
diff --git a/public/images/navimg/status-icons-error-message.png b/app/assets/images/navimg/status-icons-error-message.png
index 03ddd60b7..03ddd60b7 100644
--- a/public/images/navimg/status-icons-error-message.png
+++ b/app/assets/images/navimg/status-icons-error-message.png
Binary files differ
diff --git a/public/images/navimg/status-icons-fail.png b/app/assets/images/navimg/status-icons-fail.png
index 57529237c..57529237c 100644
--- a/public/images/navimg/status-icons-fail.png
+++ b/app/assets/images/navimg/status-icons-fail.png
Binary files differ
diff --git a/public/images/navimg/status-icons-internal-review.png b/app/assets/images/navimg/status-icons-internal-review.png
index 44fe2fdb3..44fe2fdb3 100644
--- a/public/images/navimg/status-icons-internal-review.png
+++ b/app/assets/images/navimg/status-icons-internal-review.png
Binary files differ
diff --git a/public/images/navimg/status-icons-not-held.png b/app/assets/images/navimg/status-icons-not-held.png
index 1225a3db3..1225a3db3 100644
--- a/public/images/navimg/status-icons-not-held.png
+++ b/app/assets/images/navimg/status-icons-not-held.png
Binary files differ
diff --git a/public/images/navimg/status-icons-post.png b/app/assets/images/navimg/status-icons-post.png
index 56b9b9fa9..56b9b9fa9 100755
--- a/public/images/navimg/status-icons-post.png
+++ b/app/assets/images/navimg/status-icons-post.png
Binary files differ
diff --git a/public/images/navimg/status-icons-succeed.png b/app/assets/images/navimg/status-icons-succeed.png
index 8f3bba985..8f3bba985 100644
--- a/public/images/navimg/status-icons-succeed.png
+++ b/app/assets/images/navimg/status-icons-succeed.png
Binary files differ
diff --git a/public/images/navimg/status-icons-user-withdrawn.png b/app/assets/images/navimg/status-icons-user-withdrawn.png
index fa4e278ff..fa4e278ff 100644
--- a/public/images/navimg/status-icons-user-withdrawn.png
+++ b/app/assets/images/navimg/status-icons-user-withdrawn.png
Binary files differ
diff --git a/public/images/navimg/status-icons-wait.png b/app/assets/images/navimg/status-icons-wait.png
index a264f06f5..a264f06f5 100644
--- a/public/images/navimg/status-icons-wait.png
+++ b/app/assets/images/navimg/status-icons-wait.png
Binary files differ
diff --git a/public/images/navimg/user-icon.png b/app/assets/images/navimg/user-icon.png
index dfaf5525d..dfaf5525d 100644
--- a/public/images/navimg/user-icon.png
+++ b/app/assets/images/navimg/user-icon.png
Binary files differ
diff --git a/public/images/petitions.png b/app/assets/images/petitions.png
index 204e12b77..204e12b77 100644
--- a/public/images/petitions.png
+++ b/app/assets/images/petitions.png
Binary files differ
diff --git a/public/images/pledgebank.png b/app/assets/images/pledgebank.png
index 0f0a8f235..0f0a8f235 100644
--- a/public/images/pledgebank.png
+++ b/app/assets/images/pledgebank.png
Binary files differ
diff --git a/public/images/quote-marks.png b/app/assets/images/quote-marks.png
index e2bdfb06d..e2bdfb06d 100644
--- a/public/images/quote-marks.png
+++ b/app/assets/images/quote-marks.png
Binary files differ
diff --git a/public/images/rails.png b/app/assets/images/rails.png
index b8441f182..b8441f182 100644
--- a/public/images/rails.png
+++ b/app/assets/images/rails.png
Binary files differ
diff --git a/public/images/rss-16.png b/app/assets/images/rss-16.png
index d61986a56..d61986a56 100644
--- a/public/images/rss-16.png
+++ b/app/assets/images/rss-16.png
Binary files differ
diff --git a/public/images/rss-blue.png b/app/assets/images/rss-blue.png
index abc1b1859..abc1b1859 100644
--- a/public/images/rss-blue.png
+++ b/app/assets/images/rss-blue.png
Binary files differ
diff --git a/public/images/rss-orange.png b/app/assets/images/rss-orange.png
index d0e6a949e..d0e6a949e 100644
--- a/public/images/rss-orange.png
+++ b/app/assets/images/rss-orange.png
Binary files differ
diff --git a/public/images/rss.png b/app/assets/images/rss.png
index a88ac93f5..a88ac93f5 100644
--- a/public/images/rss.png
+++ b/app/assets/images/rss.png
Binary files differ
diff --git a/public/images/search-button.png b/app/assets/images/search-button.png
index f5d41d4f1..f5d41d4f1 100644
--- a/public/images/search-button.png
+++ b/app/assets/images/search-button.png
Binary files differ
diff --git a/app/assets/images/small-green-cross.png b/app/assets/images/small-green-cross.png
new file mode 100644
index 000000000..5868f5775
--- /dev/null
+++ b/app/assets/images/small-green-cross.png
Binary files differ
diff --git a/public/images/small-white-cross.png b/app/assets/images/small-white-cross.png
index 3f78064d2..3f78064d2 100644
--- a/public/images/small-white-cross.png
+++ b/app/assets/images/small-white-cross.png
Binary files differ
diff --git a/public/images/start-button.png b/app/assets/images/start-button.png
index 585931c35..585931c35 100644
--- a/public/images/start-button.png
+++ b/app/assets/images/start-button.png
Binary files differ
diff --git a/public/images/status-complete.png b/app/assets/images/status-complete.png
index 2ff49770a..2ff49770a 100644
--- a/public/images/status-complete.png
+++ b/app/assets/images/status-complete.png
Binary files differ
diff --git a/public/images/status-denied.png b/app/assets/images/status-denied.png
index 1f768af5e..1f768af5e 100644
--- a/public/images/status-denied.png
+++ b/app/assets/images/status-denied.png
Binary files differ
diff --git a/public/images/status-error.png b/app/assets/images/status-error.png
index 5865dd1e1..5865dd1e1 100644
--- a/public/images/status-error.png
+++ b/app/assets/images/status-error.png
Binary files differ
diff --git a/public/images/status-gone-postal.png b/app/assets/images/status-gone-postal.png
index 00df771ac..00df771ac 100644
--- a/public/images/status-gone-postal.png
+++ b/app/assets/images/status-gone-postal.png
Binary files differ
diff --git a/public/images/status-internal-review.png b/app/assets/images/status-internal-review.png
index 639f72797..639f72797 100644
--- a/public/images/status-internal-review.png
+++ b/app/assets/images/status-internal-review.png
Binary files differ
diff --git a/public/images/status-not-held.png b/app/assets/images/status-not-held.png
index 9d20ac2e7..9d20ac2e7 100644
--- a/public/images/status-not-held.png
+++ b/app/assets/images/status-not-held.png
Binary files differ
diff --git a/public/images/status-overdue.png b/app/assets/images/status-overdue.png
index 637fed8d9..637fed8d9 100644
--- a/public/images/status-overdue.png
+++ b/app/assets/images/status-overdue.png
Binary files differ
diff --git a/public/images/status-pending.png b/app/assets/images/status-pending.png
index dcf4009f3..dcf4009f3 100644
--- a/public/images/status-pending.png
+++ b/app/assets/images/status-pending.png
Binary files differ
diff --git a/public/images/status-withdrawn.png b/app/assets/images/status-withdrawn.png
index d56aa213f..d56aa213f 100644
--- a/public/images/status-withdrawn.png
+++ b/app/assets/images/status-withdrawn.png
Binary files differ
diff --git a/public/images/stripes-70-light.png b/app/assets/images/stripes-70-light.png
index 7a0ee575d..7a0ee575d 100644
--- a/public/images/stripes-70-light.png
+++ b/app/assets/images/stripes-70-light.png
Binary files differ
diff --git a/public/images/stripes-70-light2.png b/app/assets/images/stripes-70-light2.png
index 443442a48..443442a48 100644
--- a/public/images/stripes-70-light2.png
+++ b/app/assets/images/stripes-70-light2.png
Binary files differ
diff --git a/public/images/stripes-70.png b/app/assets/images/stripes-70.png
index fda1c339d..fda1c339d 100644
--- a/public/images/stripes-70.png
+++ b/app/assets/images/stripes-70.png
Binary files differ
diff --git a/public/images/stripes.png b/app/assets/images/stripes.png
index fda1c339d..fda1c339d 100644
--- a/public/images/stripes.png
+++ b/app/assets/images/stripes.png
Binary files differ
diff --git a/public/images/twitter-16.png b/app/assets/images/twitter-16.png
index e848b8f2e..e848b8f2e 100644
--- a/public/images/twitter-16.png
+++ b/app/assets/images/twitter-16.png
Binary files differ
diff --git a/public/images/twitter.png b/app/assets/images/twitter.png
index 6589824af..6589824af 100644
--- a/public/images/twitter.png
+++ b/app/assets/images/twitter.png
Binary files differ
diff --git a/public/images/ui-icons-theme.png b/app/assets/images/ui-icons-theme.png
index f619648da..f619648da 100644
--- a/public/images/ui-icons-theme.png
+++ b/app/assets/images/ui-icons-theme.png
Binary files differ
diff --git a/public/images/wordpress.png b/app/assets/images/wordpress.png
index a0e254373..a0e254373 100644
--- a/public/images/wordpress.png
+++ b/app/assets/images/wordpress.png
Binary files differ
diff --git a/public/images/writetothem.png b/app/assets/images/writetothem.png
index f5648df65..f5648df65 100644
--- a/public/images/writetothem.png
+++ b/app/assets/images/writetothem.png
Binary files differ
diff --git a/app/assets/javascripts/admin.js b/app/assets/javascripts/admin.js
new file mode 100644
index 000000000..0b5d56525
--- /dev/null
+++ b/app/assets/javascripts/admin.js
@@ -0,0 +1,7 @@
+// ...
+//= require jquery
+//= require jquery.ui.tabs
+//= require admin/bootstrap-collapse
+//= require admin/bootstrap-tab
+//= require admin/admin
+//= require jquery_ujs
diff --git a/public/admin/javascripts/admin.coffee b/app/assets/javascripts/admin/admin.js.coffee
index 3d39369a4..3d39369a4 100644
--- a/public/admin/javascripts/admin.coffee
+++ b/app/assets/javascripts/admin/admin.js.coffee
diff --git a/public/admin/javascripts/bootstrap-collapse.js b/app/assets/javascripts/admin/bootstrap-collapse.js
index 9a364468b..9a364468b 100644
--- a/public/admin/javascripts/bootstrap-collapse.js
+++ b/app/assets/javascripts/admin/bootstrap-collapse.js
diff --git a/public/admin/javascripts/bootstrap-tab.js b/app/assets/javascripts/admin/bootstrap-tab.js
index 26c9ece75..26c9ece75 100644
--- a/public/admin/javascripts/bootstrap-tab.js
+++ b/app/assets/javascripts/admin/bootstrap-tab.js
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
new file mode 100644
index 000000000..d8aed6346
--- /dev/null
+++ b/app/assets/javascripts/application.js
@@ -0,0 +1,6 @@
+// ...
+//= require jquery
+//= require jquery.ui.datepicker
+//= require jquery.cookie
+//= require general
+//= require ba-throttle-debounce
diff --git a/public/javascripts/ba-throttle-debounce.js b/app/assets/javascripts/ba-throttle-debounce.js
index 07205508e..07205508e 100644
--- a/public/javascripts/ba-throttle-debounce.js
+++ b/app/assets/javascripts/ba-throttle-debounce.js
diff --git a/public/javascripts/bootstrap-collapse.js b/app/assets/javascripts/bootstrap-collapse.js
index 9a364468b..9a364468b 100644
--- a/public/javascripts/bootstrap-collapse.js
+++ b/app/assets/javascripts/bootstrap-collapse.js
diff --git a/public/javascripts/bootstrap-tab.js b/app/assets/javascripts/bootstrap-tab.js
index 26c9ece75..26c9ece75 100644
--- a/public/javascripts/bootstrap-tab.js
+++ b/app/assets/javascripts/bootstrap-tab.js
diff --git a/public/javascripts/excanvas.min.js b/app/assets/javascripts/excanvas.min.js
index fcf876c74..fcf876c74 100644
--- a/public/javascripts/excanvas.min.js
+++ b/app/assets/javascripts/excanvas.min.js
diff --git a/app/assets/javascripts/general.js b/app/assets/javascripts/general.js
new file mode 100644
index 000000000..529bbeb04
--- /dev/null
+++ b/app/assets/javascripts/general.js
@@ -0,0 +1,60 @@
+$(document).ready(function() {
+ // flash message for people coming from other countries
+ if(window.location.search.substring(1).search("country_name") == -1) {
+ if (!$.cookie('has_seen_country_message')) {
+ $.ajax({
+ url: "/country_message",
+ dataType: 'html',
+ success: function(country_message){
+ if (country_message != ''){
+ $('#other-country-notice .popup-content').html(country_message);
+ $('body:not(.front) #other-country-notice').show()
+ }
+ }
+ })
+
+ }
+ }
+
+ // popup messages
+ $('#other-country-notice .popup-close').click(function() {
+ $('#other-country-notice').hide('slow');
+ $.cookie('has_seen_country_message', 1, {expires: 365, path: '/'});
+ });
+ $('#everypage .popup-close').click(function() {
+ $('#everypage').hide('slow');
+ $.cookie('seen_foi2', 1, { expires: 7, path: '/' });
+ return false;
+ });
+
+ // "link to this" widget
+ $('a.link_to_this').click(function() {
+ var box = $('div#link_box');
+ var location = window.location.protocol + "//" + window.location.hostname + $(this).attr('href');
+ box.width(location.length + " em");
+ box.find('input').val(location).attr('size', location.length + " em");
+ box.show();
+ box.find('input').select();
+ box.position({
+ my: "left top",
+ at: "left bottom",
+ of: this,
+ collision: "fit" });
+ return false;
+ });
+
+ $('.close-button').click(function() { $(this).parent().hide() });
+ $('div#variety-filter a').each(function() {
+ $(this).click(function() {
+ var form = $('form#search_form');
+ form.attr('action', $(this).attr('href'));
+ form.submit();
+ return false;
+ })
+ })
+
+ if($.cookie('seen_foi2') == 1) {
+ $('#everypage').hide();
+ }
+
+})
diff --git a/public/javascripts/jquery.Jcrop.js b/app/assets/javascripts/jquery.Jcrop.js
index 9002b9787..9002b9787 100644
--- a/public/javascripts/jquery.Jcrop.js
+++ b/app/assets/javascripts/jquery.Jcrop.js
diff --git a/public/javascripts/jquery.cookie.js b/app/assets/javascripts/jquery.cookie.js
index 6a3e394b4..6a3e394b4 100644
--- a/public/javascripts/jquery.cookie.js
+++ b/app/assets/javascripts/jquery.cookie.js
diff --git a/public/javascripts/jquery.fancybox-1.3.4.pack.js b/app/assets/javascripts/jquery.fancybox-1.3.4.pack.js
index 1373ed083..1373ed083 100755
--- a/public/javascripts/jquery.fancybox-1.3.4.pack.js
+++ b/app/assets/javascripts/jquery.fancybox-1.3.4.pack.js
diff --git a/public/javascripts/jquery.flot.axislabels.js b/app/assets/javascripts/jquery.flot.axislabels.js
index c6f77aad4..c6f77aad4 100644
--- a/public/javascripts/jquery.flot.axislabels.js
+++ b/app/assets/javascripts/jquery.flot.axislabels.js
diff --git a/public/javascripts/jquery.flot.axislabels.min.js b/app/assets/javascripts/jquery.flot.axislabels.min.js
index 684d6173a..684d6173a 100644
--- a/public/javascripts/jquery.flot.axislabels.min.js
+++ b/app/assets/javascripts/jquery.flot.axislabels.min.js
diff --git a/public/javascripts/jquery.flot.errorbars.js b/app/assets/javascripts/jquery.flot.errorbars.js
index 729843678..729843678 100644
--- a/public/javascripts/jquery.flot.errorbars.js
+++ b/app/assets/javascripts/jquery.flot.errorbars.js
diff --git a/public/javascripts/jquery.flot.errorbars.min.js b/app/assets/javascripts/jquery.flot.errorbars.min.js
index 84a514b07..84a514b07 100644
--- a/public/javascripts/jquery.flot.errorbars.min.js
+++ b/app/assets/javascripts/jquery.flot.errorbars.min.js
diff --git a/public/javascripts/jquery.flot.js b/app/assets/javascripts/jquery.flot.js
index 2855d2eb3..2855d2eb3 100644
--- a/public/javascripts/jquery.flot.js
+++ b/app/assets/javascripts/jquery.flot.js
diff --git a/public/javascripts/jquery.flot.min.js b/app/assets/javascripts/jquery.flot.min.js
index b82faa18f..b82faa18f 100644
--- a/public/javascripts/jquery.flot.min.js
+++ b/app/assets/javascripts/jquery.flot.min.js
diff --git a/public/javascripts/jquery.flot.tickrotor.js b/app/assets/javascripts/jquery.flot.tickrotor.js
index 404b2b0a7..404b2b0a7 100644
--- a/public/javascripts/jquery.flot.tickrotor.js
+++ b/app/assets/javascripts/jquery.flot.tickrotor.js
diff --git a/public/javascripts/jquery.flot.tickrotor.min.js b/app/assets/javascripts/jquery.flot.tickrotor.min.js
index 87fc79d10..87fc79d10 100644
--- a/public/javascripts/jquery.flot.tickrotor.min.js
+++ b/app/assets/javascripts/jquery.flot.tickrotor.min.js
diff --git a/public/javascripts/jquery.form.js b/app/assets/javascripts/jquery.form.js
index bc0061418..bc0061418 100644
--- a/public/javascripts/jquery.form.js
+++ b/app/assets/javascripts/jquery.form.js
diff --git a/public/javascripts/jquery.js b/app/assets/javascripts/jquery.js
index 16ad06c5a..16ad06c5a 100644
--- a/public/javascripts/jquery.js
+++ b/app/assets/javascripts/jquery.js
diff --git a/public/javascripts/jquery_ujs.js b/app/assets/javascripts/jquery_ujs.js
index 50121d6ed..50121d6ed 100644
--- a/public/javascripts/jquery_ujs.js
+++ b/app/assets/javascripts/jquery_ujs.js
diff --git a/app/assets/javascripts/profile-photos.js b/app/assets/javascripts/profile-photos.js
new file mode 100644
index 000000000..c7ebe894d
--- /dev/null
+++ b/app/assets/javascripts/profile-photos.js
@@ -0,0 +1,3 @@
+// ...
+//= require jquery.Jcrop
+//= require profile_photo
diff --git a/public/javascripts/profile_photo.js b/app/assets/javascripts/profile_photo.js
index 6d637b439..6d637b439 100644
--- a/public/javascripts/profile_photo.js
+++ b/app/assets/javascripts/profile_photo.js
diff --git a/public/javascripts/stats-graphs.js b/app/assets/javascripts/stats-graphs.js
index ff3d3a11a..ff3d3a11a 100644
--- a/public/javascripts/stats-graphs.js
+++ b/app/assets/javascripts/stats-graphs.js
diff --git a/app/assets/javascripts/stats.js b/app/assets/javascripts/stats.js
new file mode 100644
index 000000000..8c743ad87
--- /dev/null
+++ b/app/assets/javascripts/stats.js
@@ -0,0 +1,6 @@
+// ...
+//= require jquery.flot.min
+//= require jquery.flot.errorbars.min
+//= require jquery.flot.tickrotor.min
+//= require jquery.flot.axislabels
+//= require stats-graphs
diff --git a/app/sass/admin.scss b/app/assets/stylesheets/admin.scss
index 584b0d00d..b0de2eb7b 100644
--- a/app/sass/admin.scss
+++ b/app/assets/stylesheets/admin.scss
@@ -22,12 +22,8 @@ body.admin {
/* When the admin stylesheet is loaded (and so the user is seeing the admin navbar), pad the banner of the front end interface so that it isn't hidden, and move any special notice down too.
*/
-.entirebody, #banner {
- padding-top: 50px;
-}
-
-#special-notice {
- margin-top: 50px;
+.entirebody {
+ padding-top: 42px;
}
.admin {
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
new file mode 100644
index 000000000..097221b2f
--- /dev/null
+++ b/app/assets/stylesheets/application.css
@@ -0,0 +1,7 @@
+/* ...
+*= require_self
+*= require main
+*= require custom
+*= require jquery.ui.datepicker
+*= require jquery.ui.tabs
+*/
diff --git a/app/assets/stylesheets/custom.css b/app/assets/stylesheets/custom.css
new file mode 100644
index 000000000..f1df5cca5
--- /dev/null
+++ b/app/assets/stylesheets/custom.css
@@ -0,0 +1,5 @@
+/* Themes will typically add a custom.css file with their own CSS.
+ This file is present to stop errors where THEME_URLS is empty,
+ since it is mentioned in the application.css manifest. Themes
+ should prepend their directories to the asset path so this will
+ be overriden by any custom.css in the theme. */
diff --git a/app/assets/stylesheets/fonts.scss b/app/assets/stylesheets/fonts.scss
new file mode 100644
index 000000000..2bfb8d222
--- /dev/null
+++ b/app/assets/stylesheets/fonts.scss
@@ -0,0 +1,73 @@
+
+@font-face {
+ font-family: 'DeliciousBold';
+ src: font-url('delicious-bold-webfont.eot');
+ src: font-url('delicious-bold-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-bold-webfont.woff') format('woff'),
+ font-url('delicious-bold-webfont.ttf') format('truetype'),
+ font-url('delicious-bold-webfont.svg#DeliciousBold') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousBoldItalic';
+ src: font-url('delicious-bolditalic-webfont.eot');
+ src: font-url('delicious-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-bolditalic-webfont.woff') format('woff'),
+ font-url('delicious-bolditalic-webfont.ttf') format('truetype'),
+ font-url('delicious-bolditalic-webfont.svg#DeliciousBoldItalic') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousHeavyRegular';
+ src: font-url('delicious-heavy-webfont.eot');
+ src: font-url('delicious-heavy-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-heavy-webfont.woff') format('woff'),
+ font-url('delicious-heavy-webfont.ttf') format('truetype'),
+ font-url('delicious-heavy-webfont.svg#DeliciousHeavyRegular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousItalic';
+ src: font-url('delicious-italic-webfont.eot');
+ src: font-url('delicious-italic-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-italic-webfont.woff') format('woff'),
+ font-url('delicious-italic-webfont.ttf') format('truetype'),
+ font-url('delicious-italic-webfont.svg#DeliciousItalic') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousRoman';
+ src: font-url('delicious-roman-webfont.eot');
+ src: font-url('delicious-roman-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-roman-webfont.woff') format('woff'),
+ font-url('delicious-roman-webfont.ttf') format('truetype'),
+ font-url('delicious-roman-webfont.svg#DeliciousRoman') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
+@font-face {
+ font-family: 'DeliciousSmallCapsRegular';
+ src: font-url('delicious-smallcaps-webfont.eot');
+ src: font-url('delicious-smallcaps-webfont.eot?#iefix') format('embedded-opentype'),
+ font-url('delicious-smallcaps-webfont.woff') format('woff'),
+ font-url('delicious-smallcaps-webfont.ttf') format('truetype'),
+ font-url('delicious-smallcaps-webfont.svg#DeliciousSmallCapsRegular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+
+}
+
diff --git a/public/stylesheets/ie6.css b/app/assets/stylesheets/ie6.css
index 5eff5fac9..5eff5fac9 100644
--- a/public/stylesheets/ie6.css
+++ b/app/assets/stylesheets/ie6.css
diff --git a/public/stylesheets/ie7.css b/app/assets/stylesheets/ie7.css
index c6e8fe4f2..c6e8fe4f2 100644
--- a/public/stylesheets/ie7.css
+++ b/app/assets/stylesheets/ie7.css
diff --git a/public/stylesheets/admin-theme/jquery-ui-1.8.15.custom.css b/app/assets/stylesheets/jquery-ui-1.8.15.custom.css
index ea0254a2b..386d854ff 100755
--- a/public/stylesheets/admin-theme/jquery-ui-1.8.15.custom.css
+++ b/app/assets/stylesheets/jquery-ui-1.8.15.custom.css
@@ -56,7 +56,7 @@
/* Component containers
----------------------------------*/
-.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: ; }
+.ui-widget { font-family: Verdana,Arial,sans-serif; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
diff --git a/public/stylesheets/jquery.Jcrop.css b/app/assets/stylesheets/jquery.Jcrop.css
index 24925dc94..24925dc94 100644
--- a/public/stylesheets/jquery.Jcrop.css
+++ b/app/assets/stylesheets/jquery.Jcrop.css
diff --git a/public/stylesheets/jquery.fancybox-1.3.4.css b/app/assets/stylesheets/jquery.fancybox-1.3.4.css
index 6f53d8f4a..6f53d8f4a 100755
--- a/public/stylesheets/jquery.fancybox-1.3.4.css
+++ b/app/assets/stylesheets/jquery.fancybox-1.3.4.css
diff --git a/public/stylesheets/main.css b/app/assets/stylesheets/main.scss
index 21d0735e0..6405d1dc3 100644
--- a/public/stylesheets/main.css
+++ b/app/assets/stylesheets/main.scss
@@ -8,7 +8,6 @@ padding:0;
}
#banner {
-position:absolute;
top:0;
background-color:#F3F3F3;
left:0;
@@ -41,7 +40,7 @@ border-width:1px;
}
#navigation_search input#navigation_search_button {
-background: url(/images/search-button.png) no-repeat center center;
+background: image-url('search-button.png') no-repeat center center;
width: 27px;
height: 26px;
color: transparent;
@@ -121,7 +120,6 @@ clear:both;
top:0;
text-align:left;
overflow:visible;
-padding-top:160px;
width:900px;
margin:0 auto 1.2em;
}
@@ -252,7 +250,7 @@ padding:12px 0 0;
.request_listing span.head /* full page request list only */ {
min-height:32px;
-background-image:url(../images/navimg/request-icon.png);
+background-image:image-url('navimg/request-icon.png');
background-repeat:no-repeat;
background-position:4px 0;
margin:0 0 0.3em;
@@ -261,7 +259,7 @@ padding:8px 0 0 42px;
.body_listing span.head /* full page request list only */ {
min-height:32px;
-background-image:url(../images/navimg/auth-icon.png);
+background-image:image-url('navimg/auth-icon.png');
background-repeat:no-repeat;
background-position:4px 0;
margin:0 0 0.3em;
@@ -270,7 +268,7 @@ padding:8px 0 0 42px;
.user_listing span.head /* full page request list only */ {
min-height:32px;
-background-image:url(../images/navimg/user-icon.png);
+background-image:image-url('navimg/user-icon.png');
background-repeat:no-repeat;
background-position:4px 0;
margin:0 0 0.3em;
@@ -305,46 +303,46 @@ padding:8px 0 10px 42px;
}
.icon_waiting_response,.icon_waiting_classification,.icon_waiting_clarification {
-background-image:url(/images/status-pending.png);
+background-image:image-url('status-pending.png');
color:#A68C2E;
}
.icon_rejected {
-background-image:url(../images/navimg/status-icons-fail.png);
+background-image:image-url('navimg/status-icons-fail.png');
}
.icon_not_held, .icon_attention_requested {
-background-image:url(/images/status-not-held.png);
+background-image:image-url('status-not-held.png');
color:#A68C2E;
}
.icon_successful,.icon_partially_successful {
-background-image:url(/images/status-complete.png);
+background-image:image-url('status-complete.png');
color:#69952F;
}
.icon_requires_admin,.icon_waiting_response_overdue,.icon_waiting_response_very_overdue {
-background-image:url(/images/status-overdue.png);
+background-image:image-url('status-overdue.png');
color:#C1272D;
}
.icon_gone_postal {
-background-image:url(/images/status-gone-postal.png);
+background-image:image-url('status-gone-postal.png');
color:#A68C2E;
}
.icon_error_message {
-background-image:url(/images/status-error.png);
+background-image:image-url('status-error.png');
color:#C1272D;
}
.icon_internal_review {
-background-image:url(/images/status-internal-review.png);
+background-image:image-url('status-internal-review.png');
color:#A68C2E;
}
.icon_user_withdrawn {
-background-image:url(/images/status-withdrawn.png);
+background-image:image-url('status-withdrawn.png');
color:#A68C2E;
}
@@ -360,7 +358,7 @@ overflow:hidden;
.request_listing span.desc
/* full page request list only */ {
width:25em;
-background-image:url(../images/navimg/quote-open.png);
+background-image:image-url('navimg/quote-open.png');
background-repeat:no-repeat;
background-position:0 0;
padding:8px 0 0 25px;
@@ -719,28 +717,45 @@ margin:60px 0 0;
padding:0.5em 0;
}
-#everypage {
-background-color:#fc9;
-border:solid 2px #f60;
-border-top:none;
-opacity:0.97;
-border-bottom-left-radius:10px;
-border-bottom-right-radius:10px;
-position:fixed;
-width:70%;
-left:15%;
+.popup {
+background-color:#D5FFD8;
+border:solid 3px #16C132;
z-index:2000;
-max-height:95%;
overflow:auto;
-padding:4px;
+text-align:center;
+margin-top:2px;
+}
+
+.popup .popup-content{
+margin:0.5em;
+width: 95%;
+float: left;
+}
+
+.popup p {
+margin: 0;
}
#everypage h2,#everypage h3 {
margin:0.5em 0;
}
-#everypage .popup-close {
- text-align: right;
+
+.popup .popup-close {
+color:#FFF;
+text-decoration:none;
+display:inline-block;
+border-radius:2px;
+-moz-border-radius:2px;
+cursor:pointer;
+background: image-url('small-green-cross.png') no-repeat 0;
+width:15px;
+height:15px;
+border:solid 0 #FFF;
+text-indent:-999px;
+overflow:hidden;
+float:right;
+padding:10px 0;
}
#game_sidebar {
@@ -1073,7 +1088,7 @@ padding-bottom:0;
}
.icon_failed,.icon_rejected {
-background-image:url(/images/status-denied.png);
+background-image:image-url('status-denied.png');
color:#C1272D;
}
@@ -1086,7 +1101,7 @@ padding:4px 0;
}
.request_listing span.desc {
-background:url(/images/quote-marks.png) no-repeat;
+background:image-url('quote-marks.png') no-repeat;
min-height:60px;
width:100%;
color:#444;
@@ -1280,7 +1295,7 @@ padding:5px;
form input.use-datepicker[type=text] {
width:130px !important;
-background:url(/images/calendar.png) no-repeat 115px 3px;
+background:image-url('calendar.png') no-repeat 115px 3px;
border-radius:3px !important;
-moz-border-radius:3px !important;
font-size:1.1em !important;
@@ -1298,7 +1313,7 @@ input[type="submit"]::-moz-focus-inner {
form input[type=submit],a.link_button_green,a.link_button_green_large {
color:#FFF;
background-color: #8cc63f; /* fallback color if gradients are not supported */
-background-image: url(/images/button-gradient.png);
+background-image: image-url('button-gradient.png');
background-image: -webkit-linear-gradient(top, #8cc63f, #6b9731); /* For Chrome and Safari */
background-image: -moz-linear-gradient(top, #8cc63f, #6b9731); /* For old Fx (3.6 to 15) */
background-image: -ms-linear-gradient(top, #8cc63f, #6b9731); /* For pre-releases of IE 10*/
@@ -1320,7 +1335,7 @@ padding:5px 6px;
color:white;
}
a.link_button_green_large {
-background-image: url(/images/button-gradient-large.png);
+background-image: image-url('button-gradient-large.png');
background-image: -webkit-linear-gradient(top, #8cc63f, #6b9731); /* For Chrome and Safari */
background-image: -moz-linear-gradient(top, #8cc63f, #6b9731); /* For old Fx (3.6 to 15) */
background-image: -ms-linear-gradient(top, #8cc63f, #6b9731); /* For pre-releases of IE 10*/
@@ -1362,7 +1377,7 @@ line-height:180%;
}
div.frontpage-box {
-background:url(/images/stripes.png);
+background:image-url('stripes.png');
border:1px solid #DEBEDD;
border-radius:5px;
-moz-border-radius:5px;
@@ -1398,7 +1413,7 @@ padding:5px 0;
#frontpage_examples .excerpt {
cursor:pointer;
-background:url(/images/quote-marks.png) no-repeat;
+background:image-url('quote-marks.png') no-repeat;
color:#444;
line-height:18px;
min-height:30px;
@@ -1407,7 +1422,7 @@ padding:0 0 0 40px;
}
#set_photo {
-background:url(/images/defaultprofilepic.png);
+background:image-url('defaultprofilepic.png');
}
div.correspondence,div.comment_in_request {
@@ -1441,7 +1456,7 @@ margin:0 0 0 10px;
}
#frontpage_splash {
-background:url(/images/flying-computer.png) no-repeat 175px bottom;
+background:image-url('flying-computer.png') no-repeat 175px bottom;
height:375px;
margin-top:-12px;
margin-bottom:20px;
@@ -1547,7 +1562,7 @@ color:#FFF;
}
#ui-datepicker-div .ui-icon-circle-triangle-w,#ui-datepicker-div .ui-icon-circle-triangle-e {
-background-image:url(/images/ui-icons-theme.png);
+background-image:image-url('ui-icons-theme.png');
}
#ui-datepicker-div .ui-datepicker-prev-hover {
@@ -1568,17 +1583,6 @@ cursor:pointer;
opacity:1;
}
-#other-country-notice {
-background:#222;
-color:#FFF;
-font-size:1.1em;
-width:100%;
-z-index:999;
-display:block;
-position:absolute;
-top:0;
-opacity:0.9;
-}
p.public-body-name-prefix {
color:#888;
@@ -1587,10 +1591,6 @@ margin-bottom:-15px;
font-size: 1.2em;
}
-#other-country-notice a {
-color:#FFF;
-}
-
.close-button {
color:#FFF;
text-decoration:none;
@@ -1598,7 +1598,7 @@ display:inline-block;
border-radius:2px;
-moz-border-radius:2px;
cursor:pointer;
-background:url(/images/small-white-cross.png) no-repeat;
+background:image-url('small-white-cross.png') no-repeat;
width:15px;
height:15px;
border:solid 0 #FFF;
@@ -1632,7 +1632,7 @@ display:inline-block;
width:20px;
letter-spacing:-1000em;
overflow:hidden;
-background:url(/images/link-icon.png) no-repeat;
+background:image-url('link-icon.png') no-repeat;
}
#to_public_body {
diff --git a/public/stylesheets/print.css b/app/assets/stylesheets/print.css
index 6f29c18da..6f29c18da 100644
--- a/public/stylesheets/print.css
+++ b/app/assets/stylesheets/print.css
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb
index e0da234b0..88e275960 100644
--- a/app/controllers/admin_public_body_controller.rb
+++ b/app/controllers/admin_public_body_controller.rb
@@ -143,6 +143,8 @@ class AdminPublicBodyController < AdminController
@errors = ""
if request.post?
dry_run_only = (params['commit'] == 'Upload' ? false : true)
+ # (FIXME: both of these cases could now be changed to use
+ # PublicBody.import_csv_from_file.)
# Read file from params
if params[:csv_file]
csv_contents = params[:csv_file].read
diff --git a/app/controllers/admin_request_controller.rb b/app/controllers/admin_request_controller.rb
index 4d45ced8b..2f5f51c0f 100644
--- a/app/controllers/admin_request_controller.rb
+++ b/app/controllers/admin_request_controller.rb
@@ -26,15 +26,13 @@ class AdminRequestController < AdminController
def show
@info_request = InfoRequest.find(params[:id])
- # XXX is this *really* the only way to render a template to a
- # variable, rather than to the response?
- vars = OpenStruct.new(:name_to => @info_request.user_name,
- :name_from => AlaveteliConfiguration::contact_name,
- :info_request => @info_request, :reason => params[:reason],
- :info_request_url => 'http://' + AlaveteliConfiguration::domain + request_url(@info_request),
- :site_name => site_name)
- template = File.read(File.join(File.dirname(__FILE__), "..", "views", "admin_request", "hidden_user_explanation.html.erb"))
- @request_hidden_user_explanation = ERB.new(template).result(vars.instance_eval { binding })
+ vars_for_explanation = {:reason => params[:reason],
+ :info_request => @info_request,
+ :name_to => @info_request.user_name,
+ :name_from => AlaveteliConfiguration::contact_name,
+ :info_request_url => request_url(@info_request, :only_path => false)}
+ @request_hidden_user_explanation = render_to_string(:template => "admin_request/hidden_user_explanation",
+ :locals => vars_for_explanation)
end
def resend
diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb
index e7bea67ef..00a3beebd 100644
--- a/app/controllers/api_controller.rb
+++ b/app/controllers/api_controller.rb
@@ -200,7 +200,7 @@ class ApiController < ApplicationController
])
end
if feed_type == "atom"
- render :template => "api/request_events.atom", :layout => false
+ render :template => "api/request_events", :formats => ['atom'], :layout => false
elsif feed_type == "json"
# For the JSON feed, we take a "since" parameter that allows the client
# to restrict to events more recent than a certain other event
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index cbdffc441..161a82b26 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -138,7 +138,9 @@ class ApplicationController < ActionController::Base
backtrace = Rails.backtrace_cleaner.clean(exception.backtrace, :silent)
message << " " << backtrace.join("\n ")
Rails.logger.fatal("#{message}\n\n")
- ExceptionNotifier::Notifier.exception_notification(request.env, exception).deliver
+ if !AlaveteliConfiguration.exception_notifications_from.blank? && !AlaveteliConfiguration.exception_notifications_to.blank?
+ ExceptionNotifier::Notifier.exception_notification(request.env, exception).deliver
+ end
@status = 500
end
respond_to do |format|
diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb
index beefef4e6..b01a67027 100644
--- a/app/controllers/general_controller.rb
+++ b/app/controllers/general_controller.rb
@@ -12,56 +12,15 @@ class GeneralController < ApplicationController
# New, improved front page!
def frontpage
medium_cache
- # get some example searches and public bodies to display
- # either from config, or based on a (slow!) query if not set
- body_short_names = AlaveteliConfiguration::frontpage_publicbody_examples.split(/\s*;\s*/).map{|s| "'%s'" % s.gsub(/'/, "''") }.join(", ")
@locale = self.locale_from_params()
- locale_condition = 'public_body_translations.locale = ?'
- conditions = [locale_condition, @locale]
- I18n.with_locale(@locale) do
- if body_short_names.empty?
- # This is too slow
- @popular_bodies = PublicBody.visible.find(:all,
- :order => "info_requests_count desc",
- :limit => 32,
- :conditions => conditions,
- :joins => :translations
- )
- else
- conditions[0] += " and public_bodies.url_name in (" + body_short_names + ")"
- @popular_bodies = PublicBody.find(:all,
- :conditions => conditions,
- :joins => :translations)
- end
- end
- # Get some successful requests
- begin
- query = 'variety:response (status:successful OR status:partially_successful)'
- sortby = "newest"
- max_count = 5
- xapian_object = perform_search([InfoRequestEvent], query, sortby, 'request_title_collapse', max_count)
- @request_events = xapian_object.results.map { |r| r[:model] }
-
- # If there are not yet enough successful requests, fill out the list with
- # other requests
- if @request_events.count < max_count
- @request_events_all_successful = false
- query = 'variety:sent'
- xapian_object = perform_search([InfoRequestEvent], query, sortby, 'request_title_collapse', max_count-@request_events.count)
- more_events = xapian_object.results.map { |r| r[:model] }
- @request_events += more_events
- # Overall we still want the list sorted with the newest first
- @request_events.sort!{|e1,e2| e2.created_at <=> e1.created_at}
- else
- @request_events_all_successful = true
- end
- rescue
- @request_events = []
- end
end
# Display blog entries
def blog
+ if AlaveteliConfiguration::blog_feed.empty?
+ raise ActiveRecord::RecordNotFound.new("Page not enabled")
+ end
+
medium_cache
@feed_autodetect = []
@feed_url = AlaveteliConfiguration::blog_feed
diff --git a/app/controllers/public_body_controller.rb b/app/controllers/public_body_controller.rb
index 9c3e46ded..308d38e4c 100644
--- a/app/controllers/public_body_controller.rb
+++ b/app/controllers/public_body_controller.rb
@@ -7,6 +7,7 @@
require 'fastercsv'
require 'confidence_intervals'
+require 'tempfile'
class PublicBodyController < ApplicationController
# XXX tidy this up with better error messages, and a more standard infrastructure for the redirect to canonical URL
@@ -191,9 +192,32 @@ class PublicBodyController < ApplicationController
end
def list_all_csv
- send_data(PublicBody.export_csv, :type=> 'text/csv; charset=utf-8; header=present',
+ # FIXME: this is just using the download directory for zip
+ # archives, since we know that is allowed for X-Sendfile and
+ # the filename can't clash with the numeric subdirectory names
+ # used for the zips. However, really there should be a
+ # generically named downloads directory that contains all
+ # kinds of downloadable assets.
+ download_directory = File.join(InfoRequest.download_zip_dir(),
+ 'download')
+ FileUtils.mkdir_p download_directory
+ output_leafname = 'all-authorities.csv'
+ output_filename = File.join download_directory, output_leafname
+ # Create a temporary file in the same directory, so we can
+ # rename it atomically to the intended filename:
+ tmp = Tempfile.new output_leafname, download_directory
+ tmp.close
+ # Export all the public bodies to that temporary path and make
+ # it readable:
+ PublicBody.export_csv tmp.path
+ FileUtils.chmod 0644, tmp.path
+ # Rename into place and send the file:
+ File.rename tmp.path, output_filename
+ send_file(output_filename,
+ :type => 'text/csv; charset=utf-8; header=present',
:filename => 'all-authorities.csv',
- :disposition =>'attachment', :encoding => 'utf8')
+ :disposition =>'attachment',
+ :encoding => 'utf8')
end
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index 388473b51..6f80be7a6 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -92,15 +92,8 @@ class RequestController < ApplicationController
# Sidebar stuff
@sidebar = true
- # ... requests that have similar imporant terms
- begin
- limit = 10
- @xapian_similar = ActsAsXapian::Similar.new([InfoRequestEvent], @info_request.info_request_events,
- :limit => limit, :collapse_by_prefix => 'request_collapse')
- @xapian_similar_more = (@xapian_similar.matches_estimated > limit)
- rescue
- @xapian_similar = nil
- end
+ @similar_cache_key = cache_key_for_similar_requests(@info_request, @locale)
+
# Track corresponding to this page
@track_thing = TrackThing.create_track_for_request(@info_request)
@feed_autodetect = [ { :url => do_track_url(@track_thing, 'feed'), :title => @track_thing.params[:title_in_rss], :has_json => true } ]
@@ -333,7 +326,7 @@ class RequestController < ApplicationController
if !authenticated?(
:web => _("To send your FOI request").to_str,
:email => _("Then your FOI request to {{public_body_name}} will be sent.",:public_body_name=>@info_request.public_body.name),
- :email_subject => _("Confirm your FOI request to ") + @info_request.public_body.name
+ :email_subject => _("Confirm your FOI request to {{public_body_name}}",:public_body_name=>@info_request.public_body.name)
)
# do nothing - as "authenticated?" has done the redirect to signin page for us
return
@@ -965,11 +958,17 @@ class RequestController < ApplicationController
end
if !done
file_info = { :filename => 'correspondence.txt',
- :data => render_to_string(:template => 'request/show.text',
- :layout => false) }
+ :data => render_to_string(:template => 'request/show',
+ :layout => false,
+ :formats => [:text]) }
end
file_info
end
+ def cache_key_for_similar_requests(info_request, locale)
+ "request/similar/#{info_request.id}/#{locale}"
+ end
+
+
end
diff --git a/app/controllers/services_controller.rb b/app/controllers/services_controller.rb
index 11ed4ac8f..78c494dba 100644
--- a/app/controllers/services_controller.rb
+++ b/app/controllers/services_controller.rb
@@ -24,9 +24,6 @@ class ServicesController < ApplicationController
FastGettext.locale = old_fgt_locale
end
end
- if !text.empty?
- text += ' <span class="close-button">X</span>'.html_safe
- end
render :text => text, :content_type => "text/plain" # XXX workaround the HTML validation in test suite
end
diff --git a/app/controllers/track_controller.rb b/app/controllers/track_controller.rb
index 72c092221..1123903f9 100644
--- a/app/controllers/track_controller.rb
+++ b/app/controllers/track_controller.rb
@@ -160,7 +160,10 @@ class TrackController < ApplicationController
format.json { render :json => @xapian_object.results.map { |r| r[:model].json_for_api(true,
lambda { |t| view_context.highlight_and_excerpt(t, @xapian_object.words_to_highlight, 150) }
) } }
- format.any { render :template => 'track/atom_feed.atom', :layout => false, :content_type => 'application/atom+xml' }
+ format.any { render :template => 'track/atom_feed',
+ :formats => ['atom'],
+ :layout => false,
+ :content_type => 'application/atom+xml' }
end
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index e3b1e57ac..4b603b064 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -54,16 +54,16 @@ module ApplicationHelper
# Highlight words, also escapes HTML (other than spans that we add)
def highlight_words(t, words, html = true)
if html
- highlight(h(t), words, '<span class="highlight">\1</span>').html_safe
+ highlight(h(t), words, :highlighter => '<span class="highlight">\1</span>').html_safe
else
- highlight(t, words, '*\1*')
+ highlight(t, words, :highlighter => '*\1*')
end
end
def highlight_and_excerpt(t, words, excount, html = true)
- newt = excerpt(t, words[0], excount)
+ newt = excerpt(t, words[0], :radius => excount)
if not newt
- newt = excerpt(t, '', excount)
+ newt = excerpt(t, '', :radius => excount)
end
t = newt
t = highlight_words(t, words, html)
@@ -116,5 +116,12 @@ module ApplicationHelper
return !session[:using_admin].nil? || (!@user.nil? && @user.super?)
end
+ def cache_if_caching_fragments(*args, &block)
+ if AlaveteliConfiguration::cache_fragments
+ cache(*args) { yield }
+ else
+ yield
+ end
+ end
end
diff --git a/app/mailers/request_mailer.rb b/app/mailers/request_mailer.rb
index 13b3bc4a1..af1a75df9 100644
--- a/app/mailers/request_mailer.rb
+++ b/app/mailers/request_mailer.rb
@@ -19,7 +19,8 @@ class RequestMailer < ApplicationMailer
end
mail(:from => from_user.name_and_email,
- :to => info_request.incoming_name_and_email)
+ :to => info_request.incoming_name_and_email,
+ :subject => info_request.email_subject_followup)
end
# Used when a response is uploaded using the API
@@ -63,7 +64,7 @@ class RequestMailer < ApplicationMailer
mail(:from => user.name_and_email,
:to => contact_from_name_and_email,
- :subject => _("FOI response requires admin ({{reason}}) - {{title}}", :reason => info_request.described_state, :title => info_request.title))
+ :subject => _("FOI response requires admin ({{reason}}) - {{title}}", :reason => info_request.described_state, :title => info_request.title).html_safe)
end
# Tell the requester that a new response has arrived
@@ -79,7 +80,7 @@ class RequestMailer < ApplicationMailer
mail(:from => contact_from_name_and_email,
:to => info_request.user.name_and_email,
- :subject => _("New response to your FOI request - ") + info_request.title,
+ :subject => (_("New response to your FOI request - ") + info_request.title).html_safe,
:charset => "UTF-8",
# not much we can do if the user's email is broken
:reply_to => contact_from_name_and_email)
@@ -182,7 +183,7 @@ class RequestMailer < ApplicationMailer
mail(:from => contact_from_name_and_email,
:to => info_request.user.name_and_email,
- :subject => _("Clarify your FOI request - ") + info_request.title)
+ :subject => (_("Clarify your FOI request - ") + info_request.title).html_safe)
end
# Tell requester that somebody add an annotation to their request
diff --git a/app/models/foi_attachment.rb b/app/models/foi_attachment.rb
index 914420a2b..acbfc8a34 100644
--- a/app/models/foi_attachment.rb
+++ b/app/models/foi_attachment.rb
@@ -69,7 +69,7 @@ class FoiAttachment < ActiveRecord::Base
tries = 0
delay = 1
begin
- binary_data = File.open(self.filepath, "rb" ).read
+ binary_data = File.open(self.filepath, "rb" ){ |file| file.read }
if self.content_type =~ /^text/
@cached_body = convert_string_to_utf8_or_binary(binary_data, 'UTF-8')
else
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb
index 8b2aa87e7..bcf0b6ec9 100644
--- a/app/models/incoming_message.rb
+++ b/app/models/incoming_message.rb
@@ -129,15 +129,15 @@ class IncomingMessage < ActiveRecord::Base
if (!force.nil? || self.last_parsed.nil?)
ActiveRecord::Base.transaction do
self.extract_attachments!
- self.sent_at = self.mail.date || self.created_at
- self.subject = self.mail.subject
- self.mail_from = MailHandler.get_from_name(self.mail)
+ write_attribute(:sent_at, self.mail.date || self.created_at)
+ write_attribute(:subject, self.mail.subject)
+ write_attribute(:mail_from, MailHandler.get_from_name(self.mail))
if self.from_email
self.mail_from_domain = PublicBody.extract_domain_from_email(self.from_email)
else
self.mail_from_domain = ""
end
- self.valid_to_reply_to = self._calculate_valid_to_reply_to
+ write_attribute(:valid_to_reply_to, self._calculate_valid_to_reply_to)
self.last_parsed = Time.now
self.foi_attachments reload=true
self.save!
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index 9463a236e..0a073dc79 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -1212,6 +1212,69 @@ public
end
end
+
+ # Get requests that have similar important terms
+ def similar_requests(limit=10)
+ xapian_similar = nil
+ xapian_similar_more = false
+ begin
+ xapian_similar = ActsAsXapian::Similar.new([InfoRequestEvent],
+ info_request_events,
+ :limit => limit,
+ :collapse_by_prefix => 'request_collapse')
+ xapian_similar_more = (xapian_similar.matches_estimated > limit)
+ rescue
+ end
+ return [xapian_similar, xapian_similar_more]
+ end
+
+ def InfoRequest.recent_requests
+ request_events = []
+ request_events_all_successful = false
+ # Get some successful requests
+ begin
+ query = 'variety:response (status:successful OR status:partially_successful)'
+ sortby = "newest"
+ max_count = 5
+
+ xapian_object = ActsAsXapian::Search.new([InfoRequestEvent],
+ query,
+ :offset => 0,
+ :limit => 5,
+ :sort_by_prefix => 'created_at',
+ :sort_by_ascending => true,
+ :collapse_by_prefix => 'request_title_collapse'
+ )
+ xapian_object.results
+ request_events = xapian_object.results.map { |r| r[:model] }
+
+ # If there are not yet enough successful requests, fill out the list with
+ # other requests
+ if request_events.count < max_count
+ query = 'variety:sent'
+ xapian_object = ActsAsXapian::Search.new([InfoRequestEvent],
+ query,
+ :offset => 0,
+ :limit => max_count-request_events.count,
+ :sort_by_prefix => 'created_at',
+ :sort_by_ascending => true,
+ :collapse_by_prefix => 'request_title_collapse'
+ )
+ xapian_object.results
+ more_events = xapian_object.results.map { |r| r[:model] }
+ request_events += more_events
+ # Overall we still want the list sorted with the newest first
+ request_events.sort!{|e1,e2| e2.created_at <=> e1.created_at}
+ else
+ request_events_all_successful = true
+ end
+ rescue
+ request_events = []
+ end
+
+ return [request_events, request_events_all_successful]
+ end
+
private
def set_defaults
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index fbe2956e3..a78a6677e 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -199,7 +199,6 @@ class PublicBody < ActiveRecord::Base
self.non_versioned_columns << 'info_requests_overdue_count'
class Version
- attr_accessor :created_at
def last_edit_comment_for_html_display
text = self.last_edit_comment.strip
@@ -261,13 +260,13 @@ class PublicBody < ActiveRecord::Base
# When name or short name is changed, also change the url name
def short_name=(short_name)
- globalize.write(I18n.locale, :short_name, short_name)
+ globalize.write(Globalize.locale, :short_name, short_name)
self[:short_name] = short_name
self.update_url_name
end
def name=(name)
- globalize.write(I18n.locale, :name, name)
+ globalize.write(Globalize.locale, :name, name)
self[:name] = name
self.update_url_name
end
@@ -347,22 +346,26 @@ class PublicBody < ActiveRecord::Base
# The "internal admin" is a special body for internal use.
def PublicBody.internal_admin_body
- I18n.with_locale(I18n.default_locale) do
- pb = PublicBody.find_by_url_name("internal_admin_authority")
- if pb.nil?
- pb = PublicBody.new(
- :name => 'Internal admin authority',
- :short_name => "",
- :request_email => AlaveteliConfiguration::contact_email,
- :home_page => "",
- :notes => "",
- :publication_scheme => "",
- :last_edit_editor => "internal_admin",
- :last_edit_comment => "Made by PublicBody.internal_admin_body"
- )
- pb.save!
+ # Use find_by_sql to avoid the search being specific to a
+ # locale, since url_name is a translated field:
+ sql = "SELECT * FROM public_bodies WHERE url_name = 'internal_admin_authority'"
+ matching_pbs = PublicBody.find_by_sql sql
+ case
+ when matching_pbs.empty? then
+ I18n.with_locale(I18n.default_locale) do
+ PublicBody.create!(:name => 'Internal admin authority',
+ :short_name => "",
+ :request_email => AlaveteliConfiguration::contact_email,
+ :home_page => "",
+ :notes => "",
+ :publication_scheme => "",
+ :last_edit_editor => "internal_admin",
+ :last_edit_comment => "Made by PublicBody.internal_admin_body")
end
- return pb
+ when matching_pbs.length == 1 then
+ matching_pbs[0]
+ else
+ raise "Multiple public bodies (#{matching_pbs.length}) found with url_name 'internal_admin_authority'"
end
end
@@ -370,10 +373,24 @@ class PublicBody < ActiveRecord::Base
class ImportCSVDryRun < StandardError
end
- # Import from CSV. Just tests things and returns messages if dry_run is true.
- # Returns an array of [array of errors, array of notes]. If there are errors,
- # always rolls back (as with dry_run).
+ # Import from a string in CSV format.
+ # Just tests things and returns messages if dry_run is true.
+ # Returns an array of [array of errors, array of notes]. If there
+ # are errors, always rolls back (as with dry_run).
def self.import_csv(csv, tag, tag_behaviour, dry_run, editor, available_locales = [])
+ tmp_csv = nil
+ Tempfile.open('alaveteli') do |f|
+ f.write csv
+ tmp_csv = f
+ end
+ PublicBody.import_csv_from_file(tmp_csv.path, tag, tag_behaviour, dry_run, editor, available_locales)
+ end
+
+ # Import from a CSV file.
+ # Just tests things and returns messages if dry_run is true.
+ # Returns an array of [array of errors, array of notes]. If there
+ # are errors, always rolls back (as with dry_run).
+ def self.import_csv_from_file(csv_filename, tag, tag_behaviour, dry_run, editor, available_locales = [])
errors = []
notes = []
available_locales = [I18n.default_locale] if available_locales.empty?
@@ -399,7 +416,8 @@ class PublicBody < ActiveRecord::Base
set_of_importing = Set.new()
field_names = { 'name'=>1, 'request_email'=>2 } # Default values in case no field list is given
line = 0
- CSV.parse(csv) do |row|
+
+ CSV.foreach(csv_filename) do |row|
line = line + 1
# Parse the first line as a field list if it starts with '#'
@@ -514,10 +532,8 @@ class PublicBody < ActiveRecord::Base
end
# Returns all public bodies (except for the internal admin authority) as csv
- def self.export_csv
- public_bodies = PublicBody.visible.find(:all, :order => 'url_name',
- :include => [:translations, :tags])
- FasterCSV.generate() do |csv|
+ def self.export_csv(output_filename)
+ CSV.open(output_filename, "w") do |csv|
csv << [
'Name',
'Short name',
@@ -532,7 +548,7 @@ class PublicBody < ActiveRecord::Base
'Updated at',
'Version',
]
- public_bodies.each do |public_body|
+ PublicBody.visible.find_each(:include => [:translations, :tags]) do |public_body|
# Skip bodies we use only for site admin
next if public_body.has_tag?('site_administration')
csv << [
@@ -725,6 +741,31 @@ class PublicBody < ActiveRecord::Base
'y_max' => 100,
'totals' => original_totals}
end
+ def self.popular_bodies(locale)
+ # get some example searches and public bodies to display
+ # either from config, or based on a (slow!) query if not set
+ body_short_names = AlaveteliConfiguration::frontpage_publicbody_examples.split(/\s*;\s*/)
+ locale_condition = 'public_body_translations.locale = ?'
+ underscore_locale = locale.gsub '-', '_'
+ conditions = [locale_condition, underscore_locale]
+ bodies = []
+ I18n.with_locale(locale) do
+ if body_short_names.empty?
+ # This is too slow
+ bodies = visible.find(:all,
+ :order => "info_requests_count desc",
+ :limit => 32,
+ :conditions => conditions,
+ :joins => :translations
+ )
+ else
+ conditions[0] += " and public_bodies.url_name in (?)"
+ conditions << body_short_names
+ bodies = find(:all, :conditions => conditions, :joins => :translations)
+ end
+ end
+ return bodies
+ end
private
diff --git a/app/views/admin_public_body/_form.html.erb b/app/views/admin_public_body/_form.html.erb
index c577d1e18..5a80386ec 100644
--- a/app/views/admin_public_body/_form.html.erb
+++ b/app/views/admin_public_body/_form.html.erb
@@ -51,12 +51,6 @@
</div>
</div>
<div class="control-group">
- <label for="<%= form_tag_id(t.object_name, :disclosure_log, locale) %>" class="control-label"><%=_("Disclosure log URL")%></label>
- <div class="controls">
- <%= t.text_field :disclosure_log, :size => 60, :id => form_tag_id(t.object_name, :disclosure_log, locale), :class => "span3" %>
- </div>
- </div>
- <div class="control-group">
<label for="<%= form_tag_id(t.object_name, :notes, locale) %>" class="control-label"><%=_("Public notes")%></label>
<div class="controls">
<%= t.text_area :notes, :rows => 3, :id => form_tag_id(t.object_name, :notes, locale), :class => "span6" %>
@@ -82,13 +76,19 @@
</div>
</div>
<div class="control-group">
- <label for="public_body_home_page"><%=_("Home page")%></label>
+ <label for="public_body_home_page" class="control-label"><%=_("Home page")%></label>
<div class="controls">
<%= f.text_field :home_page, :class => "span4" %>
<p class="help-block">(of whole authority, not just their FOI page; set to <strong>blank</strong> (empty string) to guess it from the email)</p>
</div>
</div>
<div class="control-group">
+ <label for="public_body_disclosure_log" class="control-label"><%=_("Disclosure log URL")%></label>
+ <div class="controls">
+ <%= f.text_field :disclosure_log, :size => 60, :class => "span4" %>
+ </div>
+</div>
+<div class="control-group">
<label for="public_body_last_edit_comment" class="control-label"><strong>Comment</strong> for this edit</label>
<div class="controls">
<%= f.text_area :last_edit_comment, :rows => 3, :class => "span6" %></p>
diff --git a/app/views/admin_request/_some_annotations.html.erb b/app/views/admin_request/_some_annotations.html.erb
new file mode 100644
index 000000000..dfd46f828
--- /dev/null
+++ b/app/views/admin_request/_some_annotations.html.erb
@@ -0,0 +1,48 @@
+<% if comments.size > 0 %>
+ <div class="accordion" id="comments">
+ <% for comment in comments %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a href="#comment_<%=comment.id%>" data-toggle="collapse" data-parent="#comments"><%= chevron_right %></a>
+ <%= link_to admin_request_edit_comment_path(comment) do %>
+ #<%=comment.id%>
+ --
+ <%=h(comment.user.name)%>
+ <%=admin_value(comment.created_at)%>
+ <% end %>
+ <blockquote class="incoming-message">
+ <%= truncate(comment.body, :length => 400) %>
+ </blockquote>
+ </div>
+ <div id="comment_<%=comment.id%>" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <tr>
+ <td colspan="2">
+ By <%= user_both_links(comment.user) %>
+ </td>
+ </tr>
+ <% comment.for_admin_column do |name, value, type, column_name |%>
+ <tr>
+ <td>
+ <b><%=name%></b>
+ </td>
+ <td>
+ <% if column_name == 'body' && !comment.visible %>
+ <s><%=h comment.send(column_name) %></s>
+ <% else %>
+ <%=h comment.send(column_name) %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <% end %>
+ </div>
+<% else %>
+ <p>None yet.</p>
+<% end %>
+
diff --git a/app/views/admin_request/show.html.erb b/app/views/admin_request/show.html.erb
index 83d9c3764..2589e52b4 100644
--- a/app/views/admin_request/show.html.erb
+++ b/app/views/admin_request/show.html.erb
@@ -325,53 +325,8 @@
<hr>
<h2>Annotations</h2>
-<% if @info_request.comments.size > 0 %>
- <div class="accordion" id="comments">
- <% for comment in @info_request.comments %>
- <div class="accordion-group">
- <div class="accordion-heading">
- <a href="#comment_<%=comment.id%>" data-toggle="collapse" data-parent="#comments"><%= chevron_right %></a>
- <%= link_to admin_request_edit_comment_path(comment) do %>
- #<%=comment.id%>
- --
- <%=h(comment.user.name)%>
- <%=admin_value(comment.created_at)%>
- <% end %>
- <blockquote class="incoming-message">
- <%= truncate(comment.body, :length => 400) %>
- </blockquote>
- </div>
- <div id="comment_<%=comment.id%>" class="accordion-body collapse">
- <table class="table table-striped table-condensed">
- <tbody>
- <tr>
- <td colspan="2">
- By <%= user_both_links(comment.user) %>
- </td>
- </tr>
- <% comment.for_admin_column do |name, value, type, column_name |%>
- <tr>
- <td>
- <b><%=name%></b>
- </td>
- <td>
- <% if column_name == 'body' && !comment.visible %>
- <s><%=h comment.send(column_name) %></s>
- <% else %>
- <%=h comment.send(column_name) %>
- <% end %>
- </td>
- </tr>
- <% end %>
- </tbody>
- </table>
- </div>
- </div>
- <% end %>
- </div>
-<% else %>
- <p>None yet.</p>
-<% end %>
+<%= render :partial => 'admin_request/some_annotations' , :locals => { :comments => @info_request.comments } %>
+
<hr>
<h2>Mail server delivery logs</h2>
diff --git a/app/views/admin_user/show.html.erb b/app/views/admin_user/show.html.erb
index c93c08e50..6d12aeff5 100644
--- a/app/views/admin_user/show.html.erb
+++ b/app/views/admin_user/show.html.erb
@@ -91,6 +91,12 @@
<hr>
+<h2>Annotations</h2>
+
+<%= render :partial => 'admin_request/some_annotations' , :locals => { :comments => @admin_user.comments } %>
+
+<hr>
+
<h2>Censor rules</h2>
<%= render :partial => 'admin_censor_rule/show', :locals => { :censor_rules => @admin_user.censor_rules, :user => @admin_user } %>
diff --git a/app/views/comment/_single_comment.html.erb b/app/views/comment/_single_comment.html.erb
index af1de0649..a6d234b34 100644
--- a/app/views/comment/_single_comment.html.erb
+++ b/app/views/comment/_single_comment.html.erb
@@ -11,16 +11,16 @@
</h2>
<div class="comment_in_request_text">
<p>
- <img class="comment_quote" src="/images/quote-marks.png" alt="">
+ <%= image_tag "quote-marks.png", :class => "comment_quote" %>
<%= comment.get_body_for_html_display %>
</p>
</div>
<p class="event_actions">
<% if !comment.id.nil? %>
- <%= link_to "Link to this", comment_path(comment), :class => "link_to_this" %>
<% if !@user.nil? && @user.admin_page_links? %>
- | <%= link_to "Admin", admin_request_edit_comment_path(comment) %>
+ <%= link_to "Admin", admin_request_edit_comment_path(comment) %> |
<% end %>
+ <%= link_to "Link to this", comment_path(comment), :class => "link_to_this" %>
<!-- | <%= link_to _('Report abuse'), comment_path(comment) %> -->
<% end %>
</p>
diff --git a/app/views/contact_mailer/from_admin_message.text.erb b/app/views/contact_mailer/from_admin_message.text.erb
index 4169d8d3a..3af759c5d 100644
--- a/app/views/contact_mailer/from_admin_message.text.erb
+++ b/app/views/contact_mailer/from_admin_message.text.erb
@@ -1,2 +1 @@
<%= raw @message %>
-
diff --git a/app/views/general/_footer.html.erb b/app/views/general/_footer.html.erb
index 990093694..2e10a0f94 100644
--- a/app/views/general/_footer.html.erb
+++ b/app/views/general/_footer.html.erb
@@ -1,6 +1,8 @@
<div id="footer">
<%= link_to _("Contact {{site_name}}", :site_name => site_name), help_contact_path %>
-| <img src="/images/twitter-16.png" alt="twitter icon" class="twitter-icon"> <a href="https://twitter.com/<%= AlaveteliConfiguration::twitter_username %>"><%= _("Follow us on twitter") %></a>
+<% unless AlaveteliConfiguration::twitter_username.blank? %>
+| <%= image_tag "twitter-16.png", :alt => "twitter icon", :class => "twitter-icon" %> <a href="https://twitter.com/<%= AlaveteliConfiguration::twitter_username %>"><%= _("Follow us on twitter") %></a>
+<% end %>
<%= render :partial => 'general/credits' %>
</div>
<div class="after-footer">&nbsp;</div>
diff --git a/app/views/general/_frontpage_bodies_list.html.erb b/app/views/general/_frontpage_bodies_list.html.erb
index 75daea41d..44321f14a 100644
--- a/app/views/general/_frontpage_bodies_list.html.erb
+++ b/app/views/general/_frontpage_bodies_list.html.erb
@@ -1,10 +1,11 @@
-<% if @popular_bodies.size > 0 %>
+<%- popular_bodies = PublicBody.popular_bodies(@locale) %>
+<% if popular_bodies.size > 0 %>
<div id="examples_0">
<h3><%= _("Who can I request information from?") %></h3>
<%= _("{{site_name}} covers requests to {{number_of_authorities}} authorities, including:",
:site_name => site_name, :number_of_authorities => PublicBody.visible.count) %>
<ul>
- <% for popular_body in @popular_bodies %>
+ <% for popular_body in popular_bodies %>
<li><%=public_body_link(popular_body)%>
<%= n_('{{count}} request', '{{count}} requests', popular_body.info_requests_count, :count => popular_body.info_requests_count) %>
</li>
diff --git a/app/views/general/_frontpage_requests_list.html.erb b/app/views/general/_frontpage_requests_list.html.erb
index fa498dfa7..d7d9184c4 100644
--- a/app/views/general/_frontpage_requests_list.html.erb
+++ b/app/views/general/_frontpage_requests_list.html.erb
@@ -1,3 +1,4 @@
+<%- @request_events, @request_events_all_successful = InfoRequest.recent_requests %>
<div id="examples_1">
<h3>
<% if @request_events_all_successful %>
@@ -21,7 +22,7 @@
<%=link_to h(event.info_request.title), request_path(event.info_request)%>
<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(event.described_at)) %>
- <p class="excerpt" onclick="document.location.href='<%=request_path(event.info_request)%>'"><%= excerpt(event.search_text_main(true), "", 200) %></p>
+ <p class="excerpt" onclick="document.location.href='<%=request_path(event.info_request)%>'"><%= excerpt(event.search_text_main(true), "", :radius => 200) %></p>
</li>
<% end %>
</ul>
diff --git a/app/views/general/_header.html.erb b/app/views/general/_header.html.erb
new file mode 100644
index 000000000..55bf719e2
--- /dev/null
+++ b/app/views/general/_header.html.erb
@@ -0,0 +1,37 @@
+<div id="banner">
+ <div id="banner_inner">
+ <div class="lang"><%= render :partial => 'general/locale_switcher' %></div>
+
+ <% if not (controller.action_name == 'signin' or controller.action_name == 'signup') %>
+ <div id="logged_in_bar">
+ <% if @user %>
+ <%= _('Hello, {{username}}!', :username => h(@user.name))%>
+
+ <% if @user %>
+ <%=link_to _("My requests"), show_user_requests_path(:url_name => @user.url_name) %>
+ <%=link_to _("My profile"), show_user_profile_path(:url_name => @user.url_name) %>
+ <%=link_to _("My wall"), show_user_wall_path(:url_name => @user.url_name) %>
+ <% end %>
+
+
+ <%= link_to _("Sign out"), signout_path(:r => request.fullpath) %>
+ <% else %>
+ <%= link_to _("Sign in or sign up"), signin_path(:r => request.fullpath) %>
+ <% end %>
+ </div>
+ <% end %>
+
+ <div id="navigation_search">
+ <form id="navigation_search_form" method="post" action="<%= search_redirect_path %>">
+ <p>
+ <%= text_field_tag 'query', params[:query], { :size => 40, :id => "navigation_search_query", :title => "type your search term here" } %>
+ <input id="navigation_search_button" type="submit" value="search">
+ </p>
+ </form>
+ </div>
+
+ <%= render :partial => 'general/orglink' %>
+
+ <%= render :partial => 'general/topnav' %>
+ </div>
+</div>
diff --git a/app/views/general/_stylesheet_includes.html.erb b/app/views/general/_stylesheet_includes.html.erb
index 416ddb825..7a1648efd 100644
--- a/app/views/general/_stylesheet_includes.html.erb
+++ b/app/views/general/_stylesheet_includes.html.erb
@@ -1,23 +1,22 @@
<%- if @render_to_file %>
<style>
- <%= raw File.read(Rails.root.join('public', 'stylesheets', 'main.css')) %>
- <%= raw File.read(Rails.root.join('public', 'stylesheets', 'print.css')) %>
+ <%= Rails.application.assets["main.css"].to_s %>
+ <%= Rails.application.assets["print.css"].to_s %>
</style>
<%- else %>
- <%= stylesheet_link_tag 'main', :title => "Main", :rel => "stylesheet", :media => "all" %>
+ <%= stylesheet_link_tag 'application', :title => "Main", :rel => "stylesheet", :media => "all" %>
<%= stylesheet_link_tag 'fonts', :rel => "stylesheet", :media => "all" %>
<%= stylesheet_link_tag 'print', :rel => "stylesheet", :media => "print" %>
<% if !params[:print_stylesheet].nil? %>
<%= stylesheet_link_tag 'print', :rel => "stylesheet", :media => "all" %>
<% end %>
- <%= stylesheet_link_tag 'admin-theme/jquery-ui-1.8.15.custom.css', :rel => 'stylesheet'%>
<!--[if LT IE 7]>
- <style type="text/css">@import url("/stylesheets/ie6.css");</style>
+ <%= stylesheet_link_tag 'ie6.css' %>
<![endif]-->
<!--[if LT IE 8]>
- <style type="text/css">@import url("/stylesheets/ie7.css");</style>
+ <%= stylesheet_link_tag 'ie7.css' %>
<![endif]-->
<% if AlaveteliConfiguration::force_registration_on_new_request %>
- <%= stylesheet_link_tag 'jquery.fancybox-1.3.4', :rel => "stylesheet" %>
+ <%= stylesheet_link_tag 'jquery.fancybox-1.3.4.css', :rel => "stylesheet" %>
<% end %>
<% end %>
diff --git a/app/views/general/_topnav.html.erb b/app/views/general/_topnav.html.erb
index c7f2cedea..d37bd97d1 100644
--- a/app/views/general/_topnav.html.erb
+++ b/app/views/general/_topnav.html.erb
@@ -4,7 +4,9 @@
<li class="<%= 'selected' if params[:controller] == 'request' and ['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("Make a request"), select_authority_path, :id => 'make-request-link' %></li>
<li class="<%= 'selected' if params[:controller] == 'request' and !['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("View requests"), request_list_successful_path %></li>
<li class="<%= 'selected' if params[:controller] == 'public_body' %>"><%= link_to _("View authorities"), list_public_bodies_default_path %></li>
+<% unless AlaveteliConfiguration::blog_feed.empty? %>
<li class="<%= 'selected' if params[:controller] == 'general' and params[:action] == 'blog' %>"><%= link_to _("Read blog"), blog_path %></li>
+<% end %>
<li class="<%= 'selected' if params[:controller] == 'help' %>"><%= link_to _("Help"), help_about_path %></li>
</ul>
</div>
diff --git a/app/views/general/blog.html.erb b/app/views/general/blog.html.erb
index ef587421e..b81989ca8 100644
--- a/app/views/general/blog.html.erb
+++ b/app/views/general/blog.html.erb
@@ -4,8 +4,8 @@
<div id="right_column">
<div class="act_link">
<h2><%= _("Stay up to date") %></h2>
- <img src="/images/twitter-16.png" alt="twitter icon" class="twitter-icon"> <a href="https://twitter.com/<%= @twitter_user %>"><%= _("Follow us on twitter") %></a><br/><br/>
- <img src="/images/feed-16.png" alt="RSS icon"> <a href="<%= @feed_url %>"><%= _("Subscribe to blog") %></a>
+ <%= image_tag "twitter-16.png", :alt => "twitter icon", :class => "twitter-icon" %> <a href="https://twitter.com/<%= @twitter_user %>"><%= _("Follow us on twitter") %></a><br/><br/>
+ <%= image_tag "feed-16.png", :alt => "RSS icon" %> <a href="<%= @feed_url %>"><%= _("Subscribe to blog") %></a>
</div>
<% if AlaveteliConfiguration::twitter_widget_id %>
<div id="twitter">
diff --git a/app/views/general/frontpage.html.erb b/app/views/general/frontpage.html.erb
index bf5261d15..8bb32bdf2 100644
--- a/app/views/general/frontpage.html.erb
+++ b/app/views/general/frontpage.html.erb
@@ -1,4 +1,4 @@
-<% # TODO: Cache for 5 minutes %>
+<% cache_if_caching_fragments("frontpage-#{@locale}", :expires_in => 5.minutes) do %>
<div id="frontpage_splash">
<div id="left_column">
<%= render :partial => "frontpage_new_request" %>
@@ -17,3 +17,4 @@
<%= render :partial => "frontpage_bodies_list" %>
<%= render :partial => "frontpage_requests_list" %>
</div>
+<% end %>
diff --git a/app/views/help/api.html.erb b/app/views/help/api.html.erb
index 57390d65a..df7bb30b6 100644
--- a/app/views/help/api.html.erb
+++ b/app/views/help/api.html.erb
@@ -36,7 +36,7 @@
use to get updates and links in XML format. Find the URL of the Atom feed in
one of these ways:
<ul>
- <li>Look for the <img src="/images/feed-16.png" alt=""> RSS feed links.</li>
+ <li>Look for the <%= image_tag "feed-16.png", :alt => "RSS icon" %> RSS feed links.</li>
<li>Examine the <code>&lt;link rel="alternate" type="application/atom+xml"&gt;</code> tag in the head of the HTML. </li>
<li>Add <code>/feed</code> to the start of another URL.
</ul>
diff --git a/app/views/layouts/_favicon.html.erb b/app/views/layouts/_favicon.html.erb
index 4f3859d6c..0ee7d48e3 100644
--- a/app/views/layouts/_favicon.html.erb
+++ b/app/views/layouts/_favicon.html.erb
@@ -1 +1 @@
-<link rel="shortcut icon" href="/favicon.ico">
+<%= favicon_link_tag 'favicon.ico' %>
diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb
index 7722efad4..c1f9335b1 100644
--- a/app/views/layouts/admin.html.erb
+++ b/app/views/layouts/admin.html.erb
@@ -4,9 +4,8 @@
<meta http-equiv="content-type" content="text/html;charset=UTF-8" >
<title><%= site_name %> admin<%= @title ? ":" : "" %> <%=@title%></title>
- <%= javascript_include_tag '/javascripts/jquery.js', '/admin/javascripts/jquery-ui.min.js', '/admin/javascripts/bootstrap-collapse', '/admin/javascripts/bootstrap-tab', '/admin/javascripts/admin', '/javascripts/jquery_ujs' %>
- <%= stylesheet_link_tag 'admin-theme/jquery-ui-1.8.15.custom.css', :rel => 'stylesheet'%>
- <%= stylesheet_link_tag "/admin/stylesheets/admin", :title => "Main", :rel => "stylesheet" %>
+ <%= javascript_include_tag "admin" %>
+ <%= stylesheet_link_tag "admin", :title => "Main", :rel => "stylesheet" %>
</head>
<body class="admin">
diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb
index 5895becf7..f07c453d1 100644
--- a/app/views/layouts/default.html.erb
+++ b/app/views/layouts/default.html.erb
@@ -14,14 +14,13 @@
<%= render :partial => 'general/stylesheet_includes' %>
<% if is_admin? %>
- <%= stylesheet_link_tag "/admin/stylesheets/admin", :title => "Main", :rel => "stylesheet" %>
+ <%= stylesheet_link_tag "admin", :title => "Main", :rel => "stylesheet" %>
<% end %>
- <%= javascript_include_tag 'jquery.js', 'jquery-ui.min','jquery.cookie.js', 'general.js' %>
+ <%= javascript_include_tag "application" %>
<% if @profile_photo_javascript %>
- <script type="text/javascript" src="/javascripts/jquery.Jcrop.js"></script>
- <script type="text/javascript" src="/javascripts/profile_photo.js"></script>
- <link rel="stylesheet" href="/stylesheets/jquery.Jcrop.css" type="text/css" >
+ <%= javascript_include_tag "profile-photos" %>
+ <%= stylesheet_link_tag "jquery.Jcrop.css" %>
<% end %>
<% if @feed_autodetect %>
@@ -44,7 +43,7 @@
</head>
<body class="<%= 'front' if params[:action] == 'frontpage' %>">
<% if AlaveteliConfiguration::force_registration_on_new_request && !@user %>
- <%= javascript_include_tag 'jquery.fancybox-1.3.4.pack' %>
+ <%= javascript_include_tag 'jquery.fancybox-1.3.4.pack.js' %>
<script type="text/javascript">
$(document).ready(function() {
$("#make-request-link").fancybox({
@@ -67,53 +66,18 @@
<% if is_admin? %>
<%= render :partial => 'admin_general/admin_navbar' %>
<% end %>
-<% popup_banner = render(:partial => "general/popup_banner").strip %>
-<% if popup_banner.present? %>
-<div id="everypage" class="jshide">
- <p class="popup-close"><a href="#top" onclick="$.cookie('seen_foi2', 1, { expires: 7, path: '/' }); $('#everypage').hide('slow'); return false;"><%= _('Close') %></a></p>
- <%= raw popup_banner %>
- <p class="popup-close"><a href="#top" onclick="$.cookie('seen_foi2', 1, { expires: 7, path: '/' }); $('#everypage').hide('slow'); return false;"><%= _('Close') %></a></p>
-</div>
-<% end %>
<div class="entirebody">
- <div id="banner">
- <div id="banner_inner">
- <div class="lang"><%= render :partial => 'general/locale_switcher' %></div>
-
- <% if not (controller.action_name == 'signin' or controller.action_name == 'signup') %>
- <div id="logged_in_bar">
- <% if @user %>
- <%= _('Hello, {{username}}!', :username => h(@user.name))%>
-
- <% if @user %>
- <%=link_to _("My requests"), show_user_requests_path(:url_name => @user.url_name) %>
- <%=link_to _("My profile"), show_user_profile_path(:url_name => @user.url_name) %>
- <%=link_to _("My wall"), show_user_wall_path(:url_name => @user.url_name) %>
- <% end %>
-
-
- <%= link_to _("Sign out"), signout_path(:r => request.fullpath) %>
- <% else %>
- <%= link_to _("Sign in or sign up"), signin_path(:r => request.fullpath) %>
- <% end %>
- </div>
- <% end %>
-
- <div id="navigation_search">
- <form id="navigation_search_form" method="post" action="<%= search_redirect_path %>">
- <p>
- <%= text_field_tag 'query', params[:query], { :size => 40, :id => "navigation_search_query", :title => "type your search term here" } %>
- <input id="navigation_search_button" type="submit" value="search">
- </p>
- </form>
- </div>
-
- <%= render :partial => 'general/orglink' %>
-
- <%= render :partial => 'general/topnav' %>
- </div>
+ <% popup_banner = render(:partial => "general/popup_banner").strip %>
+ <% if popup_banner.present? and ! @render_to_file %>
+ <div id="everypage" class="popup">
+ <span class="popup-content">
+ <%= raw popup_banner %>
+ </span>
+ <span class="popup-close"><a href="#top" ><%= _('Close') %></a></span>
</div>
+ <% end %>
+ <%= render :partial => 'general/header' %>
<div id="wrapper">
<div id="content">
<% if flash[:notice] %>
@@ -133,7 +97,6 @@
<%= render :partial => 'general/footer' %>
</div>
-<div id="other-country-notice"></div>
<div id="link_box"><span class="close-button">X</span>
<%= _("Paste this link into emails, tweets, and anywhere else:") %>
<br />
diff --git a/app/views/layouts/no_chrome.html.erb b/app/views/layouts/no_chrome.html.erb
index d7918cffc..e613b8ca2 100644
--- a/app/views/layouts/no_chrome.html.erb
+++ b/app/views/layouts/no_chrome.html.erb
@@ -10,15 +10,13 @@
<% end %>
</title>
- <script type="text/javascript" src="/javascripts/jquery.js"></script>
+ <%= javascript_include_tag "application" %>
- <%= stylesheet_link_tag 'main', :title => "Main", :rel => "stylesheet" %>
+ <%= stylesheet_link_tag 'application', :title => "Main", :rel => "stylesheet" %>
<%= stylesheet_link_tag 'fonts', :rel => "stylesheet" %>
- <%= stylesheet_link_tag 'theme', :rel => "stylesheet" %>
<!--[if LT IE 7]>
- <style type="text/css">@import url("/stylesheets/ie6.css");</style>
+ <%= stylesheet_link_tag 'ie6', :rel => "stylesheet" %>
<![endif]-->
- <%= stylesheet_link_tag 'custom', :title => "Main", :rel => "stylesheet" %>
</head>
<body>
<div class="entirebody">
diff --git a/app/views/public_body/statistics.html.erb b/app/views/public_body/statistics.html.erb
index 6ea253260..d935a9e47 100644
--- a/app/views/public_body/statistics.html.erb
+++ b/app/views/public_body/statistics.html.erb
@@ -69,7 +69,7 @@ are due to him.") %></p>
<script type="text/javascript">
var graphs_data = <%= @graph_list.to_json.html_safe %>;
</script>
-<!--[if lte IE 8]><%= javascript_include_tag 'excanvas.min.js' %><![endif]-->
-<%= javascript_include_tag 'jquery.flot.min.js', 'jquery.flot.errorbars.min.js', 'jquery.flot.tickrotor.min.js', 'jquery.flot.axislabels.min.js', 'stats-graphs.js' %>
+<!--[if lte IE 8]><%= javascript_include_tag "excanvas.min.js" %><![endif]-->
+<%= javascript_include_tag "stats" %>
</div>
diff --git a/app/views/reports/new.html.erb b/app/views/reports/new.html.erb
index 7d558ab4e..1197b2255 100644
--- a/app/views/reports/new.html.erb
+++ b/app/views/reports/new.html.erb
@@ -4,17 +4,17 @@
<p><%= _("This request has already been reported for administrator attention") %></p>
<% else %>
<p>
- Reporting a request notifies the site administrators. They will respond as soon as possible.
+ <%= _("Reporting a request notifies the site administrators. They will respond as soon as possible.") %>
</p>
- <p>Why specifically do you consider this request unsuitable?</p>
+ <p><%= _("Why specifically do you consider this request unsuitable?") %></p>
<%= form_tag request_report_path(:request_id => @info_request.url_title) do %>
<p>
<label class="form_label" for="reason">Reason:</label>
- <%= select_tag :reason, options_for_select(@info_request.report_reasons, @reason), :prompt => "Choose a reason" %>
+ <%= select_tag :reason, options_for_select(@info_request.report_reasons, @reason), :prompt => _("Choose a reason") %>
</p>
<p>
- <label class="form_label" for="message">Please tell us more:</label>
+ <label class="form_label" for="message"><%= _("Please tell us more:") %></label>
<%= text_area_tag :message, @message, :rows => 10, :cols => 60 %>
</p>
diff --git a/app/views/request/_act.html.erb b/app/views/request/_act.html.erb
new file mode 100644
index 000000000..1199cb4a2
--- /dev/null
+++ b/app/views/request/_act.html.erb
@@ -0,0 +1,15 @@
+<h2><%= _("Act on what you've learnt") %></h2>
+
+<div class="act_link">
+ <% tweet_link = "https://twitter.com/share?" + {:url => request.url, :via => AlaveteliConfiguration::twitter_username, :text => "'#{@info_request.title}'", :related => _('alaveteli_foi:The software that runs {{site_name}}', :site_name => site_name)}.to_query %>
+ <% link_to tweet_link do %>
+ <%= image_tag "twitter-16.png", :alt => "twitter icon" %>
+ <% end %>
+ <%= link_to _("Tweet this request"), tweet_link %>
+</div>
+<div class="act_link">
+ <%= link_to "http://wordpress.com/" do %>
+ <%= image_tag "wordpress.png", :class => "rss" %>
+ <% end %>
+ <%= link_to _("Start your own blog"), "http://wordpress.com/"%>
+</div>
diff --git a/app/views/request/_bubble.html.erb b/app/views/request/_bubble.html.erb
index 94498612a..e038bb3dc 100644
--- a/app/views/request/_bubble.html.erb
+++ b/app/views/request/_bubble.html.erb
@@ -13,11 +13,11 @@
:file_name => a.display_filename + '.html')
%>
<% img_filename = "icon_" + a.content_type.sub('/', '_') + "_large.png"
- full_filename = File.expand_path(File.join(File.dirname(__FILE__), "../../../public/images", img_filename))
+ full_filename = File.expand_path(Rails.root.join('app', 'assets', 'images', img_filename))
if File.exist?(full_filename) %>
- <a href="<%=attachment_path%>"><img class="attachment_image" alt="Attachment" src="/images/<%=img_filename%>"></a>
+ <%= link_to image_tag(img_filename, :class => "attachment_image", :alt => "Attachment"), attachment_path %>
<% else %>
- <a href="<%=attachment_path%>"><img class="attachment_image" alt="Attachment" src="/images/icon_unknown.png"></a>
+ <%= link_to image_tag("icon_unknown.png", :class => "attachment_image", :alt => "Attachment"), attachment_path %>
<% end %>
<strong><%= h a.display_filename %></strong>
<br>
diff --git a/app/views/request/_incoming_correspondence.text.erb b/app/views/request/_incoming_correspondence.text.erb
index 33ddad926..c5e648d28 100644
--- a/app/views/request/_incoming_correspondence.text.erb
+++ b/app/views/request/_incoming_correspondence.text.erb
@@ -1,5 +1,5 @@
<%- if not incoming_message.user_can_view?(@user) %>
- <%= render :partial => 'request/hidden_correspondence.text', :locals => { :message => incoming_message }%>
+ <%= render :partial => 'request/hidden_correspondence', :formats => 'text', :locals => { :message => incoming_message }%>
<%- else %>
<%= _('From:') %><% if incoming_message.specific_from_name? %> <%= incoming_message.safe_mail_from %><% end %><% if incoming_message.from_public_body? %>, <%= @info_request.public_body.name %><% end %>
<%= _('To:') %> <% if @info_request.user_name %><%= @info_request.user_name %><% else %><%= "[#{_('An anonymous user')}]"%><% end %>
diff --git a/app/views/request/_outgoing_correspondence.text.erb b/app/views/request/_outgoing_correspondence.text.erb
index 80c71cc01..5375ef81b 100644
--- a/app/views/request/_outgoing_correspondence.text.erb
+++ b/app/views/request/_outgoing_correspondence.text.erb
@@ -1,5 +1,5 @@
<%- if not outgoing_message.user_can_view?(@user) %>
- <%= render :partial => 'request/hidden_correspondence.text', :locals => { :message => outgoing_message }%>
+ <%= render :partial => 'request/hidden_correspondence', :formats => 'text', :locals => { :message => outgoing_message }%>
<%- else %>
<%= _('From:') %> <% if @info_request.user_name %><%= @info_request.user_name %><% else %><%= "[#{_('An anonymous user')}]"%><% end %>
<%= _('To:') %> <%= @info_request.public_body.name %>
diff --git a/app/views/request/_request_listing_single.html.erb b/app/views/request/_request_listing_single.html.erb
index 56737fd3e..50f889d75 100644
--- a/app/views/request/_request_listing_single.html.erb
+++ b/app/views/request/_request_listing_single.html.erb
@@ -1,9 +1,9 @@
<div class="request_listing">
- <span class="head">
- <%= link_to h(info_request.title), (@play_urls ? categorise_request_path(:url_title => info_request.url_title) : request_path(info_request)) %>
- </span>
- <span class="desc">
- <%= excerpt(info_request.initial_request_text, "", 150) %>
+ <span class="head">
+ <%= link_to h(info_request.title), (@play_urls ? categorise_request_path(:url_title => info_request.url_title) : request_path(info_request)) %>
+ </span>
+ <span class="desc">
+ <%= excerpt(info_request.initial_request_text, "", :radius => 150) %>
</span>
<span class="bottomline icon_<%= info_request.calculate_status %>">
<strong>
diff --git a/app/views/request/_sidebar.html.erb b/app/views/request/_sidebar.html.erb
index 8d4a4a2d8..0f7965ffa 100644
--- a/app/views/request/_sidebar.html.erb
+++ b/app/views/request/_sidebar.html.erb
@@ -33,34 +33,21 @@
<%= link_to _("Report this request"), new_request_report_path(:request_id => @info_request.url_title) %>
<% end %>
<% end %>
- <h2><%= _("Act on what you've learnt") %></h2>
-
- <div class="act_link">
- <% tweet_link = "https://twitter.com/share?" + {:url => request.url, :via => AlaveteliConfiguration::twitter_username, :text => "'#{@info_request.title}'", :related => _('alaveteli_foi:The software that runs {{site_name}}', :site_name => site_name)}.to_query %>
- <% link_to tweet_link do %>
- <%= image_tag "twitter-16.png", :alt => "twitter icon" %>
- <% end %>
- <%= link_to _("Tweet this request"), tweet_link %>
- </div>
- <div class="act_link">
- <%= link_to "http://wordpress.com/" do %>
- <%= image_tag "wordpress.png", :class => "rss" %>
- <% end %>
- <%= link_to _("Start your own blog"), "http://wordpress.com/"%>
- </div>
-
+ <%= render :partial => 'request/act' %>
<%= render :partial => 'request/next_actions' %>
- <% # TODO: Cache for 1 day %>
- <% if !@xapian_similar.nil? && @xapian_similar.results.size > 0 %>
+ <% cache_if_caching_fragments(@similar_cache_key, :expires_in => 1.day) do %>
+ <% xapian_similar, xapian_similar_more = @info_request.similar_requests %>
+ <% if !xapian_similar.nil? && xapian_similar.results.size > 0 %>
<h2><%= _('Similar requests')%></h2>
- <% for result in @xapian_similar.results %>
+ <% for result in xapian_similar.results %>
<%= render :partial => 'request/request_listing_short_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
<% end %>
- <% if @xapian_similar_more %>
+ <% if xapian_similar_more %>
<p><%= link_to _("More similar requests"), similar_request_path(@info_request.url_title) %></p>
<% end %>
<% end %>
+ <% end %>
<p><%= link_to _('Event history details'), request_details_path(@info_request) %></p>
diff --git a/app/views/request/_view_html_prefix.html.erb b/app/views/request/_view_html_prefix.html.erb
index 3a9946745..63caa98d4 100644
--- a/app/views/request/_view_html_prefix.html.erb
+++ b/app/views/request/_view_html_prefix.html.erb
@@ -1,6 +1,6 @@
<div class="view_html_prefix">
<div class="view_html_logo">
- <a href="/"><img src="/images/navimg/logo-trans-small.png" alt="<%= site_name %>"></a>
+ <a href="/"><%= image_tag "navimg/logo-trans-small.png", :alt => site_name %></a>
</div>
<div class="view_html_download_link">
<%=link_to _("Download original attachment"), @attachment_url %>
diff --git a/app/views/request/new.html.erb b/app/views/request/new.html.erb
index f8b97ffe3..849a94216 100644
--- a/app/views/request/new.html.erb
+++ b/app/views/request/new.html.erb
@@ -1,4 +1,3 @@
-<script type="text/javascript" src="/javascripts/ba-throttle-debounce.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// Avoid triggering too often (on each keystroke) by using the debounce jQuery plugin:
diff --git a/app/views/request/select_authority.html.erb b/app/views/request/select_authority.html.erb
index 75c51fc57..4f117ee75 100644
--- a/app/views/request/select_authority.html.erb
+++ b/app/views/request/select_authority.html.erb
@@ -1,4 +1,3 @@
-<script type="text/javascript" src="/javascripts/ba-throttle-debounce.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#authority_preview").hide();
diff --git a/app/views/request/show.text.erb b/app/views/request/show.text.erb
index 29ac2987f..8079d10d5 100644
--- a/app/views/request/show.text.erb
+++ b/app/views/request/show.text.erb
@@ -4,13 +4,13 @@
<% if info_request_event.visible %>
<% case info_request_event.event_type %>
<% when 'response' %>
- <%= render :partial => 'request/incoming_correspondence.text', :locals => { :incoming_message => info_request_event.incoming_message } %>
+ <%= render :partial => 'request/incoming_correspondence', :formats => 'text', :locals => { :incoming_message => info_request_event.incoming_message } %>
<% when 'sent', 'followup_sent' %>
- <%= render :partial => 'request/outgoing_correspondence.text', :locals => { :outgoing_message => info_request_event.outgoing_message, :info_request_event => info_request_event }%>
+ <%= render :partial => 'request/outgoing_correspondence', :formats => 'text', :locals => { :outgoing_message => info_request_event.outgoing_message, :info_request_event => info_request_event }%>
<% when 'resent', 'followup_resent' %>
- <%= render :partial => 'request/resent_outgoing_correspondence.text', :locals => { outgoing_message => info_request_event.outgoing_message, :info_request_event => info_request_event }%>
+ <%= render :partial => 'request/resent_outgoing_correspondence', :formats => 'text', :locals => { outgoing_message => info_request_event.outgoing_message, :info_request_event => info_request_event }%>
<% when 'comment' %>
- <%= render :partial => 'comment/single_comment.text', :locals => { :comment => info_request_event.comment } %>
+ <%= render :partial => 'comment/single_comment', :formats => 'text', :locals => { :comment => info_request_event.comment } %>
<% end %>
-------------------------------
<% end %>
diff --git a/app/views/track/_tracking_links.html.erb b/app/views/track/_tracking_links.html.erb
index a16dbc78f..a3cd8fc60 100644
--- a/app/views/track/_tracking_links.html.erb
+++ b/app/views/track/_tracking_links.html.erb
@@ -21,7 +21,7 @@
</div>
<div class="feed_link feed_link_<%=location%>">
- <%= link_to '<img src="/images/feed-16.png" alt="">'.html_safe, do_track_path(track_thing, 'feed') %>
+ <%= link_to image_tag('feed-16.png', :alt => "RSS icon"), do_track_path(track_thing, 'feed') %>
<%= link_to (location == 'sidebar' ? _('RSS feed of updates') : _('RSS feed')), do_track_path(track_thing, 'feed') %>
</div>
<% end %>
diff --git a/app/views/track/atom_feed.atom.erb b/app/views/track/atom_feed.atom.erb
index a12b9eff0..be9c39e72 100644
--- a/app/views/track/atom_feed.atom.erb
+++ b/app/views/track/atom_feed.atom.erb
@@ -9,7 +9,7 @@
# Get the HTML content from the same partial template as website search does
content = ''
if result[:model].class.to_s == 'InfoRequestEvent'
- content += render :partial => 'request/request_listing_via_event.html', :locals => { :event => result[:model], :info_request => result[:model].info_request }
+ content += render :partial => 'request/request_listing_via_event', :formats => ['html'], :locals => { :event => result[:model], :info_request => result[:model].info_request }
else
content = "<p><strong>Unknown search result type " + result[:model].class.to_s + "</strong></p>"
end
diff --git a/app/views/user/_show_user_info.html.erb b/app/views/user/_show_user_info.html.erb
index 305300236..9182f0733 100644
--- a/app/views/user/_show_user_info.html.erb
+++ b/app/views/user/_show_user_info.html.erb
@@ -1,7 +1,7 @@
<% if !@display_user.get_about_me_for_html_display.empty? || @is_you %>
<div class="user_about_me">
- <img class="comment_quote" src="/images/quote-marks.png" alt="">
+ <%= image_tag "quote-marks.png", :class => "comment_quote" %>
<%= @display_user.get_about_me_for_html_display %>
<% if @is_you %>
(<%= link_to _("edit text about you"), set_profile_about_me_path %>)
diff --git a/app/views/user/wall.html.erb b/app/views/user/wall.html.erb
index 190cc0a6d..6699c55fa 100644
--- a/app/views/user/wall.html.erb
+++ b/app/views/user/wall.html.erb
@@ -1,16 +1,19 @@
<% @title = h(@display_user.name) + _(" - wall") %>
-<% if @is_you %>
<div class="medium_column">
- <p><%= _('You can change the requests and users you are following on <a href="{{profile_url}}">your profile page</a>.', :profile_url => show_user_profile_path) %>
- <%= render :partial => 'change_receive_email' %>
+ <% if @is_you %>
+ <h2><%= _("My wall") %></h2>
+ <p><%= _('You can change the requests and users you are following on <a href="{{profile_url}}">your profile page</a>.', :profile_url => show_user_profile_path) %></p>
+ <%= render :partial => 'change_receive_email' %>
+ <% else %>
+ <h2><%= _("This is <a href=\"{{profile_url}}\">{{user_name}}'s</a> wall", :profile_url => show_user_profile_path, :user_name => h(@display_user.name)) %></h2>
+ <% end %>
</div>
-<% end %>
<div id="user_profile_search">
- <% if !@feed_results.nil? %>
- <% for result in @feed_results %>
- <%= render :partial => 'request/wall_listing', :locals => { :event => result, :info_request => result.info_request } %>
- <% end %>
- <% end %>
-
-
+ <% if !@feed_results.nil? and !@feed_results.empty? %>
+ <% for result in @feed_results %>
+ <%= render :partial => 'request/wall_listing', :locals => { :event => result, :info_request => result.info_request } %>
+ <% end %>
+ <% else %>
+ <p><%= _("There is nothing to display yet.") %></p>
+ <% end %>
</div>
diff --git a/commonlib b/commonlib
-Subproject 8070e4c27c903d886963d662db40bb91d56f8c5
+Subproject 4e168e0075b6235fb580a35c5f2c65637a7025e
diff --git a/config/application.rb b/config/application.rb
index 4c972e5ee..3c749a531 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -6,7 +6,7 @@ require File.dirname(__FILE__) + '/../lib/configuration'
# If you have a Gemfile, require the gems listed there, including any gems
# you've limited to :test, :development, or :production.
-Bundler.require(:default, Rails.env) if defined?(Bundler)
+Bundler.require(:default, :assets, Rails.env) if defined?(Bundler)
module Alaveteli
class Application < Rails::Application
@@ -33,7 +33,6 @@ module Alaveteli
# config.i18n.default_locale = :de
I18n.config.enforce_available_locales = false
-
# JavaScript files you want as :defaults (application.js is always included).
# config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
@@ -57,6 +56,10 @@ module Alaveteli
# will be in this time zone
config.time_zone = ::AlaveteliConfiguration::time_zone
+ # Set the cache to use a memcached backend
+ config.cache_store = :mem_cache_store, { :namespace => AlaveteliConfiguration::domain }
+ config.action_dispatch.rack_cache = nil
+
config.after_initialize do |app|
require 'routing_filters.rb'
# Add a catch-all route to force routing errors to be handled by the application,
@@ -73,5 +76,32 @@ module Alaveteli
# Insert a bit of middleware code to prevent uneeded cookie setting.
require "#{Rails.root}/lib/whatdotheyknow/strip_empty_sessions"
config.middleware.insert_before ::ActionDispatch::Cookies, WhatDoTheyKnow::StripEmptySessions, :key => '_wdtk_cookie_session', :path => "/", :httponly => true
+
+ # Enable the asset pipeline
+ config.assets.enabled = true
+
+ # Version of your assets, change this if you want to expire all your assets
+ config.assets.version = '1.0'
+
+ # Change the path that assets are served from
+ # config.assets.prefix = "/assets"
+
+ # These additional precompiled Javascript files are actually
+ # manifests that require the real javascript files:
+ config.assets.precompile += ['admin.js',
+ 'profile-photos.js',
+ 'stats.js']
+ # ... while these are individual files that can't easily be
+ # grouped:
+ config.assets.precompile += ['jquery.fancybox-1.3.4.pack.js',
+ 'jquery.fancybox-1.3.4.css',
+ 'jquery.Jcrop.css',
+ 'excanvas.min.js',
+ 'fonts.css',
+ 'print.css',
+ 'admin.css',
+ 'ie6.css',
+ 'ie7.css']
+
end
end
diff --git a/config/deploy.rb b/config/deploy.rb
index d26a199c8..3a4f175b4 100644
--- a/config/deploy.rb
+++ b/config/deploy.rb
@@ -13,6 +13,7 @@ set :git_enable_submodules, true
set :deploy_to, configuration['deploy_to']
set :user, configuration['user']
set :use_sudo, false
+set :rails_env, configuration['rails_env']
server configuration['server'], :app, :web, :db, :primary => true
@@ -54,10 +55,9 @@ namespace :deploy do
"#{release_path}/config/aliases" => "#{shared_path}/aliases",
"#{release_path}/public/foi-live-creation.png" => "#{shared_path}/foi-live-creation.png",
"#{release_path}/public/foi-user-use.png" => "#{shared_path}/foi-user-use.png",
- "#{release_path}/public/favicon.ico" => "#{shared_path}/favicon.ico",
"#{release_path}/files" => "#{shared_path}/files",
"#{release_path}/cache" => "#{shared_path}/cache",
- "#{release_path}/vendor/plugins/acts_as_xapian/xapiandbs" => "#{shared_path}/xapiandbs",
+ "#{release_path}/lib/acts_as_xapian/xapiandbs" => "#{shared_path}/xapiandbs",
}
# "ln -sf <a> <b>" creates a symbolic link but deletes <b> if it already exists
diff --git a/config/deploy.yml.example b/config/deploy.yml.example
index 61931e50e..a20eb3c22 100644
--- a/config/deploy.yml.example
+++ b/config/deploy.yml.example
@@ -4,10 +4,12 @@ production:
branch: master
server: www.example.com
user: deploy
+ rails_env: production
deploy_to: /srv/www/alaveteli_production
staging:
repository: git://github.com/mysociety/alaveteli.git
branch: develop
server: test.example.com
user: deploy
+ rails_env: production
deploy_to: /srv/www/alaveteli_staging
diff --git a/config/environments/development.rb b/config/environments/development.rb
index a912dd5de..dbf8d7b2a 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -32,4 +32,18 @@ Alaveteli::Application.configure do
# Print deprecation notices to the Rails logger
config.active_support.deprecation = :log
+
+ # Do not compress assets
+ config.assets.compress = false
+
+ # Expands the lines which load the assets
+ config.assets.debug = true
+
+ # Raise exception on mass assignment protection for Active Record models
+ config.active_record.mass_assignment_sanitizer = :strict
+
+ # Log the query plan for queries taking more than this (works
+ # with SQLite, MySQL, and PostgreSQL)
+ config.active_record.auto_explain_threshold_in_seconds = 0.5
+
end
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 0c1929366..a3e3cebd2 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -31,4 +31,21 @@ Alaveteli::Application.configure do
if AlaveteliConfiguration::force_ssl
config.middleware.insert_before ActionDispatch::Cookies, ::Rack::SSL
end
+
+ # Compress JavaScripts and CSS
+ config.assets.compress = true
+
+ # Choose the compressors to use
+ # config.assets.js_compressor = :uglifier
+ # config.assets.css_compressor = :yui
+
+ # Don't fallback to assets pipeline if a precompiled asset is missed
+ config.assets.compile = false
+
+ # Generate digests for assets URLs.
+ config.assets.digest = true
+
+ # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
+ # config.assets.precompile += %w( search.js )
+
end
diff --git a/config/environments/test.rb b/config/environments/test.rb
index df39e8873..97c2d4f7c 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -24,4 +24,9 @@ Alaveteli::Application.configure do
# Print deprecation notices to the stderr
config.active_support.deprecation = :stderr
+ if !AlaveteliConfiguration.exception_notifications_from.blank? && !AlaveteliConfiguration.exception_notifications_to.blank?
+ middleware.use ExceptionNotifier,
+ :sender_address => AlaveteliConfiguration::exception_notifications_from,
+ :exception_recipients => AlaveteliConfiguration::exception_notifications_to
+ end
end
diff --git a/config/general.yml-example b/config/general.yml-example
index 60eb5ae1c..b8d9fc854 100644
--- a/config/general.yml-example
+++ b/config/general.yml-example
@@ -209,3 +209,8 @@ PUBLIC_BODY_LIST_FALLBACK_TO_DEFAULT_LOCALE: false
# If true, while in development mode, try to send mail by SMTP to port
# 1025 (the port the mailcatcher listens on by default):
USE_MAILCATCHER_IN_DEVELOPMENT: true
+
+# Use memcached to cache HTML fragments for better performance. Will
+# only have an effect in environments where
+# config.action_controller.perform_caching is set to true
+CACHE_FRAGMENTS: true
diff --git a/config/initializers/acts_as_xapian.rb b/config/initializers/acts_as_xapian.rb
new file mode 100644
index 000000000..f82193c85
--- /dev/null
+++ b/config/initializers/acts_as_xapian.rb
@@ -0,0 +1,25 @@
+# acts_as_xapian/init.rb:
+#
+# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
+# Email: hello@mysociety.org; WWW: http://www.mysociety.org/
+
+# We're moving plugins out of vendor/plugins, since keeping them there
+# is deprecated as of Rails 3.2, and the xapiandbs directory should be
+# moved out of there along with the plugin itself.
+
+old_xapiandbs_path = Rails.root.join('vendor',
+ 'plugins',
+ 'acts_as_xapian',
+ 'xapiandbs')
+
+current_xapiandbs_path = Rails.root.join('lib',
+ 'acts_as_xapian',
+ 'xapiandbs')
+
+if File.exists? old_xapiandbs_path
+ unless File.exists? current_xapiandbs_path
+ File.rename old_xapiandbs_path, current_xapiandbs_path
+ end
+end
+
+require 'acts_as_xapian/acts_as_xapian'
diff --git a/config/initializers/alaveteli.rb b/config/initializers/alaveteli.rb
index 631251b87..760c138a7 100644
--- a/config/initializers/alaveteli.rb
+++ b/config/initializers/alaveteli.rb
@@ -50,7 +50,6 @@ require 'normalize_string'
require 'alaveteli_file_types'
require 'alaveteli_localization'
require 'message_prominence'
-require 'actionmailer_patches'
require 'theme'
AlaveteliLocalization.set_locales(AlaveteliConfiguration::available_locales,
diff --git a/config/initializers/has_tag_string.rb b/config/initializers/has_tag_string.rb
new file mode 100644
index 000000000..5fa33cc70
--- /dev/null
+++ b/config/initializers/has_tag_string.rb
@@ -0,0 +1,2 @@
+require 'has_tag_string/has_tag_string'
+
diff --git a/config/initializers/rails_security_patches.rb b/config/initializers/rails_security_patches.rb
deleted file mode 100644
index b7f013d04..000000000
--- a/config/initializers/rails_security_patches.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-# Temporary patches for Rails security alert made on 03/12/2013
-
-# CVE-2013-6414 https://groups.google.com/forum/#!topic/rubyonrails-security/A-ebV4WxzKg
-
-ActiveSupport.on_load(:action_view) do
- ActionView::LookupContext::DetailsKey.class_eval do
- class << self
- alias :old_get :get
-
- def get(details)
- if details[:formats]
- details = details.dup
- syms = Set.new Mime::SET.symbols
- details[:formats] = details[:formats].select { |v|
- syms.include? v
- }
- end
- old_get details
- end
- end
- end
-end
diff --git a/config/initializers/strip_attributes.rb b/config/initializers/strip_attributes.rb
new file mode 100644
index 000000000..25f70b2f3
--- /dev/null
+++ b/config/initializers/strip_attributes.rb
@@ -0,0 +1,2 @@
+require 'strip_attributes/strip_attributes'
+ActiveRecord::Base.extend(StripAttributes)
diff --git a/config/initializers/theme_loader.rb b/config/initializers/theme_loader.rb
index b3ae11e1e..9c79e513c 100644
--- a/config/initializers/theme_loader.rb
+++ b/config/initializers/theme_loader.rb
@@ -3,7 +3,9 @@
$alaveteli_route_extensions = []
def require_theme(theme_name)
- theme_main_include = File.expand_path "../../../vendor/plugins/#{theme_name}/lib/alavetelitheme.rb", __FILE__
+ theme_lib = Rails.root.join 'lib', 'themes', theme_name, 'lib'
+ $LOAD_PATH.unshift theme_lib.to_s
+ theme_main_include = Rails.root.join theme_lib, "alavetelitheme.rb"
if File.exists? theme_main_include
require theme_main_include
end
diff --git a/config/packages b/config/packages
index 8bb00a849..9a07c5f20 100644
--- a/config/packages
+++ b/config/packages
@@ -38,3 +38,4 @@ bundler
sqlite3
libsqlite3-dev
libicu-dev
+memcached
diff --git a/config/test.yml b/config/test.yml
index b26ca99d4..599e1e81a 100644
--- a/config/test.yml
+++ b/config/test.yml
@@ -116,7 +116,7 @@ HTML_TO_PDF_COMMAND: /usr/local/bin/wkhtmltopdf-amd64
# Exception notifications
EXCEPTION_NOTIFICATIONS_FROM: do-not-reply-to-this-address@example.com
-EXCEPTION_NOTIFICATIONS_TO:
+EXCEPTION_NOTIFICATIONS_TO: exception-recipient@example.com
MAX_REQUESTS_PER_USER_PER_DAY: 2
diff --git a/doc/ADMIN.md b/doc/ADMIN.md
deleted file mode 100644
index 6248e6cfc..000000000
--- a/doc/ADMIN.md
+++ /dev/null
@@ -1,19 +0,0 @@
-Doing development work on the administration interface
-======================================================
-
-The Alaveteli admin interface uses Twitter's Bootstrap project to prettify it.
-
-If you want to work on the CSS, you'll want to use
-[bootstrap-sass](https://github.com/thomas-mcdonald/bootstrap-sass). Do something like:
-
-
- $ gem install bootstrap-sass
- $ gem install compass
- $ compass compile --config .compass/config.rb
-
-To change the JavaScript, edit `public/admin/javascripts/admin.coffee`
-and then run:
-
- $ coffee -c public/admin/javascripts/admin.coffee
-
-That will update `public/admin/javascripts/admin.js`. \ No newline at end of file
diff --git a/doc/CHANGES.md b/doc/CHANGES.md
index 45b8c3cc9..b4bed110b 100644
--- a/doc/CHANGES.md
+++ b/doc/CHANGES.md
@@ -1,3 +1,60 @@
+# Version 0.16
+
+## Highlighted features
+
+* Upgrade of the Rails framework to 3.2.16
+* Enabling the Rails asset pipeline for managing assets (more about the
+ asset pipeline at http://guides.rubyonrails.org/asset_pipeline.html).
+* The all authorities csv download now uses less system resources
+* Ruby 2.0 is now included in the matrix of versions we run continuous
+ integration tests against
+* When using capistrano, the RAILS_ENV can now be explicitly set from
+ deploy.yml
+* The front page and request pages once more use fragment caching backed
+ by memcached to speed up serving of slow parts of these pages
+* The robots.txt file has been updated to allow crawling of response
+ attachment files (in original and HTML versions)
+* The `themes:install` rake task is kinder to developers; it no longer
+ removes and reclones themes, destroying local changes, and it keeps
+ themes as git repositories.
+* Social media elements (the blog, twitter feed) are only included if
+ the appropriate config variables (BLOG_FEED and TWITTER_USERNAME) have
+ been populated.
+* Some fixes to the treatment of hyphenated/underscored locales so that
+ public body translations are consistently stored using the underscore
+ format of the locale (so 'he_IL', not 'he-IL').
+* The popup message elements for temporary notices and for letting users
+ know about other sites have been made consistent and now use simpler
+ styles.
+
+## Upgrade notes
+
+* You will need to update your theme to use the asset pipeline - notes
+ on how to do this are in doc/THEME-ASSETS-UPGRADE.md
+* The syntax of the highlight and excerpt methods has changed, so if you
+ use these in your theme, you may see deprecation warnings until you
+ update them. More information at http://apidock.com/rails/v3.2.13/ActionView/Helpers/TextHelper/highlight
+ and
+ http://apidock.com/rails/v3.2.13/ActionView/Helpers/TextHelper/excerpt
+* If you don't want to use fragment caching, you can turn it off in your
+ config file by setting `CACHE_FRAGMENTS` to `false`.
+* If you use a locale with an underscore in it, you should double check
+ that the locale field of your `public_body_translations` table shows
+ the underscore version of the locale name.
+* This release includes an update to the commonlib submodule - you
+ should be warned about this when running rails-post-deploy
+* All code has been moved out of the deprecated plugin path
+ `vendor/plugins`. Once you are up and running under 0.16, you should
+ check that your xapian databases have all been copied to
+ `lib/acts_as_xapian/xapiandbs` (the code in
+ `config/initializers/acts_as_xapian` should do this), and then check
+ and remove any files under vendor/plugins so that you won't get
+ deprecation warnings about having Rails 2.3 style plugins (deprecation
+ warnings can result in incoming mail getting an auto reply under some
+ email configs).
+* If you have any custom styles that rely on the absolute positioning
+ of the 'banner' and 'wrapper' elements, they may need to be updated.
+
# Version 0.15
## Highlighted features
diff --git a/doc/INSTALL.md b/doc/INSTALL.md
index f39789936..3decb53a3 100644
--- a/doc/INSTALL.md
+++ b/doc/INSTALL.md
@@ -15,11 +15,10 @@ This creates an instance that runs in development mode, so we
wouldn't recommend you use it for a production system without
changing the configuration.
-If you haven't used Amazon Web Services before, then you can get
-a Micro instance which will be
-[free for a year](http://aws.amazon.com/free/). You will find
-that a micro instance isn't powerful enough for anything other
-very basic testing of Alaveteli, however.
+Unfortunately, Alaveteli will not run properly on a free Micro
+instance due to the low amount of memory available on those
+instances; you will need to use at least a Small instance, which
+Amazon will charge for.
The AMI can be found in the EU West (Ireland) region, with the
ID ami-0f24c678 and name “Basic Alaveteli installation
diff --git a/doc/THEME-ASSETS-UPGRADE.md b/doc/THEME-ASSETS-UPGRADE.md
new file mode 100644
index 000000000..12c1a60d1
--- /dev/null
+++ b/doc/THEME-ASSETS-UPGRADE.md
@@ -0,0 +1,76 @@
+This document has notes on switching your Alaveteli theme to use
+the Rails asset pipeline.
+
+Firstly, add the following to your `lib/alavetelitheme.rb`, in
+order to add the subdirectories of your theme's `assets`
+directory to `config.assets.path`:
+
+ # Prepend the asset directories in this theme to the asset path:
+ ['stylesheets', 'images', 'javascripts'].each do |asset_type|
+ theme_asset_path = File.join(File.dirname(__FILE__),
+ '..',
+ 'assets',
+ asset_type)
+ Rails.application.config.assets.paths.unshift theme_asset_path
+ end
+
+In the root of your theme, create these directories:
+
+ assets
+ \ images
+ \ stylesheets
+ \ javascripts
+
+i.e. `assets` is at the same level as `lib` and `locale-theme`.
+
+Move any image files from `public/images` to `assets/images`.
+Now change any references to those images with a literal `<img>`
+tag to use `image_tag` instead. For example, instead of:
+
+ <img src="/images/helpmeinvestigate.png" alt="" class="rss">
+
+... you should have:
+
+ image_tag('helpmeinvestigate.png', :alt => "", :class => "rss")
+
+If you have a favicon.ico file in your theme's `public` directory, you should move it to `assets/images` as well.
+
+You should similarly move your stylesheets into
+`assets/stylesheets`. If a stylesheet refers to images, you
+should rename the `.css` file to `.css.scss`, and change `url`
+to the sass-rails `image-url` helper. e.g. instead of:
+
+ background-image: url(../images/mysociety.png);
+
+... you should have:
+
+ background-image: image-url('mysociety.png');
+
+If your only stylesheet is called `custom.css`, as in the
+example theme, you shouldn't need to make any other changes to
+the CSS. If you have added additional stylesheets
+(e.g. `extra.css`), then you'll need to both:
+
+1. add them to
+`lib/views/general/_stylesheet_includes.html.erb`, for example
+with:
+
+ <%= stylesheet_link_tag "extra" %>
+
+2. add the following in `lib/alavetelitheme.rb`:
+
+ config.assets.precompile.push 'extra.css'
+
+Any custom Javascript should be moved to `assets/javascripts` in
+your theme directory, and, simlarly to the additional CSS, it
+should be mentioned in `lib/alavetelitheme.rb` with:
+
+ config.assets.precompile.push 'fancy-effects.js'
+
+You should be left with nothing in the `public` directory after
+making these changes, except possibly custom error pages.
+
+Remove the code that symlinks the theme 'public' directory to a
+subdirectory of the main application's 'public' directory from
+install.rb. Also remove the code from uninstall.rb that removes that
+symlink. The asset pipeline will handle making assets available.
diff --git a/doc/TRANSLATE.md b/doc/TRANSLATE.md
index f8b4adbcb..aef2cfdc9 100644
--- a/doc/TRANSLATE.md
+++ b/doc/TRANSLATE.md
@@ -46,6 +46,10 @@ application developers about the context in which the text appears in the
application - these comments will appear under the 'Details' tab for the
text in Transifex.
+Some texts will have placeholders in them to indicate that another bit of text generated by Alaveteli will be inserted into them when they're displayed. They will look like `some text with a {{placeholder}}`. For these texts, don't translate the placeholder. It needs to stay exactly the same for the text to be inserted properly.
+
+Similarly, some texts will have some code in angle brackets in them to turn bits of the text into links, and other small bits of HTML formatting. e.g. `please <a href=\"{{url}}\">send it to us</a>`. Again, don't edit the bits in angle brackets, preserve them in your translation, just edit the text around them.
+
Some bits of text are in the form of two bits of text separated by a `|`
character e.g. `IncomingMessage|Subject`. These represent attribute names, so
`IncomingMessage|Subject` is the subject attribute of an incoming message on
@@ -75,7 +79,7 @@ must:
language, using `bundle exec rake
gettext:store_model_attributes`, followed by `bundle exec rake
gettext:find`
- * careful of including msgids from themes in `vendor/plugin`;
+ * careful of including msgids from themes in `lib/themes`;
you might want to move them out of the way before running
the above commands
* this updates the PO template, but also merges it with the
diff --git a/lib/actionmailer_patches.rb b/lib/actionmailer_patches.rb
deleted file mode 100644
index 600d3c8cc..000000000
--- a/lib/actionmailer_patches.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-# Monkey patch for CVE-2013-4389
-# derived from http://seclists.org/oss-sec/2013/q4/118 to fix
-# a possible DoS vulnerability in the log subscriber component of
-# Action Mailer.
-
-require 'action_mailer'
-module ActionMailer
- class LogSubscriber < ActiveSupport::LogSubscriber
- def deliver(event)
- recipients = Array.wrap(event.payload[:to]).join(', ')
- info("\nSent mail to #{recipients} (#{event.duration.round(1)}ms)")
- debug(event.payload[:mail])
- end
- end
-end
diff --git a/vendor/plugins/acts_as_xapian/.gitignore b/lib/acts_as_xapian/.gitignore
index 60e95666f..60e95666f 100644
--- a/vendor/plugins/acts_as_xapian/.gitignore
+++ b/lib/acts_as_xapian/.gitignore
diff --git a/vendor/plugins/acts_as_xapian/LICENSE.txt b/lib/acts_as_xapian/LICENSE.txt
index 72d93c4be..72d93c4be 100644
--- a/vendor/plugins/acts_as_xapian/LICENSE.txt
+++ b/lib/acts_as_xapian/LICENSE.txt
diff --git a/vendor/plugins/acts_as_xapian/README.txt b/lib/acts_as_xapian/README.txt
index a1d22ef3f..a1d22ef3f 100644
--- a/vendor/plugins/acts_as_xapian/README.txt
+++ b/lib/acts_as_xapian/README.txt
diff --git a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb b/lib/acts_as_xapian/acts_as_xapian.rb
index 2e486f328..b30bb4d10 100644
--- a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
+++ b/lib/acts_as_xapian/acts_as_xapian.rb
@@ -100,7 +100,7 @@ module ActsAsXapian
if config['base_db_path']
db_parent_path = Rails.root.join(config['base_db_path'])
else
- db_parent_path = File.join(File.dirname(__FILE__), '../xapiandbs/')
+ db_parent_path = File.join(File.dirname(__FILE__), 'xapiandbs')
end
# make the directory for the xapian databases to go in
diff --git a/vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake b/lib/acts_as_xapian/tasks/xapian.rake
index c1986ce1e..c1986ce1e 100644
--- a/vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake
+++ b/lib/acts_as_xapian/tasks/xapian.rake
diff --git a/lib/configuration.rb b/lib/configuration.rb
index fba70f27c..2192433f7 100644
--- a/lib/configuration.rb
+++ b/lib/configuration.rb
@@ -21,6 +21,7 @@ module AlaveteliConfiguration
:AVAILABLE_LOCALES => '',
:BLACKHOLE_PREFIX => 'do-not-reply-to-this-address',
:BLOG_FEED => '',
+ :CACHE_FRAGMENTS => true,
:CONTACT_EMAIL => 'contact@localhost',
:CONTACT_NAME => 'Alaveteli',
:COOKIE_STORE_SESSION_SECRET => 'this default is insecure as code is open source, please override for live sites in config/general; this will do for local development',
diff --git a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/USAGE b/lib/generators/acts_as_xapian/USAGE
index 2d027c46f..2d027c46f 100644
--- a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/USAGE
+++ b/lib/generators/acts_as_xapian/USAGE
diff --git a/lib/generators/acts_as_xapian/acts_as_xapian_generator.rb b/lib/generators/acts_as_xapian/acts_as_xapian_generator.rb
new file mode 100644
index 000000000..434c02cb5
--- /dev/null
+++ b/lib/generators/acts_as_xapian/acts_as_xapian_generator.rb
@@ -0,0 +1,10 @@
+require 'rails/generators/active_record/migration'
+
+class ActsAsXapianGenerator < Rails::Generators::Base
+ include Rails::Generators::Migration
+ extend ActiveRecord::Generators::Migration
+ source_root File.expand_path("../templates", __FILE__)
+ def create_migration_file
+ migration_template "migration.rb", "db/migrate/add_acts_as_xapian_jobs.rb"
+ end
+end
diff --git a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/templates/migration.rb b/lib/generators/acts_as_xapian/templates/migration.rb
index 84a9dd766..84a9dd766 100644
--- a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/templates/migration.rb
+++ b/lib/generators/acts_as_xapian/templates/migration.rb
diff --git a/vendor/plugins/has_tag_string/README.txt b/lib/has_tag_string/README.txt
index 0d3a38229..0d3a38229 100644
--- a/vendor/plugins/has_tag_string/README.txt
+++ b/lib/has_tag_string/README.txt
diff --git a/vendor/plugins/has_tag_string/lib/has_tag_string.rb b/lib/has_tag_string/has_tag_string.rb
index 4022faaac..4022faaac 100644
--- a/vendor/plugins/has_tag_string/lib/has_tag_string.rb
+++ b/lib/has_tag_string/has_tag_string.rb
diff --git a/lib/i18n_fixes.rb b/lib/i18n_fixes.rb
index 9f0849e75..64c370477 100644
--- a/lib/i18n_fixes.rb
+++ b/lib/i18n_fixes.rb
@@ -35,7 +35,7 @@ def gettext_interpolate(string, values)
pattern, key = $1, $1.to_sym
if !values.include?(key)
- raise I18n::MissingInterpolationArgument.new(pattern, string)
+ raise I18n::MissingInterpolationArgument.new(pattern, string, values)
else
v = values[key].to_s
if safe && !v.html_safe?
diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb
index 28c486e1b..e019eba97 100644
--- a/lib/mail_handler/backends/mail_backend.rb
+++ b/lib/mail_handler/backends/mail_backend.rb
@@ -95,7 +95,7 @@ module MailHandler
def get_from_address(mail)
first_from = first_from(mail)
if first_from
- if first_from.is_a?(ActiveSupport::Multibyte::Chars)
+ if first_from.is_a?(String)
return nil
else
return first_from.address
@@ -109,7 +109,7 @@ module MailHandler
def get_from_name(mail)
first_from = first_from(mail)
if first_from
- if first_from.is_a?(ActiveSupport::Multibyte::Chars)
+ if first_from.is_a?(String)
return nil
else
return (first_from.display_name || nil)
diff --git a/lib/mail_handler/backends/mail_extensions.rb b/lib/mail_handler/backends/mail_extensions.rb
index 029331802..87af526bf 100644
--- a/lib/mail_handler/backends/mail_extensions.rb
+++ b/lib/mail_handler/backends/mail_extensions.rb
@@ -7,54 +7,6 @@ module Mail
attr_accessor :within_rfc822_attachment # for parts within a message attached as text (for getting subject mainly)
attr_accessor :count_parts_count
attr_accessor :count_first_uudecode_count
-
- # A patched version of the message initializer to work around a bug where stripping the original
- # input removes meaningful spaces - e.g. in the case of uuencoded bodies.
- def initialize(*args, &block)
- @body = nil
- @body_raw = nil
- @separate_parts = false
- @text_part = nil
- @html_part = nil
- @errors = nil
- @header = nil
- @charset = 'UTF-8'
- @defaulted_charset = true
-
- @perform_deliveries = true
- @raise_delivery_errors = true
-
- @delivery_handler = nil
-
- @delivery_method = Mail.delivery_method.dup
-
- @transport_encoding = Mail::Encodings.get_encoding('7bit')
-
- @mark_for_delete = false
-
- if args.flatten.first.respond_to?(:each_pair)
- init_with_hash(args.flatten.first)
- else
- # The replacement of this commented out line is the change.
- # init_with_string(args.flatten[0].to_s.strip)
- init_with_string(args.flatten[0].to_s)
- end
-
- if block_given?
- instance_eval(&block)
- end
-
- self
- end
-
- def set_envelope_header
- raw_string = raw_source.to_s
- if match_data = raw_source.to_s.match(/\AFrom\s(#{TEXT}+)#{CRLF}/m)
- set_envelope(match_data[1])
- self.raw_source = raw_string.sub(match_data[0], "")
- end
- end
-
end
# A patched version of the parameter hash that handles nil values without throwing
@@ -77,6 +29,7 @@ module Mail
# HACK: Backport encoding fixes for Ruby 1.8 from Mail 2.5
# Can be removed when we no longer support Ruby 1.8
class Ruby18
+
def Ruby18.b_value_decode(str)
match = str.match(/\=\?(.+)?\?[Bb]\?(.+)?\?\=/m)
if match
@@ -129,11 +82,11 @@ module Mail
def Ruby19.b_value_decode(str)
match = str.match(/\=\?(.+)?\?[Bb]\?(.+)?\?\=/m)
if match
- encoding = match[1]
+ charset = match[1]
str = Ruby19.decode_base64(match[2])
# Rescue an ArgumentError arising from an unknown encoding.
begin
- str.force_encoding(fix_encoding(encoding))
+ str.force_encoding(pick_encoding(charset))
rescue ArgumentError
end
end
@@ -141,18 +94,5 @@ module Mail
decoded.valid_encoding? ? decoded : decoded.encode("utf-16le", :invalid => :replace, :replace => "").encode("utf-8")
end
- def Ruby19.q_value_decode(str)
- match = str.match(/\=\?(.+)?\?[Qq]\?(.+)?\?\=/m)
- if match
- encoding = match[1]
- str = Encodings::QuotedPrintable.decode(match[2].gsub(/_/, '=20'))
- # Backport line from mail 2.5 to strip a trailing = character
- # Remove trailing = if it exists in a Q encoding
- str = str.sub(/\=$/, '')
- str.force_encoding(fix_encoding(encoding))
- end
- decoded = str.encode("utf-8", :invalid => :replace, :replace => "")
- decoded.valid_encoding? ? decoded : decoded.encode("utf-16le", :invalid => :replace, :replace => "").encode("utf-8")
- end
end
end
diff --git a/lib/mail_handler/mail_handler.rb b/lib/mail_handler/mail_handler.rb
index 918f91180..53033d440 100644
--- a/lib/mail_handler/mail_handler.rb
+++ b/lib/mail_handler/mail_handler.rb
@@ -59,7 +59,7 @@ module MailHandler
end
# e.g. http://www.whatdotheyknow.com/request/copy_of_current_swessex_scr_opt#incoming-9928
- if content_type == 'application/acrobat'
+ if content_type == 'application/acrobat' or content_type == 'document/pdf'
content_type = 'application/pdf'
end
diff --git a/lib/no_constraint_disabling.rb b/lib/no_constraint_disabling.rb
index d515a959a..32a4a6bfe 100644
--- a/lib/no_constraint_disabling.rb
+++ b/lib/no_constraint_disabling.rb
@@ -47,7 +47,7 @@ module ActiveRecord
connection,
table_name,
class_names[table_name.to_sym] || table_name.classify,
- File.join(fixtures_directory, path))
+ ::File.join(fixtures_directory, path))
end
all_loaded_fixtures.update(fixtures_map)
diff --git a/lib/quiet_opener.rb b/lib/quiet_opener.rb
index ae6605c43..16ea27b8e 100644
--- a/lib/quiet_opener.rb
+++ b/lib/quiet_opener.rb
@@ -1,6 +1,8 @@
require 'open-uri'
require 'net-purge'
-require 'net/http/local'
+if RUBY_VERSION.to_f < 2.0
+ require 'net/http/local'
+end
def quietly_try_to_open(url)
begin
@@ -12,17 +14,36 @@ def quietly_try_to_open(url)
return result
end
+# On Ruby versions before 2.0, we need to use the net-http-local gem
+# to force the use of 127.0.0.1 as the local interface for the
+# connection. However, at the time of writing this gem doesn't work
+# on Ruby 2.0 and it's not necessary with that Ruby version - one can
+# supply a :local_host option to Net::HTTP:start. So, this helper
+# function is to abstract away that difference, and can be used as you
+# would Net::HTTP.start(host) when passed a block.
+def http_from_localhost(host)
+ if RUBY_VERSION.to_f >= 2.0
+ Net::HTTP.start(host, :local_host => '127.0.0.1') do |http|
+ yield http
+ end
+ else
+ Net::HTTP.bind '127.0.0.1' do
+ Net::HTTP.start(host) do |http|
+ yield http
+ end
+ end
+ end
+end
+
def quietly_try_to_purge(host, url)
begin
result = ""
result_body = ""
- Net::HTTP.bind '127.0.0.1' do
- Net::HTTP.start(host) {|http|
- request = Net::HTTP::Purge.new(url)
- response = http.request(request)
- result = response.code
- result_body = response.body
- }
+ http_from_localhost(host) do |http|
+ request = Net::HTTP::Purge.new(url)
+ response = http.request(request)
+ result = response.code
+ result_body = response.body
end
rescue OpenURI::HTTPError, SocketError, Errno::ETIMEDOUT, Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::ECONNRESET, Errno::ENETUNREACH
Rails.logger.warn("PURGE: Unable to reach host #{host}")
diff --git a/vendor/plugins/strip_attributes/README.rdoc b/lib/strip_attributes/README.rdoc
index bd55c0c1c..bd55c0c1c 100644
--- a/vendor/plugins/strip_attributes/README.rdoc
+++ b/lib/strip_attributes/README.rdoc
diff --git a/vendor/plugins/strip_attributes/Rakefile b/lib/strip_attributes/Rakefile
index 05b0c14ad..05b0c14ad 100644
--- a/vendor/plugins/strip_attributes/Rakefile
+++ b/lib/strip_attributes/Rakefile
diff --git a/vendor/plugins/strip_attributes/lib/strip_attributes.rb b/lib/strip_attributes/strip_attributes.rb
index 130d10185..130d10185 100644
--- a/vendor/plugins/strip_attributes/lib/strip_attributes.rb
+++ b/lib/strip_attributes/strip_attributes.rb
diff --git a/vendor/plugins/strip_attributes/test/strip_attributes_test.rb b/lib/strip_attributes/test/strip_attributes_test.rb
index 8158dc664..8158dc664 100644
--- a/vendor/plugins/strip_attributes/test/strip_attributes_test.rb
+++ b/lib/strip_attributes/test/strip_attributes_test.rb
diff --git a/vendor/plugins/strip_attributes/test/test_helper.rb b/lib/strip_attributes/test/test_helper.rb
index 7d06c40db..7d06c40db 100644
--- a/vendor/plugins/strip_attributes/test/test_helper.rb
+++ b/lib/strip_attributes/test/test_helper.rb
diff --git a/lib/tasks/gettext.rake b/lib/tasks/gettext.rake
index 366dfbe88..3f357213f 100644
--- a/lib/tasks/gettext.rake
+++ b/lib/tasks/gettext.rake
@@ -29,11 +29,11 @@ namespace :gettext do
end
def theme_files_to_translate(theme)
- Dir.glob("{vendor/plugins/#{theme}/lib}/**/*.{rb,erb}")
+ Dir.glob("{lib/themes/#{theme}/lib}/**/*.{rb,erb}")
end
def theme_locale_path(theme)
- File.join(Rails.root, "vendor", "plugins", theme, "locale-theme")
+ Rails.root.join "lib", "themes", theme, "locale-theme"
end
end
diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake
index 0e8397fde..c8183c745 100644
--- a/lib/tasks/import.rake
+++ b/lib/tasks/import.rake
@@ -54,12 +54,12 @@ namespace :import do
STDERR.puts "Now importing the public bodies..."
# Now it's (probably) safe to try to import:
- errors, notes = PublicBody.import_csv(tmp_csv.path,
- tag='',
- tag_behaviour='replace',
- dryrun,
- editor="#{ENV['USER']} (Unix user)",
- I18n.available_locales) do |row_number, fields|
+ errors, notes = PublicBody.import_csv_from_file(tmp_csv.path,
+ tag='',
+ tag_behaviour='replace',
+ dryrun,
+ editor="#{ENV['USER']} (Unix user)",
+ I18n.available_locales) do |row_number, fields|
percent_complete = (100 * row_number.to_f / number_of_rows).to_i
STDERR.print "#{row_number} out of #{number_of_rows} "
STDERR.puts "(#{percent_complete}% complete)"
diff --git a/lib/tasks/temp.rake b/lib/tasks/temp.rake
index d371ad0dc..67fa10174 100644
--- a/lib/tasks/temp.rake
+++ b/lib/tasks/temp.rake
@@ -1,292 +1,40 @@
namespace :temp do
- desc "Fix the history of requests where the described state doesn't match the latest status value
- used by search, by adding an edit event that will correct the latest status"
- task :fix_bad_request_states => :environment do
- dryrun = ENV['DRYRUN'] != '0'
- if dryrun
- puts "This is a dryrun"
- end
-
- InfoRequest.find_each() do |info_request|
- next if info_request.url_title == 'holding_pen'
- last_info_request_event = info_request.info_request_events[-1]
- if last_info_request_event.latest_status != info_request.described_state
- puts "#{info_request.id} #{info_request.url_title} #{last_info_request_event.latest_status} #{info_request.described_state}"
- params = { :script => 'rake temp:fix_bad_request_states',
- :user_id => nil,
- :old_described_state => info_request.described_state,
- :described_state => info_request.described_state
- }
- if ! dryrun
- info_request.info_request_events.create!(:last_described_at => last_info_request_event.described_at + 1.second,
- :event_type => 'status_update',
- :described_state => info_request.described_state,
- :calculated_state => info_request.described_state,
- :params => params)
- info_request.info_request_events.each{ |event| event.xapian_mark_needs_index }
- end
- end
-
- end
- end
-
- def disable_duplicate_account(user, count, dryrun)
- dupe_email = "duplicateemail#{count}@example.com"
- puts "Updating #{user.email} to #{dupe_email} for user #{user.id}"
- user.email = dupe_email
- user.save! unless dryrun
- end
-
- desc "Re-extract any missing cached attachments"
- task :reextract_missing_attachments, [:commit] => :environment do |t, args|
- dry_run = args.commit.nil? || args.commit.empty?
- total_messages = 0
- messages_to_reparse = 0
- IncomingMessage.find_each :include => :foi_attachments do |im|
- begin
- reparse = im.foi_attachments.any? { |fa| ! File.exists? fa.filepath }
- total_messages += 1
- messages_to_reparse += 1 if reparse
- if total_messages % 1000 == 0
- puts "Considered #{total_messages} received emails."
- end
- unless dry_run
- im.parse_raw_email! true if reparse
- sleep 2
- end
- rescue StandardError => e
- puts "There was a #{e.class} exception reparsing IncomingMessage with ID #{im.id}"
- puts e.backtrace
- puts e.message
- end
- end
- message = dry_run ? "Would reparse" : "Reparsed"
- message += " #{messages_to_reparse} out of #{total_messages} received emails."
- puts message
- end
-
- desc 'Cleanup accounts with a space in the email address'
- task :clean_up_emails_with_spaces => :environment do
- dryrun = ENV['DRYRUN'] == '0' ? false : true
- if dryrun
- puts "This is a dryrun"
- end
- count = 0
- User.find_each do |user|
- if / /.match(user.email)
-
- email_without_spaces = user.email.gsub(' ', '')
- existing = User.find_user_by_email(email_without_spaces)
- # Another account exists with the canonical address
- if existing
- if user.info_requests.count == 0 and user.comments.count == 0 and user.track_things.count == 0
- count += 1
- disable_duplicate_account(user, count, dryrun)
- elsif existing.info_requests.count == 0 and existing.comments.count == 0 and existing.track_things.count == 0
- count += 1
- disable_duplicate_account(existing, count, dryrun)
- user.email = email_without_spaces
- puts "Updating #{user.email} to #{email_without_spaces} for user #{user.id}"
- user.save! unless dryrun
- else
- user.info_requests.each do |info_request|
- info_request.user = existing
- info_request.save! unless dryrun
- puts "Moved request #{info_request.id} from user #{user.id} to #{existing.id}"
- end
-
- user.comments.each do |comment|
- comment.user = existing
- comment.save! unless dryrun
- puts "Moved comment #{comment.id} from user #{user.id} to #{existing.id}"
- end
-
- user.track_things.each do |track_thing|
- track_thing.tracking_user = existing
- track_thing.save! unless dryrun
- puts "Moved track thing #{track_thing.id} from user #{user.id} to #{existing.id}"
- end
-
- TrackThingsSentEmail.find_each(:conditions => ['user_id = ?', user]) do |sent_email|
- sent_email.user = existing
- sent_email.save! unless dryrun
- puts "Moved track thing sent email #{sent_email.id} from user #{user.id} to #{existing.id}"
-
- end
-
- user.censor_rules.each do |censor_rule|
- censor_rule.user = existing
- censor_rule.save! unless dryrun
- puts "Moved censor rule #{censor_rule.id} from user #{user.id} to #{existing.id}"
- end
-
- user.user_info_request_sent_alerts.each do |sent_alert|
- sent_alert.user = existing
- sent_alert.save! unless dryrun
- puts "Moved sent alert #{sent_alert.id} from user #{user.id} to #{existing.id}"
- end
-
- count += 1
- disable_duplicate_account(user, count, dryrun)
- end
- else
- puts "Updating #{user.email} to #{email_without_spaces} for user #{user.id}"
- user.email = email_without_spaces
- user.save! unless dryrun
- end
- end
- end
- end
-
- desc 'Create a CSV file of a random selection of raw emails, for comparing hexdigests'
- task :random_attachments_hexdigests => :environment do
- # The idea is to run this under the Rail 2 codebase, where
- # Tmail was used to extract the attachements, and the task
- # will output all of those file paths in a CSV file, and a
- # list of the raw email files in another. The latter file is
- # useful so that one can easily tar up the emails with:
- #
- # tar cvz -T raw-email-files -f raw_emails.tar.gz
- #
- # Then you can switch to the Rails 3 codebase, where
- # attachment parsing is done via
- # recompute_attachments_hexdigests
-
- require 'csv'
-
- File.open('raw-email-files', 'w') do |f|
- CSV.open('attachment-hexdigests.csv', 'w') do |csv|
- csv << ['filepath', 'i', 'url_part_number', 'hexdigest']
- IncomingMessage.all(:order => 'RANDOM()', :limit => 1000).each do |incoming_message|
- # raw_email.filepath fails unless the
- # incoming_message has an associated request
- next unless incoming_message.info_request
- raw_email = incoming_message.raw_email
- f.puts raw_email.filepath
- incoming_message.foi_attachments.each_with_index do |attachment, i|
- csv << [raw_email.filepath, i, attachment.url_part_number, attachment.hexdigest]
- end
- end
- end
- end
-
- end
-
-
- desc 'Check the hexdigests of attachments in emails on disk'
- task :recompute_attachments_hexdigests => :environment do
-
- require 'csv'
- require 'digest/md5'
-
- OldAttachment = Struct.new :filename, :attachment_index, :url_part_number, :hexdigest
-
- filename_to_attachments = Hash.new {|h,k| h[k] = []}
-
- header_line = true
- CSV.foreach('attachment-hexdigests.csv') do |filename, attachment_index, url_part_number, hexdigest|
- if header_line
- header_line = false
- else
- filename_to_attachments[filename].push OldAttachment.new filename, attachment_index, url_part_number, hexdigest
- end
+ desc 'Analyse rails log specified by LOG_FILE to produce a list of request volume'
+ task :request_volume => :environment do
+ example = 'rake log_analysis:request_volume LOG_FILE=log/access_log OUTPUT_FILE=/tmp/log_analysis.csv'
+ check_for_env_vars(['LOG_FILE', 'OUTPUT_FILE'],example)
+ log_file_path = ENV['LOG_FILE']
+ output_file_path = ENV['OUTPUT_FILE']
+ is_gz = log_file_path.include?(".gz")
+ urls = Hash.new(0)
+ f = is_gz ? Zlib::GzipReader.open(log_file_path) : File.open(log_file_path, 'r')
+ processed = 0
+ f.each_line do |line|
+ line.force_encoding('ASCII-8BIT') if RUBY_VERSION.to_f >= 1.9
+ if request_match = line.match(/^Started (GET|OPTIONS|POST) "(\/request\/.*?)"/)
+ next if line.match(/request\/\d+\/response/)
+ urls[request_match[2]] += 1
+ processed += 1
+ end
+ end
+ url_counts = urls.to_a
+ num_requests_visited_n_times = Hash.new(0)
+ CSV.open(output_file_path, "wb") do |csv|
+ csv << ['URL', 'Number of visits']
+ url_counts.sort_by(&:last).each do |url, count|
+ num_requests_visited_n_times[count] +=1
+ csv << [url,"#{count}"]
+ end
+ csv << ['Number of visits', 'Number of URLs']
+ num_requests_visited_n_times.to_a.sort.each do |number_of_times, number_of_requests|
+ csv << [number_of_times, number_of_requests]
+ end
+ csv << ['Total number of visits']
+ csv << [processed]
end
- total_attachments = 0
- attachments_with_different_hexdigest = 0
- files_with_different_numbers_of_attachments = 0
- no_tnef_attachments = 0
- no_parts_in_multipart = 0
-
- multipart_error = "no parts on multipart mail"
- tnef_error = "tnef produced no attachments"
-
- # Now check each file:
- filename_to_attachments.each do |filename, old_attachments|
-
- # Currently it doesn't seem to be possible to reuse the
- # attachment parsing code in Alaveteli without saving
- # objects to the database, so reproduce what it does:
-
- raw_email = nil
- File.open(filename) do |f|
- raw_email = f.read
- end
- mail = MailHandler.mail_from_raw_email(raw_email)
-
- begin
- attachment_attributes = MailHandler.get_attachment_attributes(mail)
- rescue IOError => e
- if e.message == tnef_error
- puts "#{filename} #{tnef_error}"
- no_tnef_attachments += 1
- next
- else
- raise
- end
- rescue Exception => e
- if e.message == multipart_error
- puts "#{filename} #{multipart_error}"
- no_parts_in_multipart += 1
- next
- else
- raise
- end
- end
-
- if attachment_attributes.length != old_attachments.length
- puts "#{filename} the number of old attachments #{old_attachments.length} didn't match the number of new attachments #{attachment_attributes.length}"
- files_with_different_numbers_of_attachments += 1
- else
- old_attachments.each_with_index do |old_attachment, i|
- total_attachments += 1
- attrs = attachment_attributes[i]
- old_hexdigest = old_attachment.hexdigest
- new_hexdigest = attrs[:hexdigest]
- new_content_type = attrs[:content_type]
- old_url_part_number = old_attachment.url_part_number.to_i
- new_url_part_number = attrs[:url_part_number]
- if old_url_part_number != new_url_part_number
- puts "#{i} #{filename} old_url_part_number #{old_url_part_number}, new_url_part_number #{new_url_part_number}"
- end
- if old_hexdigest != new_hexdigest
- body = attrs[:body]
- # First, if the content type is one of
- # text/plain, text/html or application/rtf try
- # changing CRLF to LF and calculating a new
- # digest - we generally don't worry about
- # these changes:
- new_converted_hexdigest = nil
- if ["text/plain", "text/html", "application/rtf"].include? new_content_type
- converted_body = body.gsub /\r\n/, "\n"
- new_converted_hexdigest = Digest::MD5.hexdigest converted_body
- puts "new_converted_hexdigest is #{new_converted_hexdigest}"
- end
- if (! new_converted_hexdigest) || (old_hexdigest != new_converted_hexdigest)
- puts "#{i} #{filename} old_hexdigest #{old_hexdigest} wasn't the same as new_hexdigest #{new_hexdigest}"
- puts " body was of length #{body.length}"
- puts " content type was: #{new_content_type}"
- path = "/tmp/#{new_hexdigest}"
- f = File.new path, "w"
- f.write body
- f.close
- puts " wrote body to #{path}"
- attachments_with_different_hexdigest += 1
- end
- end
- end
- end
-
- end
-
- puts "total_attachments: #{total_attachments}"
- puts "attachments_with_different_hexdigest: #{attachments_with_different_hexdigest}"
- puts "files_with_different_numbers_of_attachments: #{files_with_different_numbers_of_attachments}"
- puts "no_tnef_attachments: #{no_tnef_attachments}"
- puts "no_parts_in_multipart: #{no_parts_in_multipart}"
-
end
end
diff --git a/lib/tasks/themes.rake b/lib/tasks/themes.rake
index 1eed92f1e..4a864d141 100644
--- a/lib/tasks/themes.rake
+++ b/lib/tasks/themes.rake
@@ -1,94 +1,123 @@
+require Rails.root.join('commonlib', 'rblib', 'git')
+
namespace :themes do
- def plugin_dir
- File.join(Rails.root,"vendor","plugins")
+ # Alias the module so we don't need the MySociety prefix here
+ Git = MySociety::Git
+
+ def all_themes_dir
+ File.join(Rails.root,"lib","themes")
end
def theme_dir(theme_name)
- File.join(plugin_dir, theme_name)
+ File.join(all_themes_dir, theme_name)
end
- def checkout(commitish)
- puts "Checking out #{commitish}" if verbose
- system "git checkout #{commitish}"
+ def old_all_themes_dir(theme_name)
+ File.join(Rails.root, "vendor", "plugins", theme_name)
end
- def checkout_tag(version)
- checkout usage_tag(version)
+ def possible_theme_dirs(theme_name)
+ [theme_dir(theme_name), old_all_themes_dir(theme_name)]
end
- def checkout_remote_branch(branch)
- checkout "origin/#{branch}"
+ def installed?(theme_name)
+ possible_theme_dirs(theme_name).any? { |dir| File.directory? dir }
end
def usage_tag(version)
"use-with-alaveteli-#{version}"
end
- def install_theme_using_git(name, uri, verbose=false, options={})
- install_path = theme_dir(name)
- Dir.chdir(plugin_dir) do
- clone_command = "git clone #{uri} #{name}"
- if system(clone_command)
- Dir.chdir install_path do
- # First try to checkout a specific branch of the theme
- tag_checked_out = checkout_remote_branch(AlaveteliConfiguration::theme_branch) if AlaveteliConfiguration::theme_branch
- if !tag_checked_out
- # try to checkout a tag exactly matching ALAVETELI VERSION
- tag_checked_out = checkout_tag(ALAVETELI_VERSION)
- end
- if ! tag_checked_out
- # if we're on a hotfix release (four sequence elements or more),
- # look for a usage tag matching the minor release (three sequence elements)
- # and check that out if found
- if hotfix_version = /^(\d+\.\d+\.\d+)(\.\d+)+/.match(ALAVETELI_VERSION)
- base_version = hotfix_version[1]
- tag_checked_out = checkout_tag(base_version)
- end
- end
- if ! tag_checked_out
- puts "No specific tag for this version: using HEAD" if verbose
- end
- puts "removing: .git .gitignore" if verbose
- rm_rf %w(.git .gitignore)
- end
- else
- rm_rf install_path
- raise "#{clone_command} failed! Stopping."
- end
- end
- end
-
def uninstall(theme_name, verbose=false)
- dir = theme_dir(theme_name)
- if File.directory?(dir)
- run_hook(theme_name, 'uninstall', verbose)
- puts "Removing '#{dir}'" if verbose
- rm_r dir
- else
- puts "Plugin doesn't exist: #{dir}"
+ possible_theme_dirs(theme_name).each do |dir|
+ if File.directory?(dir)
+ run_hook(theme_name, 'uninstall', verbose)
+ end
end
end
def run_hook(theme_name, hook_name, verbose=false)
- hook_file = File.join(theme_dir(theme_name), "#{hook_name}.rb")
+ directory = theme_dir(theme_name)
+ hook_file = File.join(directory, "#{hook_name}.rb")
if File.exist? hook_file
- puts "Running #{hook_name} hook for #{theme_name}" if verbose
+ puts "Running #{hook_name} hook in #{directory}" if verbose
load hook_file
end
end
- def installed?(theme_name)
- File.directory?(theme_dir(theme_name))
+ def move_old_theme(old_theme_directory)
+ puts "There was an old-style theme at #{old_theme_directory}" if verbose
+ moved_directory = "#{old_theme_directory}-moved"
+ begin
+ File.rename old_theme_directory, moved_directory
+ rescue Errno::ENOTEMPTY, Errno::EEXIST
+ raise "Tried to move #{old_theme_directory} out of the way, " \
+ "but #{moved_directory} already existed"
+ end
+ end
+
+ def committishes_to_try
+ result = []
+ theme_branch = AlaveteliConfiguration::theme_branch
+ result.push "origin/#{theme_branch}" if theme_branch
+ result.push usage_tag(ALAVETELI_VERSION)
+ hotfix_match = /^(\d+\.\d+\.\d+)(\.\d+)+/.match(ALAVETELI_VERSION)
+ result.push usage_tag(hotfix_match[1]) if hotfix_match
+ result
+ end
+
+ def checkout_best_option(theme_name)
+ theme_directory = theme_dir theme_name
+ all_failed = true
+ committishes_to_try.each do |committish|
+ if Git.committish_exists? theme_directory, committish
+ puts "Checking out #{committish}" if verbose
+ Git.checkout theme_directory, committish
+ all_failed = false
+ break
+ else
+ puts "Failed to find #{committish}; skipping..." if verbose
+ end
+ end
+ puts "Falling to using HEAD instead" if all_failed and verbose
end
def install_theme(theme_url, verbose, deprecated=false)
+ FileUtils.mkdir_p all_themes_dir
deprecation_string = deprecated ? " using deprecated THEME_URL" : ""
theme_name = theme_url_to_theme_name theme_url
puts "Installing theme #{theme_name}#{deprecation_string} from #{theme_url}"
+ # Make sure any uninstall hooks have been run:
uninstall(theme_name, verbose) if installed?(theme_name)
- install_theme_using_git(theme_name, theme_url, verbose)
+ theme_directory = theme_dir theme_name
+ # Is there an old-style theme directory there? If so, move it
+ # out of the way so that there's no risk that work is lost:
+ if File.directory? theme_directory
+ unless Git.non_bare_repository? theme_directory
+ move_old_theme theme_directory
+ end
+ end
+ # If there isn't a directory there already, clone it into place:
+ unless File.directory? theme_directory
+ unless system "git", "clone", theme_url, theme_directory
+ raise "Cloning from #{theme_url} to #{theme_directory} failed"
+ end
+ end
+ # Set the URL for origin in case it has changed, and fetch from there:
+ Git.remote_set_url theme_directory, 'origin', theme_url
+ Git.fetch theme_directory, 'origin'
+ # Check that checking-out a new commit will be safe:
+ unless Git.status_clean theme_directory
+ raise "There were uncommitted changes in #{theme_directory}"
+ end
+ unless Git.is_HEAD_pushed? theme_directory
+ raise "The current work in #{theme_directory} is unpushed"
+ end
+ # Now try to checkout various commits in order of preference:
+ checkout_best_option theme_name
+ # Finally run the install hooks:
run_hook(theme_name, 'install', verbose)
run_hook(theme_name, 'post_install', verbose)
end
@@ -102,4 +131,5 @@ namespace :themes do
install_theme(AlaveteliConfiguration::theme_url, verbose, deprecated=true)
end
end
+
end
diff --git a/lib/world_foi_websites.rb b/lib/world_foi_websites.rb
index c3f3655df..50976c897 100644
--- a/lib/world_foi_websites.rb
+++ b/lib/world_foi_websites.rb
@@ -53,7 +53,20 @@ class WorldFOIWebsites
{:name => "Informace pro Vsechny",
:country_name => "Česká republika",
:country_iso_code => "CZ",
- :url => "http://www.infoprovsechny.cz"}
+ :url => "http://www.infoprovsechny.cz"},
+ {:name => "¿Qué Sabés?",
+ :country_name => "Uruguay",
+ :country_iso_code => "UY",
+ :url => "http://www.quesabes.org/"},
+ {:name => "Nu Vă Supărați",
+ :country_name => "România",
+ :country_iso_code => "RO",
+ :url => "http://nuvasuparati.info/"},
+ {:name => "Marsoum41",
+ :country_name => "تونس",
+ :country_iso_code => "TN",
+ :url => "http://www.marsoum41.org"}
+
]
return world_foi_websites
end
diff --git a/locale/aln/app.po b/locale/aln/app.po
index 1acd58a2a..64a58424c 100644
--- a/locale/aln/app.po
+++ b/locale/aln/app.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Albanian Gheg (http://www.transifex.com/projects/p/alaveteli/language/aln/)\n"
"Language: aln\n"
diff --git a/locale/ar/app.po b/locale/ar/app.po
index 6b0725bcb..ad5adf8e8 100644
--- a/locale/ar/app.po
+++ b/locale/ar/app.po
@@ -15,7 +15,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/alaveteli/language/ar/)\n"
"Language: ar\n"
diff --git a/locale/bg/app.po b/locale/bg/app.po
index f42e6e10c..5779fe21d 100644
--- a/locale/bg/app.po
+++ b/locale/bg/app.po
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 14:16+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: Valentin Laskov <laskov@festa.bg>\n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/alaveteli/language/bg/)\n"
"Language: bg\n"
diff --git a/locale/bs/app.po b/locale/bs/app.po
index 0a4aeb082..014331a5f 100644
--- a/locale/bs/app.po
+++ b/locale/bs/app.po
@@ -14,7 +14,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Bosnian (http://www.transifex.com/projects/p/alaveteli/language/bs/)\n"
"Language: bs\n"
diff --git a/locale/ca/app.po b/locale/ca/app.po
index 9937760da..2b37d5b21 100644
--- a/locale/ca/app.po
+++ b/locale/ca/app.po
@@ -13,7 +13,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/alaveteli/language/ca/)\n"
"Language: ca\n"
diff --git a/locale/cs/app.po b/locale/cs/app.po
index 404a4b07f..74d4e4544 100644
--- a/locale/cs/app.po
+++ b/locale/cs/app.po
@@ -20,7 +20,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/alaveteli/language/cs/)\n"
"Language: cs\n"
diff --git a/locale/cy/app.po b/locale/cy/app.po
index fe51e253d..7ff2f3d48 100644
--- a/locale/cy/app.po
+++ b/locale/cy/app.po
@@ -20,7 +20,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-13 23:56+0000\n"
+"PO-Revision-Date: 2013-12-05 23:40+0000\n"
"Last-Translator: Hywel <hywelm.jones@talk21.com>\n"
"Language-Team: Welsh (http://www.transifex.com/projects/p/alaveteli/language/cy/)\n"
"Language: cy\n"
@@ -60,7 +60,7 @@ msgid " Advise on how to <strong>best clarify</strong> the request."
msgstr " Rhoi cyngor ar sut <strong>orau i egluro</strong> y cais."
msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
-msgstr " Syniadau ar ba <strong>ddogfennau eraill i ofyn amdanynt</strong> y gall yr awdurdod fod yn eu cadw. "
+msgstr " Syniadau ar ba <strong>ddogfennau eraill i ofyn amdanynt</strong> y gall yr awdurdod fod yn eu cadw. "
msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
msgstr " Os ydych yn gwybod pa gyfeiriad i'w ddefnyddio, yna os gwelwch yn dda <a href=\"{{url}}\">anfonwch ef atom</a>. Efallai y byddwch yn gallu dod o hyd i'r cyfeiriad ar eu gwefan, neu drwy eu ffonio nhw a gofyn."
@@ -150,13 +150,13 @@ msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <
msgstr "<p>Diolch yn fawr! Dyma rai syniadau ar beth i'w wneud nesaf:</p><ul><li>I anfon eich cais i awdurdod arall, yn gyntaf copiwch destun eich cais isod, yna <a href=\"{{find_authority_url}}\">dewch o hyd i'r awdurdod arall</a>.</li><li>Os hoffech herio honiad yr awdurdod nad ydynt yn dal y wybodaeth, dyma <a href=\"{{complain_url}}\">sut i gwyno</a>.</li><li>Mae gennym <a href=\"{{other_means_url}}\">awgrymiadau</a> ar ddulliau eraill i ateb eich cwestiwn.</li></ul>"
msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
-msgstr "<p>Diolch yn fawr! Gobeithio na fydd yn rhaid i chi aros lawer yn hwy.</p> <p>Yn ôl y gyfraith, dylech fod wedi cael ymateb yn ddi-oed, ac fel arfer cyn diwedd <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>Diolch yn fawr! Gobeithio na fydd yn rhaid i chi aros lawer yn hwy.</p> <p>Yn ôl y gyfraith, dylech fod wedi cael ymateb yn ddi-oed, ac fel arfer cyn diwedd <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
msgstr "<p>Diolch yn fawr! Gobeithio na fydd rhaid i chi aros yn rhy hir. Yn ôl y gyfraith, dylech gael ymateb yn brydlon, ac fel arfer cyn diwedd <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
-msgstr "<p>Diolch yn fawr! Gobeithio na fydd yn rhaid i chi aros yn rhy hir.</p><p>Dylech gael ymateb o fewn {{late_number_of_days}} diwrnod, neu yn cael gwybod os bydd yn cymryd mwy o amser (<a href=\"{{review_url}}\">manylion</a>).</p>"
+msgstr "<p>Diolch yn fawr! Gobeithio na fydd yn rhaid i chi aros yn rhy hir.</p><p>Dylech gael ymateb o fewn {{late_number_of_days}} diwrnod, neu yn cael gwybod os bydd yn cymryd mwy o amser (<a href=\"{{review_url}}\">manylion</a>).</p>"
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
msgstr "<p>Diolch yn fawr! Mae eich cais yn ddyledus ers tro, gan ei fod fwy na {{very_late_number_of_days}} diwrnod gwaith yn hwyr. Dylai'r rhan fwyaf o geisiadau gael eu hateb o fewn {{late_number_of_days}} diwrnod gwaith. Efallai yr hoffech chi gwyno am hyn, gweler isod.</p>"
@@ -192,7 +192,7 @@ msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly
msgstr "<p>Mae'ch cais yn cynnwys <strong>cod post</strong>. Oni bai ei fod o'n ymwneud yn uniongyrchol â'r cais, dilewch unrhyw gyfeiriad os gwelwch yn dda, oherwydd y bydd yn <strong>ymddangos yn gyhoeddus ar y Rhyngrwyd</strong>.</p>"
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
-msgstr "<p>Mae eich cais {{law_used_full}} wedi cael ei <strong>anfon</strong>!</p> <strong><p>Byddwn yn eich e-bostio</strong> pan fydd ymateb , neu ar ôl {{late_number_of_days}} diwrnod gwaith os yw'r awdurdod yn dal heb ateb erbyn hynny.</p> <p>Os ydych yn ysgrifennu am y cais hwn (er enghraifft, mewn fforwm neu flog) rhowch ddolen at y dudalen hon, ac ychwanegwch anodiad isod i ddweud wrth bobl am eich ysgrifennu.</p>"
+msgstr "<p>Mae eich cais {{law_used_full}} wedi cael ei <strong>anfon</strong>!</p> <strong><p>Byddwn yn eich e-bostio</strong> pan fydd ymateb , neu ar ôl {{late_number_of_days}} diwrnod gwaith os yw'r awdurdod yn dal heb ateb erbyn hynny.</p> <p>Os ydych yn ysgrifennu am y cais hwn (er enghraifft, mewn fforwm neu flog) rhowch ddolen at y dudalen hon, ac ychwanegwch anodiad isod i ddweud wrth bobl am eich ysgrifennu.</p>"
msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
msgstr "<p>Mae {{site_name}} ar hyn o bryd yn cael ei chynnal a chadw. Gweld y ceisiadau presennol yn unig y gallwch. Ni allwch wneud rhai newydd, ychwanegu straenon dilynol neu anodiadau, neu newid y gronfa ddata mewn ffordd arall.</p> <p>{{read_only}}</p>"
@@ -213,7 +213,7 @@ msgid "<strong><code>request:</code></strong> to restrict to a specific request,
msgstr "<strong><code>cais:</code></strong> i gyfyngu i gais penodol, teipiwch y teitl fel yn yr URL."
msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
-msgstr "<strong><code>requested_by: julian_todd</code></strong> i chwilio ceisiadau a wnaed gan Julian Todd, deipio yr enw fel yn yr URL."
+msgstr "<strong><code>requested_by: julian_todd</code></strong> i chwilio ceisiadau a wnaed gan Julian Todd, teipiwch yr enw fel yn yr URL."
msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
msgstr "<strong><code>requested_from: home_office</code></strong> i chwilio ceisiadau gan y Swyddfa Gartref, teipiwch yr enw fel yn yr URL."
@@ -237,7 +237,7 @@ msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
msgstr "<strong>Unrhywbeth arall</strong>, megis egluro, annog, diolch"
msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
-msgstr "<strong>Caveat Emptor!</strong> Er mwyn defnyddio'r data hwn mewn ffordd anrhydeddus, bydd angen i chi \\ n gwybodaeth fewnol dda o ymddygiad defnyddwyr ar {{site_name}}. Nid yw sut, pam a chan bwy y bydd ceisiadau yn cael eu categoreiddio yn syml, a bydd gwall defnyddiwr ac amwysedd. Bydd angen i chi hefyd ddeall cyfraith Rhyddid Gwybodaeth, a sut y mae awdurdodau yn ei defnyddio. Yn ogystal bydd angen i chi fod yn ystadegydd prin. <a href=\"{{contact_path}}\">Cysylltwch â ni</a> gyda chwestiynau."
+msgstr "<strong>Caveat Emptor!</strong> Er mwyn defnyddio'r data hwn mewn ffordd anrhydeddus, bydd angen gwybodaeth fewnol dda o ymddygiad defnyddwyr ar {{site_name}}. Nid yw sut, pam a chan bwy y bydd ceisiadau yn cael eu categoreiddio yn syml, a bydd gwallau defnyddiwr ac amwysedd. Bydd angen i chi hefyd ddeall cyfraith Rhyddid Gwybodaeth, a sut y mae awdurdodau yn ei defnyddio. Yn ogystal bydd angen i chi fod yn ystadegydd prin. <a href=\"{{contact_path}}\">Cysylltwch â ni</a> gyda chwestiynau."
msgid "<strong>Clarification</strong> has been requested"
msgstr "Ceisiwyd <strong>eglurhad</strong>"
@@ -249,19 +249,19 @@ msgid "<strong>Note:</strong> Because we're testing, requests are being sent to
msgstr "<strong>Nodyn:</strong> Oherwydd ein bod yn profi, mae ceisiadau yn cael eu hanfon at {{email}} yn hytrach nag at yr awdurdod ei hun."
msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
-msgstr "<strong>Nodyn:</strong> Rydych yn anfon neges i chi eich hun, yn ôl pob tebyg i roi cynnig ar sut mae'n gweithio."
+msgstr "<strong>Nodyn:</strong> Rydych yn anfon neges i chi eich hun, yn ôl pob tebyg i roi cynnig ar sut mae'n gweithio."
msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
-msgstr "<strong>Nodyn:</strong> Byddwn yn anfon e-bost at eich cyfeiriad e-bost newydd. Dilynwch y cyfarwyddiadau ynddo i gadarnhau newid eich e-bost."
+msgstr "<strong>Nodyn:</strong> Byddwn yn anfon e-bost at eich cyfeiriad e-bost newydd. Dilynwch y cyfarwyddiadau ynddo i gadarnhau newid eich e-bost."
msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
-msgstr "<strong>Nodyn Preifatrwydd:</strong> Os ydych am wneud cais am wybodaeth breifat amdanoch eich hun, yna <a href=\"{{url}}\">cliciwch yma</a>."
+msgstr "<strong>Nodyn Preifatrwydd:</strong> Os ydych am wneud cais am wybodaeth breifat amdanoch eich hun, yna <a href=\"{{url}}\">cliciwch yma</a>."
msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
-msgstr "<strong>Nodyn Preifatrwydd:</strong> Bydd eich llun yn cael ei ddangos yn gyhoeddus ar y Rhyngrwyd, lle bynnag y byddwch yn gwneud rhywbeth ar {{site_name}}."
+msgstr "<strong>Nodyn Preifatrwydd:</strong> Bydd eich llun yn cael ei ddangos yn gyhoeddus ar y Rhyngrwyd, lle bynnag y byddwch yn gwneud rhywbeth ar {{site_name}}."
msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
-msgstr "<strong>Rhybudd preifatrwydd:</strong> Bydd eich neges, ac unrhyw ymateb iddo, yn cael ei harddangos yn gyhoeddus ar y wefan hon."
+msgstr "<strong>Rhybudd preifatrwydd:</strong> Bydd eich neges, ac unrhyw ymateb iddo, yn cael ei harddangos yn gyhoeddus ar y wefan hon."
msgid "<strong>Some of the information</strong> has been sent "
msgstr "<strong>Anfonwyd rhan o'r wybodaeth</strong>"
@@ -288,7 +288,7 @@ msgid "A full history of my FOI request and all correspondence is available on t
msgstr "Mae hanes llawn fy nghais Rhyddid Gwybodaeth a'r holl ohebiaeth ar gael ar y Rhyngrwyd yn y cyfeiriad hwn: {{url}}"
msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr "Anfonwyd cais newydd, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, anfon i {{public_body_name}} gan {{info_request_user}} ar {{date}}."
+msgstr "Anfonwyd cais newydd, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, anfon i {{public_body_name}} gan {{info_request_user}} ar {{date}}."
msgid "A public authority"
msgstr "Awdurdod cyhoeddus"
@@ -297,7 +297,7 @@ msgid "A response will be sent <strong>by post</strong>"
msgstr "Bydd ymateb yn cael ei anfon <strong>drwy'r post</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
-msgstr "Ymateb rhyfedd, yr oedd angen sylw arno gan dîm {{site_name}} "
+msgstr "Ymateb rhyfedd, yr oedd angen sylw arno gan dîm {{site_name}} "
msgid "A vexatious request"
msgstr "Cais blinderus"
@@ -411,7 +411,7 @@ msgid "Ask for <strong>specific</strong> documents or information, this site is
msgstr "Gofynnwch am ddogfennau neu wybodaeth <strong>benodol</strong>. Nid yw'r wefan hon yn addas ar gyfer ymholiadau cyffredinol."
msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
-msgstr "Ar waelod y dudalen hon, ysgrifennwch ateb iddynt i geisio eu perswadio i'w sganio (<a href=\"{{url}}\">mwy o fanylion</a>)."
+msgstr "Ar waelod y dudalen hon, ysgrifennwch ateb iddynt i geisio eu perswadio i'w sganio (<a href=\"{{url}}\">mwy o fanylion</a>)."
msgid "Attachment (optional):"
msgstr "Atodiad (dewisol)"
@@ -444,7 +444,7 @@ msgid "By law, under all circumstances, {{public_body_link}} should have respond
msgstr "Yn ôl y gyfraith, ym mhob amgylchiad, dylai {{public_body_link}} fod wedi ymateb erbyn hyn."
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
-msgstr "Yn ôl y gyfraith, dylai {{public_body_link}} fel arfer wedi ymateb <strong>yn brydlon</strong> a"
+msgstr "Yn ôl y gyfraith, dylai {{public_body_link}} fel arfer wedi ymateb <strong>yn brydlon</strong> a"
msgid "Calculated home page"
msgstr "Hafan wedi ei chyfrifo"
@@ -531,7 +531,7 @@ msgid "Clear photo"
msgstr "Gwaredwch y ffoto"
msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
-msgstr "Cliciwch ar y ddolen isod i anfon neges at {{public_body_name}} i ddweud wrthynt i ymateb i'ch cais. Efallai yr hoffech chi ofyn am adolygiad mewnol, gan ofyn iddynt i gael gwybod pam ymateb i'r cais wedi bod mor araf."
+msgstr "Cliciwch ar y ddolen isod i anfon neges at {{public_body_name}} i ddweud wrthynt i ymateb i'ch cais. Efallai yr hoffech chi ofyn am adolygiad mewnol, gan ofyn iddynt i gael gwybod pam ymateb i'r cais wedi bod mor araf."
msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
msgstr "Cliciwch ar y ddolen isod i anfon neges at {{public_body}} i'w atgoffa i ymateb i'ch cais."
@@ -726,7 +726,7 @@ msgid "Everything that you enter on this page, including <strong>your name</stro
msgstr "Dangosir popeth yr ydych yn rhoi i mewn ar y dudalen hon, gan gynnwys <strong>eich enw</strong>, <strong>yn gyhoeddus</strong> ar y wefan hon am byth (<a href =\"{{url}}\">pam?</a>)."
msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
-msgstr "Dangosir popeth yr ydych yn rhoi i mewn ar y dudalen hon <strong>yn gyhoeddus</strong> ar y wefan hon am byth (<a href=\"{{url}}\">pam?</a>) ."
+msgstr "Dangosir popeth yr ydych yn rhoi i mewn ar y dudalen hon <strong>yn gyhoeddus</strong> ar y wefan hon am byth (<a href=\"{{url}}\">pam?</a>) ."
msgid "FOI"
msgstr "Rhyddid Gwybodaeth"
@@ -747,7 +747,7 @@ msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Ceisiadau Rhyddid Gwybodaeth {{start_count}} i {{end_count}} o {{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
-msgstr "Mae ar Ymateb Rhyddid Gwybodaeth angen gweinyddu ({{reason}}) - {{title}}"
+msgstr "Mae ar Ymateb Rhyddid Gwybodaeth angen gweinyddu ({{reason}}) - {{title}}"
msgid "Failed to convert image to a PNG"
msgstr "Methu trosi delwedd i PNG"
@@ -837,7 +837,7 @@ msgstr "Anfonir negeseuon dilynol i geisiadau presennol at "
#. messages sent by the requester to the authority after
#. the initial request
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
-msgstr "Rhwystrwyd dilyniannau ac ymatebion newydd i'r cais hwn i atal spam. <a href=\"{{url}}\">Cysylltwch â ni</a> os ydych yn {{user_link}} ac mae angen anfon neges ddilynol."
+msgstr "Rhwystrwyd dilyniannau ac ymatebion newydd i'r cais hwn i atal spam. <a href=\"{{url}}\">Cysylltwch â ni</a> os ydych yn {{user_link}} ac mae angen anfon neges ddilynol."
msgid "Follow us on twitter"
msgstr "Dilynwch ni ar Twitter"
@@ -925,13 +925,13 @@ msgid "Help"
msgstr "Help"
msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
-msgstr "Yma mae <strong>wedi ei ddisgrifio</strong> yn golygu pan fydd defnyddiwr yn dewis statws ar gyfer y cais, a statws y digwyddiad mwyaf diweddar wedi ei diweddaru statws i'r gwerth hwnnw. Wedyn mae <strong>wedi'i gyfrifo</strong> yn cael ei dybio gan {{site_name}} ar gyfer digwyddiadau canolradd, na chawsant ddisgrifiad penodol gan ddefnyddiwr. Gweler <a href=\"{{search_path}}\">awgrymiadau chwilio</a> am ddisgrifiad o'r cyflyrau."
+msgstr "Yma mae <strong>wedi ei ddisgrifio</strong> yn golygu pan fydd defnyddiwr yn dewis statws ar gyfer y cais, a statws y digwyddiad mwyaf diweddar wedi ei diweddaru statws i'r gwerth hwnnw. Wedyn mae <strong>wedi'i gyfrifo</strong> yn cael ei dybio gan {{site_name}} ar gyfer digwyddiadau canolradd, na chawsant ddisgrifiad penodol gan ddefnyddiwr. Gweler <a href=\"{{search_path}}\">awgrymiadau chwilio</a> am ddisgrifiad o'r cyflyrau."
msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
msgstr "Dyma'r neges ysgrifennoch, rhag ofn yr hoffech gopïo'r testun a'i gadw ar gyfer yn ddiweddarach."
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
-msgstr "Hiya! Rydym angen eich help. Dydy]r person a wnaeth y cais canlynol sydd ddim wedi dweud wrthym ai oedd yn llwyddiannus. A fyddech chi'n meddwl cymryd eiliad i'w ddarllen a'n helpu ni i gadw'r lle'n daclus i bawb? Diolch."
+msgstr "Hiya! Rydym angen eich help. Dydy'r person a wnaeth y cais canlynol sydd ddim wedi dweud wrthym ai oedd yn llwyddiannus. A fyddech chi'n meddwl cymryd eiliad i'w ddarllen a'n helpu ni i gadw'r lle'n daclus i bawb? Diolch."
msgid "Hide request"
msgstr "Cuddio cais"
@@ -1390,7 +1390,7 @@ msgid "No tracked things found."
msgstr "Dim wedi dod o hyd i bethau wedi eu tracio."
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
-msgstr "Nid oes neb wedi gwneud unrhyw geisiadau Rhyddid Gwybodaeth i {{public_body_name}} gan ddefnyddio'r safle hwn eto."
+msgstr "Nid oes neb wedi gwneud unrhyw geisiadau Rhyddid Gwybodaeth i {{public_body_name}} drwy ddefnyddio'r wefan hon eto."
msgid "None found."
msgstr "Heb ganfod yr un."
@@ -1402,7 +1402,7 @@ msgid "Not a valid FOI request"
msgstr "Ddim yn gais Rhyddid Gwybodaeth dilys"
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
-msgstr "Noder na fydd y ceisydd yn cael gwybod am eich anodi, oherwydd i'r cais gael ei gyhoeddi gan {{public_body_name}} ar eu rhan."
+msgstr "Noder na fydd y ceisydd yn cael gwybod am eich anodi, oherwydd i'r cais gael ei gyhoeddi gan {{public_body_name}} ar eu rhan."
msgid "Now check your email!"
msgstr "Nawr sieciwch eich ebost!"
@@ -1459,7 +1459,7 @@ msgid "Only the authority can reply to this request, and I don't recognise the a
msgstr "Dim ond yr awdurdod a all ymateb i'r cais hwn, ac nid wyf yn adnabod y cyfeiriad o ble yr anfonwyd yr ateb hwn."
msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
-msgstr "Dim ond yr awdurdod a all ymateb i'r cais hwn, ond nid oes cyfeiriad \"O\" i wirio yn ei erbyn"
+msgstr "Dim ond yr awdurdod a all ymateb i'r cais hwn, ond nid oes cyfeiriad \"O\" i wirio yn ei erbyn"
msgid "Or search in their website for this information."
msgstr "Neu chwilio yn eu gwefan am y wybodaeth hon."
@@ -2002,815 +2002,815 @@ msgid "Search in"
msgstr "Chwilio mewn"
msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
-msgstr ""
+msgstr "Chwilio dros <strong>{{number_of_requests}} cais</strong> a <strong>{{number_of_authorities}} awdurdod</strong>"
msgid "Search queries"
-msgstr ""
+msgstr "Chwilio ymholiadau "
msgid "Search results"
-msgstr ""
+msgstr "Chwilio canlyniadau"
msgid "Search the site to find what you were looking for."
-msgstr ""
+msgstr "Chwilio'r safle i ddod o hyd i'r hyn roeddech yn chwilio amdano."
msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Chwilio o fewn y {{count}} cais Rhyddid Gwybodaeth a wnaed i {{public_body_name}} "
+msgstr[1] "Chwilio o fewn y {{count}} cais Rhyddid Gwybodaeth a wnaed i {{public_body_name}} "
+msgstr[2] "Chwilio o fewn y {{count}} cais Rhyddid Gwybodaeth a wnaed i {{public_body_name}} "
+msgstr[3] "Chwilio o fewn y {{count}} cais Rhyddid Gwybodaeth a wnaed i {{public_body_name}} "
msgid "Search your contributions"
-msgstr ""
+msgstr "Chwilio eich cyfraniadau"
msgid "See bounce message"
-msgstr ""
+msgstr "Gweler neges bownsio"
msgid "Select one to see more information about the authority."
-msgstr ""
+msgstr "Dewiswch un i weld rhagor o wybodaeth am yr awdurdod."
msgid "Select the authority to write to"
-msgstr ""
+msgstr "Dewiswch yr awdurdod i ysgrifennu ato"
msgid "Send a followup"
-msgstr ""
+msgstr "Anfon neges ddilynol"
msgid "Send a message to "
-msgstr ""
+msgstr "Anfonwch neges i "
msgid "Send a public follow up message to {{person_or_body}}"
-msgstr ""
+msgstr "Anfonwch neges gyhoeddus ddilynol i {{person_or_body}} "
msgid "Send a public reply to {{person_or_body}}"
-msgstr ""
+msgstr "Anfon ateb cyhoeddus i {{person_or_body}} "
msgid "Send follow up to '{{title}}'"
-msgstr ""
+msgstr "Anfonwch neges ddilynol i '{{title}}'"
msgid "Send message"
msgstr "Anfon neges"
msgid "Send message to "
-msgstr "Anfon neges at"
+msgstr "Anfon neges i"
msgid "Send request"
msgstr "Anfon cais"
msgid "Set your profile photo"
-msgstr ""
+msgstr "Gosodwch lun eich proffil"
msgid "Short name"
-msgstr ""
+msgstr "Enw byr"
msgid "Short name is already taken"
-msgstr ""
+msgstr "Mae'r enw byr hwnnw wedi'i ddefnyddio'n barod"
msgid "Show most relevant results first"
-msgstr ""
+msgstr "Dangoswch y canlyniadau mwyaf perthnasol yn gyntaf"
msgid "Show only..."
-msgstr ""
+msgstr "Dangos yn unig ..."
msgid "Showing"
-msgstr ""
+msgstr "Yn dangos"
msgid "Sign in"
msgstr "Mewngofnodi"
msgid "Sign in or make a new account"
-msgstr "Mewngofnodi neu gofrestru"
+msgstr "Mewngofnodi neu agor cyfrif newydd"
msgid "Sign in or sign up"
-msgstr "Mewngofnodi neu gofrestru"
+msgstr "Mewngofnodwch neu gofrestrwch"
msgid "Sign out"
-msgstr ""
+msgstr "Allgofnodwch"
msgid "Sign up"
msgstr "Cofrestrwch"
msgid "Similar requests"
-msgstr ""
+msgstr "Ceisiadau tebyg"
msgid "Simple search"
-msgstr ""
+msgstr "Chwiliad syml"
msgid "Some notes have been added to your FOI request - "
-msgstr ""
+msgstr "Mae rhai nodiadau wedi cael eu hychwanegu at eich cais Rhyddid Gwybodaeth - "
msgid "Some of the information requested has been received"
-msgstr ""
+msgstr "Mae peth o'r wybodaeth y gwnaed cais amdani wedi ei dderbyn."
msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
-msgstr ""
+msgstr "Nid yw rhai pobl sydd wedi gwneud ceisiadau wedi rhoi gwybod i ni a oeddynt yn llwyddiannus ai peidio. Mae angen <strong>eich</strong> help - dewisiwch un o'r ceisiadau hyn, ei ddarllen, a gadael i bawb wybod a yw'r wybodaeth wedi cael ei darparu. Bydd pawb yn eithriadol o ddiolchgar."
msgid "Somebody added a note to your FOI request - "
-msgstr ""
+msgstr "Ychwanegodd rhywun nodyn at eich cais Rhyddid Gwybodaeth - "
msgid "Someone has updated the status of your request"
-msgstr ""
+msgstr "Mae rhywun wedi diweddaru statws eich cais"
msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
-msgstr ""
+msgstr "Mae rhywun, efallai chi, newydd geisio newid eu cyfeiriad e-bost ar {{site_name}} o {{old_email}} i {{new_email}}."
msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
-msgstr ""
+msgstr "Mae'n ddrwg gennym - ni allwch ymateb i'r cais hwn trwy {{site_name}}, gan fod hwn yn gopi o'r cais a oedd yn wreiddiol yn {{link_to_original_request}} ."
msgid "Sorry, but only {{user_name}} is allowed to do that."
-msgstr ""
+msgstr "Mae'n ddrwg gennym, ond dim ond {{user_name}} sy'n cael gwneud hynny."
msgid "Sorry, there was a problem processing this page"
-msgstr ""
+msgstr "Mae'n ddrwg gennym, roedd problem wrth brosesu'r dudalen hon"
msgid "Sorry, we couldn't find that page"
-msgstr ""
+msgstr "Mae'n ddrwg gennym, ni allem ddod o hyd i'r dudalen honno"
msgid "Special note for this authority!"
-msgstr ""
+msgstr "Nodyn arbennig ar gyfer yr awdurdod hwn!"
msgid "Start now &raquo;"
-msgstr ""
+msgstr "Dechrau nawr &raquo"
msgid "Start your own blog"
-msgstr ""
+msgstr "Dechreuwch eich blog eich hun"
msgid "Stay up to date"
-msgstr ""
+msgstr "Parha yn gyfoes"
msgid "Still awaiting an <strong>internal review</strong>"
-msgstr ""
+msgstr "Dal i ddisgwyl am <strong>adolygiad mewnol</strong>"
msgid "Subject"
-msgstr ""
+msgstr "Pwnc"
msgid "Subject:"
-msgstr ""
+msgstr "Pwnc:"
msgid "Submit"
-msgstr ""
+msgstr "Cyflwyno"
msgid "Submit status"
-msgstr ""
+msgstr "Cyflwyno statws"
msgid "Submit status and send message"
-msgstr ""
+msgstr "Cyflwyno statws ac anfon neges"
msgid "Subscribe to blog"
-msgstr ""
+msgstr "Tanysgrifio i flog"
msgid "Successful Freedom of Information requests"
-msgstr ""
+msgstr "Ceisiadau Rhyddid Gwybodaeth llwyddiannus"
msgid "Successful."
-msgstr ""
+msgstr "Llwyddiannus."
msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
-msgstr ""
+msgstr "Awgrymwch sut y gall y ceisydd ddod o hyd i <strong>weddill y wybodaeth </strong>."
msgid "Summary:"
msgstr "Crynodeb:"
msgid "Table of statuses"
-msgstr ""
+msgstr "Tabl o statws"
msgid "Table of varieties"
-msgstr ""
+msgstr "Tabl o fathau"
msgid "Tags"
-msgstr ""
+msgstr "Tagiau"
msgid "Tags (separated by a space):"
-msgstr ""
+msgstr "Tagiau (wedi eu gwahanu gan fwlch):"
msgid "Tags:"
-msgstr ""
+msgstr "Tagiau:"
msgid "Technical details"
-msgstr ""
+msgstr "Manylion technegol"
msgid "Thank you for helping us keep the site tidy!"
-msgstr ""
+msgstr "Diolch i chi am ein helpu ni i gadw'r safle'n daclus!"
msgid "Thank you for making an annotation!"
-msgstr ""
+msgstr "Diolch i chi am wneud anodiad!"
msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
-msgstr ""
+msgstr "Diolch i chi am ymateb i'r cais Rhyddid Gwybodaeth hwn! Mae eich ymateb wedi ei gyhoeddi isod, a dolen at eich ymateb wedi cael ei e-bostio at "
msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
-msgstr ""
+msgstr "Diolch i chi am ddiweddaru statws y cais '<a href=\"{{url}}\">{{info_request_title}}</a>'. Mae ychydig yn rhagor o geisiadau isod i chi eu dosbarthu."
msgid "Thank you for updating this request!"
-msgstr ""
+msgstr "Diolch i chi am ddiweddaru'r cais hwn!"
msgid "Thank you for updating your profile photo"
-msgstr ""
+msgstr "Diolch i chi am ddiweddaru llun eich proffil"
msgid "Thank you! We'll look into what happened and try and fix it up."
-msgstr ""
+msgstr "Diolch yn fawr! Byddwn yn ymchwilio i beth ddigwyddodd ac yn ceisio ei drwsio."
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
-msgstr ""
+msgstr "Diolch am helpu - bydd eich gwaith yn ei wneud yn haws i bawb ddod o hyd i geisiadau llwyddiannus, ac efallai hyd yn oed yn gadael i ni lunio tablau cynghrair ..."
msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
-msgstr ""
+msgstr "Diolch yn fawr iawn - bydd hyn yn helpu eraill i ddod o hyd i bethau defnyddiol. Byddwn hefyd, os bydd ei angen arnoch, yn rhoi cyngor ar beth i'w wneud nesaf am eich ceisiadau."
msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
-msgstr ""
+msgstr "Diolch yn fawr am helpu i gadw popeth<strong>yn daclus a threfnus</strong>. Byddwn hefyd, os bydd ei angen arnoch, yn rhoi cyngor ar beth i'w wneud nesaf am bob un o'ch ceisiadau."
msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
-msgstr ""
+msgstr "Nid yw hynny'n edrych fel cyfeiriad e-bost dilys. Gwiriwch eich bod wedi ei deipio'n gywir."
msgid "The <strong>review has finished</strong> and overall:"
-msgstr ""
+msgstr "Mae'r <strong>adolygiad wedi gorffen</ strong> ac yn gyffredinol:"
msgid "The Freedom of Information Act <strong>does not apply</strong> to"
-msgstr ""
+msgstr "<strong>Nid</strong> yw'r Ddeddf Rhyddid Gwybodaeth yn gymwys i"
msgid "The accounts have been left as they previously were."
-msgstr ""
+msgstr "Mae'r cyfrifon wedi cael eu gadael fel yr oeddent o'r blaen."
msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
-msgstr ""
+msgstr "<strong>Nid</strong> yw'r wybodaeth gan yr awdurdod<small>(efallai eu bod yn dweud pwy gan bwy y mae)"
msgid "The authority only has a <strong>paper copy</strong> of the information."
-msgstr ""
+msgstr "Dim ond <strong>copi papur</strong> o'r wybodaeth sydd gan yr awdurdod."
msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
-msgstr ""
+msgstr "Mae'r awdurdod yn dweud bod <strong>angen cyfeiriad post</strong>, nid dim ond e-bost, er mwyn iddo fod yn gais Rhyddid Gwybodaeth dilys"
msgid "The authority would like to / has <strong>responded by post</strong> to this request."
-msgstr ""
+msgstr "Byddai'r awdurdod yn hoffi / wedi ymateb <strong> drwy'r post</strong> i'r cais hwn."
msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
-msgstr ""
+msgstr "Mae dosbarthiad y ceisiadau (ee i ddweud a oeddent yn llwyddiannus neu beidio) yn cael ei wneud â llaw gan ddefnyddwyr a gweinyddwyr y safle, sy'n golygu eu bod yn agored i gamgymeriadau."
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
-msgstr ""
+msgstr "Nid yw'r e-bost anfonoch, ar ran {{public_body}}, at {{user}} i ymateb i gais {{law_used_short}} wedi cael ei gyflwyno."
msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
-msgstr ""
+msgstr "Mae'r bariau gwall a ddangosir yn gyfyngau hyder 95% ar gyfer y gyfran sylfaenol damcaniaethol (h.y. un y byddech chi'n cael drwy wneud nifer anfeidrol o geisiadau drwy'r safle hwn i'r awdurdod hwnnw). Mewn geiriau eraill, holl geisiadau presennol ac yn y dyfodol i'r awdurdod drwy'r safle hwn yw'r boblogaeth sy'n cael ei samplo, yn hytrach na, dyweder, yr holl geisiadau sydd wedi cael eu gwneud i'r corff cyhoeddus mewn unrhyw fodd."
msgid "The page doesn't exist. Things you can try now:"
-msgstr ""
+msgstr "Nid yw'r dudalen yn bodoli. Pethau y gallwch roi cynnig arnynt yn awr:"
msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
-msgstr ""
+msgstr "Mae'r canrannau yn cael eu cyfrifo mewn perthynas â chyfanswm nifer y ceisiadau, sy'n cynnwys ceisiadau annilys; mae hyn yn broblem hysbys a fydd yn cael ei gywiro pan caiff fersiwn ddiweddarach ei rhyddhau."
msgid "The public authority does not have the information requested"
-msgstr ""
+msgstr "Nid oes gan yr awdurdod cyhoeddus y wybodaeth y gofynnwyd amdani"
msgid "The public authority would like part of the request explained"
-msgstr ""
+msgstr "Byddai'r awdurdod cyhoeddus yn hoffi cael eglurhad am ran o'r cais"
msgid "The public authority would like to / has responded by post"
-msgstr ""
+msgstr "Byddai'r awdurdod cyhoeddus yn hoffi / wedi ymateb drwy'r post"
msgid "The request has been <strong>refused</strong>"
-msgstr ""
+msgstr "Mae'r cais wedi cael ei <strong>wrthod</strong>"
msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
-msgstr ""
+msgstr "Mae'r cais wedi cael ei ddiweddaru ers i chi lwytho'r dudalen hon yn wreiddiol. Edrychwch i weld a oes unrhyw negeseuon newydd isod ac yna, ceisiwch eto."
msgid "The request is <strong>waiting for clarification</strong>."
-msgstr ""
+msgstr "Mae'r cais yn <strong>aros am eglurhad</strong>."
msgid "The request was <strong>partially successful</strong>."
-msgstr ""
+msgstr "Roedd y cais yn <strong>rhannol lwyddiannus</strong>."
msgid "The request was <strong>refused</strong> by"
-msgstr ""
+msgstr "<strong>Gwrthodwyd</strong> y cais gan"
msgid "The request was <strong>successful</strong>."
-msgstr ""
+msgstr "Roedd y cais yn <strong>llwyddiannus</strong>."
msgid "The request was refused by the public authority"
-msgstr ""
+msgstr "Gwrthodwyd y cais gan yr awdurdod cyhoeddus"
msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "Mae'r cais yr ydych wedi ceisio ei weld wedi cael ei ddileu. Mae amryw o resymau pam y gallem fod wedi gwneud hyn. Mae'n ddrwg gennym na allwn fod yn fwy penodol yma. <a href=\"{{url}}\">Cysylltwch â ni</a> os oes gennych unrhyw gwestiynau."
msgid "The requester has abandoned this request for some reason"
-msgstr ""
+msgstr "Mae'r ceisydd wedi rhoi'r gorau i'r cais hwn am ryw reswm"
msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
-msgstr ""
+msgstr "Mae'r ymateb i'ch cais <strong>wedi cael ei ohirio</strong>. Gallwch ddweud, yn ôl y gyfraith, y dylai'r awdurdod wedi ymateb <strong>yn brydlon</strong>fel rheol a"
msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
-msgstr ""
+msgstr "Mae'r ymateb i'ch cais yn <strong>hwyr iawn</strong>. Gallwch ddweud, yn ôl y gyfraith, ymhob achos, y dylai'r awdurdod fod wedi ymateb erbyn hyn"
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
-msgstr ""
+msgstr "Mae'r mynegai chwilio ar hyn o bryd all-lein, fel na allwn ddangos geisiadau Rhyddid Gwybodaeth sydd wedi cael eu gwneud i'r awdurdod hwn."
msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
-msgstr ""
+msgstr "Mae'r mynegai chwilio ar hyn o bryd all-lein, fel na allwn ddangos y ceisiadau Rhyddid Gwybodaeth y mae'r person yma wedi gwneud."
msgid "The {{site_name}} team."
msgstr "Tîm {{site_name}}."
msgid "Then you can cancel the alert."
-msgstr ""
+msgstr "Yna gallwch ganslo'r rhybudd."
msgid "Then you can cancel the alerts."
-msgstr ""
+msgstr "Yna gallwch ganslo'r rhybuddion."
msgid "Then you can change your email address used on {{site_name}}"
-msgstr ""
+msgstr "Yna gallwch newid eich cyfeiriad e-bost a ddefnyddir ar {{site_name}}"
msgid "Then you can change your password on {{site_name}}"
-msgstr ""
+msgstr "Yna gallwch newid eich cyfrinair ar {{site_name}}"
msgid "Then you can classify the FOI response you have got from "
-msgstr ""
+msgstr "Yna gallwch ddosbarthu'r ymateb Rhyddid Gwybodaeth yr ydych wedi'i gael gan "
msgid "Then you can download a zip file of {{info_request_title}}."
-msgstr ""
+msgstr "Yna gallwch lawrlwytho ffeil zip o {{info_request_title}}."
msgid "Then you can log into the administrative interface"
-msgstr ""
+msgstr "Yna gallwch logio i mewn i'r rhyngwyneb gweinyddol"
msgid "Then you can play the request categorisation game."
-msgstr ""
+msgstr "Yna gallwch chi chwarae y gêm categoreiddio cais."
msgid "Then you can report the request '{{title}}'"
-msgstr ""
+msgstr "Yna gallwch roi gwybod am y cais '{{title}}'"
msgid "Then you can send a message to "
-msgstr ""
+msgstr "Yna, gallwch anfon neges i "
msgid "Then you can sign in to {{site_name}}"
-msgstr ""
+msgstr "Yna gallwch lofnodi i mewn i {{site_name}}"
msgid "Then you can update the status of your request to "
-msgstr ""
+msgstr "Yna gallwch ddiweddaru statws eich cais i "
msgid "Then you can upload an FOI response. "
-msgstr ""
+msgstr "Yna gallwch lwytho ymateb Rhyddid Gwybodaeth i fyny. "
msgid "Then you can write follow up message to "
-msgstr ""
+msgstr "Yna, gallwch ysgrifennu neges ddilynol i "
msgid "Then you can write your reply to "
-msgstr ""
+msgstr "Yna, gallwch ysgrifennu eich ateb i "
msgid "Then you will be following all new FOI requests."
-msgstr ""
+msgstr "Yna byddwch yn dilyn yr holl geisiadau Rhyddid Gwybodaeth newydd."
msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
-msgstr ""
+msgstr "Yna byddwch yn cael eich hysbysu pryd bynnag y bydd '{{user_name}}' yn gofyn am rywbeth neu yn cael ymateb."
msgid "Then you will be notified whenever a new request or response matches your search."
-msgstr ""
+msgstr "Yna byddwch yn cael eich hysbysu pryd bynnag y bydd cais neu ymateb newydd yn cyfateb â'ch chwiliad."
msgid "Then you will be notified whenever an FOI request succeeds."
-msgstr ""
+msgstr "Yna byddwch yn cael eich hysbysu pryd bynnag y bydd cais Rhyddid Gwybodaeth yn llwyddo."
msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
-msgstr ""
+msgstr "Yna byddwch yn cael eich hysbysu pryd bynnag y bydd rhywun yn gofyn am rywbeth gan, neu'n cael ymateb gan, '{{public_body_name}}'."
msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
-msgstr ""
+msgstr "Yna byddwch yn cael diweddariad pryd bynnag y bydd cais '{{request_title}}' yn cael ei ddiweddaru."
msgid "Then you'll be allowed to send FOI requests."
-msgstr ""
+msgstr "Yna byddwch yn cael anfon ceisiadau Rhyddid Gwybodaeth."
msgid "Then your FOI request to {{public_body_name}} will be sent."
-msgstr ""
+msgstr "Yna bydd eich cais Rhyddid Gwybodaeth i {{public_body_name}} yn cael ei anfon."
msgid "Then your annotation to {{info_request_title}} will be posted."
-msgstr ""
+msgstr "Yna eich anodiad i {{info_request_title}} yn cael ei bostio."
msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
-msgstr ""
+msgstr "Mae {{count}} anodiad newydd ar eich cais {{info_request}}. Dilynwch y ddolen hon i weld beth ysgrifennwyd."
msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
-msgstr ""
+msgstr "Mae gan <strong>fwy nag un person</strong> sy'n defnyddio'r safle hwn yr enw hwn Mae un ohonynt yn cael ei ddangos isod. Efallai eich bod wedi golygu un gwahanol:"
msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
-msgstr ""
+msgstr "Mae cyfyngiad ar y nifer o geisiadau y gallwch eu gwneud mewn diwrnod, oherwydd nid ydym am i awdurdodau cyhoeddus gael eu peledu gyda nifer fawr o geisiadau amhriodol. Os ydych yn teimlo bod gennych reswm da dros ofyn i'r terfyn gael ei godi yn eich achos chi, <a href='{{help_contact_path}}'>cysylltwch â ni</a>."
msgid "There is {{count}} person following this request"
msgid_plural "There are {{count}} people following this request"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Mae {{count}} person yn dilyn y cais hwn"
+msgstr[1] "Mae {{count}} person yn dilyn y cais hwn"
+msgstr[2] "Mae {{count}} person yn dilyn y cais hwn"
+msgstr[3] "Mae {{count}} person yn dilyn y cais hwn"
msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
-msgstr ""
+msgstr "Roedd <strong>gwall cyflenwi</strong> neu rywbeth tebyg, sy angen ei drwsio gan dîm {{site_name}}."
msgid "There was an error with the words you entered, please try again."
-msgstr ""
+msgstr "Roedd gwall gyda'r geiriau a roddoch, ceisiwch eto os gwelwch yn dda."
msgid "There was no data calculated for this graph yet."
-msgstr ""
+msgstr "Ni chyfrifwyd data ar gyfer y graff hwn eto."
msgid "There were no requests matching your query."
-msgstr ""
+msgstr "Nid oedd unrhyw geisiadau yn cyfateb i'ch ymholiad."
msgid "There were no results matching your query."
-msgstr ""
+msgstr "Ni chafwyd canlyniadau sy'n cyfateb i'ch ymholiad."
msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
-msgstr ""
+msgstr "Mae'r graffiau hyn wedi eu hysbrydoli yn rhannol gan <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">rai ystadegau a gynhyrchodd Mark Goodge ar gyfer WhatDoTheyKnow</a>, felly mae diolch yn ddyledus iddo."
msgid "They are going to reply <strong>by post</strong>"
-msgstr ""
+msgstr "Maent yn mynd i ateb <strong>drwy'r post</strong>"
msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
-msgstr ""
+msgstr "<strong>Nid</strong> yw'r wybodaeth ganddynt <small>(efallai eu bod yn dweud pwy gan bwy y mae)</small>"
msgid "They have been given the following explanation:"
-msgstr ""
+msgstr "Maent wedi cael yr esboniad canlynol:"
msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
-msgstr ""
+msgstr "Nid ydynt wedi ymateb i'ch cais {{title}} {{law_used_short}} yn brydlon, fel sy'n ofynnol fel arfer yn ôl y gyfraith"
msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
-msgstr ""
+msgstr "Nid ydynt wedi ateb i'ch cais {{teitl}} {{law_used_short}}, fel sy'n ofynnol yn ôl y gyfraith"
msgid "Things to do with this request"
-msgstr ""
+msgstr "Pethau i'w gwneud gyda'r cais hwn"
msgid "Things you're following"
-msgstr ""
+msgstr "Pethau rydych yn eu dilyn"
msgid "This authority no longer exists, so you cannot make a request to it."
-msgstr ""
+msgstr "Nid yw'r awdurdod hwn yn bodoli bellach, felly ni allwch wneud cais iddo."
msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
-msgstr ""
+msgstr "Mae hyn yn cwmpasu sbectrwm eang iawn o wybodaeth am gyflwr yr <strong> amgylchedd naturiol ac adeiledig</strong>, megis:"
msgid "This external request has been hidden"
-msgstr ""
+msgstr "Mae'r cais allanol wedi cael ei guddio"
msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
-msgstr ""
+msgstr "Mae hwn yn fersiwn destun plaen y cais Rhyddid Gwybodaeth \"{{request_title}}\". Mae'r fersiwn lawn ddiweddaraf ar gael ar-lein yn {{full_url}} "
msgid "This is an HTML version of an attachment to the Freedom of Information request"
-msgstr ""
+msgstr "Mae hwn yn fersiwn HTML o atodiad i'r cais Rhyddid Gwybodaeth"
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
-msgstr ""
+msgstr "Mae hyn oherwydd bod {{title}} yn hen gais sydd wedi ei nodi i beidio â derbyn ymatebion mwyach."
msgid "This is the first version."
-msgstr ""
+msgstr "Dyma'r fersiwn gyntaf."
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
-msgstr ""
+msgstr "Dyma'ch eich cais eich hun, felly byddwch yn cael e-bost yn awtomatig pan fydd ymatebion newydd yn cyrraedd."
msgid "This message has been hidden."
-msgstr ""
+msgstr "Mae'r neges hon wedi cael ei chuddio."
msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
-msgstr ""
+msgstr "Mae'r neges hon wedi cael ei chuddio. Mae yna amryw o resymau pam y gallem fod wedi gwneud hyn, mae'n ddrwg gennym na allwn fod yn fwy penodol yma."
msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "'Cudd' yw amlygrwydd y cais hwn. Gallwch ond ei gweld oherwydd eich bod wedi mewngofnodi fel arch-ddefnyddiwr."
msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "'Cudd' yw amlygrwydd y cais hwn. {{reason}} Gallwch ond ei gweld oherwydd eich bod wedi mewngofnodi fel arch-ddefnyddiwr."
msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Mae'r cais hwn wedi ei guddio, fel mai dim ond chi y ceisydd all ei weld. <a href=\"{{url}}\">cysylltwch â ni</a> os nad ydych yn siŵr pam."
msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
-msgstr ""
+msgstr "Mae'r cais hwn wedi ei guddio, fel mai dim ond chi y ceisydd all ei weld. {{reason}} "
msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
-msgstr ""
+msgstr "Mae'r dudalen hon o ystadegau corff cyhoeddus yn arbrofol ar hyn o bryd, felly mae rhai cafeatau y dylid eu cadw mewn cof:"
msgid "This particular request is finished:"
-msgstr ""
+msgstr "Mae'r cais penodol hwn wedi gorffen:"
msgid "This person has made no Freedom of Information requests using this site."
-msgstr ""
+msgstr "Nid yw'r person hwn wedi gwneud unrhyw geisiadau Rhyddid Gwybodaeth drwy ddefnyddio'r wefan hon."
msgid "This person's annotations"
-msgstr ""
+msgstr "Anodiadau'r person hwn"
msgid "This person's {{count}} Freedom of Information request"
msgid_plural "This person's {{count}} Freedom of Information requests"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "{{count}} cais Rhyddid Gwybodaeth y person hwn "
+msgstr[1] "{{count}} cais Rhyddid Gwybodaeth y person hwn"
+msgstr[2] "{{count}} cais Rhyddid Gwybodaeth y person hwn"
+msgstr[3] "{{count}} cais Rhyddid Gwybodaeth y person hwn"
msgid "This person's {{count}} annotation"
msgid_plural "This person's {{count}} annotations"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "{{count}} anodiad y person hwn"
+msgstr[1] "{{count}} anodiad y person hwn"
+msgstr[2] "{{count}} anodiad y person hwn"
+msgstr[3] "{{count}} anodiad y person hwn"
msgid "This request <strong>requires administrator attention</strong>"
-msgstr ""
+msgstr "Mae <strong>angen sylw gweinyddwr</strong> ar y cais hwn"
msgid "This request has already been reported for administrator attention"
-msgstr ""
+msgstr "Mae'r cais eisoes wedi cael ei adrodd i gael sylw gweinyddwr"
msgid "This request has an <strong>unknown status</strong>."
-msgstr ""
+msgstr "Mae gan y cais hwn <strong<statws anhysbys</strong>."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
-msgstr ""
+msgstr "Mae'r cais hwn <strong>wedi cael ei guddio</strong> o'r wefan oherwydd i weinyddwr ystyried nad yw'n gais Rhyddid Gwybodaeth."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
-msgstr ""
+msgstr "Mae'r cais hwn <strong>wedi cael ei guddio</strong> o'r wefan oherwydd i weinyddwr ystyried ei fod yn flinderus."
msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
-msgstr ""
+msgstr "Mae adroddiad am y cais hwn <strong<wedi cael ei anfon<strong> gan ddweud bod angen sylw gweinyddwr arno (efallai am ei fod yn flinderus, neu'n gais am wybodaeth bersonol)"
msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
-msgstr ""
+msgstr "Mae'r cais hwn <strong>wedi cael ei dynnu'n ôl</strong> gan y sawl a'i wnaeth. Efallai y bydd esboniad yn yr ohebiaeth isod."
msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Mae'r cais wedi cael ei farcio i'w adolygu gan weinyddwyr y wefan, nad ydynt wedi ei guddio ar hyn o bryd. Os ydych yn credu y dylid ei guddio, <a href=\"{{url}}\">cysylltwch â ni</a>."
msgid "This request has been reported for administrator attention"
-msgstr ""
+msgstr "Mae adroddiad am y cais hwn wedi cael ei anfon, at sylw gweinyddwr"
msgid "This request has been set by an administrator to \"allow new responses from nobody\""
-msgstr ""
+msgstr "Mae'r cais hwn wedi cael ei osod gan weinyddwr fel \"na chaniateir ymatebion newydd gan neb\""
msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
-msgstr ""
+msgstr "Mae'r cais hwn wedi derbyn ymateb anarferol, ac mae <strong>angen sylw</strong> arno gan dîm {{site_name}}."
msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
-msgstr ""
+msgstr "'Cudd' yw amlygrwydd y cais hwn. Gallwch ond ei weld oherwydd eich bod wedi mewngofnodi fel arch-ddefnyddiwr."
msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Mae'r cais hwn wedi ei guddio, fel mai dim ond y ceisydd all ei weld. <a href=\"{{url}}\">cysylltwch â ni</a> os nad ydych yn siŵr pam."
msgid "This request is still in progress:"
-msgstr ""
+msgstr "Mae'r cais hwn yn dal i fod ar y gweill:"
msgid "This request requires administrator attention"
-msgstr ""
+msgstr "Mae angen sylw gweinyddwr ar y cais hwn"
msgid "This request was not made via {{site_name}}"
-msgstr ""
+msgstr "Ni wnaed y cais hwn drwy {{site_name}}"
msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
-msgstr ""
+msgstr "Mae'r tabl hwn yn dangos manylion technegol y digwyddiadau mewnol a ddigwyddodd i'r cais hwn ar {{site_name}}. Gallai hwn gael ei ddefnyddio i gynhyrchu gwybodaeth am ba mor gyflym y mae awdurdodau yn ymateb i geisiadau, nifer y ceisiadau sy'n gofyn am ymateb drwy'r post a llawer mwy."
msgid "This user has been banned from {{site_name}} "
-msgstr ""
+msgstr "Mae'r defnyddiwr hwn wedi ei wahardd o {{site_name}} "
msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
-msgstr ""
+msgstr "Nid oedd hyn yn bosibl gan fod cyfrif sydd eisoes yn defnyddio'r cyfeiriad e-bost {{email}}."
msgid "To cancel these alerts"
-msgstr ""
+msgstr "I ganslo'r rhybuddion hyn"
msgid "To cancel this alert"
-msgstr ""
+msgstr "I ddileu'r rhybudd hwn"
msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
-msgstr ""
+msgstr "I barhau, mae angen i chi fewngofnodi neu agor cyfrif newydd. Yn anffodus,roedd problem dechnegol wrth geisio gwneud hyn."
msgid "To change your email address used on {{site_name}}"
-msgstr ""
+msgstr "I newid eich cyfeiriad e-bost a ddefnyddir ar {{site_name}}"
msgid "To classify the response to this FOI request"
-msgstr ""
+msgstr "I ddosbarthu'r ymateb i'r cais Rhyddid Gwybodaeth hwn"
msgid "To do that please send a private email to "
-msgstr ""
+msgstr "I wneud hynny, anfonwch e-bost preifat i "
msgid "To do this, first click on the link below."
-msgstr ""
+msgstr "I wneud hyn, cliciwch yn gyntaf ar y ddolen isod."
msgid "To download the zip file"
-msgstr ""
+msgstr "I lawrlwytho'r ffeil zip"
msgid "To follow all successful requests"
-msgstr ""
+msgstr "I ddilyn yr holl geisiadau llwyddiannus"
msgid "To follow new requests"
-msgstr ""
+msgstr "I ddilyn ceisiadau newydd"
msgid "To follow requests and responses matching your search"
-msgstr ""
+msgstr "I ddilyn ceisiadau ac ymatebion sy'n gyfateb i'ch chwiliad"
msgid "To follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "I ddilyn ceisiadau gan '{{user_name}'"
msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
-msgstr ""
+msgstr "I ddilyn ceisiadau a wnaed gan ddefnyddio {{site_name}} i'r awdurdod cyhoeddus '{{public_body_name}} '"
msgid "To follow the request '{{request_title}}'"
-msgstr ""
+msgstr "I ddilyn y cais '{{request_title}}'"
msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
-msgstr ""
+msgstr "I'n helpu ni i gadw'r wefan yn daclus, mae rhywun arall wedi diweddaru statws y cais {{law_used_full}} {{teitl}} a wnaethoch i {{public_body}} , i \"{{display_status}}\" Os ydych yn anghytuno â'u categoreiddio, diweddarwch y statws unwaith eto eich hun i'r hyn y credwch i fod yn fwy cywir."
msgid "To let everyone know, follow this link and then select the appropriate box."
-msgstr ""
+msgstr "I adael i bawb wybod, dilynwch y ddolen hon ac yna dewiswch y blwch priodol."
msgid "To log into the administrative interface"
-msgstr ""
+msgstr "I fewngofnodi i'r rhyngwyneb gweinyddol"
msgid "To play the request categorisation game"
-msgstr ""
+msgstr "I chwarae'r gêm categoreiddio cais"
msgid "To post your annotation"
-msgstr ""
+msgstr "I bostio eich anodiad"
msgid "To reply to "
-msgstr ""
+msgstr "I ymateb i "
msgid "To report this request"
-msgstr ""
+msgstr "I roi gwybod am y cais hwn"
msgid "To send a follow up message to "
-msgstr ""
+msgstr "I anfon neges ddilynol i "
msgid "To send a message to "
-msgstr ""
+msgstr "I anfon neges i "
msgid "To send your FOI request"
-msgstr ""
+msgstr "I anfon eich cais Rhyddid Gwybodaeth"
msgid "To update the status of this FOI request"
-msgstr ""
+msgstr "I roi'r wybodaeth ddiweddaraf i statws y cais Rhyddid Gwybodaeth hwn"
msgid "To upload a response, you must be logged in using an email address from "
-msgstr ""
+msgstr "I lwytho ymateb i fyny, rhaid i chi fod wedi mewngofnodi gan ddefnyddio cyfeiriad e-bost gan "
msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
-msgstr ""
+msgstr "I ddefnyddio'r chwiliad uwch, cyfunwch ymadroddion a labeli fel y'i disgrifir yn yr awgrymiadau chwilio isod."
msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
-msgstr ""
+msgstr "I weld y cyfeiriad e-bost yr ydym yn ei ddefnyddio i anfon ceisiadau Rhyddid Gwybodaeth i {{public_body_name}}, nodwch y geiriau hyn."
msgid "To view the response, click on the link below."
-msgstr ""
+msgstr "I weld yr ymateb, cliciwch ar y ddolen isod."
msgid "To {{public_body_link_absolute}}"
-msgstr ""
+msgstr "I {{public_body_link_absolute}} "
msgid "To:"
msgstr "I:"
msgid "Today"
-msgstr ""
+msgstr "Heddiw"
msgid "Too many requests"
-msgstr ""
+msgstr "Gormod o geisiadau"
msgid "Top search results:"
-msgstr ""
+msgstr "Y canlyniadau chwilio uchaf:"
msgid "Track thing"
-msgstr ""
+msgstr "Traciwch hwn"
msgid "Track this person"
-msgstr ""
+msgstr "Traciwch y person hwn"
msgid "Track this search"
-msgstr ""
+msgstr "Traciwch y chwiliad hwn"
msgid "TrackThing|Track medium"
-msgstr ""
+msgstr "TrackThing|Traciwch y cyfrwng"
msgid "TrackThing|Track query"
-msgstr ""
+msgstr "TrackThing|Traciwch ymholiad"
msgid "TrackThing|Track type"
-msgstr ""
+msgstr "TrackThing|Math o drac"
msgid "Turn off email alerts"
-msgstr ""
+msgstr "Diffoddwch rybuddion e-bost"
msgid "Tweet this request"
-msgstr ""
+msgstr "Trydarwch y cais hwn"
msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
-msgstr ""
+msgstr "Teipiwch <strong><code> 01/01/2008..14/01/2008 </code></strong> i ddangos yn unig bethau a ddigwyddodd yn ystod dwy wythnos gyntaf mis Ionawr."
msgid "URL name can't be blank"
-msgstr ""
+msgstr "Ni all enw URL fod yn wag"
msgid "Unable to change email address on {{site_name}}"
-msgstr ""
+msgstr "Yn methu newid cyfeiriad e-bost ar {{site_name}}"
msgid "Unable to send a reply to {{username}}"
-msgstr ""
+msgstr "Yn methu anfon ateb i {{username}}"
msgid "Unable to send follow up message to {{username}}"
-msgstr ""
+msgstr "Yn methu anfon neges ddilynol i {{username}}"
msgid "Unexpected search result type"
-msgstr ""
+msgstr "Canlyniad chwiliad o fath annisgwyl"
msgid "Unexpected search result type "
-msgstr ""
+msgstr "Canlyniad chwiliad o fath annisgwyl "
msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
-msgstr ""
+msgstr "Yn anffodus, nid ydym yn gwybod y cyfeiriad ebost Rhyddid Gwybodaeth i'r awdurdod hwnnw, felly ni allwn ddilysu hwn. <a href=\"{{url}}\">cysylltwch â ni</a> os gwelwch yn dda i'w ddatrys."
msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
-msgstr ""
+msgstr "Yn anffodus, nid oes gennym cyfeiriad {{info_request_law_used_full}} sy'n gweithio ar gyfer"
msgid "Unknown"
-msgstr ""
+msgstr "Anhysbys"
msgid "Unsubscribe"
-msgstr ""
+msgstr "Dad-danysgrifio"
msgid "Unusual response."
-msgstr ""
+msgstr "Ymateb anarferol."
msgid "Update the status of this request"
-msgstr ""
+msgstr "Diweddaru statws y cais hwn"
msgid "Update the status of your request to "
-msgstr ""
+msgstr "Diweddaru statws eich cais i "
msgid "Upload FOI response"
-msgstr ""
+msgstr "Llwytho ymateb Rhyddid Gwybodaeth i fyny"
msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
-msgstr ""
+msgstr "Defnyddiwch OR (mewn prif lythrennau) lle nad oes ots gennych pa air, ee <code>commons OR lords</code></strong>"
msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
-msgstr ""
+msgstr "Defnyddiwch ddyfynodau pan fyddwch am ddod o hyd i'r union ymadrodd, ee <strong> <code>\"Cardiff City Council\"</code></strong>"
msgid "User"
-msgstr ""
+msgstr "Defnyddiwr"
msgid "User info request sent alert"
-msgstr ""
+msgstr "Rhybudd i gais gwybodaeth defnyddiwr gael ei anfon"
msgid "User – {{name}}"
-msgstr ""
+msgstr "Defnyddiwr - {{name}}"
msgid "UserInfoRequestSentAlert|Alert type"
-msgstr ""
+msgstr "UserInfoRequestSentAlert|Math o rybudd"
msgid "User|About me"
-msgstr ""
+msgstr "User|Amdanaf i"
msgid "User|Admin level"
-msgstr ""
+msgstr "User|Lefel weinyddu"
msgid "User|Ban text"
-msgstr ""
+msgstr "User|Gwahardd testun"
msgid "User|Email"
-msgstr ""
+msgstr "User|E-bost"
msgid "User|Email bounce message"
-msgstr ""
+msgstr "User|Neges fownsio e-bost"
msgid "User|Email bounced at"
-msgstr ""
+msgstr "User|Bownsiodd e-bost bownsio ar"
msgid "User|Email confirmed"
-msgstr ""
+msgstr "User|Cadarhawyd e-bost"
msgid "User|Hashed password"
-msgstr ""
+msgstr "User|Cyfrinair stwnsh"
msgid "User|Last daily track email"
-msgstr ""
+msgstr "User|Trac e-bost dyddiol olaf"
msgid "User|Locale"
-msgstr ""
+msgstr "User|Locale"
msgid "User|Name"
-msgstr ""
+msgstr "User|Enw"
msgid "User|No limit"
-msgstr ""
+msgstr "User|Dim cyfyngiad"
msgid "User|Receive email alerts"
-msgstr ""
+msgstr "User|Derbyn rhybuddion e-bost"
msgid "User|Salt"
-msgstr ""
+msgstr "User|Salt"
msgid "User|Url name"
-msgstr ""
+msgstr "User|Enw Url"
msgid "Version {{version}}"
-msgstr ""
+msgstr "Fersiwn {{version}}"
msgid "View FOI email address"
-msgstr ""
+msgstr "Gweld cyfeiriad e-bost i gais Rhyddid Gwybodaeth "
msgid "View FOI email address for '{{public_body_name}}'"
-msgstr ""
+msgstr "Gweld cyfeiriad e-bost Rhyddid Gwybodaeth ar gyfer '{{public_body_name}}'"
msgid "View FOI email address for {{public_body_name}}"
-msgstr ""
+msgstr "Gweld cyfeiriad e-bost Rhyddid Gwybodaeth ar gyfer '{{public_body_name}}'"
msgid "View Freedom of Information requests made by {{user_name}}:"
-msgstr ""
+msgstr "Gweld ceisiadau Rhyddid Gwybodaeth a wnaed gan {{user_name}}:"
msgid "View and search requests"
-msgstr ""
+msgstr "Gweld a chwilio ceisiadau"
msgid "View authorities"
msgstr "Gweld yr awdurdodau"
@@ -2822,34 +2822,34 @@ msgid "View requests"
msgstr "Gweld ceisiadau"
msgid "Waiting clarification."
-msgstr ""
+msgstr "Yn disgwyl eglurhad."
msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
-msgstr ""
+msgstr "Yn disgwyl am <strong>adolygiad mewnol</strong> gan {{public_body_link}} o'u triniaeth o'r cais hwn."
msgid "Waiting for the public authority to complete an internal review of their handling of the request"
-msgstr ""
+msgstr "Yn disgwyl i'r awdurdod cyhoeddus gwblhau adolygiad mewnol o'u triniaeth o'r cais"
msgid "Waiting for the public authority to reply"
-msgstr ""
+msgstr "Yn aros i'r awdurdod cyhoeddus ymateb"
msgid "Was the response you got to your FOI request any good?"
-msgstr ""
+msgstr "A oedd yr ymateb a gawsoch i'ch cais rhyddid gwybodaeth o ddefnydd?"
msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
-msgstr ""
+msgstr "Rydym yn ystyried nad yw'n gais Rhyddid Gwybodaeth dilys, ac felly wedi ei guddio oddi wrth ddefnyddwyr eraill."
msgid "We consider it to be vexatious, and have therefore hidden it from other users."
-msgstr ""
+msgstr "Rydym yn ystyried ei fod yn flinderus, ac felly wedi ei guddio oddi wrth ddefnyddwyr eraill."
msgid "We do not have a working request email address for this authority."
-msgstr ""
+msgstr "Nid oes gennym gyfeiriad e-bost sy'n gweithio i wneud cais i'r awdurdod hwn."
msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
-msgstr ""
+msgstr "Nid oes gennym gyfeiriad {{law_used_full}} sy'n gweithio ar gyfer {{public_body_name}}."
msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
-msgstr ""
+msgstr "Nid ydym yn gwybod a yw'r ymateb mwyaf diweddar i'r cais hwn yn cynnwys gwybodaeth neuai peidio - os chi yw{{user_link}} <a href = \"{{url}}\">mewngofnodwch </a> a gadael i bawb wybod."
msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
msgstr "Ni fyddwn yn datgelu eich cyfeiriad e-bost i neb oni bai eich bod chi neu'r gyfraith yn dweud wrthym i wneud (<a href=\"{{url}}\">manylion</a>)."
@@ -2861,136 +2861,136 @@ msgid "We will not reveal your email addresses to anybody unless you\\nor the la
msgstr "Ni fyddwn yn datgelu eich cyfeiriad e-bost i neb oni bai eich bod chi neu'r gyfraith yn dweud wrthym i wneud."
msgid "We're waiting for"
-msgstr ""
+msgstr "Rydym yn aros am"
msgid "We're waiting for someone to read"
-msgstr ""
+msgstr "Rydym yn aros i rywun ddarllen"
msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
-msgstr ""
+msgstr "Rydyn ni wedi anfon e-bost i'ch cyfeiriad e-bost newydd. Bydd angen i chi glicio ar y ddolen yn cyn y bydd eich cyfeiriad e-bost yn cael ei newid."
msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
-msgstr ""
+msgstr "Rydyn ni wedi anfon e-bost atoch, a bydd angen i chi glicio ar y ddolen ynddo cyn y gallwch barhau."
msgid "We've sent you an email, click the link in it, then you can change your password."
-msgstr ""
+msgstr "Rydyn ni wedi anfon e-bost atoch, cliciwch ar y ddolen ynddo, yna gallwch newid eich cyfrinair."
msgid "What are you doing?"
-msgstr ""
+msgstr "Beth ydych chi'n ei wneud?"
msgid "What best describes the status of this request now?"
-msgstr ""
+msgstr "Beth sy'n disgrifio orau statws y cais hwn nawr?"
msgid "What information has been released?"
-msgstr ""
+msgstr "Pa wybodaeth sydd wedi cael ei rhyddhau?"
msgid "What information has been requested?"
-msgstr ""
+msgstr "Pa wybodaeth a ofynnwyd amdani?"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
-msgstr ""
+msgstr "Pan fyddwch yn cyrraedd yno, diweddarwch y statws i ddweud a yw'r ymateb yn cynnwys unrhyw wybodaeth ddefnyddiol."
msgid "When you receive the paper response, please help\\n others find out what it says:"
-msgstr ""
+msgstr "Pan fyddwch yn derbyn yr ymateb papur, helpwch eraill i gael gwybod beth y mae'n ei ddweud:"
msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
-msgstr ""
+msgstr "Pan fyddwch chi wedi gorffen, <strong>dewch yn ôl yma</strong>, <a href=\"{{url}}\"> ail-lwytho'r dudalen hon </ a> a ffeilio eich cais newydd."
msgid "Which of these is happening?"
-msgstr ""
+msgstr "Pa un o'r rhain sy'n digwydd?"
msgid "Who can I request information from?"
-msgstr ""
+msgstr "Gan bwy y gallaf ofyn cael y wybodaeth?"
msgid "Withdrawn by the requester."
-msgstr ""
+msgstr "Fe'i tynnwyd yn ôl gan y ceisydd."
msgid "Wk"
-msgstr ""
+msgstr "Wythnos"
msgid "Would you like to see a website like this in your country?"
-msgstr ""
+msgstr "A fyddech yn hoffi gweld gwefan fel hon yn eich gwlad?"
msgid "Write a reply"
-msgstr ""
+msgstr "Ysgrifennwch ateb"
msgid "Write a reply to "
-msgstr ""
+msgstr "Ysgrifennwch ateb i "
msgid "Write your FOI follow up message to "
-msgstr ""
+msgstr "Ysgrifennwch eich neges Rhyddid Gwybodaeth ddilynol i "
msgid "Write your request in <strong>simple, precise language</strong>."
msgstr "Ysgrifennwch eich cais mewn <strong>iaith syml, gryno</strong>."
msgid "You"
-msgstr ""
+msgstr "Chi"
msgid "You are already following new requests"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn ceisiadau newydd"
msgid "You are already following requests to {{public_body_name}}"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn ceisiadau i {{public_body_name}}"
msgid "You are already following things matching this search"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn pethau sy'n cyfateb i'r chwiliad hwn"
msgid "You are already following this person"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn person hwn"
msgid "You are already following this request"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn cais hwn"
msgid "You are already following updates about {{track_description}}"
-msgstr ""
+msgstr "Rydych eisoes yn dilyn diweddariadau am {{track_description}} "
msgid "You are currently receiving notification of new activity on your wall by email."
-msgstr ""
+msgstr "Ar hyn o bryd yr ydych yn derbyn hysbysiad o weithgarwch newydd ar eich wal drwy e-bost."
msgid "You are following all new successful responses"
-msgstr ""
+msgstr "Rydych yn dilyn yr holl ymatebion llwyddiannus newydd "
msgid "You are no longer following {{track_description}}."
-msgstr ""
+msgstr "Nid ydych chi bellach yn dilyn {{track_description}} "
msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
-msgstr ""
+msgstr "Yr ydych yn awr yn <a href=\"{{wall_url_user}}\">dilyn</a> diweddariadau am {{track_description}} "
msgid "You can <strong>complain</strong> by"
-msgstr ""
+msgstr "Gallwch <strong>gwyno</strong> drwy"
msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
-msgstr ""
+msgstr "Gallwch newid pa geisiadau a defnyddwyr rydych yn dilyn ar <a href=\"{{profile_url}}\"> eich tudalen broffil</a>."
msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
-msgstr ""
+msgstr "Gallwch gael y dudalen hon ar ffurf gyfrifiadurol-darllenadwy fel rhan o'r prif dudalen JSON am y cais. Gweler <a href=\"{{api_path}}\">dogfennaeth yr API</a>."
msgid "You can only request information about the environment from this authority."
-msgstr ""
+msgstr "Ceisio gwybodaeth am yr amgylchedd yn unig y gallwch ei wneud gan yr awdurdod hwn."
msgid "You have a new response to the {{law_used_full}} request "
-msgstr ""
+msgstr "Mae gennych ymateb newydd i'r cais {{law_used_full}} "
msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
-msgstr ""
+msgstr "Rydych wedi dod o hyd i fyg. <a href=\"{{contact_url}}\">Cysylltwch â ni </a> i ddweud wrthym am y broblem"
msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
-msgstr ""
+msgstr "Rydych chi wedi cyrraedd y terfyn cyfradd ar geisiadau newydd. Fel arfer cyfyngir defnyddwyr i {{max_requests_per_user_per_day}} cais mewn unrhyw gyfnod treigl 24-awr. Byddwch yn gallu gwneud cais arall ymhen {{can_make_another_request}}."
msgid "You have made no Freedom of Information requests using this site."
-msgstr ""
+msgstr "Nid ydych wedi gwneud unrhyw geisiadau Rhyddid Gwybodaeth drwy ddefnyddio'r wefan hon."
msgid "You have now changed the text about you on your profile."
-msgstr ""
+msgstr "Rydych yn awr wedi newid y testun amdanoch chi ar eich proffil."
msgid "You have now changed your email address used on {{site_name}}"
-msgstr ""
+msgstr "Rydych bellach wedi newid eich cyfeiriad e-bost a ddefnyddir ar {{site_name}}"
msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
-msgstr ""
+msgstr "Rydych newydd geisio i gofrestru ar {{site_name}}, er bod gennych gyfrif eisoes. Mae'ch enw a'ch cyfrinair wedi eu gadael fel yr oedden. Cliciwch ar y ddolen isod."
msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
-msgstr ""
+msgstr "Rydych yn gwybod beth achosodd y gwall, a gallwch <strong>awgrymu datrrysiad</ strong>, fel cyfeiriad e-bost sy'n gweithio."
msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
msgstr ""
@@ -3242,7 +3242,7 @@ msgid "by {{user_link_absolute}}"
msgstr ""
msgid "comments"
-msgstr ""
+msgstr "sylwadau"
msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
msgstr ""
@@ -3332,7 +3332,7 @@ msgid "requesting an internal review"
msgstr ""
msgid "requests"
-msgstr ""
+msgstr "ceisiadau"
msgid "requests which are {{list_of_statuses}}"
msgstr ""
diff --git a/locale/de/app.po b/locale/de/app.po
index c090a066f..71fdfefad 100644
--- a/locale/de/app.po
+++ b/locale/de/app.po
@@ -13,7 +13,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: German (http://www.transifex.com/projects/p/alaveteli/language/de/)\n"
"Language: de\n"
diff --git a/locale/en_IE/app.po b/locale/en_IE/app.po
index 28ec39424..ec48993f5 100644
--- a/locale/en_IE/app.po
+++ b/locale/en_IE/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: English (Ireland) (http://www.transifex.com/projects/p/alaveteli/language/en_IE/)\n"
"Language: en_IE\n"
diff --git a/locale/en_UG/app.po b/locale/en_UG/app.po
new file mode 100644
index 000000000..c304dccf0
--- /dev/null
+++ b/locale/en_UG/app.po
@@ -0,0 +1,3510 @@
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-12-05 15:18-0000\n"
+"Last-Translator: Louise Crow <louise@mysociety.org>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: en_UG\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 1.6.1\n"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr ""
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr ""
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr ""
+
+msgid " (you)"
+msgstr ""
+
+msgid " - view and make Freedom of Information requests"
+msgstr " - view and make Access to Information requests"
+
+msgid " - wall"
+msgstr ""
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr ""
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr ""
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr ""
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr ""
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr " Ideas on what <strong>other documents to request</strong> which the agency may hold. "
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr ""
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr ""
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr ""
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr ""
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr ""
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr ""
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr " What are you investigating using Access to Information? "
+
+msgid " You are already being emailed updates about the request."
+msgstr ""
+
+msgid " You will also be emailed updates about the request."
+msgstr ""
+
+msgid " made by "
+msgstr ""
+
+msgid " or "
+msgstr ""
+
+msgid " when you send this message."
+msgstr ""
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr ""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr ""
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr ""
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr "'{{link_to_authority}}', a public agency"
+
+msgid "'{{link_to_request}}', a request"
+msgstr ""
+
+msgid "'{{link_to_user}}', a person"
+msgstr ""
+
+msgid "*unknown*"
+msgstr ""
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ""
+
+msgid "- or -"
+msgstr ""
+
+msgid "1. Select an authority"
+msgstr "1. Select an agency"
+
+msgid "2. Ask for Information"
+msgstr ""
+
+msgid "3. Now check your request"
+msgstr "3. Now check your request"
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr ""
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another agency, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other agency</a>.</li>\\n <li>If you would like to contest the agency's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr ""
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr ""
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr ""
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the agency, but will not be displayed on the site.</p>"
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr ""
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the agency still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr ""
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr ""
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr ""
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr ""
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr ""
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr "<strong><code>tag:charity</code></strong> to find all public agencies or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr ""
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr ""
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr ""
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr ""
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand ATI law, and the\\nway agencies use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr ""
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr ""
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual agency."
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr ""
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr ""
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr ""
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr "<strong>Thank</strong> the public agency or "
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr ""
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr ""
+
+msgid "A Freedom of Information request"
+msgstr "An Access to Information request"
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr "A full history of my ATI request and all correspondence is available on the Internet at this address: {{url}}"
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A public authority"
+msgstr "A public agency"
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr "A response will be sent <strong>by post</strong>"
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr "A strange reponse, required attention by the {{site_name}} team"
+
+msgid "A vexatious request"
+msgstr "A vexatious request"
+
+msgid "A {{site_name}} user"
+msgstr ""
+
+msgid "About you:"
+msgstr ""
+
+msgid "Act on what you've learnt"
+msgstr ""
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr ""
+
+msgid "Add an annotation"
+msgstr ""
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr ""
+
+msgid "Added on {{date}}"
+msgstr ""
+
+msgid "Admin level is not included in list"
+msgstr ""
+
+msgid "Administration URL:"
+msgstr ""
+
+msgid "Advanced search"
+msgstr ""
+
+msgid "Advanced search tips"
+msgstr ""
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr ""
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr ""
+
+msgid "All of the information requested has been received"
+msgstr ""
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr ""
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr ""
+
+msgid "Also called {{other_name}}."
+msgstr ""
+
+msgid "Also send me alerts by email"
+msgstr ""
+
+msgid "Alter your subscription"
+msgstr ""
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr ""
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr ""
+
+msgid "An <strong>error message</strong> has been received"
+msgstr ""
+
+msgid "An Environmental Information Regulations request"
+msgstr ""
+
+msgid "An anonymous user"
+msgstr ""
+
+msgid "Annotation added to request"
+msgstr ""
+
+msgid "Annotations"
+msgstr ""
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr ""
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr ""
+
+msgid "Anonymous user"
+msgstr ""
+
+msgid "Anyone:"
+msgstr ""
+
+msgid "Applies to"
+msgstr ""
+
+msgid "Are we missing a public authority?"
+msgstr "Are we missing a public agency?"
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr ""
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr ""
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr ""
+
+msgid "Attachment (optional):"
+msgstr ""
+
+msgid "Attachment:"
+msgstr ""
+
+msgid "Awaiting classification."
+msgstr ""
+
+msgid "Awaiting internal review."
+msgstr ""
+
+msgid "Awaiting response."
+msgstr ""
+
+msgid "Beginning with"
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr "Browse <a href='{{url}}' target='_blank'>other requests</a> for examples of how to word your request."
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr "Browse <a href='{{url}}' target='_blank'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+
+msgid "Browse all authorities..."
+msgstr "Browse all agencies…"
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr ""
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr ""
+
+msgid "Calculated home page"
+msgstr ""
+
+msgid "Can't find the one you want?"
+msgstr ""
+
+msgid "Cancel a {{site_name}} alert"
+msgstr ""
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr ""
+
+msgid "Cancel, return to your profile page"
+msgstr ""
+
+msgid "Censor rule"
+msgstr ""
+
+msgid "CensorRule|Last edit comment"
+msgstr ""
+
+msgid "CensorRule|Last edit editor"
+msgstr ""
+
+msgid "CensorRule|Regexp"
+msgstr ""
+
+msgid "CensorRule|Replacement"
+msgstr ""
+
+msgid "CensorRule|Text"
+msgstr ""
+
+msgid "Change email on {{site_name}}"
+msgstr ""
+
+msgid "Change password on {{site_name}}"
+msgstr ""
+
+msgid "Change profile photo"
+msgstr ""
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr ""
+
+msgid "Change your email"
+msgstr ""
+
+msgid "Change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Change your password"
+msgstr ""
+
+msgid "Change your password on {{site_name}}"
+msgstr ""
+
+msgid "Change your password {{site_name}}"
+msgstr ""
+
+msgid "Charity registration"
+msgstr ""
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr ""
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr ""
+
+msgid "Choose your profile photo"
+msgstr ""
+
+msgid "Clarification"
+msgstr ""
+
+msgid "Clarify your FOI request - "
+msgstr "Clarify your ATI request - "
+
+msgid "Classify an FOI response from "
+msgstr "Classify an ATI response from "
+
+msgid "Clear photo"
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr ""
+
+msgid "Close"
+msgstr ""
+
+msgid "Comment"
+msgstr ""
+
+msgid "Comment|Body"
+msgstr ""
+
+msgid "Comment|Comment type"
+msgstr ""
+
+msgid "Comment|Locale"
+msgstr ""
+
+msgid "Comment|Visible"
+msgstr ""
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr "Confirm you want to follow all successful ATI requests"
+
+msgid "Confirm you want to follow new requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr ""
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "Confirm your FOI request to "
+msgstr "Confirm your ATI request to "
+
+msgid "Confirm your account on {{site_name}}"
+msgstr ""
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr ""
+
+msgid "Confirm your email address"
+msgstr ""
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr ""
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr "Considered by administrators as not an ATI request and hidden from site."
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr ""
+
+msgid "Contact {{recipient}}"
+msgstr ""
+
+msgid "Contact {{site_name}}"
+msgstr ""
+
+msgid "Could not identify the request from the email address"
+msgstr ""
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr ""
+
+msgid "Crop your profile photo"
+msgstr ""
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr ""
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr ""
+
+msgid "Date:"
+msgstr ""
+
+msgid "Dear {{name}},"
+msgstr ""
+
+msgid "Dear {{public_body_name}},"
+msgstr ""
+
+msgid "Default locale"
+msgstr ""
+
+msgid "Defunct."
+msgstr ""
+
+msgid "Delayed response to your FOI request - "
+msgstr "Delayed response to your ATI request - "
+
+msgid "Delayed."
+msgstr ""
+
+msgid "Delivery error"
+msgstr ""
+
+msgid "Destroy {{name}}"
+msgstr ""
+
+msgid "Details of request '"
+msgstr ""
+
+msgid "Did you mean: {{correction}}"
+msgstr ""
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr ""
+
+msgid "Disclosure log"
+msgstr ""
+
+msgid "Disclosure log URL"
+msgstr ""
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr ""
+
+msgid "Done"
+msgstr ""
+
+msgid "Done &gt;&gt;"
+msgstr ""
+
+msgid "Download a zip file of all correspondence"
+msgstr ""
+
+msgid "Download original attachment"
+msgstr ""
+
+msgid "EIR"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr ""
+
+msgid "Edit text about you"
+msgstr ""
+
+msgid "Edit this request"
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr ""
+
+msgid "Email doesn't look like a valid address"
+msgstr ""
+
+msgid "Email me future updates to this request"
+msgstr ""
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr ""
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr ""
+
+msgid "Environmental Information Regulations"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr ""
+
+msgid "Event history"
+msgstr ""
+
+msgid "Event history details"
+msgstr ""
+
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "FOI"
+msgstr "ATI"
+
+msgid "FOI email address for {{public_body}}"
+msgstr "ATI email address for {{public_body}}"
+
+msgid "FOI request – {{title}}"
+msgstr "ATI request – {{title}}"
+
+msgid "FOI requests"
+msgstr "ATI requests"
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr "ATI requests by '{{user_name}}'"
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "ATI requests {{start_count}} to {{end_count}} of {{total_count}}"
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr "ATI response requires admin ({{reason}}) - {{title}}"
+
+msgid "Failed to convert image to a PNG"
+msgstr ""
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr ""
+
+msgid "Filter"
+msgstr ""
+
+msgid "First, did your other requests succeed?"
+msgstr ""
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr "First, search the <strong>name of the Ugandan public agency </strong> you would\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+
+msgid "Foi attachment"
+msgstr ""
+
+msgid "FoiAttachment|Charset"
+msgstr ""
+
+msgid "FoiAttachment|Content type"
+msgstr ""
+
+msgid "FoiAttachment|Display size"
+msgstr ""
+
+msgid "FoiAttachment|Filename"
+msgstr ""
+
+msgid "FoiAttachment|Hexdigest"
+msgstr ""
+
+msgid "FoiAttachment|Url part number"
+msgstr ""
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr ""
+
+msgid "Follow"
+msgstr ""
+
+msgid "Follow all new requests"
+msgstr ""
+
+msgid "Follow new successful responses"
+msgstr ""
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr ""
+
+msgid "Follow these requests"
+msgstr ""
+
+msgid "Follow things matching this search"
+msgstr ""
+
+msgid "Follow this authority"
+msgstr "Follow this agency"
+
+msgid "Follow this link to see the request:"
+msgstr ""
+
+msgid "Follow this person"
+msgstr ""
+
+msgid "Follow this request"
+msgstr ""
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr "Follow up"
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr ""
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr ""
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+
+msgid "Follow us on twitter"
+msgstr ""
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr ""
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr "For an unknown reason, it is not possible to make a request to this agency."
+
+msgid "Forgotten your password?"
+msgstr ""
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] "Found {{count}} public agency {{description}}"
+msgstr[1] "Found {{count}} public agencies {{description}}"
+
+msgid "Freedom of Information"
+msgstr "Access to Information"
+
+msgid "Freedom of Information Act"
+msgstr "Access to Information Act"
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr "Access to Information law does not apply to this agency, so you cannot make\\n a request to it."
+
+msgid "Freedom of Information law no longer applies to"
+msgstr "Access to Information law no longer applies to"
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr "Access to Information law no longer applies to this agency. Follow up messages to existing requests are sent to "
+
+msgid "Freedom of Information requests made"
+msgstr "Access to Information requests made"
+
+msgid "Freedom of Information requests made by this person"
+msgstr "Access to Information requests made by this person"
+
+msgid "Freedom of Information requests made by you"
+msgstr "Access to Information requests made by you"
+
+msgid "Freedom of Information requests made using this site"
+msgstr "Access to Information requests made using this site"
+
+msgid "Freedom of information requests to"
+msgstr "Access to Information requests to"
+
+msgid "From"
+msgstr ""
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "From:"
+msgstr ""
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr ""
+
+msgid "Handled by post."
+msgstr ""
+
+msgid "Has tag string/has tag string tag"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr ""
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr "Hello! You can make Access to Information requests within {{country_name}} at {{link_to_website}}"
+
+msgid "Hello, {{username}}!"
+msgstr ""
+
+msgid "Help"
+msgstr ""
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr ""
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr ""
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr ""
+
+msgid "Hide request"
+msgstr ""
+
+msgid "Holiday"
+msgstr ""
+
+msgid "Holiday|Day"
+msgstr ""
+
+msgid "Holiday|Description"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Home page"
+msgstr ""
+
+msgid "Home page of authority"
+msgstr "Home page of agency"
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr ""
+
+msgid "Human health and safety"
+msgstr ""
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr ""
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr "I am writing to request an internal review of {{public_body_name}}'s handling of my ATI request '{{info_request_title}}'."
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr ""
+
+msgid "I don't want to do any more tidying now!"
+msgstr ""
+
+msgid "I like this request"
+msgstr ""
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr ""
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr ""
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr ""
+
+msgid "I've received <strong>all the information"
+msgstr ""
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr ""
+
+msgid "I've received an <strong>error message</strong>"
+msgstr ""
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr "If the error was a delivery failure, and you can find an up to date ATI email address for the agency, please tell us using the form below."
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr ""
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr "If you are dissatisfied by the response you got from\\n the public agency, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr ""
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr ""
+
+msgid "If you are {{user_link}}, please"
+msgstr ""
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr ""
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr ""
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr ""
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr "If you find this service useful as an ATI officer, please ask your web manager to link to us from your organisation's ATI page."
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr ""
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr "If you have not done so already, please write a message below telling the agency that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr ""
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr ""
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr ""
+
+msgid "If you're new to {{site_name}}"
+msgstr ""
+
+msgid "If you've used {{site_name}} before"
+msgstr ""
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr ""
+
+msgid "Incoming email address"
+msgstr ""
+
+msgid "Incoming message"
+msgstr ""
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr ""
+
+msgid "IncomingMessage|Last parsed"
+msgstr ""
+
+msgid "IncomingMessage|Mail from"
+msgstr ""
+
+msgid "IncomingMessage|Mail from domain"
+msgstr ""
+
+msgid "IncomingMessage|Prominence"
+msgstr ""
+
+msgid "IncomingMessage|Prominence reason"
+msgstr ""
+
+msgid "IncomingMessage|Sent at"
+msgstr ""
+
+msgid "IncomingMessage|Subject"
+msgstr ""
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr ""
+
+msgid "Individual requests"
+msgstr ""
+
+msgid "Info request"
+msgstr ""
+
+msgid "Info request event"
+msgstr ""
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr ""
+
+msgid "InfoRequestEvent|Described state"
+msgstr ""
+
+msgid "InfoRequestEvent|Event type"
+msgstr ""
+
+msgid "InfoRequestEvent|Last described at"
+msgstr ""
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr ""
+
+msgid "InfoRequest|Allow new responses from"
+msgstr ""
+
+msgid "InfoRequest|Attention requested"
+msgstr ""
+
+msgid "InfoRequest|Awaiting description"
+msgstr ""
+
+msgid "InfoRequest|Comments allowed"
+msgstr ""
+
+msgid "InfoRequest|Described state"
+msgstr ""
+
+msgid "InfoRequest|External url"
+msgstr ""
+
+msgid "InfoRequest|External user name"
+msgstr ""
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr ""
+
+msgid "InfoRequest|Idhash"
+msgstr ""
+
+msgid "InfoRequest|Law used"
+msgstr ""
+
+msgid "InfoRequest|Prominence"
+msgstr ""
+
+msgid "InfoRequest|Title"
+msgstr ""
+
+msgid "InfoRequest|Url title"
+msgstr ""
+
+msgid "Information not held."
+msgstr ""
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr ""
+
+msgid "Internal review request"
+msgstr ""
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr ""
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr ""
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr ""
+
+msgid "Items sent in last month"
+msgstr ""
+
+msgid "Joined in"
+msgstr ""
+
+msgid "Joined {{site_name}} in"
+msgstr ""
+
+msgid "Just one more thing"
+msgstr ""
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Keywords"
+msgstr ""
+
+msgid "Last authority viewed: "
+msgstr "Last agency viewed: "
+
+msgid "Last request viewed: "
+msgstr ""
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr ""
+
+msgid "Link to this"
+msgstr ""
+
+msgid "List all"
+msgstr ""
+
+msgid "List of all authorities (CSV)"
+msgstr "List of all agencies (CSV)"
+
+msgid "Listing FOI requests"
+msgstr "Listing ATI requests"
+
+msgid "Listing public authorities"
+msgstr "Listing public agencies"
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr "Listing public agencies matching '{{query}}'"
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr ""
+
+msgid "Log into the admin interface"
+msgstr ""
+
+msgid "Long overdue."
+msgstr ""
+
+msgid "Made between"
+msgstr ""
+
+msgid "Mail server log"
+msgstr ""
+
+msgid "Mail server log done"
+msgstr ""
+
+msgid "MailServerLogDone|Filename"
+msgstr ""
+
+msgid "MailServerLogDone|Last stat"
+msgstr ""
+
+msgid "MailServerLog|Line"
+msgstr ""
+
+msgid "MailServerLog|Order"
+msgstr ""
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr "Make a new<br/>\\n <strong>Access <span>to</span><br/>\\n Information<br/>\\n request</strong>"
+
+msgid "Make a request"
+msgstr ""
+
+msgid "Make a request to this authority"
+msgstr "Make a request to this agency"
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr "Make and browse Access to Information (ATI) requests"
+
+msgid "Make your own request"
+msgstr ""
+
+msgid "Many requests"
+msgstr ""
+
+msgid "Message"
+msgstr ""
+
+msgid "Message has been removed"
+msgstr ""
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr ""
+
+msgid "Missing contact details for '"
+msgstr ""
+
+msgid "More about this authority"
+msgstr "More about this agency"
+
+msgid "More requests..."
+msgstr ""
+
+msgid "More similar requests"
+msgstr ""
+
+msgid "More successful requests..."
+msgstr ""
+
+msgid "My profile"
+msgstr ""
+
+msgid "My request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "My requests"
+msgstr ""
+
+msgid "My wall"
+msgstr ""
+
+msgid "Name can't be blank"
+msgstr ""
+
+msgid "Name is already taken"
+msgstr ""
+
+msgid "New Freedom of Information requests"
+msgstr "New Access to Information requests"
+
+msgid "New censor rule"
+msgstr ""
+
+msgid "New e-mail:"
+msgstr ""
+
+msgid "New email doesn't look like a valid address"
+msgstr ""
+
+msgid "New password:"
+msgstr ""
+
+msgid "New password: (again)"
+msgstr ""
+
+msgid "New response to '{{title}}'"
+msgstr ""
+
+msgid "New response to your FOI request - "
+msgstr "New response to your ATI request - "
+
+msgid "New response to your request"
+msgstr ""
+
+msgid "New response to {{law_used_short}} request"
+msgstr ""
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr ""
+
+msgid "Newest results first"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr ""
+
+msgid "No requests of this sort yet."
+msgstr ""
+
+msgid "No results found."
+msgstr ""
+
+msgid "No similar requests found."
+msgstr ""
+
+msgid "No tracked things found."
+msgstr ""
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr "Nobody has made any Access to Information requests to {{public_body_name}} using this site yet."
+
+msgid "None found."
+msgstr ""
+
+msgid "None made."
+msgstr ""
+
+msgid "Not a valid FOI request"
+msgstr "Not a valid ATI request"
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr ""
+
+msgid "Now check your email!"
+msgstr ""
+
+msgid "Now preview your annotation"
+msgstr ""
+
+msgid "Now preview your follow up"
+msgstr ""
+
+msgid "Now preview your message asking for an internal review"
+msgstr ""
+
+msgid "Number of requests"
+msgstr ""
+
+msgid "OR remove the existing photo"
+msgstr ""
+
+msgid "Offensive? Unsuitable?"
+msgstr ""
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr ""
+
+msgid "Old e-mail:"
+msgstr ""
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr ""
+
+msgid "Old email doesn't look like a valid address"
+msgstr ""
+
+msgid "On this page"
+msgstr ""
+
+msgid "One FOI request found"
+msgstr "One ATI request found"
+
+msgid "One person found"
+msgstr ""
+
+msgid "One public authority found"
+msgstr "One public agency found"
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr ""
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr "Only the agency can reply to this request, and I don't recognise the address this reply was sent from"
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr "Only the agency can reply to this request, but there is no \"From\" address to check against"
+
+msgid "Or search in their website for this information."
+msgstr ""
+
+msgid "Original request sent"
+msgstr ""
+
+msgid "Other:"
+msgstr ""
+
+msgid "Outgoing message"
+msgstr ""
+
+msgid "OutgoingMessage|Body"
+msgstr ""
+
+msgid "OutgoingMessage|Last sent at"
+msgstr ""
+
+msgid "OutgoingMessage|Message type"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr ""
+
+msgid "OutgoingMessage|Status"
+msgstr ""
+
+msgid "OutgoingMessage|What doing"
+msgstr ""
+
+msgid "Partially successful."
+msgstr ""
+
+msgid "Password is not correct"
+msgstr ""
+
+msgid "Password:"
+msgstr ""
+
+msgid "Password: (again)"
+msgstr ""
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr ""
+
+msgid "People"
+msgstr ""
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Percentage of requests that are overdue"
+msgstr ""
+
+msgid "Percentage of total requests"
+msgstr ""
+
+msgid "Photo of you:"
+msgstr ""
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr ""
+
+msgid "Play the request categorisation game"
+msgstr ""
+
+msgid "Play the request categorisation game!"
+msgstr ""
+
+msgid "Please"
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr ""
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr ""
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr ""
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr ""
+
+msgid "Please ask for environmental information only"
+msgstr ""
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr ""
+
+msgid "Please choose a file containing your photo."
+msgstr ""
+
+msgid "Please choose a reason"
+msgstr ""
+
+msgid "Please choose what sort of reply you are making."
+msgstr ""
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr ""
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr ""
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr ""
+
+msgid "Please click on the link below to confirm your email address."
+msgstr ""
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr "Please describe more what the request is about in the subject. There is no need to say it is an ATI request, we add that on anyway."
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr ""
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr ""
+
+msgid "Please enter a password"
+msgstr ""
+
+msgid "Please enter a subject"
+msgstr ""
+
+msgid "Please enter a summary of your request"
+msgstr ""
+
+msgid "Please enter a valid email address"
+msgstr ""
+
+msgid "Please enter the message you want to send"
+msgstr ""
+
+msgid "Please enter the same password twice"
+msgstr ""
+
+msgid "Please enter your annotation"
+msgstr ""
+
+msgid "Please enter your email address"
+msgstr ""
+
+msgid "Please enter your follow up message"
+msgstr ""
+
+msgid "Please enter your letter requesting information"
+msgstr ""
+
+msgid "Please enter your name"
+msgstr ""
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr ""
+
+msgid "Please enter your new email address"
+msgstr ""
+
+msgid "Please enter your old email address"
+msgstr ""
+
+msgid "Please enter your password"
+msgstr ""
+
+msgid "Please give details explaining why you want a review"
+msgstr ""
+
+msgid "Please keep it shorter than 500 characters"
+msgstr ""
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr ""
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public agency by requesting unrelated information."
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr "Please pass this on to the person who conducts Access to Information reviews."
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr ""
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr ""
+
+msgid "Please sign in as "
+msgstr ""
+
+msgid "Please sign in or make a new account."
+msgstr ""
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr ""
+
+msgid "Please use this email address for all replies to this request:"
+msgstr ""
+
+msgid "Please write a summary with some text in it"
+msgstr ""
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr ""
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr ""
+
+msgid "Possibly related requests:"
+msgstr ""
+
+msgid "Post annotation"
+msgstr ""
+
+msgid "Post redirect"
+msgstr ""
+
+msgid "PostRedirect|Circumstance"
+msgstr ""
+
+msgid "PostRedirect|Email token"
+msgstr ""
+
+msgid "PostRedirect|Post params yaml"
+msgstr ""
+
+msgid "PostRedirect|Reason params yaml"
+msgstr ""
+
+msgid "PostRedirect|Token"
+msgstr ""
+
+msgid "PostRedirect|Uri"
+msgstr ""
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr ""
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr ""
+
+msgid "Prev"
+msgstr ""
+
+msgid "Preview follow up to '"
+msgstr ""
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr ""
+
+msgid "Preview your annotation"
+msgstr ""
+
+msgid "Preview your message"
+msgstr ""
+
+msgid "Preview your public request"
+msgstr ""
+
+msgid "Profile photo"
+msgstr ""
+
+msgid "ProfilePhoto|Data"
+msgstr ""
+
+msgid "ProfilePhoto|Draft"
+msgstr ""
+
+msgid "Public Bodies"
+msgstr ""
+
+msgid "Public Body Statistics"
+msgstr ""
+
+msgid "Public authorities"
+msgstr "Public agencies"
+
+msgid "Public authorities - {{description}}"
+msgstr "Public agencies - {{description}}"
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Public agencies {{start_count}} to {{end_count}} of {{total_count}}"
+
+msgid "Public authority – {{name}}"
+msgstr "Public agency – {{name}}"
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr "Public bodies that most frequently replied with \"Not Held\""
+
+msgid "Public bodies with most overdue requests"
+msgstr "Public bodies with most overdue requests"
+
+msgid "Public bodies with the fewest successful requests"
+msgstr ""
+
+msgid "Public bodies with the most requests"
+msgstr ""
+
+msgid "Public bodies with the most successful requests"
+msgstr ""
+
+msgid "Public body"
+msgstr ""
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
+msgid "PublicBody|Api key"
+msgstr ""
+
+msgid "PublicBody|Disclosure log"
+msgstr ""
+
+msgid "PublicBody|First letter"
+msgstr ""
+
+msgid "PublicBody|Home page"
+msgstr ""
+
+msgid "PublicBody|Info requests count"
+msgstr ""
+
+msgid "PublicBody|Info requests not held count"
+msgstr ""
+
+msgid "PublicBody|Info requests overdue count"
+msgstr ""
+
+msgid "PublicBody|Info requests successful count"
+msgstr ""
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr ""
+
+msgid "PublicBody|Last edit editor"
+msgstr ""
+
+msgid "PublicBody|Name"
+msgstr ""
+
+msgid "PublicBody|Notes"
+msgstr ""
+
+msgid "PublicBody|Publication scheme"
+msgstr ""
+
+msgid "PublicBody|Request email"
+msgstr ""
+
+msgid "PublicBody|Short name"
+msgstr ""
+
+msgid "PublicBody|Url name"
+msgstr ""
+
+msgid "PublicBody|Version"
+msgstr ""
+
+msgid "Publication scheme"
+msgstr ""
+
+msgid "Publication scheme URL"
+msgstr ""
+
+msgid "Purge request"
+msgstr ""
+
+msgid "PurgeRequest|Model"
+msgstr ""
+
+msgid "PurgeRequest|Url"
+msgstr ""
+
+msgid "RSS feed"
+msgstr ""
+
+msgid "RSS feed of updates"
+msgstr ""
+
+msgid "Re-edit this annotation"
+msgstr ""
+
+msgid "Re-edit this message"
+msgstr ""
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr ""
+
+msgid "Read blog"
+msgstr ""
+
+msgid "Received an error message, such as delivery failure."
+msgstr ""
+
+msgid "Recently described results first"
+msgstr ""
+
+msgid "Refused."
+msgstr ""
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr ""
+
+msgid "Report abuse"
+msgstr ""
+
+msgid "Report an offensive or unsuitable request"
+msgstr ""
+
+msgid "Report request"
+msgstr ""
+
+msgid "Report this request"
+msgstr ""
+
+msgid "Reported for administrator attention."
+msgstr ""
+
+msgid "Request an internal review"
+msgstr ""
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr ""
+
+msgid "Request email"
+msgstr ""
+
+msgid "Request has been removed"
+msgstr ""
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr ""
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr ""
+
+msgid "Requested on {{date}}"
+msgstr ""
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr ""
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr ""
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr "Requests for personal information and vexatious requests are not considered valid for ATI purposes (<a href=\"/help/about\">read more</a>)."
+
+msgid "Requests or responses matching your saved search"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr ""
+
+msgid "Respond by email"
+msgstr ""
+
+msgid "Respond to request"
+msgstr ""
+
+msgid "Respond to the FOI request"
+msgstr "Respond to the ATI request"
+
+msgid "Respond using the web"
+msgstr ""
+
+msgid "Response"
+msgstr ""
+
+msgid "Response from a public authority"
+msgstr "Response from a public agency"
+
+msgid "Response to '{{title}}'"
+msgstr ""
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr ""
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr ""
+
+msgid "Response to your request"
+msgstr ""
+
+msgid "Response:"
+msgstr ""
+
+msgid "Restrict to"
+msgstr ""
+
+msgid "Results page {{page_number}}"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Search"
+msgstr ""
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr "Search Access to Information requests, public agencies and users"
+
+msgid "Search contributions by this person"
+msgstr ""
+
+msgid "Search for words in:"
+msgstr ""
+
+msgid "Search in"
+msgstr ""
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} agencies </strong>"
+
+msgid "Search queries"
+msgstr ""
+
+msgid "Search results"
+msgstr ""
+
+msgid "Search the site to find what you were looking for."
+msgstr ""
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] "Search within the {{count}} Access to Information requests to {{public_body_name}}"
+msgstr[1] "Search within the {{count}} Access to Information requests made to {{public_body_name}}"
+
+msgid "Search your contributions"
+msgstr ""
+
+msgid "See bounce message"
+msgstr ""
+
+msgid "Select one to see more information about the authority."
+msgstr "Select one to see more information about the agency."
+
+msgid "Select the authority to write to"
+msgstr "Select the agency to write to"
+
+msgid "Send a followup"
+msgstr ""
+
+msgid "Send a message to "
+msgstr ""
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr ""
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr ""
+
+msgid "Send follow up to '{{title}}'"
+msgstr ""
+
+msgid "Send message"
+msgstr ""
+
+msgid "Send message to "
+msgstr ""
+
+msgid "Send request"
+msgstr ""
+
+msgid "Set your profile photo"
+msgstr ""
+
+msgid "Short name"
+msgstr ""
+
+msgid "Short name is already taken"
+msgstr ""
+
+msgid "Show most relevant results first"
+msgstr ""
+
+msgid "Show only..."
+msgstr ""
+
+msgid "Showing"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign in or make a new account"
+msgstr ""
+
+msgid "Sign in or sign up"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Sign up"
+msgstr ""
+
+msgid "Similar requests"
+msgstr ""
+
+msgid "Simple search"
+msgstr ""
+
+msgid "Some notes have been added to your FOI request - "
+msgstr "Some notes have been added to your ATI request - "
+
+msgid "Some of the information requested has been received"
+msgstr ""
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr ""
+
+msgid "Somebody added a note to your FOI request - "
+msgstr "Somebody added a note to your ATI request - "
+
+msgid "Someone has updated the status of your request"
+msgstr ""
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr ""
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr ""
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr ""
+
+msgid "Sorry, there was a problem processing this page"
+msgstr ""
+
+msgid "Sorry, we couldn't find that page"
+msgstr ""
+
+msgid "Special note for this authority!"
+msgstr "Special note for this agency!"
+
+msgid "Start now &raquo;"
+msgstr ""
+
+msgid "Start your own blog"
+msgstr ""
+
+msgid "Stay up to date"
+msgstr ""
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "Subject"
+msgstr ""
+
+msgid "Subject:"
+msgstr ""
+
+msgid "Submit"
+msgstr ""
+
+msgid "Submit status"
+msgstr ""
+
+msgid "Submit status and send message"
+msgstr ""
+
+msgid "Subscribe to blog"
+msgstr ""
+
+msgid "Successful Freedom of Information requests"
+msgstr "Successful Access to Information requests"
+
+msgid "Successful."
+msgstr ""
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr ""
+
+msgid "Summary:"
+msgstr ""
+
+msgid "Table of statuses"
+msgstr ""
+
+msgid "Table of varieties"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Tags (separated by a space):"
+msgstr ""
+
+msgid "Tags:"
+msgstr ""
+
+msgid "Technical details"
+msgstr ""
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr ""
+
+msgid "Thank you for making an annotation!"
+msgstr ""
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr "Thank you for responding to this ATI request! Your response has been published below, and a link to your response has been emailed to "
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr ""
+
+msgid "Thank you for updating this request!"
+msgstr ""
+
+msgid "Thank you for updating your profile photo"
+msgstr ""
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr ""
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr ""
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr ""
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr ""
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr ""
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr "The Access to Information Act <strong>does not apply</strong> to"
+
+msgid "The accounts have been left as they previously were."
+msgstr ""
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr "The agency do <strong>not have</strong> the information <small>(maybe they say who does)"
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr "The agency only has a <strong>paper copy</strong> of the information."
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr "The agency say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid ATI request"
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr "The agency would like to / has <strong>responded by post</strong> to this request."
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr ""
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr ""
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that agency). In other words, the population being sampled is all the current and future requests to the agency through this site, rather than, say, all requests that have been made to the public body by any means."
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr ""
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr ""
+
+msgid "The public authority does not have the information requested"
+msgstr "The public agency does not have the information requested"
+
+msgid "The public authority would like part of the request explained"
+msgstr "The public agency would like part of the request explained"
+
+msgid "The public authority would like to / has responded by post"
+msgstr "The public agency would like to / has responded by post"
+
+msgid "The request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr ""
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr ""
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr ""
+
+msgid "The request was <strong>refused</strong> by"
+msgstr ""
+
+msgid "The request was <strong>successful</strong>."
+msgstr ""
+
+msgid "The request was refused by the public authority"
+msgstr "The request was refused by the public agency"
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "The requester has abandoned this request for some reason"
+msgstr ""
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the agency should normally have responded\\n <strong>promptly</strong> and"
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the agency should have responded\\n by now"
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr "The search index is currently offline, so we can't show the Access to Information requests that have been made to this agency."
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr "The search index is currently offline, so we can't show the Access to Information requests this person has made."
+
+msgid "The {{site_name}} team."
+msgstr ""
+
+msgid "Then you can cancel the alert."
+msgstr ""
+
+msgid "Then you can cancel the alerts."
+msgstr ""
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr ""
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr "Then you can classify the ATI response you have got from "
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr ""
+
+msgid "Then you can log into the administrative interface"
+msgstr ""
+
+msgid "Then you can play the request categorisation game."
+msgstr ""
+
+msgid "Then you can report the request '{{title}}'"
+msgstr ""
+
+msgid "Then you can send a message to "
+msgstr ""
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr ""
+
+msgid "Then you can update the status of your request to "
+msgstr ""
+
+msgid "Then you can upload an FOI response. "
+msgstr "Then you can upload an ATI response. "
+
+msgid "Then you can write follow up message to "
+msgstr ""
+
+msgid "Then you can write your reply to "
+msgstr ""
+
+msgid "Then you will be following all new FOI requests."
+msgstr "Then you will be following all new ATI requests."
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr ""
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr ""
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr "Then you will be notified whenever an ATI request succeeds."
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr ""
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr ""
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr "Then you'll be allowed to send ATI requests."
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr "Then your ATI request to {{public_body_name}} will be sent."
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr ""
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr ""
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr "There is a limit on the number of requests you can make in a day, because we don’t want public agencies to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr ""
+
+msgid "There was an error with the words you entered, please try again."
+msgstr ""
+
+msgid "There was no data calculated for this graph yet."
+msgstr ""
+
+msgid "There were no requests matching your query."
+msgstr ""
+
+msgid "There were no results matching your query."
+msgstr ""
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr ""
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr ""
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr ""
+
+msgid "They have been given the following explanation:"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr ""
+
+msgid "Things to do with this request"
+msgstr ""
+
+msgid "Things you're following"
+msgstr ""
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr "This agency no longer exists, so you cannot make a request to it."
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr ""
+
+msgid "This external request has been hidden"
+msgstr ""
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr "This is a plain-text version of the Access to Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr "This is an HTML version of an attachment to the Access to Information request"
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr ""
+
+msgid "This is the first version."
+msgstr ""
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr ""
+
+msgid "This message has been hidden."
+msgstr ""
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr ""
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr ""
+
+msgid "This particular request is finished:"
+msgstr ""
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr "This person has made no Access to Information requests using this site."
+
+msgid "This person's annotations"
+msgstr ""
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] "This person's {{count}} Access to Information request"
+msgstr[1] "This person's {{count}} Access to Information requests"
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr ""
+
+msgid "This request has already been reported for administrator attention"
+msgstr ""
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an ATI request"
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr ""
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr ""
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr ""
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "This request has been reported for administrator attention"
+msgstr ""
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr ""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr ""
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr ""
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This request is still in progress:"
+msgstr ""
+
+msgid "This request requires administrator attention"
+msgstr ""
+
+msgid "This request was not made via {{site_name}}"
+msgstr ""
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which agencies respond to requests, the number of requests\\nwhich require a postal response and much more."
+
+msgid "This user has been banned from {{site_name}} "
+msgstr ""
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr ""
+
+msgid "To cancel these alerts"
+msgstr ""
+
+msgid "To cancel this alert"
+msgstr ""
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr ""
+
+msgid "To change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "To classify the response to this FOI request"
+msgstr "To classify the response to this ATI request"
+
+msgid "To do that please send a private email to "
+msgstr ""
+
+msgid "To do this, first click on the link below."
+msgstr ""
+
+msgid "To download the zip file"
+msgstr ""
+
+msgid "To follow all successful requests"
+msgstr ""
+
+msgid "To follow new requests"
+msgstr ""
+
+msgid "To follow requests and responses matching your search"
+msgstr ""
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr "To follow requests made using {{site_name}} to the public agency '{{public_body_name}}'"
+
+msgid "To follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr ""
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr ""
+
+msgid "To log into the administrative interface"
+msgstr ""
+
+msgid "To play the request categorisation game"
+msgstr ""
+
+msgid "To post your annotation"
+msgstr ""
+
+msgid "To reply to "
+msgstr ""
+
+msgid "To report this request"
+msgstr ""
+
+msgid "To send a follow up message to "
+msgstr ""
+
+msgid "To send a message to "
+msgstr ""
+
+msgid "To send your FOI request"
+msgstr "To send your ATI request"
+
+msgid "To update the status of this FOI request"
+msgstr "To update the status of this ATI request"
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr ""
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr ""
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr "To view the email address that we use to send ATI requests to {{public_body_name}}, please enter these words."
+
+msgid "To view the response, click on the link below."
+msgstr ""
+
+msgid "To {{public_body_link_absolute}}"
+msgstr ""
+
+msgid "To:"
+msgstr ""
+
+msgid "Today"
+msgstr ""
+
+msgid "Too many requests"
+msgstr ""
+
+msgid "Top search results:"
+msgstr ""
+
+msgid "Track thing"
+msgstr ""
+
+msgid "Track this person"
+msgstr ""
+
+msgid "Track this search"
+msgstr ""
+
+msgid "TrackThing|Track medium"
+msgstr ""
+
+msgid "TrackThing|Track query"
+msgstr ""
+
+msgid "TrackThing|Track type"
+msgstr ""
+
+msgid "Turn off email alerts"
+msgstr ""
+
+msgid "Tweet this request"
+msgstr ""
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr ""
+
+msgid "URL name can't be blank"
+msgstr ""
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr ""
+
+msgid "Unable to send a reply to {{username}}"
+msgstr ""
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr ""
+
+msgid "Unexpected search result type"
+msgstr ""
+
+msgid "Unexpected search result type "
+msgstr ""
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr "Unfortunately we don't know the ATI\\nemail address for that agency, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+
+msgid "Unknown"
+msgstr ""
+
+msgid "Unsubscribe"
+msgstr ""
+
+msgid "Unusual response."
+msgstr ""
+
+msgid "Update the status of this request"
+msgstr ""
+
+msgid "Update the status of your request to "
+msgstr ""
+
+msgid "Upload FOI response"
+msgstr "Upload ATI response"
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr ""
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr ""
+
+msgid "User"
+msgstr ""
+
+msgid "User info request sent alert"
+msgstr ""
+
+msgid "User – {{name}}"
+msgstr ""
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr ""
+
+msgid "User|About me"
+msgstr ""
+
+msgid "User|Admin level"
+msgstr ""
+
+msgid "User|Ban text"
+msgstr ""
+
+msgid "User|Email"
+msgstr ""
+
+msgid "User|Email bounce message"
+msgstr ""
+
+msgid "User|Email bounced at"
+msgstr ""
+
+msgid "User|Email confirmed"
+msgstr ""
+
+msgid "User|Hashed password"
+msgstr ""
+
+msgid "User|Last daily track email"
+msgstr ""
+
+msgid "User|Locale"
+msgstr ""
+
+msgid "User|Name"
+msgstr ""
+
+msgid "User|No limit"
+msgstr ""
+
+msgid "User|Receive email alerts"
+msgstr ""
+
+msgid "User|Salt"
+msgstr ""
+
+msgid "User|Url name"
+msgstr ""
+
+msgid "Version {{version}}"
+msgstr ""
+
+msgid "View FOI email address"
+msgstr "View ATI email address"
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr "View ATI email address for '{{public_body_name}}'"
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr "View ATI email address for {{public_body_name}}"
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr "View Access to Information requests made by {{user_name}}:"
+
+msgid "View and search requests"
+msgstr ""
+
+msgid "View authorities"
+msgstr "View agencies"
+
+msgid "View email"
+msgstr ""
+
+msgid "View requests"
+msgstr ""
+
+msgid "Waiting clarification."
+msgstr ""
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr ""
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr "Waiting for the public agency to complete an internal review of their handling of the request"
+
+msgid "Waiting for the public authority to reply"
+msgstr "Waiting for the public agency to reply"
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr "Was the response you got to your ATI request any good?"
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr "We consider it is not a valid ATI request, and have therefore hidden it from other users."
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We do not have a working request email address for this authority."
+msgstr "We do not have a working request email address for this agency."
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr ""
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We're waiting for"
+msgstr ""
+
+msgid "We're waiting for someone to read"
+msgstr ""
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr ""
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr ""
+
+msgid "What are you doing?"
+msgstr ""
+
+msgid "What best describes the status of this request now?"
+msgstr ""
+
+msgid "What information has been released?"
+msgstr ""
+
+msgid "What information has been requested?"
+msgstr ""
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr ""
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr ""
+
+msgid "Which of these is happening?"
+msgstr ""
+
+msgid "Who can I request information from?"
+msgstr ""
+
+msgid "Withdrawn by the requester."
+msgstr ""
+
+msgid "Wk"
+msgstr ""
+
+msgid "Would you like to see a website like this in your country?"
+msgstr ""
+
+msgid "Write a reply"
+msgstr ""
+
+msgid "Write a reply to "
+msgstr ""
+
+msgid "Write your FOI follow up message to "
+msgstr "Write your ATI follow up message to "
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr ""
+
+msgid "You"
+msgstr ""
+
+msgid "You are already following new requests"
+msgstr ""
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr ""
+
+msgid "You are already following things matching this search"
+msgstr ""
+
+msgid "You are already following this person"
+msgstr ""
+
+msgid "You are already following this request"
+msgstr ""
+
+msgid "You are already following updates about {{track_description}}"
+msgstr ""
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr ""
+
+msgid "You are following all new successful responses"
+msgstr ""
+
+msgid "You are no longer following {{track_description}}."
+msgstr ""
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr ""
+
+msgid "You can <strong>complain</strong> by"
+msgstr ""
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr ""
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr ""
+
+msgid "You can only request information about the environment from this authority."
+msgstr "You can only request information about the environment from this agency."
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr ""
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr ""
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr ""
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr "You have made no Access to Information requests using this site."
+
+msgid "You have now changed the text about you on your profile."
+msgstr ""
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr ""
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr ""
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr ""
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr ""
+
+msgid "You need to be logged in to change your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to edit your profile."
+msgstr ""
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr ""
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr ""
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr ""
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr "You want to <strong>give your postal address</strong> to the agency in private."
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr ""
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr ""
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr ""
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr ""
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr ""
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr ""
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr "You're long overdue a response to your ATI request - "
+
+msgid "You're not following anything."
+msgstr ""
+
+msgid "You've now cleared your profile photo"
+msgstr ""
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr ""
+
+msgid "Your annotations"
+msgstr ""
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr ""
+
+msgid "Your e-mail:"
+msgstr ""
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr ""
+
+msgid "Your follow up message has been sent on its way."
+msgstr ""
+
+msgid "Your internal review request has been sent on its way."
+msgstr ""
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr ""
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr ""
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr ""
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "Your name:"
+msgstr ""
+
+msgid "Your original message is attached."
+msgstr ""
+
+msgid "Your password has been changed."
+msgstr ""
+
+msgid "Your password:"
+msgstr ""
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr ""
+
+msgid "Your request on {{site_name}} hidden"
+msgstr ""
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr ""
+
+msgid "Your request:"
+msgstr ""
+
+msgid "Your response to an FOI request was not delivered"
+msgstr "Your response to an ATI request was not delivered"
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr ""
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr ""
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] "Your {{count}} Access to Information request"
+msgstr[1] "Your {{count}} Access to Information requests"
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Your {{site_name}} email alert"
+msgstr ""
+
+msgid "Yours faithfully,"
+msgstr ""
+
+msgid "Yours sincerely,"
+msgstr ""
+
+msgid "Yours,"
+msgstr ""
+
+msgid "[FOI #{{request}} email]"
+msgstr "[ATI #{{request}} email]"
+
+msgid "[{{public_body}} request email]"
+msgstr ""
+
+msgid "[{{site_name}} contact email]"
+msgstr ""
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr ""
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr ""
+
+msgid "admin"
+msgstr ""
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr "alaveteli_foi:The software that runs {{site_name}}"
+
+msgid "all requests"
+msgstr ""
+
+msgid "also called {{public_body_short_name}}"
+msgstr ""
+
+msgid "an anonymous user"
+msgstr ""
+
+msgid "and"
+msgstr ""
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr ""
+
+msgid "and update the status."
+msgstr ""
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr ""
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr ""
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr ""
+
+msgid "anything"
+msgstr ""
+
+msgid "are long overdue."
+msgstr ""
+
+msgid "at"
+msgstr ""
+
+msgid "authorities"
+msgstr "agencies"
+
+msgid "awaiting a response"
+msgstr ""
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr ""
+
+msgid "between two dates"
+msgstr ""
+
+msgid "but followupable"
+msgstr ""
+
+msgid "by"
+msgstr ""
+
+msgid "by <strong>{{date}}</strong>"
+msgstr ""
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "by {{user_link_absolute}}"
+msgstr ""
+
+msgid "comments"
+msgstr ""
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+
+msgid "details"
+msgstr ""
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr ""
+
+msgid "during term time"
+msgstr ""
+
+msgid "edit text about you"
+msgstr ""
+
+msgid "even during holidays"
+msgstr ""
+
+msgid "everything"
+msgstr ""
+
+msgid "external"
+msgstr ""
+
+msgid "has reported an"
+msgstr ""
+
+msgid "have delayed."
+msgstr ""
+
+msgid "hide quoted sections"
+msgstr ""
+
+msgid "in term time"
+msgstr ""
+
+msgid "in the category ‘{{category_name}}’"
+msgstr ""
+
+msgid "internal error"
+msgstr ""
+
+msgid "internal reviews"
+msgstr ""
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr ""
+
+msgid "just to see how it works"
+msgstr ""
+
+msgid "left an annotation"
+msgstr ""
+
+msgid "made."
+msgstr ""
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr ""
+
+msgid "messages from authorities"
+msgstr "messages from agencies"
+
+msgid "messages from users"
+msgstr ""
+
+msgid "move..."
+msgstr ""
+
+msgid "no later than"
+msgstr ""
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "normally"
+msgstr ""
+
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
+msgid "please sign in as "
+msgstr ""
+
+msgid "requesting an internal review"
+msgstr ""
+
+msgid "requests"
+msgstr ""
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr ""
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr ""
+
+msgid "send a follow up message"
+msgstr ""
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
+msgid "show quoted sections"
+msgstr ""
+
+msgid "sign in"
+msgstr ""
+
+msgid "simple_date_format"
+msgstr ""
+
+msgid "successful"
+msgstr ""
+
+msgid "successful requests"
+msgstr ""
+
+msgid "that you made to"
+msgstr ""
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr "the main ATI contact address for {{public_body}}"
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr "the main ATI contact at {{public_body}}"
+
+msgid "the requester"
+msgstr ""
+
+msgid "the {{site_name}} team"
+msgstr ""
+
+msgid "to read"
+msgstr ""
+
+msgid "to send a follow up message."
+msgstr ""
+
+msgid "to {{public_body}}"
+msgstr ""
+
+msgid "unknown reason "
+msgstr ""
+
+msgid "unknown status "
+msgstr ""
+
+msgid "unresolved requests"
+msgstr ""
+
+msgid "unsubscribe"
+msgstr ""
+
+msgid "unsubscribe all"
+msgstr ""
+
+msgid "unsuccessful"
+msgstr ""
+
+msgid "unsuccessful requests"
+msgstr ""
+
+msgid "useful information."
+msgstr ""
+
+msgid "users"
+msgstr ""
+
+msgid "what's that?"
+msgstr ""
+
+msgid "{{count}} FOI requests found"
+msgstr "{{count}} ATI requests found"
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] "{{count}} Access to Information request to {{public_body_name}}"
+msgstr[1] "{{count}} Access to Information requests to {{public_body_name}}"
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] "{{count}} person is following this agency"
+msgstr[1] "{{count}} people are following this agency"
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr ""
+
+msgid "{{info_request_user_name}} only:"
+msgstr ""
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr ""
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr ""
+
+msgid "{{length_of_time}} ago"
+msgstr ""
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr ""
+
+msgid "{{number_of_comments}} comments"
+msgstr ""
+
+msgid "{{public_body_link}} answered a request about"
+msgstr ""
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr ""
+
+msgid "{{public_body_name}} only:"
+msgstr ""
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr ""
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr ""
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr ""
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr ""
+
+msgid "{{site_name}} blog and tweets"
+msgstr ""
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr "{{site_name}} covers requests to {{number_of_authorities}} agencies, including:"
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this agency."
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr ""
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr "{{title}} - a Access to Information request to {{public_body}}"
+
+msgid "{{user_name}} (Account suspended)"
+msgstr ""
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr "{{user_name}} - Access to Information requests"
+
+msgid "{{user_name}} - user profile"
+msgstr ""
+
+msgid "{{user_name}} added an annotation"
+msgstr ""
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr ""
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr ""
+
+msgid "{{username}} left an annotation:"
+msgstr ""
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr ""
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr ""
diff --git a/locale/es/app.po b/locale/es/app.po
index 88140765b..7ec55180b 100644
--- a/locale/es/app.po
+++ b/locale/es/app.po
@@ -16,7 +16,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/alaveteli/language/es/)\n"
"Language: es\n"
diff --git a/locale/eu/app.po b/locale/eu/app.po
index 7772b517a..4bbc76246 100644
--- a/locale/eu/app.po
+++ b/locale/eu/app.po
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/alaveteli/language/eu/)\n"
"Language: eu\n"
diff --git a/locale/fi/app.po b/locale/fi/app.po
index 49729aeba..b6353d309 100644
--- a/locale/fi/app.po
+++ b/locale/fi/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Finnish (http://www.transifex.com/projects/p/alaveteli/language/fi/)\n"
"Language: fi\n"
diff --git a/locale/fr/app.po b/locale/fr/app.po
index 388041060..5b22e2172 100644
--- a/locale/fr/app.po
+++ b/locale/fr/app.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Adrien Chauvet <adr.chauvet@gmail.com>, 2013
# skenaja <alex@alexskene.com>, 2011
# andreas.pavlou <andreas@access-info.org>, 2013
# andreas.pavlou <andreas@access-info.org>, 2013
@@ -31,8 +32,8 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
-"Last-Translator: mysociety <transifex@mysociety.org>\n"
+"PO-Revision-Date: 2013-11-24 21:52+0000\n"
+"Last-Translator: Adrien Chauvet <adr.chauvet@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/alaveteli/language/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -633,7 +634,7 @@ msgid "Date:"
msgstr "Date:"
msgid "Dear {{name}},"
-msgstr "Cher {{nom}},"
+msgstr "Cher {{name}},"
msgid "Dear {{public_body_name}},"
msgstr "Cher {{public_body_name}},"
@@ -1037,7 +1038,7 @@ msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a
msgstr "Si vous rencontrez toujours des problèmes, s'il vous plaît <a href=\"{{url}}\">contact us</a>."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
-msgstr ""
+msgstr "Si vous êtes l'auteur de la demande, <a href=\"{{url}}\">connectez-vous</a> pour voir le message."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
msgstr "Si vous êtes le demandeur, alors vous pouvez <a href=\"{{url}}\">sign in</a> voir à la demande."
@@ -1109,10 +1110,10 @@ msgid "IncomingMessage|Mail from domain"
msgstr "IncomingMessage|Mail from domain"
msgid "IncomingMessage|Prominence"
-msgstr ""
+msgstr "Nouveau message|important"
msgid "IncomingMessage|Prominence reason"
-msgstr ""
+msgstr "Nouveau message | Objet important"
msgid "IncomingMessage|Sent at"
msgstr "IncomingMessage|Envoyé à"
@@ -1310,7 +1311,7 @@ msgid "Message"
msgstr "Message"
msgid "Message has been removed"
-msgstr ""
+msgstr "Le message a été supprimé"
msgid "Message sent using {{site_name}} contact form, "
msgstr "Message envoyé en utilisant le formulaire {{site_name}}"
@@ -1430,7 +1431,7 @@ msgid "Now preview your message asking for an internal review"
msgstr "Maintenant prévisualisez votre message demandant un examen interne"
msgid "Number of requests"
-msgstr ""
+msgstr "Nombre de requêtes"
msgid "OR remove the existing photo"
msgstr "Ou effacer la photo existante"
@@ -1496,10 +1497,10 @@ msgid "OutgoingMessage|Message type"
msgstr "OutgoingMessage|Message type"
msgid "OutgoingMessage|Prominence"
-msgstr ""
+msgstr "Message sortant |Important"
msgid "OutgoingMessage|Prominence reason"
-msgstr ""
+msgstr "Message sortant | Objet important"
msgid "OutgoingMessage|Status"
msgstr "OutgoingMessage|Status"
@@ -1529,10 +1530,10 @@ msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Personnes {{start_count}} à {{end_count}} de {{total_count}}"
msgid "Percentage of requests that are overdue"
-msgstr ""
+msgstr "Taux de requêtes en retard"
msgid "Percentage of total requests"
-msgstr ""
+msgstr "Taux de requêtes total"
msgid "Photo of you:"
msgstr "Votre photo :"
@@ -1550,7 +1551,7 @@ msgid "Please"
msgstr "S'il vous plait"
msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "Merci de <a href=\"{{url}}\">nous contacter</a> si vous avez des questions."
msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
msgstr "Veuillez <a href=\"{{url}}\">nous contacter </a> afin que nous puissions le corriger."
@@ -1757,10 +1758,10 @@ msgid "ProfilePhoto|Draft"
msgstr "ProfilePhoto|Draft"
msgid "Public Bodies"
-msgstr ""
+msgstr "Organismes publics"
msgid "Public Body Statistics"
-msgstr ""
+msgstr "Statistiques de l'organisme public"
msgid "Public authorities"
msgstr "Organismes publics"
@@ -1775,19 +1776,19 @@ msgid "Public authority – {{name}}"
msgstr "Organisme public – {{name}}"
msgid "Public bodies that most frequently replied with \"Not Held\""
-msgstr ""
+msgstr "Organismes publics ayant le plus souvent répondu par \"Non approuvé\""
msgid "Public bodies with most overdue requests"
-msgstr ""
+msgstr "Organismes publics ayant le plus de requêtes en retard"
msgid "Public bodies with the fewest successful requests"
-msgstr ""
+msgstr "Organismes publics ayant le moins de requêtes réussies"
msgid "Public bodies with the most requests"
-msgstr ""
+msgstr "Organismes publics ayant le plus de requêtes"
msgid "Public bodies with the most successful requests"
-msgstr ""
+msgstr "Organismes publics ayant le plus de requêtes réussies"
msgid "Public body"
msgstr "Organisme public"
@@ -1817,16 +1818,16 @@ msgid "PublicBody|Info requests count"
msgstr "PublicBody|Info requests count"
msgid "PublicBody|Info requests not held count"
-msgstr ""
+msgstr "Organisme public | Compteur de requêtes non approuvées"
msgid "PublicBody|Info requests overdue count"
-msgstr ""
+msgstr "Organisme public | Compteur de requête en retard"
msgid "PublicBody|Info requests successful count"
-msgstr ""
+msgstr "Organisme public | Compteur de requêtes réussies"
msgid "PublicBody|Info requests visible classified count"
-msgstr ""
+msgstr "Organisme public | Compteur classé d'info requête visible"
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -1940,10 +1941,10 @@ msgid "Requested on {{date}}"
msgstr "Demandé le {{date}}"
msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
-msgstr ""
+msgstr "Les requêtes sont considérées comme dépassées si elles sont classées 'en retard' ou 'très en retard'."
msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
-msgstr ""
+msgstr "Les requêtes sont considérées comme réussies si elles sont classées en tant que 'Réussies' ou 'Partiellement réussies'."
msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
msgstr "Les demandes de renseignements personnels et les demandes abusives ne sont pas considérées comme demandes valides (<a href=\"/help/about\">Lire plus</a>)."
@@ -2254,19 +2255,19 @@ msgid "The authority would like to / has <strong>responded by post</strong> to t
msgstr "L'autorité aimerait répondre, ou a répondu, <strong> par la Poste </strong> à cette demande."
msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
-msgstr ""
+msgstr "La classification des requêtes (e.g. si elles sont réussies ou non) étant effectuée manuellement par les utilisateurs et administrateurs du site, des erreurs peuvent apparaître."
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
msgstr "Le message que vous , au nom de {{public_body}}, avez envoyé à \\n{{user}} en réponse à la demande {{law_used_short}}\\n n'a pas été delivré"
msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
-msgstr ""
+msgstr "Les barres d'erreurs affichées sont précises à 95% pour les proportions sous-jacentes supposées (i.e. celles que vous obtiendriez en effectuant un nombre infini de requêtes via ce site aux autorités). En d'autres mots, la population échantillonnée concerne toute les requêtes futures et actuelles aux autorités via ce site plutôt que, par exemple, toutes les requêtes effectuées aux organismes publics par tous les moyens."
msgid "The page doesn't exist. Things you can try now:"
msgstr "La page n'existe pas . Vous pouvez essayer de :"
msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
-msgstr ""
+msgstr "Les taux sont calculés selon le nombre total de requêtes, qui inclue les requêtes invalides ; c'est un problème connu qui sera fixé dans une prochaine version."
msgid "The public authority does not have the information requested"
msgstr "L'autorité administrative n'a pas les informations demandées"
@@ -2412,7 +2413,7 @@ msgid "There was an error with the words you entered, please try again."
msgstr "Il y a une erreur liée aux mots que vous avez saisis, veuillez réessayer."
msgid "There was no data calculated for this graph yet."
-msgstr ""
+msgstr "Il n'y a actuellement pas de données calculées pour ce graphique."
msgid "There were no requests matching your query."
msgstr "Aucune demande d'information ne correspond à votre recherche."
@@ -2421,7 +2422,7 @@ msgid "There were no results matching your query."
msgstr "Aucun résultat correspondant à votre recherche."
msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
-msgstr ""
+msgstr "Ces graphiques son issus en partie <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">des statistiques</a> que Mark Goodge a produit pour WhatDoTheyKnow, donc le mérite lui revient."
msgid "They are going to reply <strong>by post</strong>"
msgstr "Ils vont répondre <strong>par courrier</strong>"
@@ -2469,25 +2470,25 @@ msgid "This is your own request, so you will be automatically emailed when new r
msgstr "Ceci est votre propre demande, afin que vous receviez automatiquement un e-mail dès que de nouvelles réponses arrivent."
msgid "This message has been hidden."
-msgstr ""
+msgstr "Ce message a été masqué."
msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
-msgstr ""
+msgstr "Ce message a été masqué. Plusieurs raisons peuvent expliquer ce phénomène, désolé de ne pouvoir vous en dire davantage ici."
msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Ce message possède le statu 'caché'. Vous pouvez le voir uniquement car vous êtes connecté en tant que super-utilisateur."
msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
-msgstr ""
+msgstr "Ce message possède le statut 'caché'. {{Raison}} Vous pouvez le voir uniquement car vous êtes connecté en tant que super-utilisateur."
msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Ce message est caché, afin que seulement vous, le demandeur, puissiez le voir. Merci de <a href=\"{{url}}\">nous contacter</a> si vous ne savez pas pourquoi."
msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
-msgstr ""
+msgstr "Ce message est caché, afin que seulement vous, le demandeur, puissiez le voir. {{raison}}"
msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
-msgstr ""
+msgstr "Cette page des statistiques des organismes publics est actuellement expérimentale, c'est pourquoi certaines mises en gardes doivent être portées à votre connaissance :"
msgid "This particular request is finished:"
msgstr "Cette demande particulière est terminée:"
diff --git a/locale/fr_CA/app.po b/locale/fr_CA/app.po
index d869db194..0477869b5 100644
--- a/locale/fr_CA/app.po
+++ b/locale/fr_CA/app.po
@@ -19,7 +19,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: French (Canada) (http://www.transifex.com/projects/p/alaveteli/language/fr_CA/)\n"
"Language: fr_CA\n"
diff --git a/locale/gl/app.po b/locale/gl/app.po
index ac360f29d..d2bb6197e 100644
--- a/locale/gl/app.po
+++ b/locale/gl/app.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/alaveteli/language/gl/)\n"
"Language: gl\n"
diff --git a/locale/he_IL/app.po b/locale/he_IL/app.po
index fa3cf388b..1497ac25f 100644
--- a/locale/he_IL/app.po
+++ b/locale/he_IL/app.po
@@ -21,7 +21,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/alaveteli/language/he_IL/)\n"
"Language: he_IL\n"
diff --git a/locale/hr/app.po b/locale/hr/app.po
index d18f11f98..3716d41a9 100644
--- a/locale/hr/app.po
+++ b/locale/hr/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/alaveteli/language/hr/)\n"
"Language: hr\n"
diff --git a/locale/hr_HR/app.po b/locale/hr_HR/app.po
index 3375c93dd..635379c4d 100644
--- a/locale/hr_HR/app.po
+++ b/locale/hr_HR/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Croatian (Croatia) (http://www.transifex.com/projects/p/alaveteli/language/hr_HR/)\n"
"Language: hr_HR\n"
diff --git a/locale/hu_HU/app.po b/locale/hu_HU/app.po
index 43e0f6418..2819e699d 100644
--- a/locale/hu_HU/app.po
+++ b/locale/hu_HU/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/alaveteli/language/hu_HU/)\n"
"Language: hu_HU\n"
diff --git a/locale/id/app.po b/locale/id/app.po
index 33d7ef797..be8301454 100644
--- a/locale/id/app.po
+++ b/locale/id/app.po
@@ -15,7 +15,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Indonesian (http://www.transifex.com/projects/p/alaveteli/language/id/)\n"
"Language: id\n"
diff --git a/locale/it/app.po b/locale/it/app.po
index fdbce2732..4c9d1a684 100644
--- a/locale/it/app.po
+++ b/locale/it/app.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/alaveteli/language/it/)\n"
"Language: it\n"
diff --git a/locale/mk_MK/app.po b/locale/mk_MK/app.po
new file mode 100644
index 000000000..d6fc877d6
--- /dev/null
+++ b/locale/mk_MK/app.po
@@ -0,0 +1,3536 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-12-08 21:16+0000\n"
+"Last-Translator: slobodenpristap\n"
+"Language-Team: Macedonian (Macedonia) (http://www.transifex.com/projects/p/alaveteli/language/mk_MK/)\n"
+"Language: mk_MK\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr " Ова ќе се прикаже на вашиот {{site_name}} профил, за да го олесни\\n вклучувањето на други во она што го работите."
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr " (<strong>без нападно</strong> обраќање, прочитајте ја нашата <a href=\"{{url}}\">уредувачка политика</a>)"
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr " (<strong>бидете трпеливи</strong>, особено за големи датотеки, процесот може да потрае!)"
+
+msgid " (you)"
+msgstr " (вие)"
+
+msgid " - view and make Freedom of Information requests"
+msgstr " - погледнете и креирајте барање за слободен пристап до информации"
+
+msgid " - wall"
+msgstr " - ѕид"
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr " <strong>Забелешка:</strong>\\n Ќе ви испратиме е-пошта. Следете ги инструкциите од пораката за да ја промените\\n вашата лозинка."
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr " <strong>Забелешка за приватност:</strong> Вашата адреса за е-пошта ќе биде дадена на"
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr " <strong>Резимирајте</strong> ја содржината од вратената информација. "
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr " Препорачајте како <strong>најдобро да се објасни</strong> барањето."
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr "Идеи за <strong>барање на други документи</strong> кои надлежниот орган можеби ги поседува. "
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr "Ако ја знаете адресата која треба да се користи, тогаш ве молиме <a href=\"{{url}}\">испратете ни ја</a>.\\n Можеби ќе успеете да ја најдете адресата на нивната интернет-страна или ако ја побарате од нив со јавување по телефон. "
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr " Вклучете релевантни врски, како што се страна за кампања, вашиот блог или\\n Твитер профил. Истите ќе бидат линкови. \\n на пр."
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr " Врска до бараната информација, доколку <strong>е веќе достапна</strong> на интернет. "
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr " Понуди подобри начини за <strong>формулација на барањето</strong> за добивање на информацијата. "
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr " Изјаснете се како <strong>ја употребивте информацијата</strong> и вклучете линкови, доколку е возможно."
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr " Предложете <strong>каде на друго место</strong> барателот може да најде информации. "
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr " Што истражувате преку употреба на слободниот пристап до информации? "
+
+msgid " You are already being emailed updates about the request."
+msgstr " Веќе ви се испратени новости за барањето по е-пошта. "
+
+msgid " You will also be emailed updates about the request."
+msgstr " Исто така ќе ви бидат испратени новости за барањето по е-пошта."
+
+msgid " made by "
+msgstr " креирано од "
+
+msgid " or "
+msgstr " или "
+
+msgid " when you send this message."
+msgstr " кога ќе ја испратите оваа порака."
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr "\"Здраво! Имаме <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">важна порака</a> за посетителите надвор од {{country_name}}\""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr "'Криминална статистика по области за Македонија'"
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr "'Ниво на загадување на реката Вардар со тек на времето'"
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr "'{{link_to_authority}}', имател"
+
+msgid "'{{link_to_request}}', a request"
+msgstr "'{{link_to_request}}', барање"
+
+msgid "'{{link_to_user}}', a person"
+msgstr "'{{link_to_user}}', личност"
+
+msgid "*unknown*"
+msgstr "*непознат*"
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ",\\n\\n\\n\\nВаш,\\n\\n{{user_name}}"
+
+msgid "- or -"
+msgstr "- или -"
+
+msgid "1. Select an authority"
+msgstr "1. Изберете имател на информација"
+
+msgid "2. Ask for Information"
+msgstr "2. Побарајте информација"
+
+msgid "3. Now check your request"
+msgstr "3. Проверете го вашето барање"
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr "<a href=\"{{browse_url}}\">Прелистајте ги сите</a> или <a href=\"{{add_url}}\">побарајте ние да додадеме</a>."
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr "<a href=\"{{url}}\">Додајте белешка</a> (за да му помогнете на барателот или на другите)"
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr "<a href=\"{{url}}\">Најавете се</a> за да ја промените лозинка, претплатата и друго (само {{user_name}})"
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr "<p>Готово! Благодариме за вашата помош.</p><p>Постојат <a href=\"{{helpus_url}}\">повеќе работи кои може да ги направите</a> за да помогнете {{site_name}}.</p>"
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr "<p>Ви благодариме! Следуваат неколку идеи што следно може да направите:</p>\\n <ul>\\n <li>За да го испратите вашето барање до друг имател, прво копирајте го текстот од вашето барање подолу, а потоа <a href=\"{{find_authority_url}}\">најдете го другиот имател</a>.</li>\\n <li>Ако сакате да го оспорите тврдењето на имателите дека тие не ги поседуваат информациите, еве \\n <a href=\"{{complain_url}}\">како да се пожалите</a>.\\n </li>\\n <li>Имаме <a href=\"{{other_means_url}}\">предлози</a>\\n за други начини за добивање одговор на вашето прашање.\\n </li>\\n </ul>"
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>Ви благодариме! Се надеваме нема да чекате уште многу.</p> <p>Според законот, требаше да добиете одговор брзо, обично пред крајот на <strong>{{date_response_required_by}}</strong>.</p>"
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>Ви благодариме! Се надеваме нема да чекате премногу.</p> <p>Според законот, требаше да добиете одговор брзо, обично пред крајот на <strong>\\n{{date_response_required_by}}</strong>.</p>"
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr "<p>Ви благодариме! Се надеваме нема да чекате премногу.</p><p>Треба да добиете одговор во рок од {{late_number_of_days}} дена или да бидете известени ако е потребно повеќе време (<a href=\"{{review_url}}\">детали</a>).</p>"
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr "<p>Ви благодариме! Вашето барање го надмина рокот за повеќе од {{very_late_number_of_days}} работни дена. Повеќето барања треба да се одговорени во рок од {{late_number_of_days}} работни дена. Можеби ќе сакате да испратите жалба за ова, погледнете подолу.</p>"
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr "<p>Во благодариме за менување на текстот за вас на вашиот профил.</p>\\n <p><strong>Следно...</strong> Може да прикачите и ваша фотографија.</p>"
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr "<p>Во благодариме за ажурирање на фотографијата од профилот.</p>\\n <p><strong>Следно...</strong> Може да внесете текст за вас и за вашето истражување на вашиот профил.</p>"
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr "<p>Препорачуваме да го уредите вашето барање и да ја тргнете адресата за е-пошта.\\n Ако го оставите како што е, адресата за е-пошта ќе биде пратена до имателот, но истата нема повеќе да биде прикажана на интернет страната.</p>"
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr "<p>Драго ни е што ги добивте сите информации кои ги баравте. Ако ги употребите или пишувате за овие информации, ве молиме вратете се со цел да додадете белешка подолу каде ќе наведете како сте ги искористиле.</p>"
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr "<p>Драго ни е што ги добивте сите информации кои ги баравте. Ако ги употребите или пишувате за овие информации, ве молиме вратете се со цел да додадете белешка подолу каде ќе наведете како сте ги искористиле.</p><p>Ако {{site_name}} ви беше од корист, <a href=\"{{donation_url}}\">донирајте</a> на организацијата која го раководи.</p>"
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr "<p>Драго ни е што добивте дел информации кои ги баравте. Ако {{site_name}} ви беше од корист, <a href=\"{{donation_url}}\">донирајте</a> на организацијата која го раководи.</p><p>Ако сакате да се обидете да ги добиете и останатите информации, еве што треба да направите следно.</p>"
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr "<p>Драго ни е што добивте дел од информациите кои ги баравте.</p><p>Ако сакате да се обидете да ги добиете останатите информации, еве што треба да направите следно.</p>"
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr "<p>Нема потреба од вклучување на вашата е-пошта во барањето со цел да добиете одговор. (<a href=\"{{url}}\">детали</a>).</p>"
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr "<p>Нема потреба од вклучување на вашата е-пошта во барањето со цел да добиете одговор, бидејќи ние ќе ја побараме во следниот екран (<a href=\"{{url}}\">детали</a>).</p>"
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr "<p>Вашето барање содржи <strong>поштенски број</strong>. Ве молиме тргнете било каква адреса, освен ако директно се однесува на барањето, бидејќи <strong>ќе се појави јавно на интернет</strong>.</p>"
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr "<p>Вашето {{law_used_full}} барање е <strong>испратено</strong>!</p>\\n <p><strong>Ќе ви испратиме е-пошта</strong> кога ќе има одговор или после {{late_number_of_days}} работни дена доколку имателот се уште нема\\n одговорено до тогаш.</p>\\n <p>Ако пишувате за ова барање (на пример на форум или блог) ве молам направете врска со оваа страница и додадете\\n белешка подолу каде што ќе кажете на корисниците за што пишувате. </p>"
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr "<p>{{site_name}} во моментов се ажурира. Можете да ги прегледате само постоечките барања. Не може да креирате нови барања, да реплицирате или да додавате белешки или на било кој начин да ја менувате базата на податоци.</p> <p>{{read_only}}</p>"
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr "<small>Доколку користите веб-базирана е-пошта или пак имате \"junk mail\" филтри, проверете го и вашето\\nсандаче за спам пораки. Понекогаш, нашите пораки се означени како спам пораки.</small>\\n</p>"
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr "<strong> Дали може да побарам информации за себе?</strong>\\n\t\t\t<a href=\"{{url}}\">Не! (Кликнете тука за детали)</a>"
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr "<strong><code>commented_by:tony_bowden</code></strong> за да пребарате белешки креирани од Tony Bowden, со внесување на името како што е во URL врската."
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr "<strong><code>filetype:pdf</code></strong> за да ги најдете сите одговори кои содржат PDF прилози. Или пробајте со: <code>{{list_of_file_extensions}}</code>"
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr "<strong><code>request:</code></strong> за да ограничите на одредено барање, со внесување на насловот како што е во URL врската."
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr "<strong><code>requested_by:julian_todd</code></strong> за да пребарате барања креирани од Julian Todd, со внесување на името како што е во URL врската."
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr "<strong><code>requested_from:vlada</code></strong> за да се пребараат барања од Влада на РМ, со внесување на името како што е во URL врската."
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr "<strong><code>status:</code></strong> за да одберете во зависност од статусот на барањето, погледнете ја <a href=\"{{statuses_url}}\">табелата на статуси</a> подолу."
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr "<strong><code>tag:charity</code></strong> за да најдете сите иматели или барања за одреден клучен збор. Може да вклучите повеќе клучни зборови, \\n и нивни вредности, на пр. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Забележете дека стандардно било кој од клучните зборови\\n може да се внесат, но мора да внесете <code>AND</code> експлицитно ако сакате резултати да ги содржат сите наведени клучни зборови."
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr "<strong><code>variety:</code></strong> за да одберете тип на информација која се пребарува, погледнете ја <a href=\"{{varieties_url}}\">табелата со можности</a> подолу."
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr "<strong>Совет</strong> за како да се добие одговор кој ќе биде задоволителен за барателот. </li>"
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr "<strong>Сите информации</strong> се испратени"
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr "<strong>Уште нешто</strong>, како што е појаснување, потсетување, заблагодарување"
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr "<strong>Внимание!</strong> За да ги користите овие податоци на чесен начин, ќе ви биде потребно \\nдобро познавање за однесувањето на корисниците на {{site_name}}. Како, \\nзошто и од кого барањата кои се категоризирани не се јасни и ќе\\nпостои човечка грешка и двосмисленост. Исто така ќе треба да го разберете законот за слободен пристап до информации од јавен карактер, како и\\nначинот на кои имателите на информации го користат. Дополнително, ќе треба да бидете елитен статистичар. Ве молиме\\n<a href=\"{{contact_path}}\">контактирајте не</a> доколку имате прашања."
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr "Беше побарано <strong>појаснување</strong>"
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr "Не беше добиен <strong>никаков одговор</strong>\\n <small>(можеби има само потврда за прием)</small>"
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr "<strong>Забелешка:</strong> Бидејќи тестираме, барањата се праќаат до {{email}} наместо до имателот."
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr "<strong>Забелешка:</strong> Испраќате е-пошта до самите себе, веројатно\\n за да пробате како функционира системот."
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr "<strong>Забелешка:</strong>\\n Ќе испратиме е-пошта до вашата нова адреса за е-пошта. Следете ги\\n насоките во неа за да го потврдите менувањето на адресата."
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr "<strong>Забелешка за приватност:</strong> Ако сакате да побарате приватни информации за\\n себе, тогаш <a href=\"{{url}}\">кликнете тука</a>."
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr "<strong>Забелешка за приватност:</strong> Вашата фотографија ќе биде јавно прикажана на интернет,\\n секогаш кога ќе сакате нешто да направите на {{site_name}}."
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr "<strong>Забелешка за приватност:</strong> Вашата порака и секој одговор\\n на неа, ќе бидат јавно прикажани на оваа интернет-страна."
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr "<strong>Некои од информациите</strong> беа испратени "
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr "<strong>Заблагодарете</strong> му се ја имателот или "
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr "<strong>ја немаше</strong> бараната информација."
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "<a href=\"{{request_url}}\">Реакција</a> на <em>{{request_title}}</em> беше испратена на {{public_body_name}} од {{info_request_user}} на {{date}}."
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr "<a href=\"{{request_url}}\">Одговор</a> на <em>{{request_title}}</em> беше пратен од {{public_body_name}} до {{info_request_user}} на {{date}}. Статусот на одговорот е: {{request_status}}"
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr "<strong>Резиме</strong> на одговорот ако го добивте преку пошта. "
+
+msgid "A Freedom of Information request"
+msgstr "Барање за слободен пристап до информации од јавен карактер"
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr "Целосна историја за моето барање и сите кореспонденции се достапни на интернет на следнава адреса: {{url}}"
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "Ново барање, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, беше пратено до {{public_body_name}} од {{info_request_user}} на {{date}}."
+
+msgid "A public authority"
+msgstr "Имател на информација"
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr "Одговорот ќе биде испратен <strong>по пошта</strong>"
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr "Чуден одговор, бара внимание од страна на {{site_name}} тимот"
+
+msgid "A vexatious request"
+msgstr "Вознемирувачко барање"
+
+msgid "A {{site_name}} user"
+msgstr "Корисник на {{site_name}}"
+
+msgid "About you:"
+msgstr "За вас:"
+
+msgid "Act on what you've learnt"
+msgstr "Постапувајте по тоа што сте го научиле"
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr "Постапува како xapian/постапува како xapian работна задача"
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr "ActsAsXapian::ActsAsXapianJob|Акција"
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr "ActsAsXapian::ActsAsXapianJob|Модел"
+
+msgid "Add an annotation"
+msgstr "Додадете белешка"
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr "Додадете белешка на вашето барање со избрани цитати, или\\n <strong>резиме на одговорот</strong>."
+
+msgid "Added on {{date}}"
+msgstr "Додадено на {{date}}"
+
+msgid "Admin level is not included in list"
+msgstr "Администраторското ниво не е наведено во листата"
+
+msgid "Administration URL:"
+msgstr "URL за администрирање:"
+
+msgid "Advanced search"
+msgstr "Напредно пребарување"
+
+msgid "Advanced search tips"
+msgstr "Препораки за напредно пребарување"
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr "Советувај ако <strong>одбивањето е легално</strong> и како да се пожалите доколку не е."
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr "Воздух, вода, почва, земјиште, флора и фауна (вклучувајќи и каков ефект имаат овие\\n на човечките суштества)"
+
+msgid "All of the information requested has been received"
+msgstr "Сите побарани информации се примени"
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr "Сите опции подолу може да користат <strong>status</strong> или <strong>latest_status</strong> пред колоната. На пример, <strong>status:not_held</strong> ќе одговара на барањата кои <em>некогаш</em> биле маркирани да не се чуваат; <strong>latest_status:not_held</strong> ќе одговара на барањата кои <em>во моментов</em> се маркирани да не се чуваат."
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr "Сите опции подолу може да користат <strong>variety</strong> или <strong>latest_variety</strong> пред колоната. На пример, <strong>variety:sent</strong> ќе одговара на барањата кои <em>ever</em> биле испратени; <strong>latest_variety:sent</strong> ќе одговара на барањата кои се <em>во моментов</em> се маркирани да не се чуваат."
+
+msgid "Also called {{other_name}}."
+msgstr "Исто така наречени {{other_name}}."
+
+msgid "Also send me alerts by email"
+msgstr "Дополнително, испрати ми предупредувања по е-пошта"
+
+msgid "Alter your subscription"
+msgstr "Променете ја својата претплата"
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr "И покрај тоа што сите одговори се објавуваат автоматски, ние зависиме од \\nвас, изворниот барател, за да ги оцените."
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr "<a href=\"{{request_url}}\">Белешка</a> за <em>{{request_title}}</em> беше направена од {{event_comment_user}} на {{date}}"
+
+msgid "An <strong>error message</strong> has been received"
+msgstr "Беше примена <strong>порака за грешка</strong>"
+
+msgid "An Environmental Information Regulations request"
+msgstr "Барање за регулативи за животна средина"
+
+msgid "An anonymous user"
+msgstr "Анонимен корисник"
+
+msgid "Annotation added to request"
+msgstr "Белешката е додадена на барањето"
+
+msgid "Annotations"
+msgstr "Белешки"
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr "Белешките се за сите, вклучувајќи ве и вас, да му помогнат на барателот со неговото барање. На пример:"
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr "Белешките ќе бидат јавно објавени тука и \\n <strong>не се</strong> испратени до {{public_body_name}}."
+
+msgid "Anonymous user"
+msgstr "Анонимен корисник"
+
+msgid "Anyone:"
+msgstr "Секој:"
+
+msgid "Applies to"
+msgstr "Се однесува на"
+
+msgid "Are we missing a public authority?"
+msgstr "Дали недостасува некој имател?"
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr "Дали сте сопственик на било кои комерцијални авторски права на оваа страница?"
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr "Побарајте <strong>специфични</strong> документи или информации, оваа страна не е соодветна за општи побарувања."
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr "На дното од оваа страница, напишете одговор до нив со што ќе се обидете да ги убедите да го скенираат со\\n (<a href=\"{{url}}\">повеќе детали</a>)."
+
+msgid "Attachment (optional):"
+msgstr "Прилог (необврзувачко):"
+
+msgid "Attachment:"
+msgstr "Прилог:"
+
+msgid "Awaiting classification."
+msgstr "Се чека класифицирање."
+
+msgid "Awaiting internal review."
+msgstr "Се чека внатрешна ревизија."
+
+msgid "Awaiting response."
+msgstr "Се чека одговор."
+
+msgid "Beginning with"
+msgstr "Започнувајќи со"
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr "Прелистајте <a href='{{url}}'>други барања</a> за примери како да го формулирате вашето барање."
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr "Прелистајте <a href='{{url}}'>други барања</a> од '{{public_body_name}}' за примери како да го формулирате вашето барање."
+
+msgid "Browse all authorities..."
+msgstr "Прелистајте ги сите иматели..."
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr "Според законот, под сите околности, {{public_body_link}} требаше да одговори до сега"
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr "Според закон, {{public_body_link}} требало да одговори <strong>веднаш</strong> и"
+
+msgid "Calculated home page"
+msgstr "Пресметана почетна страна"
+
+msgid "Can't find the one you want?"
+msgstr "Не може да го најдете она што го барате?"
+
+msgid "Cancel a {{site_name}} alert"
+msgstr "Откажете ги предупредувањата за {{site_name}} "
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr "Откажете некои предупредувања за {{site_name}} "
+
+msgid "Cancel, return to your profile page"
+msgstr "Откажете и вратете се до страницата на вашиот профил"
+
+msgid "Censor rule"
+msgstr "Правило за цензура"
+
+msgid "CensorRule|Last edit comment"
+msgstr "CensorRule|Последно уреден коментар"
+
+msgid "CensorRule|Last edit editor"
+msgstr "CensorRule|Последно изменет уредник"
+
+msgid "CensorRule|Regexp"
+msgstr "CensorRule|Regexp"
+
+msgid "CensorRule|Replacement"
+msgstr "CensorRule|Замена"
+
+msgid "CensorRule|Text"
+msgstr "CensorRule|Текст"
+
+msgid "Change email on {{site_name}}"
+msgstr "Промени е-пошта на {{site_name}}"
+
+msgid "Change password on {{site_name}}"
+msgstr "Промени лозинка на {{site_name}}"
+
+msgid "Change profile photo"
+msgstr "Промени фотографија за профил"
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr "Променете го текстот за себе на {{site_name}}"
+
+msgid "Change your email"
+msgstr "Променете ја својата е-пошта"
+
+msgid "Change your email address used on {{site_name}}"
+msgstr "Променете ја својата адреса за е-пошта употребена на {{site_name}}"
+
+msgid "Change your password"
+msgstr "Променете ја лозинката"
+
+msgid "Change your password on {{site_name}}"
+msgstr "Променете ја лозинката на {{site_name}}"
+
+msgid "Change your password {{site_name}}"
+msgstr "Променете ја лозинката {{site_name}}"
+
+msgid "Charity registration"
+msgstr "Регистрација на добротворна органзиација"
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr "Проверете за грешки доколку ја впишавте или копиравте адресата."
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr "Проверете дали вклучивте <strong>лични информации</strong>."
+
+msgid "Choose your profile photo"
+msgstr "Изберете фотографија за профил"
+
+msgid "Clarification"
+msgstr "Објаснување"
+
+msgid "Clarify your FOI request - "
+msgstr "Објаснете го своето барање за слободен пристап до информации - "
+
+msgid "Classify an FOI response from "
+msgstr "Класифицарајте го одговорот од "
+
+msgid "Clear photo"
+msgstr "Поништете фотографија"
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr "Кликнете на линкот подолу за да испратите порака до {{public_body_name}} со што им кажувате да ви одговорат на барањето. Можеби ќе сакате да побарате внатрешна\\nревизија, со што ќе побарате од нив да ви кажат зошто добивањето одговор на барањето е толку споро."
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr "Кликнете на линкот подолу за да испратите порака до {{public_body}} со што ќе ги потсетите да ви одговорат на барањето."
+
+msgid "Close"
+msgstr "Затворете"
+
+msgid "Comment"
+msgstr "Коментирајте"
+
+msgid "Comment|Body"
+msgstr "Comment|Body"
+
+msgid "Comment|Comment type"
+msgstr "Comment|Comment type"
+
+msgid "Comment|Locale"
+msgstr "Comment|Locale"
+
+msgid "Comment|Visible"
+msgstr "Comment|Visible"
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr "Потврдете дека сакате да ги следите сите успешни барања за слободен пристап до информации од јавен карактер"
+
+msgid "Confirm you want to follow new requests"
+msgstr "Потврдете дека сакате да ги следите сите нови барања"
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr "Потврдете дека сакате да ги следите сите нови барања или одговори кои одговараат на вашето пребарување"
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr "Потврдете дека сакате да ги следите барањата од '{{user_name}}'"
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr "Потврдете дека сакате да ги следите барањата до '{{public_body_name}}'"
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr "Потврдете дека сакате да го следите барањето '{{request_title}}'"
+
+msgid "Confirm your FOI request to "
+msgstr "Потврдете го вашето барање за слободен пристап до "
+
+msgid "Confirm your account on {{site_name}}"
+msgstr "Потврдете го вашиот профил на {{site_name}}"
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr "Потврдете ја вашата белешка до {{info_request_title}}"
+
+msgid "Confirm your email address"
+msgstr "Потврдете ја вашата адреса за е-пошта"
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr "Потврдете ја вашата нова адреса за е-пошта на {{site_name}}"
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr "Од страна на администраторите, ова барање се смета дека не е барање за слободен пристап и истото е скриено од страната."
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr "Од страна на администраторите, ова барање се смета за вознемирувачко и истото е скриено од страната."
+
+msgid "Contact {{recipient}}"
+msgstr "Контакт {{recipient}}"
+
+msgid "Contact {{site_name}}"
+msgstr "Контакт {{site_name}}"
+
+msgid "Could not identify the request from the email address"
+msgstr "Не може да се идентификува барањето од адресата за е-пошта"
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr "Форматот на фотографијата е непознат. Поддржани се PNG, JPEG, GIF и многу други чести формати за фотографија."
+
+msgid "Crop your profile photo"
+msgstr "Исечете ја вашата фотографија за профил"
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr "Културни знаменитости и изградени објекти (кои може да се засегнати од\\n факторите наведени погоре)"
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr "Во моментов <strong>се чека на одговор</strong> од {{public_body_link}}, тие мора да одговорат веднаш и"
+
+msgid "Date:"
+msgstr "Дата:"
+
+msgid "Dear {{name}},"
+msgstr "Драг {{name}},\\n\\nВрз основа на член 4 и член 12 од Законот за слободен пристап до информации од јавен карактер (“Службен весник на Република Македонија бр. 13/ 1.2.2006 год.), ја барам следната информација од јавен карактер:"
+
+msgid "Dear {{public_body_name}},"
+msgstr "Драг {{public_body_name}},\\n\\nВрз основа на член 4 и член 12 од Законот за слободен пристап до информации од јавен карактер (“Службен весник на Република Македонија бр. 13/ 1.2.2006 год.), ја барам следната информација од јавен карактер:"
+
+msgid "Default locale"
+msgstr "Зададено место"
+
+msgid "Defunct."
+msgstr "Мртов."
+
+msgid "Delayed response to your FOI request - "
+msgstr "Одложен одговор на вашето барање за слободен пристап - "
+
+msgid "Delayed."
+msgstr "Одложен."
+
+msgid "Delivery error"
+msgstr "Грешка при испорака"
+
+msgid "Destroy {{name}}"
+msgstr "Уништи {{name}}"
+
+msgid "Details of request '"
+msgstr "Детали за барањето '"
+
+msgid "Did you mean: {{correction}}"
+msgstr "Дали мислевте: {{correction}}"
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr "Оградување: Оваа порака како и секој одговор кој ќе го направите ќе биде објавен на интернет. Нашите политики за приватност и авторски права:"
+
+msgid "Disclosure log"
+msgstr "Дневник на објави"
+
+msgid "Disclosure log URL"
+msgstr "URL на дневник на објави"
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr "Не сакате да ја упатите вашата порака до {{person_or_body}}? Можете да пишете и до:"
+
+msgid "Done"
+msgstr "Готово"
+
+msgid "Done &gt;&gt;"
+msgstr "Готово &gt;&gt;"
+
+msgid "Download a zip file of all correspondence"
+msgstr "Преземете zip датотека од целата кореспонденција"
+
+msgid "Download original attachment"
+msgstr "Преземете го оригиналниот прилог"
+
+msgid "EIR"
+msgstr "EIR"
+
+msgid "Edit"
+msgstr "Уреди"
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr "Уредете и додајте <strong>повеќе детали</strong> на пораката погоре,\\n и притоа објаснете зошто не сте задоволен од нивниот одговор."
+
+msgid "Edit text about you"
+msgstr "Уредете го текстот за вас"
+
+msgid "Edit this request"
+msgstr "Уредете го ова барање"
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr "Или е-поштата или лозинката не се препознаени, обидете се повторно."
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr "Или е-поштата или лозинката не се препознаени, обидете се повторно. Или креирајте нов профил преку формата од десната страна."
+
+msgid "Email doesn't look like a valid address"
+msgstr "Адресата за е-пошта не е валидна"
+
+msgid "Email me future updates to this request"
+msgstr "Сакам да добивам е-пошта со новости за ова барање"
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr "Внесете зборови кои сакате да ги најдете, одвоени со празно место, на пр. <strong>искачување јаже</strong>"
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr "Внесете го вашиот одговор подолу. Може да прикачите еден документ (употребете е-пошта, или\\n <a href=\"{{url}}\">контактирајте не</a> ако имате потреба од повеќе)."
+
+msgid "Environmental Information Regulations"
+msgstr "Регулативи за инфорамции за животна средина"
+
+msgid "Environmental Information Regulations requests made"
+msgstr "Направени се барања за регулативи за информации за животна средина"
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr "Преку оваа страна, направени се барања за регулативи за информации за животна средина"
+
+msgid "Event history"
+msgstr "Историја на настани"
+
+msgid "Event history details"
+msgstr "Детали за историја на настани"
+
+msgid "Event {{id}}"
+msgstr "Настан {{id}}"
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr "Се што ќе внесете на оваа страница, вклучувајќи го и <strong>вашето име</strong>,\\n ќе биде <strong>јавно прикажано</strong> засекогаш на\\n оваа интернет-страна (<a href=\"{{url}}\">зошто?</a>)."
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr "Се што ќе внесете на оваа страница\\n ќе биде <strong>јавно прикажано</strong> засекогаш на\\n оваа интернет-страна (<a href=\"{{url}}\">зошто?</a>)."
+
+msgid "FOI"
+msgstr "Слободен пристап до информации од јавен карактер"
+
+msgid "FOI email address for {{public_body}}"
+msgstr "Адреса за е-пошта за слободен пристап до информации на {{public_body}}"
+
+msgid "FOI request – {{title}}"
+msgstr "Барање за слободен пристап до информации – {{title}}"
+
+msgid "FOI requests"
+msgstr "Барања за слободен пристап до информации од јавен карактер"
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr "Барања за слободен пристап до информации од '{{user_name}}'"
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Барања за слободен пристап до информации {{start_count}} до {{end_count}} од {{total_count}}"
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr "Одговор на барање за слободен пристап до информации бара администрирање ({{reason}}) - {{title}}"
+
+msgid "Failed to convert image to a PNG"
+msgstr "Неуспешно конвертирање на фотографија во PNG формат"
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr "Неуспешно конвертирање на фотографија во точната големина: со {{cols}}x{{rows}}, треба {{width}}x{{height}}"
+
+msgid "Filter"
+msgstr "Филтрирај"
+
+msgid "First, did your other requests succeed?"
+msgstr "Прво, дали другите ваши барања беа успешни?"
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr "Прво, внесете <strong>име на надлежниот орган во МК</strong> од кој\\n ви треба информација. <strong>Според закон, тие мора да одговорат</strong>\\n (<a href=\"{{url}}\">зошто?</a>)."
+
+msgid "Foi attachment"
+msgstr "Прилог за барањето за слободен пристап"
+
+msgid "FoiAttachment|Charset"
+msgstr "FoiAttachment|Charset"
+
+msgid "FoiAttachment|Content type"
+msgstr "FoiAttachment|Content type"
+
+msgid "FoiAttachment|Display size"
+msgstr "FoiAttachment|Display size"
+
+msgid "FoiAttachment|Filename"
+msgstr "FoiAttachment|Filename"
+
+msgid "FoiAttachment|Hexdigest"
+msgstr "FoiAttachment|Hexdigest"
+
+msgid "FoiAttachment|Url part number"
+msgstr "FoiAttachment|Url part number"
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr "FoiAttachment|Within rfc822 subject"
+
+msgid "Follow"
+msgstr "Следи"
+
+msgid "Follow all new requests"
+msgstr "Следи ги сите нови барања"
+
+msgid "Follow new successful responses"
+msgstr "Следете ги новите успешни одговори"
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr "Следете ги барањата до {{public_body_name}}"
+
+msgid "Follow these requests"
+msgstr "Следете ги овие барања"
+
+msgid "Follow things matching this search"
+msgstr "Следете ги активностите кои одговараат на ова пребарување"
+
+msgid "Follow this authority"
+msgstr "Следете го овој надлежен орган"
+
+msgid "Follow this link to see the request:"
+msgstr "Следете ја оваа врска за да го видите барањето:"
+
+msgid "Follow this person"
+msgstr "Следете ја оваа личност"
+
+msgid "Follow this request"
+msgstr "Следете го ова барање"
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr "Реакција"
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr "Реакција е испратена од барател"
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr "Реакции на постоечки барања се пратени до "
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr "Реакциите и новите одговори на ова барање беа стопирани поради превенција за спам. Ве молиме <a href=\"{{url}}\">контактирајте не</a> ако сте {{user_link}} и сакате да се испратите реакција."
+
+msgid "Follow us on twitter"
+msgstr "Следи не на twitter"
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr "Реакција за ова барање не може да се испрати, бидејќи беше направено надворешно, а објавено тука од {{public_body_name}} во име на барателот."
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr "Од непознати причини, не може да се направи барање до овој имател."
+
+msgid "Forgotten your password?"
+msgstr "Ја заборавивте лозинката?"
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] "Најден е {{count}} имател {{description}}"
+msgstr[1] "Најдени се {{count}} иматели {{description}}"
+
+msgid "Freedom of Information"
+msgstr "Слободен пристап до информации"
+
+msgid "Freedom of Information Act"
+msgstr "Закон за слободен пристап до информации"
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr "Законот за Слободен пристап до информации не се однесува за овој имател, затоа не можете да направите\\n барање до нив."
+
+msgid "Freedom of Information law no longer applies to"
+msgstr "Законот за Слободен пристап до информации повеќе не се однесува на"
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr "Законот за Слободен пристап до информации не се однесува за овој имател. Надоврзаните пораки на барањето се праќаат до "
+
+msgid "Freedom of Information requests made"
+msgstr "Направени се барања за слободен пристап до информации"
+
+msgid "Freedom of Information requests made by this person"
+msgstr "Направени се барања за слободен пристап до информации од оваа личност"
+
+msgid "Freedom of Information requests made by you"
+msgstr "Барања за слободен пристап до информации направени од вас"
+
+msgid "Freedom of Information requests made using this site"
+msgstr "Барања за слободен пристап до информации направени преку оваа страна"
+
+msgid "Freedom of information requests to"
+msgstr "Барања за слободен пристап до информации до"
+
+msgid "From"
+msgstr "Од"
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr "Од страната со барањето, обидете се да одговорите на конкретна порака, наместо да испратите\\n општа реакција. Ако сакате да направите општа реакција и ја знаете\\n е-поштата со која директно се упатува на правото место, ве молиме <a href=\"{{url}}\">пратете ни ја нас</a>."
+
+msgid "From:"
+msgstr "Од:"
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr "ДАДЕТЕ ДЕТАЛИ ЗА ВАЖАТА ЖАЛБА ТУКА"
+
+msgid "Handled by post."
+msgstr "Решено по пошта."
+
+msgid "Has tag string/has tag string tag"
+msgstr "Has tag string/has tag string tag"
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr "HasTagString::HasTagStringTag|Model"
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr "HasTagString::HasTagStringTag|Name"
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr "HasTagString::HasTagStringTag|Value"
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr "Здраво! Може да направите барање за слободен пристап до информации во рамки на {{country_name}} на {{link_to_website}}"
+
+msgid "Hello, {{username}}!"
+msgstr "Здраво, {{username}}!"
+
+msgid "Help"
+msgstr "Помош"
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr "Овде зборот <strong>опишано</strong> значи кога корисник има одбрано статус за барањето и\\nстатусот на последната новост ја има таа вредност. Зборот <strong>пресметано</strong> е претставен од страна на\\n{{site_name}} за посредни настани, за кои не беше експлицитно даден\\nопис од страна на корисник. Погледни ги <a href=\"{{search_path}}\">советите за пребарување</a> за описите на статусите."
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr "Еве ја пораката која ја напишавте, во случај да сакате да го ископирате текстот и да го зачувате за подоцна."
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr "Здраво! Ни треба вашата помош. Личноста која го напиша следново барање\\n не не извести дали истото беше успешно. Дали може да одвоите време\\n за да го прочитате и да ни помогнете да го одржиме местово уредно за сите?\\nВи благодариме."
+
+msgid "Hide request"
+msgstr "Сокриј барање"
+
+msgid "Holiday"
+msgstr "Празник"
+
+msgid "Holiday|Day"
+msgstr "Holiday|Day"
+
+msgid "Holiday|Description"
+msgstr "Holiday|Description"
+
+msgid "Home"
+msgstr "Почеток"
+
+msgid "Home page"
+msgstr "Почетна страна"
+
+msgid "Home page of authority"
+msgstr "Почетна страна на имателот"
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr "Секако, вие имате право да побарате информации\\n за животната средина под друг закон"
+
+msgid "Human health and safety"
+msgstr "Човеково здравје и безбедност"
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr "Барам <strong>нови информации</strong>"
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr "Побарувам <strong>внатрешна ревизија</strong>"
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr "Пишувам со цел да побарам внатрешна ревизија од {{public_body_name}} за разгледувањто на моето барање за слободен пристап до информации '{{info_request_title}}'."
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr "Не ми се допаѓаат овие &mdash; дај ми уште неколку!"
+
+msgid "I don't want to do any more tidying now!"
+msgstr "Не сакам да уредувам повеќе!"
+
+msgid "I like this request"
+msgstr "Ми се допаѓа ова барање"
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr "Би сакал да <strong>го повлечам ова барање</strong>"
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr "Се уште <strong>чекам</strong> за мојата информација\\n <small>(можеби имате известување)</small>"
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr "Се уште <strong>чекам</strong> внатрешна ревизија"
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr "Чекам одговор од <strong>внатрешна ревизија</strong>"
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr "Бев замолен да <strong>го појаснам</strong> моето барање"
+
+msgid "I've received <strong>all the information"
+msgstr "Ги добив <strong>сите информации"
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr "Добив <strong>дел од информациите</strong>"
+
+msgid "I've received an <strong>error message</strong>"
+msgstr "Добив <strong>порака за грешка</strong>"
+
+msgid "I've received an error message"
+msgstr "Добив порака за грешка"
+
+msgid "Id"
+msgstr "Идентификациски број"
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr "Ако адресата е грешна или имате подобра адреса, Ве молиме <a href=\"{{url}}\">контактирајте не</a>."
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr "Ако грешката е заради неуспешна достава и може да најдете нова, соодветна адреса за е-пошта од имателот, Ве молиме употребете ја формата подолу."
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr "Ако ова не е точно или сакате да испратите задоцнет одговор на барањето\\nили е-пошта на друга тема на {{user}}, тогаш ве молиме\\nиспратете ни е-пошта {{contact_email}} за помош."
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr "Доколку не сте задоволни со одговорот кој го добивте од\\n имателот, имате право да се\\n пожалите (<a href=\"{{url}}\">детали</a>)."
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr "Ако и понатака имате проблеми, Ве молиме <a href=\"{{url}}\">контактирајте не</a>."
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr "Ако сте вие барателот, тогаш <a href=\"{{url}}\">најавете се</a> за да ја видите пораката."
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr "Ако сте вие барателот, тогаш <a href=\"{{url}}\">најавете се</a> за да го видите барањето."
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr "Ако размилувате да употребите псевдоним,\\n Ве молиме<a href=\"{{url}}\">прочитајте го прво ова</a>."
+
+msgid "If you are {{user_link}}, please"
+msgstr "Ако сте {{user_link}}, Ве молиме"
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr "Ако мислите дека ова барање не е соодветно, можете да го пријавите со цел да биде прегледано од администраторите на страната"
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr "Ако не можете да го кликнете линкот во пораката, ќе мора да го <strong>селектирате и копирате\\n</strong> од е-поштата. Потоа <strong>вметнете го во вашиот прелистувач</strong>, во полето каде\\nобично би ја напишале адресата на било која веб-страна."
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr "Ако сте во можност, скенирајте или направете фотографија од одговорот и <strong>пратете ни\\n копија за прикачување</strong>."
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr "Ако овој сервис ви е корисен за добивање информации од јавен карактер, замолете го вашиот веб-администратор да направи врска до нас од вашата организациска страна."
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr "Ако ја добивте оваа е-пошта <strong>пред повеќе од шест месеци</strong>, тогаш оваа врска за најавување нема да работи\\nповеќе. Обидете се да го направите повторно тоа што го направивте претходно."
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr "Ако не го направивте тоа до сега, Ве молиме напишете порака подолу со која ќе го известите надлежниот орган дека го повлековте вашето барање. Инаку тие нема да знаат дека барањето е повлечено."
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr "Ако одговорите на оваа порака, одговорот ќе биде пратен директно до {{user_name}}, кој ќе\\nја дознае вашата адреса за е-пошта. Одговорете само во случај тоа да е во ред."
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr "Ако користите веб-базирана е-пошта или имате \"junk mail\" филтри, исто така проверете го вашиот\\nbulk/фолдер за спам пораки. Понекогаш, нашите пораки се означени како такви."
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr "Ако сакате да ја тргнеме оваа забрана, тогаш може учтиво да не\\n<a href=\"/help/contact\">контактирате</a> со што ќе ги наведете причините.\\n"
+
+msgid "If you're new to {{site_name}}"
+msgstr "Ако сте нов корисник на {{site_name}}"
+
+msgid "If you've used {{site_name}} before"
+msgstr "Ако го имате претходно користено {{site_name}}"
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr "Ако вашиот прелистувач е конфигуриран да прифаќа cookies и ја гледате оваа порака,\\nтогаш веројатно има проблем со нашиот сервер."
+
+msgid "Incoming email address"
+msgstr "Адреса за е-пошта"
+
+msgid "Incoming message"
+msgstr "Нова порака"
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr "IncomingMessage|Cached attachment text clipped"
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr "IncomingMessage|Cached main body text folded"
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr "IncomingMessage|Cached main body text unfolded"
+
+msgid "IncomingMessage|Last parsed"
+msgstr "IncomingMessage|Last parsed"
+
+msgid "IncomingMessage|Mail from"
+msgstr "IncomingMessage|Mail from"
+
+msgid "IncomingMessage|Mail from domain"
+msgstr "IncomingMessage|Mail from domain"
+
+msgid "IncomingMessage|Prominence"
+msgstr "IncomingMessage|Prominence"
+
+msgid "IncomingMessage|Prominence reason"
+msgstr "IncomingMessage|Prominence reason"
+
+msgid "IncomingMessage|Sent at"
+msgstr "IncomingMessage|Sent at"
+
+msgid "IncomingMessage|Subject"
+msgstr "IncomingMessage|Subject"
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr "IncomingMessage|Valid to reply to"
+
+msgid "Individual requests"
+msgstr "Индивидуално барање"
+
+msgid "Info request"
+msgstr "Инфо барање"
+
+msgid "Info request event"
+msgstr "Настан за инфо барање"
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr "InfoRequestEvent|Calculated state"
+
+msgid "InfoRequestEvent|Described state"
+msgstr "InfoRequestEvent|Described state"
+
+msgid "InfoRequestEvent|Event type"
+msgstr "InfoRequestEvent|Event type"
+
+msgid "InfoRequestEvent|Last described at"
+msgstr "InfoRequestEvent|Last described at"
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr "InfoRequestEvent|Params yaml"
+
+msgid "InfoRequest|Allow new responses from"
+msgstr "InfoRequest|Allow new responses from"
+
+msgid "InfoRequest|Attention requested"
+msgstr "InfoRequest|Attention requested"
+
+msgid "InfoRequest|Awaiting description"
+msgstr "InfoRequest|Awaiting description"
+
+msgid "InfoRequest|Comments allowed"
+msgstr "InfoRequest|Comments allowed"
+
+msgid "InfoRequest|Described state"
+msgstr "InfoRequest|Described state"
+
+msgid "InfoRequest|External url"
+msgstr "InfoRequest|External url"
+
+msgid "InfoRequest|External user name"
+msgstr "InfoRequest|External user name"
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr "InfoRequest|Handle rejected responses"
+
+msgid "InfoRequest|Idhash"
+msgstr "InfoRequest|Idhash"
+
+msgid "InfoRequest|Law used"
+msgstr "InfoRequest|Law used"
+
+msgid "InfoRequest|Prominence"
+msgstr "InfoRequest|Prominence"
+
+msgid "InfoRequest|Title"
+msgstr "InfoRequest|Title"
+
+msgid "InfoRequest|Url title"
+msgstr "InfoRequest|Url title"
+
+msgid "Information not held."
+msgstr "Информациите не се чуваат."
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr "Информации за емисиите и испуштањата (на пр. шум, енергија,\\n радијација, отпадни материјали)"
+
+msgid "Internal review request"
+msgstr "Барање за внатрешна ревизија"
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr "Дали {{email_address}} е грешна адреса за {{type_of_request}} барањето до {{public_body_name}}? Ако да, Ве молиме контактирајте не преку оваа форма:"
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr "Причината може да е доколку вашиот прелистувач не е конфигуриран да прифаќа \"cookies\",\\nили не може да ги прифаќа. Ако можете, вклучете ја опцијата за cookies или пробајте да користите друг\\nпрелистувач. Потоа притиснете освежи, за да пробате повторно."
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr "Во моментов на вашиот ѕид се прикажани ставките кои одговараат на наведените услови."
+
+msgid "Items sent in last month"
+msgstr "Случаи кои се испратени последниов месец"
+
+msgid "Joined in"
+msgstr "Се приклучивте во"
+
+msgid "Joined {{site_name}} in"
+msgstr "Почнавте да го користите {{site_name}} на"
+
+msgid "Just one more thing"
+msgstr "Само уште една работа"
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr "Барањето треба да е <strong>фокусирано</strong>, со што ќе Ви се зголемат шансите да го добиете тоа што го сакате (<a href=\"{{url}}\">зошто?</a>)."
+
+msgid "Keywords"
+msgstr "Клучни зборови"
+
+msgid "Last authority viewed: "
+msgstr "Последен прегледан имател: "
+
+msgid "Last request viewed: "
+msgstr "Последно видено барање: "
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr "Известете не што правевте кога оваа порака се\\nпојави и кои се типот и верзијата на вашиот прелисутвач и оперативен систем."
+
+msgid "Link to this"
+msgstr "Врска до ова"
+
+msgid "List all"
+msgstr "Излистај ги сите"
+
+msgid "List of all authorities (CSV)"
+msgstr "Листа од сите иматели (CSV)"
+
+msgid "Listing FOI requests"
+msgstr "Листање на барања за слободен пристап"
+
+msgid "Listing public authorities"
+msgstr "Листање на иматели"
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr "Листање на иматели кои одговараат на '{{query}}'"
+
+msgid "Listing tracks"
+msgstr "Листање на патеки"
+
+msgid "Listing users"
+msgstr "Листање на корисници"
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr "Најавете се за да преземете zip датотека од {{info_request_title}}"
+
+msgid "Log into the admin interface"
+msgstr "Најавете се на администраторскиот интерфејс"
+
+msgid "Long overdue."
+msgstr "Одамна е поминат рокот."
+
+msgid "Made between"
+msgstr "Изработен во периодот помеѓу"
+
+msgid "Mail server log"
+msgstr "Дневник од серверот за пошта"
+
+msgid "Mail server log done"
+msgstr "Дневникот од серверот за пошта е готов"
+
+msgid "MailServerLogDone|Filename"
+msgstr "MailServerLogDone|Filename"
+
+msgid "MailServerLogDone|Last stat"
+msgstr "MailServerLogDone|Last stat"
+
+msgid "MailServerLog|Line"
+msgstr "MailServerLog|Line"
+
+msgid "MailServerLog|Order"
+msgstr "MailServerLog|Order"
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr "Направи ново<br/>\\n <strong>Барање за Слободен <span>пристап до</span><br/>\\n информации</strong>"
+
+msgid "Make a request"
+msgstr "Поднесете барање"
+
+msgid "Make a request to this authority"
+msgstr "Поднесете барање до овој имател"
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr "Поднесете {{law_used_short}} барање до '{{public_body_name}}'"
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr "Поднесете и прелистајте барања за слободен пристап до информации"
+
+msgid "Make your own request"
+msgstr "Поднесете свое барање"
+
+msgid "Many requests"
+msgstr "Повеќе барања"
+
+msgid "Message"
+msgstr "Порака"
+
+msgid "Message has been removed"
+msgstr "Пораката беше отстранета"
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr "Пораката е испратена преку контакт формата од {{site_name}}, "
+
+msgid "Missing contact details for '"
+msgstr "Недостасуваат контакт-детали за '"
+
+msgid "More about this authority"
+msgstr "Повеќе за овој имател"
+
+msgid "More requests..."
+msgstr "Повеќе барања..."
+
+msgid "More similar requests"
+msgstr "Повеќе слични барања"
+
+msgid "More successful requests..."
+msgstr "Повеќе успешни барања..."
+
+msgid "My profile"
+msgstr "Мојот профил"
+
+msgid "My request has been <strong>refused</strong>"
+msgstr "Моите барања се <strong>одбиени</strong>"
+
+msgid "My requests"
+msgstr "Мои барања"
+
+msgid "My wall"
+msgstr "Мојот ѕид"
+
+msgid "Name can't be blank"
+msgstr "Името не може да е празно"
+
+msgid "Name is already taken"
+msgstr "Веќе постои такво име"
+
+msgid "New Freedom of Information requests"
+msgstr "Ново барање за слободен пристап до информации"
+
+msgid "New censor rule"
+msgstr "Ново правило за цензура"
+
+msgid "New e-mail:"
+msgstr "Нова е-пошта:"
+
+msgid "New email doesn't look like a valid address"
+msgstr "Не е валидна новата адреса за е-пошта"
+
+msgid "New password:"
+msgstr "Нова лозинка:"
+
+msgid "New password: (again)"
+msgstr "Нова лозинка: (повторно)"
+
+msgid "New response to '{{title}}'"
+msgstr "Нов одговор до '{{title}}'"
+
+msgid "New response to your FOI request - "
+msgstr "Нов одговор до вашето барање за слободен пристап - "
+
+msgid "New response to your request"
+msgstr "Нов одговор до вашето барање"
+
+msgid "New response to {{law_used_short}} request"
+msgstr "Нов одговор до {{law_used_short}} барање"
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr "Новости за барањето '{{request_title}}'"
+
+msgid "Newest results first"
+msgstr "Прво најновите резултати"
+
+msgid "Next"
+msgstr "Следно"
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr "Следно, пресечете ја вашата слика &gt;&gt;"
+
+msgid "No requests of this sort yet."
+msgstr "Се уште нема барања од овој вид."
+
+msgid "No results found."
+msgstr "Нема резултати."
+
+msgid "No similar requests found."
+msgstr "Нема слични барања."
+
+msgid "No tracked things found."
+msgstr "Не се најдени работи кои се следат."
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr "Никој нема направено барање за слободен пристап до информации до {{public_body_name}} преку оваа страна."
+
+msgid "None found."
+msgstr "Ништо не е најдено."
+
+msgid "None made."
+msgstr "Ништо не е направено."
+
+msgid "Not a valid FOI request"
+msgstr "Не е валидно барање за слободен пристап"
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr "Имајте на ум дека барателот нема да биде известен за вашата белешка, бидејќи барањето беше објавено од име на {{public_body_name}}."
+
+msgid "Now check your email!"
+msgstr "Проверете ја вашата е-пошта!"
+
+msgid "Now preview your annotation"
+msgstr "Прегледајте ја вашата белешка"
+
+msgid "Now preview your follow up"
+msgstr "Прегледајте ја вашата реакција"
+
+msgid "Now preview your message asking for an internal review"
+msgstr "Прегледајте ја вашата порака каде барате внатрешна ревизија"
+
+msgid "Number of requests"
+msgstr "Број на барања"
+
+msgid "OR remove the existing photo"
+msgstr "или отстрани ја тековната фотографија"
+
+msgid "Offensive? Unsuitable?"
+msgstr "Навредливо? Несоодветно?"
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr "Ох не! Жалиме што вашето барање беше одбиено. Еве што може да направите следно."
+
+msgid "Old e-mail:"
+msgstr "Стара е-пошта:"
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr "Старата адреса за е-пошта не е иста со онаа која се користи за профилот со кој сте најавени"
+
+msgid "Old email doesn't look like a valid address"
+msgstr "Старата адреса за е-пошта не е валидна адреса"
+
+msgid "On this page"
+msgstr "На оваа страна"
+
+msgid "One FOI request found"
+msgstr "Најдено е едно барање"
+
+msgid "One person found"
+msgstr "Најдена е една личност"
+
+msgid "One public authority found"
+msgstr "Најден е еден имател"
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr "Внесете само кратенки кои реално се употребуваат, во спротивно оставете празно. Кратко или долго име се користи во URL – не се грижете за кршење на URL-ата преку реименување, бидејќи историјата се користи за пренасочување"
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr "Прикажани се само барањата кои се направени преку {{site_name}}."
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr "Само имателот може да одговори на ова барање и јас не ја препознавам адресата од која е пратено ова барање"
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr "Само имателот може да одговори на ова барање, ама нема \"From\" адреса со која треба да се провери"
+
+msgid "Or search in their website for this information."
+msgstr "Или пребарајте ја нивната веб-страна за овие информации."
+
+msgid "Original request sent"
+msgstr "Оригиналното барање е испратено"
+
+msgid "Other:"
+msgstr "Друго:"
+
+msgid "Outgoing message"
+msgstr "Порака за испраќање"
+
+msgid "OutgoingMessage|Body"
+msgstr "OutgoingMessage|Body"
+
+msgid "OutgoingMessage|Last sent at"
+msgstr "OutgoingMessage|Last sent at"
+
+msgid "OutgoingMessage|Message type"
+msgstr "OutgoingMessage|Message type"
+
+msgid "OutgoingMessage|Prominence"
+msgstr "OutgoingMessage|Prominence"
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr "OutgoingMessage|Prominence reason"
+
+msgid "OutgoingMessage|Status"
+msgstr "OutgoingMessage|Status"
+
+msgid "OutgoingMessage|What doing"
+msgstr "OutgoingMessage|What doing"
+
+msgid "Partially successful."
+msgstr "Делумно успешно."
+
+msgid "Password is not correct"
+msgstr "Лозинката не е точна"
+
+msgid "Password:"
+msgstr "Лозинка:"
+
+msgid "Password: (again)"
+msgstr "Лозинка: (повторно)"
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr "Вметнете ја оваа врска во пораките, твитовите и на сите други места:"
+
+msgid "People"
+msgstr "Луѓе"
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Луѓе {{start_count}} до {{end_count}} од {{total_count}}"
+
+msgid "Percentage of requests that are overdue"
+msgstr "Процент на барања со пречекорен рок"
+
+msgid "Percentage of total requests"
+msgstr "Процент на вкупно барања"
+
+msgid "Photo of you:"
+msgstr "Фотографија од вас:"
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr "Планови и административни мерки кои влијаат на овие прашања"
+
+msgid "Play the request categorisation game"
+msgstr "Играј ја играта за категоризација на барања"
+
+msgid "Play the request categorisation game!"
+msgstr "Играј ја играта за категоризација на барања!"
+
+msgid "Please"
+msgstr "Ве молиме"
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr "Ве молиме <a href=\"{{url}}\">контактирајте не</a> ако имате други прашања."
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr "Ве молиме <a href=\"{{url}}\">стапете во контакт</a> со нас за да може да го поправиме."
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr "Ве молиме <strong>одговорете го прашањето погоре</strong> за да знаеме дали да"
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr "Ве молиме <strong>одете до следниве барања</strong> и известете не\\n ако постои информација кај последните барања до нив."
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr "Ве молиме пишувајте <strong>само</strong> пораки кои се директно поврзани со вашето барање {{request_link}}. Ако сакате да побарате информации кои не се дел од оригиналното барање, тогаш <a href=\"{{new_request_link}}\">испратете ново барање</a>."
+
+msgid "Please ask for environmental information only"
+msgstr "Ве молиме прашајте само за информации од областа"
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr "Ве молиме проверете дали URL (долгиот код со букви и бројки) е копиран\\nкоректно од вашата е-пошта."
+
+msgid "Please choose a file containing your photo."
+msgstr "Ве молиме изберете датотека која содржи фотографија од вас."
+
+msgid "Please choose a reason"
+msgstr "Ве молиме изберете причина"
+
+msgid "Please choose what sort of reply you are making."
+msgstr "Ве молиме изберете од кој вид е одговорот кој го правите."
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr "Ве молиме изберете дали добивте или не дел од инфорамциите кои ги баравте."
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr "Ве молиме кликнете на врската подолу за да ги откажете или промените овие пораки."
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr "Ве молиме кликнете на врската подолу за да потврдите дека сакате да \\nја ја промените адресата за е-пошта која ја користите за {{site_name}}\\nод {{old_email}} во {{new_email}}"
+
+msgid "Please click on the link below to confirm your email address."
+msgstr "Ве молиме кликнете на врската подолу за да ја потврдите адресата за е-пошта."
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr "Ве молиме во насловот опишете за што се работи вашето барање. Нема потреба да кажете дека се работи за барање за слободен пристап, ние тоа го додаваме секако."
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr "Ве молиме не прикачувате фотографии со навредлива содржина. Ние ќе ги тргнеме фотографиите\\nкои сметаме дека се несоодветни."
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr "Ве молиме вклучете \"cookies\" за да продолжите "
+
+msgid "Please enter a password"
+msgstr "Ве молиме внесете лозинка"
+
+msgid "Please enter a subject"
+msgstr "Ве молиме внесете наслов"
+
+msgid "Please enter a summary of your request"
+msgstr "Ве молиме внесете резиме од вашето барање"
+
+msgid "Please enter a valid email address"
+msgstr "Ве молиме внесете валидна адреса за е-пошта"
+
+msgid "Please enter the message you want to send"
+msgstr "Ве молиме внесете ја пораката која сакате да ја испратите"
+
+msgid "Please enter the same password twice"
+msgstr "Ве молиме внесете ја истата лозинка два пати"
+
+msgid "Please enter your annotation"
+msgstr "Ве молиме внесете ја вашата белешка"
+
+msgid "Please enter your email address"
+msgstr "Ве молиме внесете ја вашата адреса за е-пошта"
+
+msgid "Please enter your follow up message"
+msgstr "Ве молиме внесете ја вашата реакција"
+
+msgid "Please enter your letter requesting information"
+msgstr "Ве молиме внесете го вашето писмо за барање информации"
+
+msgid "Please enter your name"
+msgstr "Ве молиме внесете го вашето име"
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr "Ве молиме внесете го вашето име, не вашата адреса за е-пошта, во полето за име."
+
+msgid "Please enter your new email address"
+msgstr "Ве молиме внесете ја новата адреса за е-пошта"
+
+msgid "Please enter your old email address"
+msgstr "Ве молиме внесете ја старата адреса за е-пошта"
+
+msgid "Please enter your password"
+msgstr "Ве молиме внесете ја вашата лозинка"
+
+msgid "Please give details explaining why you want a review"
+msgstr "Ве молиме дадете детали каде објаснувате зошто барате ревизија"
+
+msgid "Please keep it shorter than 500 characters"
+msgstr "Ве молам држете се до должина од 500 букви"
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr "Ве молиме за кратко резиме, како наслов на е-пошта. Може да користите фраза, наместо цела реченица."
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr "Ве молиме барајте само информации кои спаѓаат во овие категории, <strong>не го губете вашето\\n време</strong> или времето на имателот барајќи нерелевантни информации."
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr "Ве молиме проследете го ова до личноста која управува со барањата за слободен пристап до информации."
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr "Ве молиме изберете го секое барање по ред и <strong>известете ги сите</strong>\\nако се успешни или неусшешни."
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr "Ве молиме најавете се на дното со вашето име или променете го \"{{signoff}}\" потпис"
+
+msgid "Please sign in as "
+msgstr "Ве молиме најавете се како "
+
+msgid "Please sign in or make a new account."
+msgstr "Ве молиме најавете се или креирајте нова лозинка."
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr "Ве молиме напишете порака и/или изберете датотека која го содржи вашиот одговор."
+
+msgid "Please use this email address for all replies to this request:"
+msgstr "Ве молиме користете ја оваа адреса за е-пошта за сите одговори на ова барање:"
+
+msgid "Please write a summary with some text in it"
+msgstr "Ве молиме напишете кратко резиме"
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "Ве молиме напишете резиме употребувајќи комбинација од големи и мали букви. На тој начин читањето ќе биде полесно."
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "Ве молиме напишете ја вашата белешка употребувајќи големи и мали букви. На тој начин читањето ќе биде полесно."
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr "Ве молиме подолу напишете ја вашата порака за реакција која ќе ги содржи потребните разјаснувања."
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "Ве молиме напишете ја вашата порака употребувајќи комбинација од големи и мали букви. На тој начин читањето ќе биде полесно."
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr "Посочете <strong>поврзани информации</strong>, кампањи или форуми кои може да се корисни."
+
+msgid "Possibly related requests:"
+msgstr "Можни поврзани информации:"
+
+msgid "Post annotation"
+msgstr "Објавете белешка"
+
+msgid "Post redirect"
+msgstr "Објавете пренасочување"
+
+msgid "PostRedirect|Circumstance"
+msgstr "PostRedirect|Circumstance"
+
+msgid "PostRedirect|Email token"
+msgstr "PostRedirect|Email token"
+
+msgid "PostRedirect|Post params yaml"
+msgstr "PostRedirect|Post params yaml"
+
+msgid "PostRedirect|Reason params yaml"
+msgstr "PostRedirect|Reason params yaml"
+
+msgid "PostRedirect|Token"
+msgstr "PostRedirect|Token"
+
+msgid "PostRedirect|Uri"
+msgstr "PostRedirect|Uri"
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr "Објавено на {{date}} од {{author}}"
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr "Поддржано од <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+
+msgid "Prev"
+msgstr "Претходно"
+
+msgid "Preview follow up to '"
+msgstr "Прегледајте реакција до '"
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr "Прегледајте нови белешки од '{{info_request_title}}'"
+
+msgid "Preview your annotation"
+msgstr "Прегледајте ги своите белешки"
+
+msgid "Preview your message"
+msgstr "Прегледајте ги своите пораки"
+
+msgid "Preview your public request"
+msgstr "Прегледајте го своето јавно барање"
+
+msgid "Profile photo"
+msgstr "Фотографија од профил"
+
+msgid "ProfilePhoto|Data"
+msgstr "ProfilePhoto|Data"
+
+msgid "ProfilePhoto|Draft"
+msgstr "ProfilePhoto|Draft"
+
+msgid "Public Bodies"
+msgstr "Јавни институции"
+
+msgid "Public Body Statistics"
+msgstr "Статистика за јавни институции"
+
+msgid "Public authorities"
+msgstr "Јавни надлежни органи"
+
+msgid "Public authorities - {{description}}"
+msgstr "Јавни надлежни органи - {{description}}"
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Јавни надлежни органи {{start_count}} до {{end_count}} од {{total_count}}"
+
+msgid "Public authority – {{name}}"
+msgstr "Јавен надлежен орган – {{name}}"
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr "Јавни институции кои најчесто одговараат со \"Not Held\""
+
+msgid "Public bodies with most overdue requests"
+msgstr "Јавна институција со најголем број барања со прекорачен рок"
+
+msgid "Public bodies with the fewest successful requests"
+msgstr "Јавни институции со најмалку успешни барања"
+
+msgid "Public bodies with the most requests"
+msgstr "Јавни институции со најмногу барања"
+
+msgid "Public bodies with the most successful requests"
+msgstr "Јавни институции со најмногу успешни барања"
+
+msgid "Public body"
+msgstr "Јавна институција"
+
+msgid "Public notes"
+msgstr "Јавни белешки"
+
+msgid "Public page"
+msgstr "Јавна страна"
+
+msgid "Public page not available"
+msgstr "Јавната страна не е достапна"
+
+msgid "PublicBody|Api key"
+msgstr "PublicBody|Api клуч"
+
+msgid "PublicBody|Disclosure log"
+msgstr "PublicBody|Дневник на разоткривање"
+
+msgid "PublicBody|First letter"
+msgstr "PublicBody|Прво писмо"
+
+msgid "PublicBody|Home page"
+msgstr "PublicBody|Почетна страна"
+
+msgid "PublicBody|Info requests count"
+msgstr "PublicBody|Број на барања за информации"
+
+msgid "PublicBody|Info requests not held count"
+msgstr "PublicBody|Број на неостварени барања за информации"
+
+msgid "PublicBody|Info requests overdue count"
+msgstr "PublicBody|Број на пречекорени барања за информации"
+
+msgid "PublicBody|Info requests successful count"
+msgstr "PublicBody|Број на успешни барања за информации"
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr "PublicBody|Последен уреден коментар"
+
+msgid "PublicBody|Last edit editor"
+msgstr "PublicBody|Последен уреден уредник"
+
+msgid "PublicBody|Name"
+msgstr "PublicBody|Име"
+
+msgid "PublicBody|Notes"
+msgstr "PublicBody|Белешки"
+
+msgid "PublicBody|Publication scheme"
+msgstr "PublicBody|Шема на објави"
+
+msgid "PublicBody|Request email"
+msgstr "PublicBody|Побарај е-пошта"
+
+msgid "PublicBody|Short name"
+msgstr "PublicBody|Кратко име"
+
+msgid "PublicBody|Url name"
+msgstr "PublicBody|Име на URL"
+
+msgid "PublicBody|Version"
+msgstr "PublicBody|Верзија"
+
+msgid "Publication scheme"
+msgstr "Шема на објави"
+
+msgid "Publication scheme URL"
+msgstr "URL за шема на објави"
+
+msgid "Purge request"
+msgstr "Барање за пречистување"
+
+msgid "PurgeRequest|Model"
+msgstr "PurgeRequest|Модел"
+
+msgid "PurgeRequest|Url"
+msgstr "PurgeRequest|Url"
+
+msgid "RSS feed"
+msgstr "RSS фид"
+
+msgid "RSS feed of updates"
+msgstr "RSS фид за новости"
+
+msgid "Re-edit this annotation"
+msgstr "Повторно уредете ја оваа белешка"
+
+msgid "Re-edit this message"
+msgstr "Повторно уредете ја оваа порака"
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr "Прочитајте за <a href=\"{{advanced_search_url}}\">напредните оператори за пребарување</a>, како што се proximity и wildcards."
+
+msgid "Read blog"
+msgstr "Читајте го блогот"
+
+msgid "Received an error message, such as delivery failure."
+msgstr "Примена е порака за грешка, можеби е неуспешна доставата."
+
+msgid "Recently described results first"
+msgstr "Прво се прикажуваат резултатите кои се опишани неодамна"
+
+msgid "Refused."
+msgstr "Одбиено."
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr "Запомни ме</label> (останувате подолго време најавени;\\n не го употребувајте на јавен компјутер) "
+
+msgid "Report abuse"
+msgstr "Пријавете злоупотреба"
+
+msgid "Report an offensive or unsuitable request"
+msgstr "Пријавете навредливо или несоодветно барање"
+
+msgid "Report request"
+msgstr "Пријавете барање"
+
+msgid "Report this request"
+msgstr "Пријавете го ова барање"
+
+msgid "Reported for administrator attention."
+msgstr "Пријавете кај администратор."
+
+msgid "Request an internal review"
+msgstr "Побарајте внатрешна ревизија"
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr "Побарајте внатрешна ревизија од {{person_or_body}}"
+
+msgid "Request email"
+msgstr "Побарајте е-пошта"
+
+msgid "Request has been removed"
+msgstr "Барањето е отстрането"
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "Барањето е испратено до {{public_body_name}} од {{info_request_user}} на {{date}}."
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr "Барање до {{public_body_name}} од {{info_request_user}}. Појаснето од {{event_comment_user}} на {{date}}."
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr "Побарано од {{public_body_name}} од {{info_request_user}} на {{date}}"
+
+msgid "Requested on {{date}}"
+msgstr "Побарано на {{date}}"
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr "Барањата се сметаат со пречекорен рок ако се наоѓаат во 'Пречекорен рок' или 'Многу пречекорен рок' состојба."
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr "Барањата се сметаат за успешни ако се класифицирани како 'Успешно' или 'Делумно успешно'."
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr "Барањата за лични информации и вознемирувачките барања не се сметаат за валидни(<a href=\"/help/about\">прочитај повеќе</a>)."
+
+msgid "Requests or responses matching your saved search"
+msgstr "Барања или одговори кои одговараат на зачуваното пребарување"
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr "Барања слични на '{{request_title}}'"
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr "Барања слични на '{{request_title}}' (страна {{page}})"
+
+msgid "Respond by email"
+msgstr "Одговорете по е-пошта"
+
+msgid "Respond to request"
+msgstr "Одговорете на барање"
+
+msgid "Respond to the FOI request"
+msgstr "Одговорете на барањето за слободен пристап до информации од јавен карактер"
+
+msgid "Respond using the web"
+msgstr "Одговорете преку веб"
+
+msgid "Response"
+msgstr "Одговор"
+
+msgid "Response from a public authority"
+msgstr "Одговор од имателот"
+
+msgid "Response to '{{title}}'"
+msgstr "Одговори на '{{title}}'"
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr "Одговорот на ова барање е <strong>одложено</strong>."
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr "Одговорот на ова барање е со <strong>многу пречекорен рок</strong>."
+
+msgid "Response to your request"
+msgstr "Одговор на вашето барање"
+
+msgid "Response:"
+msgstr "Одговор:"
+
+msgid "Restrict to"
+msgstr "Ограничете на"
+
+msgid "Results page {{page_number}}"
+msgstr "Страна со резултати {{page_number}}"
+
+msgid "Save"
+msgstr "Зачувајте"
+
+msgid "Search"
+msgstr "Барајте"
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr "Пребарајте барања за слободен пристап до информации, иматели и корисници"
+
+msgid "Search contributions by this person"
+msgstr "Пребарајте придонеси од оваа личност"
+
+msgid "Search for words in:"
+msgstr "Пребарајте зборови во:"
+
+msgid "Search in"
+msgstr "Пребарајте во"
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr "Пребарајте<br/>\\n <strong>{{number_of_requests}} барања</strong> <span>и</span><br/>\\n <strong>{{number_of_authorities}} иматели</strong>"
+
+msgid "Search queries"
+msgstr "Фрази за пребарување"
+
+msgid "Search results"
+msgstr "Резултати од пребарување"
+
+msgid "Search the site to find what you were looking for."
+msgstr "Пребарајте го сајтот за да го најдете тоа што го барате."
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] "Пребарајте во рамки на {{count}} барање за слободен пристап до информации до {{public_body_name}}"
+msgstr[1] "Пребарај во рамки на {{count}} барањата за слободен пристап до информации направени до {{public_body_name}}"
+
+msgid "Search your contributions"
+msgstr "Пребарајте ги вашите придонеси"
+
+msgid "See bounce message"
+msgstr "Видете ја одбиената порака"
+
+msgid "Select one to see more information about the authority."
+msgstr "Изберете имател за да видите повеќе информации."
+
+msgid "Select the authority to write to"
+msgstr "Изберете имател до кој ќе пишете"
+
+msgid "Send a followup"
+msgstr "Испратете реакција"
+
+msgid "Send a message to "
+msgstr "Испратете порака до"
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr "Испратете јавна порака со реакција на {{person_or_body}}"
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr "Испратете јавен одговор до {{person_or_body}}"
+
+msgid "Send follow up to '{{title}}'"
+msgstr "Испратете реакција до '{{title}}'"
+
+msgid "Send message"
+msgstr "Испратете порака"
+
+msgid "Send message to "
+msgstr "Испратете порака до"
+
+msgid "Send request"
+msgstr "Испратете барање"
+
+msgid "Set your profile photo"
+msgstr "Поставете фотографија за профилот"
+
+msgid "Short name"
+msgstr "Кратко име"
+
+msgid "Short name is already taken"
+msgstr "Краткото име е веќе зафатено"
+
+msgid "Show most relevant results first"
+msgstr "Прикажи ги релевантните резултати први"
+
+msgid "Show only..."
+msgstr "Прикажи само..."
+
+msgid "Showing"
+msgstr "Прикажани се"
+
+msgid "Sign in"
+msgstr "Најавете се"
+
+msgid "Sign in or make a new account"
+msgstr "Најавете се или креирајте нов профил"
+
+msgid "Sign in or sign up"
+msgstr "Најавете се или регистрирајте се"
+
+msgid "Sign out"
+msgstr "Одјавете се"
+
+msgid "Sign up"
+msgstr "Регистрирајте се"
+
+msgid "Similar requests"
+msgstr "Слични барања"
+
+msgid "Simple search"
+msgstr "Едноставно пребарување"
+
+msgid "Some notes have been added to your FOI request - "
+msgstr "Додадени се неколку белешки во вашето барање - "
+
+msgid "Some of the information requested has been received"
+msgstr "Дел од побараните информации се примени"
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr "Некои од луѓето кои имаат направено барања не немаат известено дали тие се\\nуспешни или не. Ни треба <strong>вашата</strong> помош &ndash;\\nИзберете едно од барањата, прочитајте го и известете ги сите дали \\nинформациите се обезбедени или не. Сите ќе бидат мошне благодарни."
+
+msgid "Somebody added a note to your FOI request - "
+msgstr "Некој додаде белешка на вашето барање - "
+
+msgid "Someone has updated the status of your request"
+msgstr "Некој го ажурираше статусот на вашето барање"
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr "Некој, можеби вие, само што се обиде да ја промени адресата за е-пошта на\\n{{site_name}} од {{old_email}} во {{new_email}}."
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr "Се извинуваме - не можете да одговорите на ова барање преку {{site_name}}, бидејќи ова е копија од оригиналното барање на {{link_to_original_request}}."
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr "Се извинуваме, но само {{user_name}} може да го направи тоа."
+
+msgid "Sorry, there was a problem processing this page"
+msgstr "Се извинуваме, настана проблем при процесирање на оваа страница"
+
+msgid "Sorry, we couldn't find that page"
+msgstr "Се извинуваме, не можевме да ја најдеме таа страница"
+
+msgid "Special note for this authority!"
+msgstr "Специјална белешка за овој имател!"
+
+msgid "Start now &raquo;"
+msgstr "Почнете сега &raquo;"
+
+msgid "Start your own blog"
+msgstr "Почнете сопствен блог"
+
+msgid "Stay up to date"
+msgstr "Останете во тек"
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr "Се уште се чека на <strong>внатрешна ревизија</strong>"
+
+msgid "Subject"
+msgstr "Наслов"
+
+msgid "Subject:"
+msgstr "Наслов:"
+
+msgid "Submit"
+msgstr "Испратете"
+
+msgid "Submit status"
+msgstr "Испратете статус"
+
+msgid "Submit status and send message"
+msgstr "Испратете статус и испратете порака"
+
+msgid "Subscribe to blog"
+msgstr "Претплатете се на блогот"
+
+msgid "Successful Freedom of Information requests"
+msgstr "Успешно барање за слободен пристап до информации"
+
+msgid "Successful."
+msgstr "Успешно."
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr "Предложете како барателот може да го најде <strong>остатокот од информацијата</strong>."
+
+msgid "Summary:"
+msgstr "Резиме:"
+
+msgid "Table of statuses"
+msgstr "Табела од статуси"
+
+msgid "Table of varieties"
+msgstr "Табела од разноличности"
+
+msgid "Tags"
+msgstr "Тагови"
+
+msgid "Tags (separated by a space):"
+msgstr "Тагови (одвоени со празно место):"
+
+msgid "Tags:"
+msgstr "Тагови:"
+
+msgid "Technical details"
+msgstr "Технички детали"
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr "Ви благодариме што помагате да го одржиме сајтот уреден!"
+
+msgid "Thank you for making an annotation!"
+msgstr "Ви благодариме што направивте белешка!"
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr "Ви благодариме што одговоривте на ова барање за слободен пристап до информации од јавен карактер! Вашиот одговор е објавен подолу и пратена е врска до вашето барање по е-пошта до "
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr "Ви благодариме за ажурирање на статусот на барањето '<a href=\"{{url}}\">{{info_request_title}}</a>'. Постојат уште неколку барања подолу кои може да ги класифицирате."
+
+msgid "Thank you for updating this request!"
+msgstr "Ви благодариме што го ажуриравте барањето!"
+
+msgid "Thank you for updating your profile photo"
+msgstr "Ви благодариме за ажурирање на фотографијата за профил"
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr "Ви благодариме! Ќе погледнеме што се случило и ќе се обидеме да го поправиме."
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr "Благодариме за помошта - вашиот придонес ќе помогне сите да може лесно да најдат успешни\\nодговори."
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr "Многу ви благодариме - ова ќе помогне другите да најдат корисни работи. Ние исто така\\n ќе ви дадеме совет, доколку ви треба, што да напрвите следно со вашите\\n барања."
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr "Многу ви благодариме што помогнавте се да е <strong>уредно и организирано</strong>.\\n Ние исто така ќе ви дадеме совет, доколку ви треба, што да направите следно за секое од вашите\\n барања."
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr "Тоа не е валидна адреса за е-пошта. Ве молиме проверете дали ја внесовте правилно."
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr "<strong>Ревизијата заврши</strong> и севкупно:"
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr "Законот за слободен пристап до информации <strong>не важи</strong> на"
+
+msgid "The accounts have been left as they previously were."
+msgstr "Сметките се оставени во првобитната состојба."
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr "Имателот ги<strong>нема</strong> информациите <small>(можеби имаат кажано кој може да ги има)"
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr "Имателот поседува само <strong>печатена копија</strong> од информациите."
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr "Имателот вели дека им е потребна <strong>поштенска\\n адреса</strong>, не само е-пошта, за барањето да биде валидно"
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr "Имателот би сакал да/има <strong>одговорено по пошта</strong> на ова барање."
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr "Класификацијата на барањата (на пр. да се каже дали се успешни или не) се направени рачно од страна на корисниците и администраторите на сајтот, што значи дека можно е да постои грешка."
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr "Е-поштата која вие, во име на {{public_body}}, ја испративте до\\n{{user}} за да одговорите на барањето {{law_used_short}}\\n не беше доставена."
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr "Баровите за грешка од дијаграмот се 95% интервали на доверба за претпоставената основна пропорција (т.е. она што ќе се добие со пласирање бесконечен број на барања преку овој сајт до тој имател). Со други зборови, популацијата која е примерокот е составена од моментални и идни баратели до имателот преку овој сајт, наместо, да речеме, сите барања кои биле направени до јавната институција по секоја цена."
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr "Страната не постои. Работи кои може да ги пробате:"
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr "Процентите се пресметуваат во однос на вкупниот број на барања, кој вклучува неважечки барања. Ова е познат проблем кој ќе биде надминат во следните верзии."
+
+msgid "The public authority does not have the information requested"
+msgstr "Имателот ја нема бараната информација"
+
+msgid "The public authority would like part of the request explained"
+msgstr "Имателот би сакал дел од барањето да се објасни"
+
+msgid "The public authority would like to / has responded by post"
+msgstr "Имателот би сакал да/веќе одговорил по пошта"
+
+msgid "The request has been <strong>refused</strong>"
+msgstr "Барањето беше <strong>одбиено</strong>"
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr "Барањето беше ажурирано откако ја вчитавте оваа страна. Ве молиме проверете за нови дојдовни пораки подолу и обидете се повторно."
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr "Барањето <strong>чека за класификација</strong>."
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr "Барањето е <strong>делумно успешно</strong>."
+
+msgid "The request was <strong>refused</strong> by"
+msgstr "Барањето е <strong>одбиено</strong> by"
+
+msgid "The request was <strong>successful</strong>."
+msgstr "Барањето беше <strong>успешно</strong>."
+
+msgid "The request was refused by the public authority"
+msgstr "Барањето беше одбиено од имателот"
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr "Барањето кое се обидовте да го видете беше отстрането. Постојат\\nразни причини зошто го направивме ова, се извинуваме, не можеме да бидеме поконкретни овде. Ве молиме <a\\n href=\"{{url}}\">контактирајте не</a> ако имате прашања."
+
+msgid "The requester has abandoned this request for some reason"
+msgstr "Барателот го напушти ова барање од некои причини"
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr "Одговорот на вашето барање е <strong>одложен</strong>. Можете да кажете дека,\\n според закон, имателот нормално би требало да одговори\\n <strong>веднаш</strong> и"
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr "Одговорот на вашето барање е со <strong>многу пречекорено рок</strong>. Може да кажете дека, според\\n закон, под сите околности, имателот требало да одговори\\n до сега"
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr "Регистарот за пребарување во моментов е офлајн, па не сме во можност да ги прикажеме барањата за слободен пристап до информации кои се направени до овој имател."
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr "Регистарот за пребарување во моментов е офлајн, па не сме во можност да ги прикажеме барањата за слободен пристап до информации кои се направени од оваа личност."
+
+msgid "The {{site_name}} team."
+msgstr "Тимот на {{site_name}}."
+
+msgid "Then you can cancel the alert."
+msgstr "Тогаш можете да го откажете предупредувањето."
+
+msgid "Then you can cancel the alerts."
+msgstr "Тогаш можете да ги откажете предупредувањата."
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr "Тогаш можете да ја промените адресата за е-пошта која се користи на {{site_name}}"
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr "Тогаш можете да ја промените лозинката на {{site_name}}"
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr "Тогаш можете да го класифицирате одговорот кој го добивте од "
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr "Тогаш можете да преземете zip датотека од {{info_request_title}}."
+
+msgid "Then you can log into the administrative interface"
+msgstr "Тогаш можете да се најавите на интерфејсот за администрирање "
+
+msgid "Then you can play the request categorisation game."
+msgstr "Тогаш можете да ја играте играта за категоризација на барањата."
+
+msgid "Then you can report the request '{{title}}'"
+msgstr "Тогаш можете да го пријавите барањето '{{title}}'"
+
+msgid "Then you can send a message to "
+msgstr "Тогаш можете да пратите порака до"
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr "Тогаш можете да се најавите на {{site_name}}"
+
+msgid "Then you can update the status of your request to "
+msgstr "Тогаш можете да го ажурирате статусот на вашето барање до "
+
+msgid "Then you can upload an FOI response. "
+msgstr "Тогаш можете да прикачите одговор. "
+
+msgid "Then you can write follow up message to "
+msgstr "Тогаш можете да напишете порака за реакција до"
+
+msgid "Then you can write your reply to "
+msgstr "Тогаш можете да напишете одговор до "
+
+msgid "Then you will be following all new FOI requests."
+msgstr "Тогаш ќе ги следите сите нови барања."
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr "Тогаш ќе бидете известени секогаш кога '{{user_name}}' ќе побара нешто или ќе добие одговор."
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr "Тогаш ќе бидете известени секогаш кога ново барање или одговор ќе одговара на вашето пребарување."
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr "Тогаш ќе бидете известени секогаш кога барање за слободен пристап ќе биде успешно."
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr "Тогаш ќе бидете известени секогаш кога некој ќе побара нешто или ќе добие одговор од '{{public_body_name}}'."
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr "Тогаш ќе бидете известени секогаш кога барањето '{{request_title}}' е ажурирано."
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr "Тогаш ќе ви биде дозволено да праќате барања."
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr "Тогаш вашето барање до {{public_body_name}} ќе биде испратено."
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr "Тогаш вашата белешка до {{info_request_title}} ќе биде објавена."
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr "Постојат {{count}} нови белешки на вашето {{info_request}} барање. Кликнете на оваа врска за да видете што напишале."
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr "Постои <strong>повеќе од еден корисник</strong> кој ја користи оваа страна и го има ова име.\\n Еден од нив е прикажан подолу, можеби мислевте на друг:"
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr "Постои ограничување за бројот на барања кои може да ги направите во еден ден, бидејќи не сакаме имателите да бидат „бомбардирани“ со голем број на барања. Доколку сметате дека имате јака причина зошто ова ограничување не треба да важи за вас, ве молиме <a href='{{help_contact_path}}'>стапете во контакт</a>."
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] "Постои {{count}} корисник кој го следи ова барање"
+msgstr[1] "Постојат {{count}} корисници кои го следат ова барање"
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr "Настана <strong>грешка при достава</strong> или слична грешка, за која е потребна исправка од {{site_name}} тимот."
+
+msgid "There was an error with the words you entered, please try again."
+msgstr "Настана грешка со зборовите кои ги внесовте, ве молиме обидете се повторно."
+
+msgid "There was no data calculated for this graph yet."
+msgstr "Се уште не постои пресметан податок за овој график."
+
+msgid "There were no requests matching your query."
+msgstr "Не постојат барања кои одговараат на вашата фраза за пребарување."
+
+msgid "There were no results matching your query."
+msgstr "Не постојат резултати кои одговараат на вашата фраза за пребарување."
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr "Овие графикони беа делумно инспирирани од <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">некои статистики кои Mark Goodge ги изработи за WhatDoTheyKnow</a>, па затоа голема благодарност до него."
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr "Тие ќе одговорат преку <strong>пошта</strong>"
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr "Тие ја<strong>немаат</strong> информацијата <small>(можеби ќе кажат кој ја има)</small>"
+
+msgid "They have been given the following explanation:"
+msgstr "Им беше дадено следново објаснување:"
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr "Тие немаат одговорено на вашето {{law_used_short}} барање {{title}} веднаш, како што нормално законот изнудува"
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr "Тие немаат одговорено на вашето {{law_used_short}} барање {{title}}, \\nкако што изнудува законот"
+
+msgid "Things to do with this request"
+msgstr "Работи кои може да се направат со ова барање"
+
+msgid "Things you're following"
+msgstr "Работи кои ги следите"
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr "Имателот не постои повеќе, затоа не може да направите барање до него."
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr "Ова покрива широк спектар од информации за состојбата на\\n <strong>околината</strong>, како што се:"
+
+msgid "This external request has been hidden"
+msgstr "Надворешното барање беше сокриено"
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr "Ова е верзија од барањето за слободен пристап до информации \"{{request_title}}\", во која е прикажано само текст. Последната, целосна верзија е достапна онлајн на {{full_url}}"
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr "Ова е HTML верзија од прилогот за барањето за слободен пристап до информации"
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr "Ова е бидејќи {{title}} е старо барање кое било\\nмаркирано повеќе да не добива одговори."
+
+msgid "This is the first version."
+msgstr "Ова е првата верзија."
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr "Ова е ваше сопствено барање, затоа автоматски ќе ви биде испратена е-пошта кога ќе пристигне нов одговор."
+
+msgid "This message has been hidden."
+msgstr "Оваа порака беше скриена."
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr "Оваа порака беше скриена. Постојат повеќе причини зошто сме го направиле ова, се извинуваме што не можеме да бидеме поконкретни тука."
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr "Оваа порака има ознака 'hidden' (скриена). Може да ја видите затоа што се најавени како супер корисник."
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr "Оваа порака има ознака 'hidden' (скриена). {{reason}} Може да ја видите затоа што се најавени како супер корисник."
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr "Оваа порака е сокриена, за да може само вие, барателот, да ја видите. Ве молиме <a href=\"{{url}}\">контактирајте не</a> ако не сте сигурни зошто."
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr "Оваа порака е сокриена, за да може само вие, барателот, да ја видите. {{reason}}"
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr "Оваа страница со статистика за имателот е во експериментална фаза, па постојат некои ограничувања кои треба да ги имате на ум:"
+
+msgid "This particular request is finished:"
+msgstr "Ова конкретно барање е завршено:"
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr "Оваа личност нема направено барања за слободен пристап до информации преку оваа страна."
+
+msgid "This person's annotations"
+msgstr "Белешки од оваа личност"
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] "{{count}} барање за слободен пристап до информации од оваа личност"
+msgstr[1] "{{count}} барања за слободен пристап до информации од оваа личност"
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] "{{count}} белешка од оваа личност"
+msgstr[1] "{{count}} белешки од оваа личност"
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr "Ова барање <strong>изнудува внимание од администратор</strong>"
+
+msgid "This request has already been reported for administrator attention"
+msgstr "Ова барање е веќе пријавено за проверка од администратор"
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr "Ова барање има <strong>непознат статус</strong>."
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr "Ова барање беше <strong>сокриено</strong> на страната, бидејќи администраторот сметал дека истото не е барање за слободен пристап до информации од јавен карактер"
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr "Ова барање беше <strong>сокриено</strong> на страната, бидејќи администраторот сметал дека истото е вознемирувачко"
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr "Ова барање беше <strong>пријавено</strong> за проверка од администратор (можеби е вознемирувачко или побарува лични податоци)"
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr "Ова барање беше <strong>повлечено</strong> од корисникот кој го направи.\\n Можеби има објаснување во коресподенцијата подолу."
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr "Ова барање беше означено за проверка од администраторите, кои засега го немаат сокриено. Ако верувате дека треба да биде сокриено, ве молиме <a href=\"{{url}}\">контактирајте не</a>."
+
+msgid "This request has been reported for administrator attention"
+msgstr "Ова барање беше пријавено за проверка од администратор"
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr "Ова барање беше означено од администратор да \"не прима нови барања\""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr "За ова барање беше испратен невообичаен одговор и <strong>изнудува внимание</strong> од {{site_name}} тимот."
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr "Ова барање има ознака 'hidden' (сокриено). Може да го гледате само затоа што сте најавени\\n како супер корисник."
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr "Ова барање е сокриено, затоа само вие, барателот, може да го видите. Ве молиме\\n <a href=\"{{url}}\">контактирајте не</a> ако не сте сигурни зошто."
+
+msgid "This request is still in progress:"
+msgstr "Ова барање се уште се процесира:"
+
+msgid "This request requires administrator attention"
+msgstr "Ова барање изнудува внимание од администратор"
+
+msgid "This request was not made via {{site_name}}"
+msgstr "Ова барање не беше направено преку {{site_name}}"
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr "Оваа табела ги прикажува техничките детали од интерните настани кои се случија\\nза ова барање на {{site_name}}. Ова може да се користи за генерирање информации за\\nбрзината со која имателите одговараат на барањата, бројот на барањата\\nкои изнудуваат одговор преку пошта и др.."
+
+msgid "This user has been banned from {{site_name}} "
+msgstr "Овој корисник има забрана за пристап до {{site_name}} "
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr "Ова не е возможно бидејќи веќе постои сметка која ја користи \\nоваа адреса за е-пошта {{email}}."
+
+msgid "To cancel these alerts"
+msgstr "За да ги откажете овие предупредувања"
+
+msgid "To cancel this alert"
+msgstr "За да го откажете ова предупредување"
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr "За да продолжите, треба да се најавите или да креирате сметка. За жал, настана\\nтехнички проблем при обидот."
+
+msgid "To change your email address used on {{site_name}}"
+msgstr "За да ја промените адресата за е-пошта која се користи на {{site_name}}"
+
+msgid "To classify the response to this FOI request"
+msgstr "За да го класифицирате одговорот на ова барање за слободен пристап до информации"
+
+msgid "To do that please send a private email to "
+msgstr "За да го направите тоа, ве молиме испратете приватна е-пошта до "
+
+msgid "To do this, first click on the link below."
+msgstr "За да го напрвите ова, прво кликнете на врската подолу."
+
+msgid "To download the zip file"
+msgstr "За да преземете zip датотека"
+
+msgid "To follow all successful requests"
+msgstr "За да ги следите успешните барања"
+
+msgid "To follow new requests"
+msgstr "За да ги следите новите барања"
+
+msgid "To follow requests and responses matching your search"
+msgstr "За да ги следите барањата и одговорите кои одговараат на вашето пребарување"
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr "За да ги следите барањата од '{{user_name}}'"
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr "За да ги следите барањата направени преку {{site_name}} до имателот '{{public_body_name}}'"
+
+msgid "To follow the request '{{request_title}}'"
+msgstr "За да го следите барањето '{{request_title}}'"
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr "За да ни помогне да ја одржиме страната уредна, некој друг го ажурирал статусот за \\n{{law_used_full}} барањето {{title}} кое го направивте до {{public_body}}, во \"{{display_status}}\" Ако не се согласувате со категоризацијата, Ве молиме ажурирајте го статусот одново во она што сметате дека е поточно."
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr "За да ги известите сите, следете ја оваа врска и потоа изберете го соодветното сандаче."
+
+msgid "To log into the administrative interface"
+msgstr "За да се најавите на администраторскиот интерфејс"
+
+msgid "To play the request categorisation game"
+msgstr "За да ја играте играта за категоризација на барања"
+
+msgid "To post your annotation"
+msgstr "За да ја објавите вашата белешка"
+
+msgid "To reply to "
+msgstr "За да одговорите до "
+
+msgid "To report this request"
+msgstr "За да го пријавите ова барање"
+
+msgid "To send a follow up message to "
+msgstr "За да пратите порака за реакција до "
+
+msgid "To send a message to "
+msgstr "За да пратите порака до "
+
+msgid "To send your FOI request"
+msgstr "За да го пратите вашето барање"
+
+msgid "To update the status of this FOI request"
+msgstr "За да го ажурирате статусот на ова барање"
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr "За да прикачите одговор, мора да сте најавени со адресата за е-пошта од "
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr "За да го користете напредното пребарување, комбинирајте фрази и натписи како што е објаснето во препораките за пребарување подолу."
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr "За да ја видите адресата за е-пошта која ја користиме за испраќање барања до {{public_body_name}}, Ве молиме внесете ги овие зборови."
+
+msgid "To view the response, click on the link below."
+msgstr "За да го видите одговорот, кликнете на врската подолу."
+
+msgid "To {{public_body_link_absolute}}"
+msgstr "До {{public_body_link_absolute}}"
+
+msgid "To:"
+msgstr "До:"
+
+msgid "Today"
+msgstr "Денес"
+
+msgid "Too many requests"
+msgstr "Премногу барања"
+
+msgid "Top search results:"
+msgstr "За да пребарувате барања:"
+
+msgid "Track thing"
+msgstr "Следете го предметот"
+
+msgid "Track this person"
+msgstr "Следете ја оваа личност"
+
+msgid "Track this search"
+msgstr "Следете го ова пребарување"
+
+msgid "TrackThing|Track medium"
+msgstr "TrackThing|Следи медиум"
+
+msgid "TrackThing|Track query"
+msgstr "TrackThing|Следи фраза"
+
+msgid "TrackThing|Track type"
+msgstr "TrackThing|Следи тип"
+
+msgid "Turn off email alerts"
+msgstr "Исклучете ги предупредувањата преку е-пошта"
+
+msgid "Tweet this request"
+msgstr "Твитнете за ова барање"
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr "Внеси <strong><code>01/01/2013..14/01/2013</code></strong> за да ги покажеш работите кои се случиле во првите две недели од јануари."
+
+msgid "URL name can't be blank"
+msgstr "URL името не може да биде празно"
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr "Не може да се промени адресата за е-пошта на {{site_name}}"
+
+msgid "Unable to send a reply to {{username}}"
+msgstr "Не може да се испрати одговор на {{username}}"
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr "Не може да се испрати порака за реакција до {{username}}"
+
+msgid "Unexpected search result type"
+msgstr "Неочекуван тип на резултат од пребарување"
+
+msgid "Unexpected search result type "
+msgstr "Неочекуван тип на резултат од пребарување "
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr ""
+"За жал, не ја знаеме адресата за е-пошта за слободен пристап до информации\n"
+"за тој имател, така што не можеме да го потврдиме ова.\n"
+"Ве молиме <a href=\"{{url}}\">контактирајте не</a> за да ја разјасниме ситуацијава."
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+"За жал, немаме исправна {{info_request_law_used_full}}\n"
+"адреса за"
+
+msgid "Unknown"
+msgstr "Непознат"
+
+msgid "Unsubscribe"
+msgstr "Откажи претплата"
+
+msgid "Unusual response."
+msgstr "Невообичаен одговор."
+
+msgid "Update the status of this request"
+msgstr "Ажурирајте го статусот за ова барање"
+
+msgid "Update the status of your request to "
+msgstr "Ажурирајте го статусот на вашето барање до "
+
+msgid "Upload FOI response"
+msgstr "Прикачи одговор"
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr "Користете OR (со големи букви) кога ви е сеедно кој збор, на пр. <strong><code>улици OR булевари</code></strong>"
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr "Користете наводници кога сакате да пронајдете идентична фраза, на пр. <strong><code>\"Министерство за внатрешни работи\"</code></strong>"
+
+msgid "User"
+msgstr "Корисник"
+
+msgid "User info request sent alert"
+msgstr "Барањето за информации за корисник испрати предупредување"
+
+msgid "User – {{name}}"
+msgstr "Корисник – {{name}}"
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr "UserInfoRequestSentAlert|Тип на предупредување"
+
+msgid "User|About me"
+msgstr "User|За мене"
+
+msgid "User|Admin level"
+msgstr "User|Администраторско ниво"
+
+msgid "User|Ban text"
+msgstr "User|Текст за исклучување"
+
+msgid "User|Email"
+msgstr "User|Е-пошта"
+
+msgid "User|Email bounce message"
+msgstr "User|Прака за одбиената порака"
+
+msgid "User|Email bounced at"
+msgstr "User|Е-пошта одбиена кај"
+
+msgid "User|Email confirmed"
+msgstr "User|Е-пошта потврдена"
+
+msgid "User|Hashed password"
+msgstr "User|Хаширани лозинки"
+
+msgid "User|Last daily track email"
+msgstr "User|Последна е-пошта од дневно следење"
+
+msgid "User|Locale"
+msgstr "User|Јазик"
+
+msgid "User|Name"
+msgstr "User|Име"
+
+msgid "User|No limit"
+msgstr "User|Без ограничување"
+
+msgid "User|Receive email alerts"
+msgstr "User|Добивај предупредувања по е-пошта"
+
+msgid "User|Salt"
+msgstr "User|Сол"
+
+msgid "User|Url name"
+msgstr "User|Url име"
+
+msgid "Version {{version}}"
+msgstr "Верзија {{version}}"
+
+msgid "View FOI email address"
+msgstr "Видете ја адресата за е-пошта за слободен пристап до информации од јавен карактер"
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr "Видете ја адресата за е-пошта за слободен пристап до информации за '{{public_body_name}}'"
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr "Видете ја адресата за е-пошта за слободен пристап со информации од јавен карактер за {{public_body_name}}"
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr "Видете ги барањата за слободен пристап до информации од јавен карактер направени од {{user_name}}:"
+
+msgid "View and search requests"
+msgstr "Видете и пребарајте барања"
+
+msgid "View authorities"
+msgstr "Видете ги имателите"
+
+msgid "View email"
+msgstr "Видете е-пошта"
+
+msgid "View requests"
+msgstr "Видете барања"
+
+msgid "Waiting clarification."
+msgstr "Се чека појаснување."
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr "Се чека на <strong>интерна ревизија </strong> од {{public_body_link}} во врска со нивната обработка на ова барање."
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr "Се чека имателот да ја заврши внатрешната ревизија за нивната обработка на барањето"
+
+msgid "Waiting for the public authority to reply"
+msgstr "Се чека имателот да одговори"
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr "Дали одговорот што го добивте на вашето барање ви е од корист?"
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr "Сметаме дека ова не е важечко барање за слободен пристап, па од тие причини го сокривме од останатите корисници."
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr "Сметаме дека ова барање е вознемирувачко, па од тие причини го сокривме од останатите корисници."
+
+msgid "We do not have a working request email address for this authority."
+msgstr "Немаме исправна адреса за е-пошта за овој имател."
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr "Немаме исправна {{public_body_name}} адреса за {{law_used_full}}."
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr "Не знаеме дали последниот одговор на ова барање содржи\\n информации или не\\n &ndash;\\n\tако сте вие {{user_link}} Ве молиме <a href=\"{{url}}\">најавете се</a> и известете ги сите."
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr "Нема да ја откриеме вашата адреса за е-пошта на никого освен ако вие\\nили законот не не натера да го направиме тоа (<a href=\"{{url}}\">детали</a>). "
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr "Нема да ја откриеме вашата адреса за е-пошта на никого освен ако вие\\nили законот не не натера да го направиме тоа."
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr "Нема да ја откриеме вашата адреса за е-пошта на никого, освен ако вие\\nили законот не не натера да го направиме тоа."
+
+msgid "We're waiting for"
+msgstr "Чекаме за"
+
+msgid "We're waiting for someone to read"
+msgstr "Чекаме некој да прочита"
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+"Испративме е-пошта на вашата нова адреса за е-пошта. Ќе мора да кликнете на врската во неа\n"
+"пред вашата адреса за е-пошта да биде променета."
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr "Ви испративме е-пошта, потребно е да кликнете на врската во неа пред да \\nпродолжите."
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr "Ви испративме е-пошта, кликнете на врската во неа, па потоа ќе може да ја промените лозинката."
+
+msgid "What are you doing?"
+msgstr "Што правите?"
+
+msgid "What best describes the status of this request now?"
+msgstr "Што најдобро го опишува статусот на ова барање?"
+
+msgid "What information has been released?"
+msgstr "Кои информации се објавени?"
+
+msgid "What information has been requested?"
+msgstr "Кои информации се побарани?"
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr "Кога ќе стигнете таму, ве молиме ажурирајте го статусот за да известите дали одговорот\\nсодржи корисни информации."
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+"Кога ќе добиете одговор на хартија, ве молиме помогнете\n"
+" на другите да дознаат што пишува во него:"
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr "Кога ќе завршите, <strong>вратете се овде</strong>, <a href=\"{{url}}\">вчитајте ја одново оваа страница</a> и поднесете го вашето ново барање."
+
+msgid "Which of these is happening?"
+msgstr "Што од следново се случува?"
+
+msgid "Who can I request information from?"
+msgstr "Од кого може да побарам информации?"
+
+msgid "Withdrawn by the requester."
+msgstr "Повлечено од страна на барателот."
+
+msgid "Wk"
+msgstr "Нд"
+
+msgid "Would you like to see a website like this in your country?"
+msgstr "Дали би сакале да имате ваква интернет-страна во вашата земја?"
+
+msgid "Write a reply"
+msgstr "Напишете одговор"
+
+msgid "Write a reply to "
+msgstr "Напишете одговор до"
+
+msgid "Write your FOI follow up message to "
+msgstr "Напишете ја пораката за реакција до "
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr "Напишете го вашето барање со <strong>едноставен, прецизен речник</strong>."
+
+msgid "You"
+msgstr "Вие"
+
+msgid "You are already following new requests"
+msgstr "Веќе ги следите новите барања"
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr "Веќе ги следите барања до '{{public_body_name}}'"
+
+msgid "You are already following things matching this search"
+msgstr "Веќе ги следите новите работи кои одговараат на ова пребарување"
+
+msgid "You are already following this person"
+msgstr "Веќе го следите овој корисник"
+
+msgid "You are already following this request"
+msgstr "Веќе го следите ова барање"
+
+msgid "You are already following updates about {{track_description}}"
+msgstr "Веќе ги следите новостите за {{track_description}}"
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr "Во моментов, преку е-пошта, добивате известувања за нови активности на вашиот ѕид."
+
+msgid "You are following all new successful responses"
+msgstr "Ги следите сите нови успешни барања"
+
+msgid "You are no longer following {{track_description}}."
+msgstr "Повеќе не ги следите {{track_description}}."
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr "Сега <a href=\"{{wall_url_user}}\">следите</a> новости за {{track_description}}"
+
+msgid "You can <strong>complain</strong> by"
+msgstr "Можете да се <strong>жалите</strong> така што"
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr "Може да ги промените барањата и корисниците кои ги следите на <a href=\"{{profile_url}}\">вашата профил-страница</a>."
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr "Може да ја добиете оваа страница во компјутерски-читлив формат како дел од главната JSON\\nстраница за ова барање. Видете ја <a href=\"{{api_path}}\">API документацијата</a>."
+
+msgid "You can only request information about the environment from this authority."
+msgstr "Од овој имател може да побарате информација само за животната средина."
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr "Имате нов одговор на {{law_used_full}} барање "
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr "Најдовте софтверска грешка. Ве молиме <a href=\"{{contact_url}}\">контактирајте не</a> за да ни го посочите проблемот"
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr "Го исполнивте ограничувањето за нови барања. Корисниците обично се ограничени на {{max_requests_per_user_per_day}} барања во период од 24 часа. Ќе може да направите ново барање за {{can_make_another_request}}."
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr "Немате направено барање за слободен пристап до информации преку оваа страна."
+
+msgid "You have now changed the text about you on your profile."
+msgstr "Го променивте текстот за вас на вашиот профил."
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr "Ја променивте адресата за е-пошта која се користи на {{site_name}}"
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+"Пробавте да се регистрирате на {{site_name}}, а веќе\n"
+"имате сметка. Вашето име и лозинка останаа\n"
+"исти како претходно.\n"
+"\n"
+"Ве молиме кликнете на врската подолу."
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr "Знаете што ја предизвика оваа грешка и можете <strong>да предложите решение</strong>, како што е важечка адреса за е-пошта."
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr "Можете да <strong>вклучите прилози</strong>. Ако сакате да прикачите\\n датотека која е голема за е-пошта, тогаш користете ја формата подолу."
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+"Можеби ќе можете да најдете\n"
+" на нивната веб-страна или со прашање преку телефонски повик. Ако успеете\n"
+" да најдете, ве молиме <a href=\"{{url}}\">да ни ја пратите</a>."
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+"Можеби ќе може да најдете\n"
+"на нивната веб-страна или да ги прашате по телефон. Ако успеете\n"
+"да најдете, ве молиме <a href=\"{{help_url}}\">пратете и до нас</a>."
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr "Мора да сте најавени за да го промените текстот за вас на вашиот профил."
+
+msgid "You need to be logged in to change your profile photo."
+msgstr "Мора да сте најавени за да ја промените фотографијата на вашиот профил."
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr "Мора да сте најавени за да ја избришете фотографијата на вашиот профил."
+
+msgid "You need to be logged in to edit your profile."
+msgstr "Мора да сте најавени за да го уредите вашиот профил."
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr "Мора да сте најавени за да пријавите барање за разгледување од администратори"
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr "Веќе имате испратено идентична порака за надоврзување за ова барање."
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr "Би требало да имате добиено копија од барањето по е-пошта и може да одговорите\\n со <strong>одговарање (reply)</strong> на таа порака. Еве ја адресата:"
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr "Сакате да ја <strong>дадете вашата поштенска адреса</strong> на имателот приватно, без да ја споделите со сите."
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr "Нема да можете да правите нови барања, да реагирате, додавате белешки или\\nда праќате пораки до други корисници. Можете да продолжите со гледање други барања и да прилагодувате\\nпредупредувања преку е-пошта."
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr "Нема да добивате повеќе новости за овие предупредувања по е-пошта"
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr "Сега, преку е-пошта, ќе добивате новости за {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Преферирате да не добивате е-пошта?</a>"
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr "Ќе добиете одговор на вашето барање само ако се надоврзете\\n со класификација."
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr "И понатаму ќе бидете во можност да го видите додека сте најавени на страната. Ве молиме одговорете на оваа е-пошта доколку сакате да ја дискутирате оваа одлука во иднина."
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr "Регистрирани сте. <a href=\"#\" id=\"send-request\">Продолжете со испраќање на вашето барање</a>"
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr "Одговорот на вашето барање е со значително пречекорен рок - "
+
+msgid "You're not following anything."
+msgstr "Не следите ништо."
+
+msgid "You've now cleared your profile photo"
+msgstr "Ја избришавте сликата од профилот"
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr "Вашето <strong>име ќе биде јавно прикажано</strong>\\n (<a href=\"{{why_url}}\">зошто?</a>)\\n на оваа веб-страна и на интернет пребарувачите. Ако\\n размислувате за употреба на псевдоним, ве молиме\\n <a href=\"{{help_url}}\">прво прочитајте го ова</a>."
+
+msgid "Your annotations"
+msgstr "Вашите белешки"
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr "Вашите детали, вклучително и вашата адреса за е-пошта, не се дадени никому."
+
+msgid "Your e-mail:"
+msgstr "Вашата е-пошта:"
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr "Вашето надоврзување не е испратено бидејќи барањето е стопирано за да се спречи spam. Ве молиме <a href=\"{{url}}\">контактирајте не</a> доколку навистина сакате да се надоврзете."
+
+msgid "Your follow up message has been sent on its way."
+msgstr "Вашето надоврзување е испратено."
+
+msgid "Your internal review request has been sent on its way."
+msgstr "Вашето барање за интерна ревизија е пратено."
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr "Вашата порака е испратена. Ви благодариме што стапивте во контакт! Ќе ве известиме наскоро."
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr "Вашата порака за {{recipient_user_name}} е испратена"
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr "Вашата порака за {{recipient_user_name}} е испратена!"
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr "Вашата порака ќе се појави во <strong>интернет пребарувачите</strong>"
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr "Вашето име и белешка ќе се појават во <strong>интернет пребарувачите</strong>."
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+"Вашето име, барање и секој одговор ќе се појават кај <strong>интернет пребарувачите</strong>\n"
+" (<a href=\"{{url}}\">детали</a>)."
+
+msgid "Your name:"
+msgstr "Вашето име:"
+
+msgid "Your original message is attached."
+msgstr "Вашата оригинална порака е прикачена."
+
+msgid "Your password has been changed."
+msgstr "Вашата лозинка е променета."
+
+msgid "Your password:"
+msgstr "Вашата лозинка:"
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr "Вашата фотографија ќе биде јавно прикажана <strong>на интернет</strong>,\\n што и да направите на системот {{site_name}}."
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr "Вашето барање '{{request}}' на {{url}} беше прегледан од модераторите."
+
+msgid "Your request on {{site_name}} hidden"
+msgstr "Вашето барање на {{site_name}} е сокриено"
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr "Вашето барање беше наречено {{info_request}}. Со ажурирање на податокот за тоа дали сте добиле одговор, ни помагате да подобро го следиме однесувањето"
+
+msgid "Your request:"
+msgstr "Вашето барање:"
+
+msgid "Your response to an FOI request was not delivered"
+msgstr "Вашиот одговор на барањето не е доставен"
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr "Вашиот одговор ќе се <strong>појави на интернет</strong>, <a href=\"{{url}}\">прочитајте зошто</a> и одговорете на други прашања."
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr "Вашето мислење за што треба {{site_name}} <strong>администраторите</strong> да направат за барањето."
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] "Вашето {{count}} барање за слободен пристап до информации"
+msgstr[1] "Вашите {{count}} барања за слободен пристап до информации"
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] "Вашата {{count}} белешка"
+msgstr[1] "Вашите {{count}} белешки"
+
+msgid "Your {{site_name}} email alert"
+msgstr "Вашите предупредувања по е-пошта за {{site_name}}"
+
+msgid "Yours faithfully,"
+msgstr "Со почит,"
+
+msgid "Yours sincerely,"
+msgstr "Со почит,"
+
+msgid "Yours,"
+msgstr "Со почит,"
+
+msgid "[FOI #{{request}} email]"
+msgstr "[FOI #{{request}} е-пошта]"
+
+msgid "[{{public_body}} request email]"
+msgstr "[{{public_body}} е-пошта за барање]"
+
+msgid "[{{site_name}} contact email]"
+msgstr "[{{site_name}} контакт е-пошта]"
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr "\\n\\n[ Белешка од {{site_name}}: Текстот погоре беше лошо енкодиран, па се отстранија сите чудни карактери. ]"
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr "резиме во еден ред за информацијата која ја барате, \\n\t\t\tна пр."
+
+msgid "admin"
+msgstr "администратор"
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr "alaveteli_foi:Софтверот кој се користи за {{site_name}}"
+
+msgid "all requests"
+msgstr "сите барања"
+
+msgid "also called {{public_body_short_name}}"
+msgstr "исто така познат како {{public_body_short_name}}"
+
+msgid "an anonymous user"
+msgstr "анонимен корисник"
+
+msgid "and"
+msgstr "и"
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr "и ажурирајте го статусот соодветно. Можеби <strong>вие</strong> сакате да помогнете правејќи го тоа?"
+
+msgid "and update the status."
+msgstr "и ажурирање на статусот."
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr "и ние ќе предложиме <strong>што да се прави следно</strong>"
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr "сите <a href=\"/list\">нови барања</a>"
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr "сите <a href=\"/list/successful\">успешни барања</a>"
+
+msgid "anything"
+msgstr "било што"
+
+msgid "are long overdue."
+msgstr "значително доцнат."
+
+msgid "at"
+msgstr "на"
+
+msgid "authorities"
+msgstr "иматели"
+
+msgid "awaiting a response"
+msgstr "се чека одговор"
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr "кое почнува со буквата ‘{{first_letter}}’"
+
+msgid "between two dates"
+msgstr "помеѓу два датуми"
+
+msgid "but followupable"
+msgstr "но може да постои реакција"
+
+msgid "by"
+msgstr "од"
+
+msgid "by <strong>{{date}}</strong>"
+msgstr "до <strong>{{date}}</strong>"
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr "од страна на {{public_body_name}} за корисникот {{info_request_user}} на ден {{date}}."
+
+msgid "by {{user_link_absolute}}"
+msgstr "од {{user_link_absolute}}"
+
+msgid "comments"
+msgstr "коментари"
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+"со Вашата поштенска адреса и побарајте од нив да одоговорат на ова барање.\n"
+" Можете да ги контактирате и по телефон."
+
+msgid "details"
+msgstr "детали"
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr "display_status моментално работи само за примени и спратени пораки"
+
+msgid "during term time"
+msgstr "за време на терминот"
+
+msgid "edit text about you"
+msgstr "изменете го текстот за вас"
+
+msgid "even during holidays"
+msgstr "и за време на празници"
+
+msgid "everything"
+msgstr "се"
+
+msgid "external"
+msgstr "надворешен"
+
+msgid "has reported an"
+msgstr "пријави"
+
+msgid "have delayed."
+msgstr "е одложен."
+
+msgid "hide quoted sections"
+msgstr "сокриј ги наведените секции"
+
+msgid "in term time"
+msgstr "во текот на школската година"
+
+msgid "in the category ‘{{category_name}}’"
+msgstr "во категоријата ‘{{category_name}}’"
+
+msgid "internal error"
+msgstr "внатрешна грешка"
+
+msgid "internal reviews"
+msgstr "внатрешна ревизија"
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr "<strong>чека на Ваше објаснување</strong>."
+
+msgid "just to see how it works"
+msgstr "само да видите како работи"
+
+msgid "left an annotation"
+msgstr "остави белешка"
+
+msgid "made."
+msgstr "направен."
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr "одговара на клучниот збор ‘{{tag_name}}’"
+
+msgid "messages from authorities"
+msgstr "пораки од имателите"
+
+msgid "messages from users"
+msgstr "пораки од корисниците"
+
+msgid "move..."
+msgstr "помести..."
+
+msgid "no later than"
+msgstr "најдоцна до"
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr "веќе не постои. Ако сакате да го направите тоа\\n од страницата со барања, обидете се да одговорите на конкретна порака, наместо да пратите\\n реакција. Ако е потребно да пратите реакција и ја знете адресата на е-пошта\\n за да стигне до правото место, Ве молиме <a href=\"{{url}}\">испратете ни ја и нам</a>."
+
+msgid "normally"
+msgstr "вообичаено"
+
+msgid "not requestable due to: {{reason}}"
+msgstr "барањето не е возможно бидејќи: {{reason}}"
+
+msgid "please sign in as "
+msgstr "Ве молиме најавете се како "
+
+msgid "requesting an internal review"
+msgstr "барање на внатрешна ревизија"
+
+msgid "requests"
+msgstr "барања"
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr "барања кои се {{list_of_statuses}}"
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr "одговор зошто бара реакција од администраторот. Погледнете и одговорете на оваа \\nза да ги известите што ќе направите за ова прашање."
+
+msgid "send a follow up message"
+msgstr "испратете реакција"
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "испратено на {{public_body_name}} од {{info_request_user}} на {{date}}."
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr "има вредност <strong>blank</strong> (празен стринг) ако не може да се најде адреса; овие е-пораки се <strong>јавни</strong> бидејчи секој може да ги види ако внесе CAPTCHA"
+
+msgid "show quoted sections"
+msgstr "прикажи ги наведените секции"
+
+msgid "sign in"
+msgstr "најавете се"
+
+msgid "simple_date_format"
+msgstr "simple_date_format"
+
+msgid "successful"
+msgstr "успешно"
+
+msgid "successful requests"
+msgstr "успешни барања"
+
+msgid "that you made to"
+msgstr "кои ги имате поднесено до"
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr "главниот контакт за барања за слободен пристап до информации за {{public_body}}"
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr "главниот контакт за барања за слободен пристап до информации од јавен карактер за {{public_body}}"
+
+msgid "the requester"
+msgstr "барателот"
+
+msgid "the {{site_name}} team"
+msgstr "тимот на {{site_name}}"
+
+msgid "to read"
+msgstr "за читање"
+
+msgid "to send a follow up message."
+msgstr "да испратите реакција."
+
+msgid "to {{public_body}}"
+msgstr "за {{public_body}}"
+
+msgid "unknown reason "
+msgstr "непозната причина "
+
+msgid "unknown status "
+msgstr "непознат статус "
+
+msgid "unresolved requests"
+msgstr "нерешени барања"
+
+msgid "unsubscribe"
+msgstr "откажете претплата"
+
+msgid "unsubscribe all"
+msgstr "откажете претплата од сите"
+
+msgid "unsuccessful"
+msgstr "неуспешно"
+
+msgid "unsuccessful requests"
+msgstr "неуспешни барања"
+
+msgid "useful information."
+msgstr "корисна информација."
+
+msgid "users"
+msgstr "корисници"
+
+msgid "what's that?"
+msgstr "што е тоа?"
+
+msgid "{{count}} FOI requests found"
+msgstr "пронајдени се {{count}} барања за слободен пристап до информации од јавен карактерznačaja"
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] "{{count}} барање за слободен пристап до информации до {{public_body_name}}"
+msgstr[1] "{{count}} барања за слободен пристап до информации до {{public_body_name}}"
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] "{{count}} корисник го следи овој имател"
+msgstr[1] "{{count}} корисници го следат овој имател"
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] "{{count}} барање"
+msgstr[1] "{{count}} барања"
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] "{{count}} барање е поднесено."
+msgstr[1] "{{count}} барања се поднесени."
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr "{{existing_request_user}} веќе\\n го има поднесено истото барање на ден {{date}}. Можете да го погледнете <a href=\"{{existing_request}}\">постоечкото барање</a>,\\n или да ги промените деталите и да направите ново, слично барање."
+
+msgid "{{info_request_user_name}} only:"
+msgstr "само за {{info_request_user_name}}:"
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr "Барања кои се повикуваат на {{law_used_full}} - {{title}}"
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr "Барања за {{law_used}} за {{public_body}}"
+
+msgid "{{length_of_time}} ago"
+msgstr "пред {{length_of_time}}"
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr "{{list_of_things}} кои одговараат на '{{search_query}}'"
+
+msgid "{{number_of_comments}} comments"
+msgstr "{{number_of_comments}} коментари"
+
+msgid "{{public_body_link}} answered a request about"
+msgstr "{{public_body_link}} даде одговор за"
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr "{{public_body_link}} прими барање за"
+
+msgid "{{public_body_name}} only:"
+msgstr "само {{public_body_name}}:"
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr "{{public_body}} побара да го дообјасните вашето барање за {{law_used}}."
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr "{{public_body}} испрати порака до {{user_name}}"
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr "{{reason}}, Ве молиме најавете се или креирајте нов профил."
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr "{{search_results}} кои одговараат на '{{query}}'"
+
+msgid "{{site_name}} blog and tweets"
+msgstr "блогови и твитови од {{site_name}} "
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr "{{site_name}} овозможува испраќање на барања кон {{number_of_authorities}} иматели, меѓу кои:"
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr "{{site_name}} ги испраќа новите барања за овој имател на оваа адреса на е-пошта <strong>{{request_email}}</strong>."
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr "Корисниците на {{site_name}} имаат поднесено {{number_of_requests}} барања, меѓу кои:"
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr "{{thing_changed}} се променети од <code>{{from_value}}</code> на <code>{{to_value}}</code>"
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr "{{title}} - барање за слободен пристап до информации од јавен карактер за {{public_body}}"
+
+msgid "{{user_name}} (Account suspended)"
+msgstr "{{user_name}} (профилот е блокиран)"
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr "{{user_name}} - барања за слободен пристап до информации од јавен карактер"
+
+msgid "{{user_name}} - user profile"
+msgstr "{{user_name}} - кориснички профил"
+
+msgid "{{user_name}} added an annotation"
+msgstr "{{user_name}} додаде белешка"
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+"{{user_name}} додаде белешка за вашето барање за {{law_used_short}}.\n"
+"Следете го овој линк за да го видите коментарот."
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr "{{user_name}} го искористи{{site_name}} за да ви ја испрати пораката подолу."
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr "{{user_name}} испрати реакција до {{public_body}}"
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr "{{user_name}} испрати барање до {{public_body}}"
+
+msgid "{{username}} left an annotation:"
+msgstr "{{username}} остави белешка:"
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr "{{user}} ({{user_admin_link}}) го поднесе ова барање за {{law_used_full}} (<a href=\"{{request_admin_url}}\">admin</a>) за имателот '{{public_body_link}}' (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr "{{user}} го поднесе ова барање за {{law_used_full}}"
diff --git a/locale/nb_NO/app.po b/locale/nb_NO/app.po
index f3cf8417e..e30b16d7b 100644
--- a/locale/nb_NO/app.po
+++ b/locale/nb_NO/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/alaveteli/language/nb_NO/)\n"
"Language: nb_NO\n"
diff --git a/locale/nl/app.po b/locale/nl/app.po
index a310b4a47..4f165b56a 100644
--- a/locale/nl/app.po
+++ b/locale/nl/app.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/alaveteli/language/nl/)\n"
"Language: nl\n"
diff --git a/locale/pl/app.po b/locale/pl/app.po
index ba6c4ec10..8c4bfc90c 100644
--- a/locale/pl/app.po
+++ b/locale/pl/app.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/alaveteli/language/pl/)\n"
"Language: pl\n"
diff --git a/locale/pt_BR/app.po b/locale/pt_BR/app.po
index 0dde37721..21e124083 100644
--- a/locale/pt_BR/app.po
+++ b/locale/pt_BR/app.po
@@ -43,7 +43,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/alaveteli/language/pt_BR/)\n"
"Language: pt_BR\n"
diff --git a/locale/pt_PT/app.po b/locale/pt_PT/app.po
index e30271443..0abd50ab6 100644
--- a/locale/pt_PT/app.po
+++ b/locale/pt_PT/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-09 16:17+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: luispaisbernardo <luispaisbernardo@gmail.com>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/alaveteli/language/pt_PT/)\n"
"Language: pt_PT\n"
diff --git a/locale/ro_RO/app.po b/locale/ro_RO/app.po
index d5dd82148..892058b0e 100644
--- a/locale/ro_RO/app.po
+++ b/locale/ro_RO/app.po
@@ -22,7 +22,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Romanian (Romania) (http://www.transifex.com/projects/p/alaveteli/language/ro_RO/)\n"
"Language: ro_RO\n"
diff --git a/locale/sl/app.po b/locale/sl/app.po
index 7c586d6d7..1ab4d822f 100644
--- a/locale/sl/app.po
+++ b/locale/sl/app.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Slovenian (http://www.transifex.com/projects/p/alaveteli/language/sl/)\n"
"Language: sl\n"
diff --git a/locale/sq/app.po b/locale/sq/app.po
index 8702f096b..11cc8148e 100644
--- a/locale/sq/app.po
+++ b/locale/sq/app.po
@@ -18,7 +18,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/alaveteli/language/sq/)\n"
"Language: sq\n"
diff --git a/locale/sr@latin/app.po b/locale/sr@latin/app.po
index a58936e40..fca017238 100644
--- a/locale/sr@latin/app.po
+++ b/locale/sr@latin/app.po
@@ -16,7 +16,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:26+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/alaveteli/language/sr@latin/)\n"
"Language: sr@latin\n"
diff --git a/locale/sv/app.po b/locale/sv/app.po
index a22d01e06..b820de7b9 100644
--- a/locale/sv/app.po
+++ b/locale/sv/app.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/alaveteli/language/sv/)\n"
"Language: sv\n"
diff --git a/locale/sw_KE/app.po b/locale/sw_KE/app.po
new file mode 100644
index 000000000..ad9610194
--- /dev/null
+++ b/locale/sw_KE/app.po
@@ -0,0 +1,3510 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-11-25 09:13+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
+"Language-Team: Swahili (Kenya) (http://www.transifex.com/projects/p/alaveteli/language/sw_KE/)\n"
+"Language: sw_KE\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr ""
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr ""
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr ""
+
+msgid " (you)"
+msgstr ""
+
+msgid " - view and make Freedom of Information requests"
+msgstr ""
+
+msgid " - wall"
+msgstr ""
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr ""
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr ""
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr ""
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr ""
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr ""
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr ""
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr ""
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr ""
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr ""
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr ""
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr ""
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr ""
+
+msgid " You are already being emailed updates about the request."
+msgstr ""
+
+msgid " You will also be emailed updates about the request."
+msgstr ""
+
+msgid " made by "
+msgstr ""
+
+msgid " or "
+msgstr ""
+
+msgid " when you send this message."
+msgstr ""
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr ""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr ""
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr ""
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr ""
+
+msgid "'{{link_to_request}}', a request"
+msgstr ""
+
+msgid "'{{link_to_user}}', a person"
+msgstr ""
+
+msgid "*unknown*"
+msgstr ""
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ""
+
+msgid "- or -"
+msgstr ""
+
+msgid "1. Select an authority"
+msgstr ""
+
+msgid "2. Ask for Information"
+msgstr ""
+
+msgid "3. Now check your request"
+msgstr ""
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr ""
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr ""
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr ""
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr ""
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr ""
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr ""
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr ""
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr ""
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr ""
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr ""
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr ""
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr ""
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr ""
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr ""
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr ""
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr ""
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr ""
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr ""
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr ""
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr ""
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr ""
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr ""
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr ""
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr ""
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr ""
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr ""
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr ""
+
+msgid "A Freedom of Information request"
+msgstr ""
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr ""
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A public authority"
+msgstr ""
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr ""
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr ""
+
+msgid "A vexatious request"
+msgstr ""
+
+msgid "A {{site_name}} user"
+msgstr ""
+
+msgid "About you:"
+msgstr ""
+
+msgid "Act on what you've learnt"
+msgstr ""
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr ""
+
+msgid "Add an annotation"
+msgstr ""
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr ""
+
+msgid "Added on {{date}}"
+msgstr ""
+
+msgid "Admin level is not included in list"
+msgstr ""
+
+msgid "Administration URL:"
+msgstr ""
+
+msgid "Advanced search"
+msgstr ""
+
+msgid "Advanced search tips"
+msgstr ""
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr ""
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr ""
+
+msgid "All of the information requested has been received"
+msgstr ""
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr ""
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr ""
+
+msgid "Also called {{other_name}}."
+msgstr ""
+
+msgid "Also send me alerts by email"
+msgstr ""
+
+msgid "Alter your subscription"
+msgstr ""
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr ""
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr ""
+
+msgid "An <strong>error message</strong> has been received"
+msgstr ""
+
+msgid "An Environmental Information Regulations request"
+msgstr ""
+
+msgid "An anonymous user"
+msgstr ""
+
+msgid "Annotation added to request"
+msgstr ""
+
+msgid "Annotations"
+msgstr ""
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr ""
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr ""
+
+msgid "Anonymous user"
+msgstr ""
+
+msgid "Anyone:"
+msgstr ""
+
+msgid "Applies to"
+msgstr ""
+
+msgid "Are we missing a public authority?"
+msgstr ""
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr ""
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr ""
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr ""
+
+msgid "Attachment (optional):"
+msgstr ""
+
+msgid "Attachment:"
+msgstr ""
+
+msgid "Awaiting classification."
+msgstr ""
+
+msgid "Awaiting internal review."
+msgstr ""
+
+msgid "Awaiting response."
+msgstr ""
+
+msgid "Beginning with"
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr ""
+
+msgid "Browse all authorities..."
+msgstr ""
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr ""
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr ""
+
+msgid "Calculated home page"
+msgstr ""
+
+msgid "Can't find the one you want?"
+msgstr ""
+
+msgid "Cancel a {{site_name}} alert"
+msgstr ""
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr ""
+
+msgid "Cancel, return to your profile page"
+msgstr ""
+
+msgid "Censor rule"
+msgstr ""
+
+msgid "CensorRule|Last edit comment"
+msgstr ""
+
+msgid "CensorRule|Last edit editor"
+msgstr ""
+
+msgid "CensorRule|Regexp"
+msgstr ""
+
+msgid "CensorRule|Replacement"
+msgstr ""
+
+msgid "CensorRule|Text"
+msgstr ""
+
+msgid "Change email on {{site_name}}"
+msgstr ""
+
+msgid "Change password on {{site_name}}"
+msgstr ""
+
+msgid "Change profile photo"
+msgstr ""
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr ""
+
+msgid "Change your email"
+msgstr ""
+
+msgid "Change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Change your password"
+msgstr ""
+
+msgid "Change your password on {{site_name}}"
+msgstr ""
+
+msgid "Change your password {{site_name}}"
+msgstr ""
+
+msgid "Charity registration"
+msgstr ""
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr ""
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr ""
+
+msgid "Choose your profile photo"
+msgstr ""
+
+msgid "Clarification"
+msgstr ""
+
+msgid "Clarify your FOI request - "
+msgstr ""
+
+msgid "Classify an FOI response from "
+msgstr ""
+
+msgid "Clear photo"
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr ""
+
+msgid "Close"
+msgstr ""
+
+msgid "Comment"
+msgstr ""
+
+msgid "Comment|Body"
+msgstr ""
+
+msgid "Comment|Comment type"
+msgstr ""
+
+msgid "Comment|Locale"
+msgstr ""
+
+msgid "Comment|Visible"
+msgstr ""
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr ""
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "Confirm your FOI request to "
+msgstr ""
+
+msgid "Confirm your account on {{site_name}}"
+msgstr ""
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr ""
+
+msgid "Confirm your email address"
+msgstr ""
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr ""
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr ""
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr ""
+
+msgid "Contact {{recipient}}"
+msgstr ""
+
+msgid "Contact {{site_name}}"
+msgstr ""
+
+msgid "Could not identify the request from the email address"
+msgstr ""
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr ""
+
+msgid "Crop your profile photo"
+msgstr ""
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr ""
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr ""
+
+msgid "Date:"
+msgstr ""
+
+msgid "Dear {{name}},"
+msgstr ""
+
+msgid "Dear {{public_body_name}},"
+msgstr ""
+
+msgid "Default locale"
+msgstr ""
+
+msgid "Defunct."
+msgstr ""
+
+msgid "Delayed response to your FOI request - "
+msgstr ""
+
+msgid "Delayed."
+msgstr ""
+
+msgid "Delivery error"
+msgstr ""
+
+msgid "Destroy {{name}}"
+msgstr ""
+
+msgid "Details of request '"
+msgstr ""
+
+msgid "Did you mean: {{correction}}"
+msgstr ""
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr ""
+
+msgid "Disclosure log"
+msgstr ""
+
+msgid "Disclosure log URL"
+msgstr ""
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr ""
+
+msgid "Done"
+msgstr ""
+
+msgid "Done &gt;&gt;"
+msgstr ""
+
+msgid "Download a zip file of all correspondence"
+msgstr ""
+
+msgid "Download original attachment"
+msgstr ""
+
+msgid "EIR"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr ""
+
+msgid "Edit text about you"
+msgstr ""
+
+msgid "Edit this request"
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr ""
+
+msgid "Email doesn't look like a valid address"
+msgstr ""
+
+msgid "Email me future updates to this request"
+msgstr ""
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr ""
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr ""
+
+msgid "Environmental Information Regulations"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr ""
+
+msgid "Event history"
+msgstr ""
+
+msgid "Event history details"
+msgstr ""
+
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "FOI"
+msgstr ""
+
+msgid "FOI email address for {{public_body}}"
+msgstr ""
+
+msgid "FOI request – {{title}}"
+msgstr ""
+
+msgid "FOI requests"
+msgstr ""
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr ""
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr ""
+
+msgid "Failed to convert image to a PNG"
+msgstr ""
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr ""
+
+msgid "Filter"
+msgstr ""
+
+msgid "First, did your other requests succeed?"
+msgstr ""
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Foi attachment"
+msgstr ""
+
+msgid "FoiAttachment|Charset"
+msgstr ""
+
+msgid "FoiAttachment|Content type"
+msgstr ""
+
+msgid "FoiAttachment|Display size"
+msgstr ""
+
+msgid "FoiAttachment|Filename"
+msgstr ""
+
+msgid "FoiAttachment|Hexdigest"
+msgstr ""
+
+msgid "FoiAttachment|Url part number"
+msgstr ""
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr ""
+
+msgid "Follow"
+msgstr ""
+
+msgid "Follow all new requests"
+msgstr ""
+
+msgid "Follow new successful responses"
+msgstr ""
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr ""
+
+msgid "Follow these requests"
+msgstr ""
+
+msgid "Follow things matching this search"
+msgstr ""
+
+msgid "Follow this authority"
+msgstr ""
+
+msgid "Follow this link to see the request:"
+msgstr ""
+
+msgid "Follow this person"
+msgstr ""
+
+msgid "Follow this request"
+msgstr ""
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr ""
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr ""
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr ""
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr ""
+
+msgid "Follow us on twitter"
+msgstr ""
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr ""
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr ""
+
+msgid "Forgotten your password?"
+msgstr ""
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Freedom of Information"
+msgstr ""
+
+msgid "Freedom of Information Act"
+msgstr ""
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to"
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr ""
+
+msgid "Freedom of Information requests made"
+msgstr ""
+
+msgid "Freedom of Information requests made by this person"
+msgstr ""
+
+msgid "Freedom of Information requests made by you"
+msgstr ""
+
+msgid "Freedom of Information requests made using this site"
+msgstr ""
+
+msgid "Freedom of information requests to"
+msgstr ""
+
+msgid "From"
+msgstr ""
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "From:"
+msgstr ""
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr ""
+
+msgid "Handled by post."
+msgstr ""
+
+msgid "Has tag string/has tag string tag"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr ""
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr ""
+
+msgid "Hello, {{username}}!"
+msgstr ""
+
+msgid "Help"
+msgstr ""
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr ""
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr ""
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr ""
+
+msgid "Hide request"
+msgstr ""
+
+msgid "Holiday"
+msgstr ""
+
+msgid "Holiday|Day"
+msgstr ""
+
+msgid "Holiday|Description"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Home page"
+msgstr ""
+
+msgid "Home page of authority"
+msgstr ""
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr ""
+
+msgid "Human health and safety"
+msgstr ""
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr ""
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr ""
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr ""
+
+msgid "I don't want to do any more tidying now!"
+msgstr ""
+
+msgid "I like this request"
+msgstr ""
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr ""
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr ""
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr ""
+
+msgid "I've received <strong>all the information"
+msgstr ""
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr ""
+
+msgid "I've received an <strong>error message</strong>"
+msgstr ""
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr ""
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr ""
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr ""
+
+msgid "If you are {{user_link}}, please"
+msgstr ""
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr ""
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr ""
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr ""
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr ""
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr ""
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr ""
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr ""
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr ""
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr ""
+
+msgid "If you're new to {{site_name}}"
+msgstr ""
+
+msgid "If you've used {{site_name}} before"
+msgstr ""
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr ""
+
+msgid "Incoming email address"
+msgstr ""
+
+msgid "Incoming message"
+msgstr ""
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr ""
+
+msgid "IncomingMessage|Last parsed"
+msgstr ""
+
+msgid "IncomingMessage|Mail from"
+msgstr ""
+
+msgid "IncomingMessage|Mail from domain"
+msgstr ""
+
+msgid "IncomingMessage|Prominence"
+msgstr ""
+
+msgid "IncomingMessage|Prominence reason"
+msgstr ""
+
+msgid "IncomingMessage|Sent at"
+msgstr ""
+
+msgid "IncomingMessage|Subject"
+msgstr ""
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr ""
+
+msgid "Individual requests"
+msgstr ""
+
+msgid "Info request"
+msgstr ""
+
+msgid "Info request event"
+msgstr ""
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr ""
+
+msgid "InfoRequestEvent|Described state"
+msgstr ""
+
+msgid "InfoRequestEvent|Event type"
+msgstr ""
+
+msgid "InfoRequestEvent|Last described at"
+msgstr ""
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr ""
+
+msgid "InfoRequest|Allow new responses from"
+msgstr ""
+
+msgid "InfoRequest|Attention requested"
+msgstr ""
+
+msgid "InfoRequest|Awaiting description"
+msgstr ""
+
+msgid "InfoRequest|Comments allowed"
+msgstr ""
+
+msgid "InfoRequest|Described state"
+msgstr ""
+
+msgid "InfoRequest|External url"
+msgstr ""
+
+msgid "InfoRequest|External user name"
+msgstr ""
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr ""
+
+msgid "InfoRequest|Idhash"
+msgstr ""
+
+msgid "InfoRequest|Law used"
+msgstr ""
+
+msgid "InfoRequest|Prominence"
+msgstr ""
+
+msgid "InfoRequest|Title"
+msgstr ""
+
+msgid "InfoRequest|Url title"
+msgstr ""
+
+msgid "Information not held."
+msgstr ""
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr ""
+
+msgid "Internal review request"
+msgstr ""
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr ""
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr ""
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr ""
+
+msgid "Items sent in last month"
+msgstr ""
+
+msgid "Joined in"
+msgstr ""
+
+msgid "Joined {{site_name}} in"
+msgstr ""
+
+msgid "Just one more thing"
+msgstr ""
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Keywords"
+msgstr ""
+
+msgid "Last authority viewed: "
+msgstr ""
+
+msgid "Last request viewed: "
+msgstr ""
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr ""
+
+msgid "Link to this"
+msgstr ""
+
+msgid "List all"
+msgstr ""
+
+msgid "List of all authorities (CSV)"
+msgstr ""
+
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr ""
+
+msgid "Log into the admin interface"
+msgstr ""
+
+msgid "Long overdue."
+msgstr ""
+
+msgid "Made between"
+msgstr ""
+
+msgid "Mail server log"
+msgstr ""
+
+msgid "Mail server log done"
+msgstr ""
+
+msgid "MailServerLogDone|Filename"
+msgstr ""
+
+msgid "MailServerLogDone|Last stat"
+msgstr ""
+
+msgid "MailServerLog|Line"
+msgstr ""
+
+msgid "MailServerLog|Order"
+msgstr ""
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr ""
+
+msgid "Make a request"
+msgstr ""
+
+msgid "Make a request to this authority"
+msgstr ""
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr ""
+
+msgid "Make your own request"
+msgstr ""
+
+msgid "Many requests"
+msgstr ""
+
+msgid "Message"
+msgstr ""
+
+msgid "Message has been removed"
+msgstr ""
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr ""
+
+msgid "Missing contact details for '"
+msgstr ""
+
+msgid "More about this authority"
+msgstr ""
+
+msgid "More requests..."
+msgstr ""
+
+msgid "More similar requests"
+msgstr ""
+
+msgid "More successful requests..."
+msgstr ""
+
+msgid "My profile"
+msgstr ""
+
+msgid "My request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "My requests"
+msgstr ""
+
+msgid "My wall"
+msgstr ""
+
+msgid "Name can't be blank"
+msgstr ""
+
+msgid "Name is already taken"
+msgstr ""
+
+msgid "New Freedom of Information requests"
+msgstr ""
+
+msgid "New censor rule"
+msgstr ""
+
+msgid "New e-mail:"
+msgstr ""
+
+msgid "New email doesn't look like a valid address"
+msgstr ""
+
+msgid "New password:"
+msgstr ""
+
+msgid "New password: (again)"
+msgstr ""
+
+msgid "New response to '{{title}}'"
+msgstr ""
+
+msgid "New response to your FOI request - "
+msgstr ""
+
+msgid "New response to your request"
+msgstr ""
+
+msgid "New response to {{law_used_short}} request"
+msgstr ""
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr ""
+
+msgid "Newest results first"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr ""
+
+msgid "No requests of this sort yet."
+msgstr ""
+
+msgid "No results found."
+msgstr ""
+
+msgid "No similar requests found."
+msgstr ""
+
+msgid "No tracked things found."
+msgstr ""
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr ""
+
+msgid "None found."
+msgstr ""
+
+msgid "None made."
+msgstr ""
+
+msgid "Not a valid FOI request"
+msgstr ""
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr ""
+
+msgid "Now check your email!"
+msgstr ""
+
+msgid "Now preview your annotation"
+msgstr ""
+
+msgid "Now preview your follow up"
+msgstr ""
+
+msgid "Now preview your message asking for an internal review"
+msgstr ""
+
+msgid "Number of requests"
+msgstr ""
+
+msgid "OR remove the existing photo"
+msgstr ""
+
+msgid "Offensive? Unsuitable?"
+msgstr ""
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr ""
+
+msgid "Old e-mail:"
+msgstr ""
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr ""
+
+msgid "Old email doesn't look like a valid address"
+msgstr ""
+
+msgid "On this page"
+msgstr ""
+
+msgid "One FOI request found"
+msgstr ""
+
+msgid "One person found"
+msgstr ""
+
+msgid "One public authority found"
+msgstr ""
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr ""
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr ""
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr ""
+
+msgid "Or search in their website for this information."
+msgstr ""
+
+msgid "Original request sent"
+msgstr ""
+
+msgid "Other:"
+msgstr ""
+
+msgid "Outgoing message"
+msgstr ""
+
+msgid "OutgoingMessage|Body"
+msgstr ""
+
+msgid "OutgoingMessage|Last sent at"
+msgstr ""
+
+msgid "OutgoingMessage|Message type"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr ""
+
+msgid "OutgoingMessage|Status"
+msgstr ""
+
+msgid "OutgoingMessage|What doing"
+msgstr ""
+
+msgid "Partially successful."
+msgstr ""
+
+msgid "Password is not correct"
+msgstr ""
+
+msgid "Password:"
+msgstr ""
+
+msgid "Password: (again)"
+msgstr ""
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr ""
+
+msgid "People"
+msgstr ""
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Percentage of requests that are overdue"
+msgstr ""
+
+msgid "Percentage of total requests"
+msgstr ""
+
+msgid "Photo of you:"
+msgstr ""
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr ""
+
+msgid "Play the request categorisation game"
+msgstr ""
+
+msgid "Play the request categorisation game!"
+msgstr ""
+
+msgid "Please"
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr ""
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr ""
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr ""
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr ""
+
+msgid "Please ask for environmental information only"
+msgstr ""
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr ""
+
+msgid "Please choose a file containing your photo."
+msgstr ""
+
+msgid "Please choose a reason"
+msgstr ""
+
+msgid "Please choose what sort of reply you are making."
+msgstr ""
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr ""
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr ""
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr ""
+
+msgid "Please click on the link below to confirm your email address."
+msgstr ""
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr ""
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr ""
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr ""
+
+msgid "Please enter a password"
+msgstr ""
+
+msgid "Please enter a subject"
+msgstr ""
+
+msgid "Please enter a summary of your request"
+msgstr ""
+
+msgid "Please enter a valid email address"
+msgstr ""
+
+msgid "Please enter the message you want to send"
+msgstr ""
+
+msgid "Please enter the same password twice"
+msgstr ""
+
+msgid "Please enter your annotation"
+msgstr ""
+
+msgid "Please enter your email address"
+msgstr ""
+
+msgid "Please enter your follow up message"
+msgstr ""
+
+msgid "Please enter your letter requesting information"
+msgstr ""
+
+msgid "Please enter your name"
+msgstr ""
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr ""
+
+msgid "Please enter your new email address"
+msgstr ""
+
+msgid "Please enter your old email address"
+msgstr ""
+
+msgid "Please enter your password"
+msgstr ""
+
+msgid "Please give details explaining why you want a review"
+msgstr ""
+
+msgid "Please keep it shorter than 500 characters"
+msgstr ""
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr ""
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr ""
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr ""
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr ""
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr ""
+
+msgid "Please sign in as "
+msgstr ""
+
+msgid "Please sign in or make a new account."
+msgstr ""
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr ""
+
+msgid "Please use this email address for all replies to this request:"
+msgstr ""
+
+msgid "Please write a summary with some text in it"
+msgstr ""
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr ""
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr ""
+
+msgid "Possibly related requests:"
+msgstr ""
+
+msgid "Post annotation"
+msgstr ""
+
+msgid "Post redirect"
+msgstr ""
+
+msgid "PostRedirect|Circumstance"
+msgstr ""
+
+msgid "PostRedirect|Email token"
+msgstr ""
+
+msgid "PostRedirect|Post params yaml"
+msgstr ""
+
+msgid "PostRedirect|Reason params yaml"
+msgstr ""
+
+msgid "PostRedirect|Token"
+msgstr ""
+
+msgid "PostRedirect|Uri"
+msgstr ""
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr ""
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr ""
+
+msgid "Prev"
+msgstr ""
+
+msgid "Preview follow up to '"
+msgstr ""
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr ""
+
+msgid "Preview your annotation"
+msgstr ""
+
+msgid "Preview your message"
+msgstr ""
+
+msgid "Preview your public request"
+msgstr ""
+
+msgid "Profile photo"
+msgstr ""
+
+msgid "ProfilePhoto|Data"
+msgstr ""
+
+msgid "ProfilePhoto|Draft"
+msgstr ""
+
+msgid "Public Bodies"
+msgstr ""
+
+msgid "Public Body Statistics"
+msgstr ""
+
+msgid "Public authorities"
+msgstr ""
+
+msgid "Public authorities - {{description}}"
+msgstr ""
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Public authority – {{name}}"
+msgstr ""
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr ""
+
+msgid "Public bodies with most overdue requests"
+msgstr ""
+
+msgid "Public bodies with the fewest successful requests"
+msgstr ""
+
+msgid "Public bodies with the most requests"
+msgstr ""
+
+msgid "Public bodies with the most successful requests"
+msgstr ""
+
+msgid "Public body"
+msgstr ""
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
+msgid "PublicBody|Api key"
+msgstr ""
+
+msgid "PublicBody|Disclosure log"
+msgstr ""
+
+msgid "PublicBody|First letter"
+msgstr ""
+
+msgid "PublicBody|Home page"
+msgstr ""
+
+msgid "PublicBody|Info requests count"
+msgstr ""
+
+msgid "PublicBody|Info requests not held count"
+msgstr ""
+
+msgid "PublicBody|Info requests overdue count"
+msgstr ""
+
+msgid "PublicBody|Info requests successful count"
+msgstr ""
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr ""
+
+msgid "PublicBody|Last edit editor"
+msgstr ""
+
+msgid "PublicBody|Name"
+msgstr ""
+
+msgid "PublicBody|Notes"
+msgstr ""
+
+msgid "PublicBody|Publication scheme"
+msgstr ""
+
+msgid "PublicBody|Request email"
+msgstr ""
+
+msgid "PublicBody|Short name"
+msgstr ""
+
+msgid "PublicBody|Url name"
+msgstr ""
+
+msgid "PublicBody|Version"
+msgstr ""
+
+msgid "Publication scheme"
+msgstr ""
+
+msgid "Publication scheme URL"
+msgstr ""
+
+msgid "Purge request"
+msgstr ""
+
+msgid "PurgeRequest|Model"
+msgstr ""
+
+msgid "PurgeRequest|Url"
+msgstr ""
+
+msgid "RSS feed"
+msgstr ""
+
+msgid "RSS feed of updates"
+msgstr ""
+
+msgid "Re-edit this annotation"
+msgstr ""
+
+msgid "Re-edit this message"
+msgstr ""
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr ""
+
+msgid "Read blog"
+msgstr ""
+
+msgid "Received an error message, such as delivery failure."
+msgstr ""
+
+msgid "Recently described results first"
+msgstr ""
+
+msgid "Refused."
+msgstr ""
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr ""
+
+msgid "Report abuse"
+msgstr ""
+
+msgid "Report an offensive or unsuitable request"
+msgstr ""
+
+msgid "Report request"
+msgstr ""
+
+msgid "Report this request"
+msgstr ""
+
+msgid "Reported for administrator attention."
+msgstr ""
+
+msgid "Request an internal review"
+msgstr ""
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr ""
+
+msgid "Request email"
+msgstr ""
+
+msgid "Request has been removed"
+msgstr ""
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr ""
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr ""
+
+msgid "Requested on {{date}}"
+msgstr ""
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr ""
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr ""
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr ""
+
+msgid "Requests or responses matching your saved search"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr ""
+
+msgid "Respond by email"
+msgstr ""
+
+msgid "Respond to request"
+msgstr ""
+
+msgid "Respond to the FOI request"
+msgstr ""
+
+msgid "Respond using the web"
+msgstr ""
+
+msgid "Response"
+msgstr ""
+
+msgid "Response from a public authority"
+msgstr ""
+
+msgid "Response to '{{title}}'"
+msgstr ""
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr ""
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr ""
+
+msgid "Response to your request"
+msgstr ""
+
+msgid "Response:"
+msgstr ""
+
+msgid "Restrict to"
+msgstr ""
+
+msgid "Results page {{page_number}}"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Search"
+msgstr ""
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr ""
+
+msgid "Search contributions by this person"
+msgstr ""
+
+msgid "Search for words in:"
+msgstr ""
+
+msgid "Search in"
+msgstr ""
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr ""
+
+msgid "Search queries"
+msgstr ""
+
+msgid "Search results"
+msgstr ""
+
+msgid "Search the site to find what you were looking for."
+msgstr ""
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Search your contributions"
+msgstr ""
+
+msgid "See bounce message"
+msgstr ""
+
+msgid "Select one to see more information about the authority."
+msgstr ""
+
+msgid "Select the authority to write to"
+msgstr ""
+
+msgid "Send a followup"
+msgstr ""
+
+msgid "Send a message to "
+msgstr ""
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr ""
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr ""
+
+msgid "Send follow up to '{{title}}'"
+msgstr ""
+
+msgid "Send message"
+msgstr ""
+
+msgid "Send message to "
+msgstr ""
+
+msgid "Send request"
+msgstr ""
+
+msgid "Set your profile photo"
+msgstr ""
+
+msgid "Short name"
+msgstr ""
+
+msgid "Short name is already taken"
+msgstr ""
+
+msgid "Show most relevant results first"
+msgstr ""
+
+msgid "Show only..."
+msgstr ""
+
+msgid "Showing"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign in or make a new account"
+msgstr ""
+
+msgid "Sign in or sign up"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Sign up"
+msgstr ""
+
+msgid "Similar requests"
+msgstr ""
+
+msgid "Simple search"
+msgstr ""
+
+msgid "Some notes have been added to your FOI request - "
+msgstr ""
+
+msgid "Some of the information requested has been received"
+msgstr ""
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr ""
+
+msgid "Somebody added a note to your FOI request - "
+msgstr ""
+
+msgid "Someone has updated the status of your request"
+msgstr ""
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr ""
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr ""
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr ""
+
+msgid "Sorry, there was a problem processing this page"
+msgstr ""
+
+msgid "Sorry, we couldn't find that page"
+msgstr ""
+
+msgid "Special note for this authority!"
+msgstr ""
+
+msgid "Start now &raquo;"
+msgstr ""
+
+msgid "Start your own blog"
+msgstr ""
+
+msgid "Stay up to date"
+msgstr ""
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "Subject"
+msgstr ""
+
+msgid "Subject:"
+msgstr ""
+
+msgid "Submit"
+msgstr ""
+
+msgid "Submit status"
+msgstr ""
+
+msgid "Submit status and send message"
+msgstr ""
+
+msgid "Subscribe to blog"
+msgstr ""
+
+msgid "Successful Freedom of Information requests"
+msgstr ""
+
+msgid "Successful."
+msgstr ""
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr ""
+
+msgid "Summary:"
+msgstr ""
+
+msgid "Table of statuses"
+msgstr ""
+
+msgid "Table of varieties"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Tags (separated by a space):"
+msgstr ""
+
+msgid "Tags:"
+msgstr ""
+
+msgid "Technical details"
+msgstr ""
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr ""
+
+msgid "Thank you for making an annotation!"
+msgstr ""
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr ""
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr ""
+
+msgid "Thank you for updating this request!"
+msgstr ""
+
+msgid "Thank you for updating your profile photo"
+msgstr ""
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr ""
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr ""
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr ""
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr ""
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr ""
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr ""
+
+msgid "The accounts have been left as they previously were."
+msgstr ""
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr ""
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr ""
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr ""
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr ""
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr ""
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr ""
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr ""
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr ""
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr ""
+
+msgid "The public authority does not have the information requested"
+msgstr ""
+
+msgid "The public authority would like part of the request explained"
+msgstr ""
+
+msgid "The public authority would like to / has responded by post"
+msgstr ""
+
+msgid "The request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr ""
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr ""
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr ""
+
+msgid "The request was <strong>refused</strong> by"
+msgstr ""
+
+msgid "The request was <strong>successful</strong>."
+msgstr ""
+
+msgid "The request was refused by the public authority"
+msgstr ""
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "The requester has abandoned this request for some reason"
+msgstr ""
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr ""
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr ""
+
+msgid "The {{site_name}} team."
+msgstr ""
+
+msgid "Then you can cancel the alert."
+msgstr ""
+
+msgid "Then you can cancel the alerts."
+msgstr ""
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr ""
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr ""
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr ""
+
+msgid "Then you can log into the administrative interface"
+msgstr ""
+
+msgid "Then you can play the request categorisation game."
+msgstr ""
+
+msgid "Then you can report the request '{{title}}'"
+msgstr ""
+
+msgid "Then you can send a message to "
+msgstr ""
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr ""
+
+msgid "Then you can update the status of your request to "
+msgstr ""
+
+msgid "Then you can upload an FOI response. "
+msgstr ""
+
+msgid "Then you can write follow up message to "
+msgstr ""
+
+msgid "Then you can write your reply to "
+msgstr ""
+
+msgid "Then you will be following all new FOI requests."
+msgstr ""
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr ""
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr ""
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr ""
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr ""
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr ""
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr ""
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr ""
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr ""
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr ""
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr ""
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr ""
+
+msgid "There was an error with the words you entered, please try again."
+msgstr ""
+
+msgid "There was no data calculated for this graph yet."
+msgstr ""
+
+msgid "There were no requests matching your query."
+msgstr ""
+
+msgid "There were no results matching your query."
+msgstr ""
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr ""
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr ""
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr ""
+
+msgid "They have been given the following explanation:"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr ""
+
+msgid "Things to do with this request"
+msgstr ""
+
+msgid "Things you're following"
+msgstr ""
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr ""
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr ""
+
+msgid "This external request has been hidden"
+msgstr ""
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr ""
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr ""
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr ""
+
+msgid "This is the first version."
+msgstr ""
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr ""
+
+msgid "This message has been hidden."
+msgstr ""
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr ""
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr ""
+
+msgid "This particular request is finished:"
+msgstr ""
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "This person's annotations"
+msgstr ""
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr ""
+
+msgid "This request has already been reported for administrator attention"
+msgstr ""
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr ""
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr ""
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr ""
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "This request has been reported for administrator attention"
+msgstr ""
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr ""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr ""
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr ""
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This request is still in progress:"
+msgstr ""
+
+msgid "This request requires administrator attention"
+msgstr ""
+
+msgid "This request was not made via {{site_name}}"
+msgstr ""
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr ""
+
+msgid "This user has been banned from {{site_name}} "
+msgstr ""
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr ""
+
+msgid "To cancel these alerts"
+msgstr ""
+
+msgid "To cancel this alert"
+msgstr ""
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr ""
+
+msgid "To change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "To classify the response to this FOI request"
+msgstr ""
+
+msgid "To do that please send a private email to "
+msgstr ""
+
+msgid "To do this, first click on the link below."
+msgstr ""
+
+msgid "To download the zip file"
+msgstr ""
+
+msgid "To follow all successful requests"
+msgstr ""
+
+msgid "To follow new requests"
+msgstr ""
+
+msgid "To follow requests and responses matching your search"
+msgstr ""
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr ""
+
+msgid "To follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr ""
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr ""
+
+msgid "To log into the administrative interface"
+msgstr ""
+
+msgid "To play the request categorisation game"
+msgstr ""
+
+msgid "To post your annotation"
+msgstr ""
+
+msgid "To reply to "
+msgstr ""
+
+msgid "To report this request"
+msgstr ""
+
+msgid "To send a follow up message to "
+msgstr ""
+
+msgid "To send a message to "
+msgstr ""
+
+msgid "To send your FOI request"
+msgstr ""
+
+msgid "To update the status of this FOI request"
+msgstr ""
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr ""
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr ""
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr ""
+
+msgid "To view the response, click on the link below."
+msgstr ""
+
+msgid "To {{public_body_link_absolute}}"
+msgstr ""
+
+msgid "To:"
+msgstr ""
+
+msgid "Today"
+msgstr ""
+
+msgid "Too many requests"
+msgstr ""
+
+msgid "Top search results:"
+msgstr ""
+
+msgid "Track thing"
+msgstr ""
+
+msgid "Track this person"
+msgstr ""
+
+msgid "Track this search"
+msgstr ""
+
+msgid "TrackThing|Track medium"
+msgstr ""
+
+msgid "TrackThing|Track query"
+msgstr ""
+
+msgid "TrackThing|Track type"
+msgstr ""
+
+msgid "Turn off email alerts"
+msgstr ""
+
+msgid "Tweet this request"
+msgstr ""
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr ""
+
+msgid "URL name can't be blank"
+msgstr ""
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr ""
+
+msgid "Unable to send a reply to {{username}}"
+msgstr ""
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr ""
+
+msgid "Unexpected search result type"
+msgstr ""
+
+msgid "Unexpected search result type "
+msgstr ""
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr ""
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+
+msgid "Unknown"
+msgstr ""
+
+msgid "Unsubscribe"
+msgstr ""
+
+msgid "Unusual response."
+msgstr ""
+
+msgid "Update the status of this request"
+msgstr ""
+
+msgid "Update the status of your request to "
+msgstr ""
+
+msgid "Upload FOI response"
+msgstr ""
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr ""
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr ""
+
+msgid "User"
+msgstr ""
+
+msgid "User info request sent alert"
+msgstr ""
+
+msgid "User – {{name}}"
+msgstr ""
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr ""
+
+msgid "User|About me"
+msgstr ""
+
+msgid "User|Admin level"
+msgstr ""
+
+msgid "User|Ban text"
+msgstr ""
+
+msgid "User|Email"
+msgstr ""
+
+msgid "User|Email bounce message"
+msgstr ""
+
+msgid "User|Email bounced at"
+msgstr ""
+
+msgid "User|Email confirmed"
+msgstr ""
+
+msgid "User|Hashed password"
+msgstr ""
+
+msgid "User|Last daily track email"
+msgstr ""
+
+msgid "User|Locale"
+msgstr ""
+
+msgid "User|Name"
+msgstr ""
+
+msgid "User|No limit"
+msgstr ""
+
+msgid "User|Receive email alerts"
+msgstr ""
+
+msgid "User|Salt"
+msgstr ""
+
+msgid "User|Url name"
+msgstr ""
+
+msgid "Version {{version}}"
+msgstr ""
+
+msgid "View FOI email address"
+msgstr ""
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr ""
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr ""
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr ""
+
+msgid "View and search requests"
+msgstr ""
+
+msgid "View authorities"
+msgstr ""
+
+msgid "View email"
+msgstr ""
+
+msgid "View requests"
+msgstr ""
+
+msgid "Waiting clarification."
+msgstr ""
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr ""
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr ""
+
+msgid "Waiting for the public authority to reply"
+msgstr ""
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr ""
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We do not have a working request email address for this authority."
+msgstr ""
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr ""
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We're waiting for"
+msgstr ""
+
+msgid "We're waiting for someone to read"
+msgstr ""
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr ""
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr ""
+
+msgid "What are you doing?"
+msgstr ""
+
+msgid "What best describes the status of this request now?"
+msgstr ""
+
+msgid "What information has been released?"
+msgstr ""
+
+msgid "What information has been requested?"
+msgstr ""
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr ""
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr ""
+
+msgid "Which of these is happening?"
+msgstr ""
+
+msgid "Who can I request information from?"
+msgstr ""
+
+msgid "Withdrawn by the requester."
+msgstr ""
+
+msgid "Wk"
+msgstr ""
+
+msgid "Would you like to see a website like this in your country?"
+msgstr ""
+
+msgid "Write a reply"
+msgstr ""
+
+msgid "Write a reply to "
+msgstr ""
+
+msgid "Write your FOI follow up message to "
+msgstr ""
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr ""
+
+msgid "You"
+msgstr ""
+
+msgid "You are already following new requests"
+msgstr ""
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr ""
+
+msgid "You are already following things matching this search"
+msgstr ""
+
+msgid "You are already following this person"
+msgstr ""
+
+msgid "You are already following this request"
+msgstr ""
+
+msgid "You are already following updates about {{track_description}}"
+msgstr ""
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr ""
+
+msgid "You are following all new successful responses"
+msgstr ""
+
+msgid "You are no longer following {{track_description}}."
+msgstr ""
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr ""
+
+msgid "You can <strong>complain</strong> by"
+msgstr ""
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr ""
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr ""
+
+msgid "You can only request information about the environment from this authority."
+msgstr ""
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr ""
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr ""
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr ""
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "You have now changed the text about you on your profile."
+msgstr ""
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr ""
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr ""
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr ""
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr ""
+
+msgid "You need to be logged in to change your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to edit your profile."
+msgstr ""
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr ""
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr ""
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr ""
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr ""
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr ""
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr ""
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr ""
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr ""
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr ""
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr ""
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr ""
+
+msgid "You're not following anything."
+msgstr ""
+
+msgid "You've now cleared your profile photo"
+msgstr ""
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr ""
+
+msgid "Your annotations"
+msgstr ""
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr ""
+
+msgid "Your e-mail:"
+msgstr ""
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr ""
+
+msgid "Your follow up message has been sent on its way."
+msgstr ""
+
+msgid "Your internal review request has been sent on its way."
+msgstr ""
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr ""
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr ""
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr ""
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "Your name:"
+msgstr ""
+
+msgid "Your original message is attached."
+msgstr ""
+
+msgid "Your password has been changed."
+msgstr ""
+
+msgid "Your password:"
+msgstr ""
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr ""
+
+msgid "Your request on {{site_name}} hidden"
+msgstr ""
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr ""
+
+msgid "Your request:"
+msgstr ""
+
+msgid "Your response to an FOI request was not delivered"
+msgstr ""
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr ""
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr ""
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Your {{site_name}} email alert"
+msgstr ""
+
+msgid "Yours faithfully,"
+msgstr ""
+
+msgid "Yours sincerely,"
+msgstr ""
+
+msgid "Yours,"
+msgstr ""
+
+msgid "[FOI #{{request}} email]"
+msgstr ""
+
+msgid "[{{public_body}} request email]"
+msgstr ""
+
+msgid "[{{site_name}} contact email]"
+msgstr ""
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr ""
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr ""
+
+msgid "admin"
+msgstr ""
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
+msgid "all requests"
+msgstr ""
+
+msgid "also called {{public_body_short_name}}"
+msgstr ""
+
+msgid "an anonymous user"
+msgstr ""
+
+msgid "and"
+msgstr ""
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr ""
+
+msgid "and update the status."
+msgstr ""
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr ""
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr ""
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr ""
+
+msgid "anything"
+msgstr ""
+
+msgid "are long overdue."
+msgstr ""
+
+msgid "at"
+msgstr ""
+
+msgid "authorities"
+msgstr ""
+
+msgid "awaiting a response"
+msgstr ""
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr ""
+
+msgid "between two dates"
+msgstr ""
+
+msgid "but followupable"
+msgstr ""
+
+msgid "by"
+msgstr ""
+
+msgid "by <strong>{{date}}</strong>"
+msgstr ""
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "by {{user_link_absolute}}"
+msgstr ""
+
+msgid "comments"
+msgstr ""
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+
+msgid "details"
+msgstr ""
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr ""
+
+msgid "during term time"
+msgstr ""
+
+msgid "edit text about you"
+msgstr ""
+
+msgid "even during holidays"
+msgstr ""
+
+msgid "everything"
+msgstr ""
+
+msgid "external"
+msgstr ""
+
+msgid "has reported an"
+msgstr ""
+
+msgid "have delayed."
+msgstr ""
+
+msgid "hide quoted sections"
+msgstr ""
+
+msgid "in term time"
+msgstr ""
+
+msgid "in the category ‘{{category_name}}’"
+msgstr ""
+
+msgid "internal error"
+msgstr ""
+
+msgid "internal reviews"
+msgstr ""
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr ""
+
+msgid "just to see how it works"
+msgstr ""
+
+msgid "left an annotation"
+msgstr ""
+
+msgid "made."
+msgstr ""
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr ""
+
+msgid "messages from authorities"
+msgstr ""
+
+msgid "messages from users"
+msgstr ""
+
+msgid "move..."
+msgstr ""
+
+msgid "no later than"
+msgstr ""
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "normally"
+msgstr ""
+
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
+msgid "please sign in as "
+msgstr ""
+
+msgid "requesting an internal review"
+msgstr ""
+
+msgid "requests"
+msgstr ""
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr ""
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr ""
+
+msgid "send a follow up message"
+msgstr ""
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
+msgid "show quoted sections"
+msgstr ""
+
+msgid "sign in"
+msgstr ""
+
+msgid "simple_date_format"
+msgstr ""
+
+msgid "successful"
+msgstr ""
+
+msgid "successful requests"
+msgstr ""
+
+msgid "that you made to"
+msgstr ""
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr ""
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr ""
+
+msgid "the requester"
+msgstr ""
+
+msgid "the {{site_name}} team"
+msgstr ""
+
+msgid "to read"
+msgstr ""
+
+msgid "to send a follow up message."
+msgstr ""
+
+msgid "to {{public_body}}"
+msgstr ""
+
+msgid "unknown reason "
+msgstr ""
+
+msgid "unknown status "
+msgstr ""
+
+msgid "unresolved requests"
+msgstr ""
+
+msgid "unsubscribe"
+msgstr ""
+
+msgid "unsubscribe all"
+msgstr ""
+
+msgid "unsuccessful"
+msgstr ""
+
+msgid "unsuccessful requests"
+msgstr ""
+
+msgid "useful information."
+msgstr ""
+
+msgid "users"
+msgstr ""
+
+msgid "what's that?"
+msgstr ""
+
+msgid "{{count}} FOI requests found"
+msgstr ""
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr ""
+
+msgid "{{info_request_user_name}} only:"
+msgstr ""
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr ""
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr ""
+
+msgid "{{length_of_time}} ago"
+msgstr ""
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr ""
+
+msgid "{{number_of_comments}} comments"
+msgstr ""
+
+msgid "{{public_body_link}} answered a request about"
+msgstr ""
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr ""
+
+msgid "{{public_body_name}} only:"
+msgstr ""
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr ""
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr ""
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr ""
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr ""
+
+msgid "{{site_name}} blog and tweets"
+msgstr ""
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr ""
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr ""
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr ""
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} (Account suspended)"
+msgstr ""
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr ""
+
+msgid "{{user_name}} - user profile"
+msgstr ""
+
+msgid "{{user_name}} added an annotation"
+msgstr ""
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr ""
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr ""
+
+msgid "{{username}} left an annotation:"
+msgstr ""
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr ""
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr ""
diff --git a/locale/tr/app.po b/locale/tr/app.po
index f7059000b..56ac010da 100644
--- a/locale/tr/app.po
+++ b/locale/tr/app.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/alaveteli/language/tr/)\n"
"Language: tr\n"
diff --git a/locale/uk/app.po b/locale/uk/app.po
index b5d29c947..2cc14351c 100644
--- a/locale/uk/app.po
+++ b/locale/uk/app.po
@@ -15,7 +15,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/alaveteli/language/uk/)\n"
"Language: uk\n"
diff --git a/locale/vi/app.po b/locale/vi/app.po
index c8bc3c580..2389b351d 100644
--- a/locale/vi/app.po
+++ b/locale/vi/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-08 12:10+0000\n"
-"PO-Revision-Date: 2013-11-08 12:13+0000\n"
+"PO-Revision-Date: 2013-11-20 10:14+0000\n"
"Last-Translator: mysociety <transifex@mysociety.org>\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/alaveteli/language/vi/)\n"
"Language: vi\n"
diff --git a/locale/zh_HK/app.po b/locale/zh_HK/app.po
new file mode 100644
index 000000000..e64c7063b
--- /dev/null
+++ b/locale/zh_HK/app.po
@@ -0,0 +1,3499 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-11-08 12:10+0000\n"
+"PO-Revision-Date: 2013-12-08 14:22+0000\n"
+"Last-Translator: mysociety <transifex@mysociety.org>\n"
+"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/alaveteli/language/zh_HK/)\n"
+"Language: zh_HK\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr ""
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
+msgstr ""
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr ""
+
+msgid " (you)"
+msgstr ""
+
+msgid " - view and make Freedom of Information requests"
+msgstr ""
+
+msgid " - wall"
+msgstr ""
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr ""
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr ""
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr ""
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr ""
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr ""
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr ""
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr ""
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr ""
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr ""
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr ""
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr ""
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr ""
+
+msgid " You are already being emailed updates about the request."
+msgstr ""
+
+msgid " You will also be emailed updates about the request."
+msgstr ""
+
+msgid " made by "
+msgstr ""
+
+msgid " or "
+msgstr ""
+
+msgid " when you send this message."
+msgstr ""
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr ""
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr ""
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr ""
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr ""
+
+msgid "'{{link_to_request}}', a request"
+msgstr ""
+
+msgid "'{{link_to_user}}', a person"
+msgstr ""
+
+msgid "*unknown*"
+msgstr ""
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ""
+
+msgid "- or -"
+msgstr ""
+
+msgid "1. Select an authority"
+msgstr ""
+
+msgid "2. Ask for Information"
+msgstr ""
+
+msgid "3. Now check your request"
+msgstr ""
+
+msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
+msgstr ""
+
+msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr ""
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr ""
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr ""
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr ""
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr ""
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr ""
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>We're glad you got some of the information that you wanted.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
+msgstr ""
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr ""
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr ""
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr ""
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr ""
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
+msgstr ""
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr ""
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr ""
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr ""
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr ""
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr ""
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr ""
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr ""
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr ""
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr ""
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr ""
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr ""
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr ""
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr ""
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
+msgstr ""
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr ""
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr ""
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr ""
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr ""
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr ""
+
+msgid "A Freedom of Information request"
+msgstr ""
+
+msgid "A full history of my FOI request and all correspondence is available on the Internet at this address: {{url}}"
+msgstr ""
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "A public authority"
+msgstr ""
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr ""
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr ""
+
+msgid "A vexatious request"
+msgstr ""
+
+msgid "A {{site_name}} user"
+msgstr ""
+
+msgid "About you:"
+msgstr ""
+
+msgid "Act on what you've learnt"
+msgstr ""
+
+msgid "Acts as xapian/acts as xapian job"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Action"
+msgstr ""
+
+msgid "ActsAsXapian::ActsAsXapianJob|Model"
+msgstr ""
+
+msgid "Add an annotation"
+msgstr ""
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr ""
+
+msgid "Added on {{date}}"
+msgstr ""
+
+msgid "Admin level is not included in list"
+msgstr ""
+
+msgid "Administration URL:"
+msgstr ""
+
+msgid "Advanced search"
+msgstr ""
+
+msgid "Advanced search tips"
+msgstr ""
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr ""
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr ""
+
+msgid "All of the information requested has been received"
+msgstr ""
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr ""
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr ""
+
+msgid "Also called {{other_name}}."
+msgstr ""
+
+msgid "Also send me alerts by email"
+msgstr ""
+
+msgid "Alter your subscription"
+msgstr ""
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr ""
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr ""
+
+msgid "An <strong>error message</strong> has been received"
+msgstr ""
+
+msgid "An Environmental Information Regulations request"
+msgstr ""
+
+msgid "An anonymous user"
+msgstr ""
+
+msgid "Annotation added to request"
+msgstr ""
+
+msgid "Annotations"
+msgstr ""
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr ""
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr ""
+
+msgid "Anonymous user"
+msgstr ""
+
+msgid "Anyone:"
+msgstr ""
+
+msgid "Applies to"
+msgstr ""
+
+msgid "Are we missing a public authority?"
+msgstr ""
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr ""
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr ""
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
+msgstr ""
+
+msgid "Attachment (optional):"
+msgstr ""
+
+msgid "Attachment:"
+msgstr ""
+
+msgid "Awaiting classification."
+msgstr ""
+
+msgid "Awaiting internal review."
+msgstr ""
+
+msgid "Awaiting response."
+msgstr ""
+
+msgid "Beginning with"
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr ""
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr ""
+
+msgid "Browse all authorities..."
+msgstr ""
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr ""
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr ""
+
+msgid "Calculated home page"
+msgstr ""
+
+msgid "Can't find the one you want?"
+msgstr ""
+
+msgid "Cancel a {{site_name}} alert"
+msgstr ""
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr ""
+
+msgid "Cancel, return to your profile page"
+msgstr ""
+
+msgid "Censor rule"
+msgstr ""
+
+msgid "CensorRule|Last edit comment"
+msgstr ""
+
+msgid "CensorRule|Last edit editor"
+msgstr ""
+
+msgid "CensorRule|Regexp"
+msgstr ""
+
+msgid "CensorRule|Replacement"
+msgstr ""
+
+msgid "CensorRule|Text"
+msgstr ""
+
+msgid "Change email on {{site_name}}"
+msgstr ""
+
+msgid "Change password on {{site_name}}"
+msgstr ""
+
+msgid "Change profile photo"
+msgstr ""
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr ""
+
+msgid "Change your email"
+msgstr ""
+
+msgid "Change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Change your password"
+msgstr ""
+
+msgid "Change your password on {{site_name}}"
+msgstr ""
+
+msgid "Change your password {{site_name}}"
+msgstr ""
+
+msgid "Charity registration"
+msgstr ""
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr ""
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr ""
+
+msgid "Choose your profile photo"
+msgstr ""
+
+msgid "Clarification"
+msgstr ""
+
+msgid "Clarify your FOI request - "
+msgstr ""
+
+msgid "Classify an FOI response from "
+msgstr ""
+
+msgid "Clear photo"
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr ""
+
+msgid "Close"
+msgstr ""
+
+msgid "Comment"
+msgstr ""
+
+msgid "Comment|Body"
+msgstr ""
+
+msgid "Comment|Comment type"
+msgstr ""
+
+msgid "Comment|Locale"
+msgstr ""
+
+msgid "Comment|Visible"
+msgstr ""
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests"
+msgstr ""
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr ""
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "Confirm your FOI request to "
+msgstr ""
+
+msgid "Confirm your account on {{site_name}}"
+msgstr ""
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr ""
+
+msgid "Confirm your email address"
+msgstr ""
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr ""
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr ""
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr ""
+
+msgid "Contact {{recipient}}"
+msgstr ""
+
+msgid "Contact {{site_name}}"
+msgstr ""
+
+msgid "Could not identify the request from the email address"
+msgstr ""
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr ""
+
+msgid "Crop your profile photo"
+msgstr ""
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr ""
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr ""
+
+msgid "Date:"
+msgstr ""
+
+msgid "Dear {{name}},"
+msgstr ""
+
+msgid "Dear {{public_body_name}},"
+msgstr ""
+
+msgid "Default locale"
+msgstr ""
+
+msgid "Defunct."
+msgstr ""
+
+msgid "Delayed response to your FOI request - "
+msgstr ""
+
+msgid "Delayed."
+msgstr ""
+
+msgid "Delivery error"
+msgstr ""
+
+msgid "Destroy {{name}}"
+msgstr ""
+
+msgid "Details of request '"
+msgstr ""
+
+msgid "Did you mean: {{correction}}"
+msgstr ""
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr ""
+
+msgid "Disclosure log"
+msgstr ""
+
+msgid "Disclosure log URL"
+msgstr ""
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr ""
+
+msgid "Done"
+msgstr ""
+
+msgid "Done &gt;&gt;"
+msgstr ""
+
+msgid "Download a zip file of all correspondence"
+msgstr ""
+
+msgid "Download original attachment"
+msgstr ""
+
+msgid "EIR"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr ""
+
+msgid "Edit text about you"
+msgstr ""
+
+msgid "Edit this request"
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr ""
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr ""
+
+msgid "Email doesn't look like a valid address"
+msgstr ""
+
+msgid "Email me future updates to this request"
+msgstr ""
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr ""
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
+msgstr ""
+
+msgid "Environmental Information Regulations"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made"
+msgstr ""
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr ""
+
+msgid "Event history"
+msgstr ""
+
+msgid "Event history details"
+msgstr ""
+
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "FOI"
+msgstr ""
+
+msgid "FOI email address for {{public_body}}"
+msgstr ""
+
+msgid "FOI request – {{title}}"
+msgstr ""
+
+msgid "FOI requests"
+msgstr ""
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr ""
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr ""
+
+msgid "Failed to convert image to a PNG"
+msgstr ""
+
+msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
+msgstr ""
+
+msgid "Filter"
+msgstr ""
+
+msgid "First, did your other requests succeed?"
+msgstr ""
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd\\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Foi attachment"
+msgstr ""
+
+msgid "FoiAttachment|Charset"
+msgstr ""
+
+msgid "FoiAttachment|Content type"
+msgstr ""
+
+msgid "FoiAttachment|Display size"
+msgstr ""
+
+msgid "FoiAttachment|Filename"
+msgstr ""
+
+msgid "FoiAttachment|Hexdigest"
+msgstr ""
+
+msgid "FoiAttachment|Url part number"
+msgstr ""
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr ""
+
+msgid "Follow"
+msgstr ""
+
+msgid "Follow all new requests"
+msgstr ""
+
+msgid "Follow new successful responses"
+msgstr ""
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr ""
+
+msgid "Follow these requests"
+msgstr ""
+
+msgid "Follow things matching this search"
+msgstr ""
+
+msgid "Follow this authority"
+msgstr ""
+
+msgid "Follow this link to see the request:"
+msgstr ""
+
+msgid "Follow this person"
+msgstr ""
+
+msgid "Follow this request"
+msgstr ""
+
+#. "Follow up" in this context means a further
+#. message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up"
+msgstr ""
+
+#. "Follow up message" in this context means a
+#. further message sent by the requester to the authority after
+#. the initial request
+msgid "Follow up message sent by requester"
+msgstr ""
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr ""
+
+#. "Follow ups" in this context means further
+#. messages sent by the requester to the authority after
+#. the initial request
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr ""
+
+msgid "Follow us on twitter"
+msgstr ""
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr ""
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr ""
+
+msgid "Forgotten your password?"
+msgstr ""
+
+msgid "Found {{count}} public authority {{description}}"
+msgid_plural "Found {{count}} public authorities {{description}}"
+msgstr[0] ""
+
+msgid "Freedom of Information"
+msgstr ""
+
+msgid "Freedom of Information Act"
+msgstr ""
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to"
+msgstr ""
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr ""
+
+msgid "Freedom of Information requests made"
+msgstr ""
+
+msgid "Freedom of Information requests made by this person"
+msgstr ""
+
+msgid "Freedom of Information requests made by you"
+msgstr ""
+
+msgid "Freedom of Information requests made using this site"
+msgstr ""
+
+msgid "Freedom of information requests to"
+msgstr ""
+
+msgid "From"
+msgstr ""
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "From:"
+msgstr ""
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr ""
+
+msgid "Handled by post."
+msgstr ""
+
+msgid "Has tag string/has tag string tag"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Model"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Name"
+msgstr ""
+
+msgid "HasTagString::HasTagStringTag|Value"
+msgstr ""
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr ""
+
+msgid "Hello, {{username}}!"
+msgstr ""
+
+msgid "Help"
+msgstr ""
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr ""
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr ""
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr ""
+
+msgid "Hide request"
+msgstr ""
+
+msgid "Holiday"
+msgstr ""
+
+msgid "Holiday|Day"
+msgstr ""
+
+msgid "Holiday|Description"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Home page"
+msgstr ""
+
+msgid "Home page of authority"
+msgstr ""
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr ""
+
+msgid "Human health and safety"
+msgstr ""
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr ""
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "I am writing to request an internal review of {{public_body_name}}'s handling of my FOI request '{{info_request_title}}'."
+msgstr ""
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr ""
+
+msgid "I don't want to do any more tidying now!"
+msgstr ""
+
+msgid "I like this request"
+msgstr ""
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr ""
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr ""
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr ""
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr ""
+
+msgid "I've received <strong>all the information"
+msgstr ""
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr ""
+
+msgid "I've received an <strong>error message</strong>"
+msgstr ""
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr ""
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the message."
+msgstr ""
+
+msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
+msgstr ""
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
+msgstr ""
+
+msgid "If you are {{user_link}}, please"
+msgstr ""
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr ""
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr ""
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr ""
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr ""
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr ""
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr ""
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr ""
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr ""
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr ""
+
+msgid "If you're new to {{site_name}}"
+msgstr ""
+
+msgid "If you've used {{site_name}} before"
+msgstr ""
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr ""
+
+msgid "Incoming email address"
+msgstr ""
+
+msgid "Incoming message"
+msgstr ""
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr ""
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr ""
+
+msgid "IncomingMessage|Last parsed"
+msgstr ""
+
+msgid "IncomingMessage|Mail from"
+msgstr ""
+
+msgid "IncomingMessage|Mail from domain"
+msgstr ""
+
+msgid "IncomingMessage|Prominence"
+msgstr ""
+
+msgid "IncomingMessage|Prominence reason"
+msgstr ""
+
+msgid "IncomingMessage|Sent at"
+msgstr ""
+
+msgid "IncomingMessage|Subject"
+msgstr ""
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr ""
+
+msgid "Individual requests"
+msgstr ""
+
+msgid "Info request"
+msgstr ""
+
+msgid "Info request event"
+msgstr ""
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr ""
+
+msgid "InfoRequestEvent|Described state"
+msgstr ""
+
+msgid "InfoRequestEvent|Event type"
+msgstr ""
+
+msgid "InfoRequestEvent|Last described at"
+msgstr ""
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr ""
+
+msgid "InfoRequest|Allow new responses from"
+msgstr ""
+
+msgid "InfoRequest|Attention requested"
+msgstr ""
+
+msgid "InfoRequest|Awaiting description"
+msgstr ""
+
+msgid "InfoRequest|Comments allowed"
+msgstr ""
+
+msgid "InfoRequest|Described state"
+msgstr ""
+
+msgid "InfoRequest|External url"
+msgstr ""
+
+msgid "InfoRequest|External user name"
+msgstr ""
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr ""
+
+msgid "InfoRequest|Idhash"
+msgstr ""
+
+msgid "InfoRequest|Law used"
+msgstr ""
+
+msgid "InfoRequest|Prominence"
+msgstr ""
+
+msgid "InfoRequest|Title"
+msgstr ""
+
+msgid "InfoRequest|Url title"
+msgstr ""
+
+msgid "Information not held."
+msgstr ""
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr ""
+
+msgid "Internal review request"
+msgstr ""
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr ""
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr ""
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr ""
+
+msgid "Items sent in last month"
+msgstr ""
+
+msgid "Joined in"
+msgstr ""
+
+msgid "Joined {{site_name}} in"
+msgstr ""
+
+msgid "Just one more thing"
+msgstr ""
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Keywords"
+msgstr ""
+
+msgid "Last authority viewed: "
+msgstr ""
+
+msgid "Last request viewed: "
+msgstr ""
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr ""
+
+msgid "Link to this"
+msgstr ""
+
+msgid "List all"
+msgstr ""
+
+msgid "List of all authorities (CSV)"
+msgstr ""
+
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr ""
+
+msgid "Log into the admin interface"
+msgstr ""
+
+msgid "Long overdue."
+msgstr ""
+
+msgid "Made between"
+msgstr ""
+
+msgid "Mail server log"
+msgstr ""
+
+msgid "Mail server log done"
+msgstr ""
+
+msgid "MailServerLogDone|Filename"
+msgstr ""
+
+msgid "MailServerLogDone|Last stat"
+msgstr ""
+
+msgid "MailServerLog|Line"
+msgstr ""
+
+msgid "MailServerLog|Order"
+msgstr ""
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr ""
+
+msgid "Make a request"
+msgstr ""
+
+msgid "Make a request to this authority"
+msgstr ""
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr ""
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr ""
+
+msgid "Make your own request"
+msgstr ""
+
+msgid "Many requests"
+msgstr ""
+
+msgid "Message"
+msgstr ""
+
+msgid "Message has been removed"
+msgstr ""
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr ""
+
+msgid "Missing contact details for '"
+msgstr ""
+
+msgid "More about this authority"
+msgstr ""
+
+msgid "More requests..."
+msgstr ""
+
+msgid "More similar requests"
+msgstr ""
+
+msgid "More successful requests..."
+msgstr ""
+
+msgid "My profile"
+msgstr ""
+
+msgid "My request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "My requests"
+msgstr ""
+
+msgid "My wall"
+msgstr ""
+
+msgid "Name can't be blank"
+msgstr ""
+
+msgid "Name is already taken"
+msgstr ""
+
+msgid "New Freedom of Information requests"
+msgstr ""
+
+msgid "New censor rule"
+msgstr ""
+
+msgid "New e-mail:"
+msgstr ""
+
+msgid "New email doesn't look like a valid address"
+msgstr ""
+
+msgid "New password:"
+msgstr ""
+
+msgid "New password: (again)"
+msgstr ""
+
+msgid "New response to '{{title}}'"
+msgstr ""
+
+msgid "New response to your FOI request - "
+msgstr ""
+
+msgid "New response to your request"
+msgstr ""
+
+msgid "New response to {{law_used_short}} request"
+msgstr ""
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr ""
+
+msgid "Newest results first"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr ""
+
+msgid "No requests of this sort yet."
+msgstr ""
+
+msgid "No results found."
+msgstr ""
+
+msgid "No similar requests found."
+msgstr ""
+
+msgid "No tracked things found."
+msgstr ""
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr ""
+
+msgid "None found."
+msgstr ""
+
+msgid "None made."
+msgstr ""
+
+msgid "Not a valid FOI request"
+msgstr ""
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr ""
+
+msgid "Now check your email!"
+msgstr ""
+
+msgid "Now preview your annotation"
+msgstr ""
+
+msgid "Now preview your follow up"
+msgstr ""
+
+msgid "Now preview your message asking for an internal review"
+msgstr ""
+
+msgid "Number of requests"
+msgstr ""
+
+msgid "OR remove the existing photo"
+msgstr ""
+
+msgid "Offensive? Unsuitable?"
+msgstr ""
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr ""
+
+msgid "Old e-mail:"
+msgstr ""
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr ""
+
+msgid "Old email doesn't look like a valid address"
+msgstr ""
+
+msgid "On this page"
+msgstr ""
+
+msgid "One FOI request found"
+msgstr ""
+
+msgid "One person found"
+msgstr ""
+
+msgid "One public authority found"
+msgstr ""
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr ""
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr ""
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr ""
+
+msgid "Or search in their website for this information."
+msgstr ""
+
+msgid "Original request sent"
+msgstr ""
+
+msgid "Other:"
+msgstr ""
+
+msgid "Outgoing message"
+msgstr ""
+
+msgid "OutgoingMessage|Body"
+msgstr ""
+
+msgid "OutgoingMessage|Last sent at"
+msgstr ""
+
+msgid "OutgoingMessage|Message type"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence"
+msgstr ""
+
+msgid "OutgoingMessage|Prominence reason"
+msgstr ""
+
+msgid "OutgoingMessage|Status"
+msgstr ""
+
+msgid "OutgoingMessage|What doing"
+msgstr ""
+
+msgid "Partially successful."
+msgstr ""
+
+msgid "Password is not correct"
+msgstr ""
+
+msgid "Password:"
+msgstr ""
+
+msgid "Password: (again)"
+msgstr ""
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr ""
+
+msgid "People"
+msgstr ""
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Percentage of requests that are overdue"
+msgstr ""
+
+msgid "Percentage of total requests"
+msgstr ""
+
+msgid "Photo of you:"
+msgstr ""
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr ""
+
+msgid "Play the request categorisation game"
+msgstr ""
+
+msgid "Play the request categorisation game!"
+msgstr ""
+
+msgid "Please"
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
+msgstr ""
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr ""
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr ""
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr ""
+
+msgid "Please ask for environmental information only"
+msgstr ""
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr ""
+
+msgid "Please choose a file containing your photo."
+msgstr ""
+
+msgid "Please choose a reason"
+msgstr ""
+
+msgid "Please choose what sort of reply you are making."
+msgstr ""
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr ""
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr ""
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr ""
+
+msgid "Please click on the link below to confirm your email address."
+msgstr ""
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr ""
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr ""
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr ""
+
+msgid "Please enter a password"
+msgstr ""
+
+msgid "Please enter a subject"
+msgstr ""
+
+msgid "Please enter a summary of your request"
+msgstr ""
+
+msgid "Please enter a valid email address"
+msgstr ""
+
+msgid "Please enter the message you want to send"
+msgstr ""
+
+msgid "Please enter the same password twice"
+msgstr ""
+
+msgid "Please enter your annotation"
+msgstr ""
+
+msgid "Please enter your email address"
+msgstr ""
+
+msgid "Please enter your follow up message"
+msgstr ""
+
+msgid "Please enter your letter requesting information"
+msgstr ""
+
+msgid "Please enter your name"
+msgstr ""
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr ""
+
+msgid "Please enter your new email address"
+msgstr ""
+
+msgid "Please enter your old email address"
+msgstr ""
+
+msgid "Please enter your password"
+msgstr ""
+
+msgid "Please give details explaining why you want a review"
+msgstr ""
+
+msgid "Please keep it shorter than 500 characters"
+msgstr ""
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr ""
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr ""
+
+msgid "Please pass this on to the person who conducts Freedom of Information reviews."
+msgstr ""
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr ""
+
+msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
+msgstr ""
+
+msgid "Please sign in as "
+msgstr ""
+
+msgid "Please sign in or make a new account."
+msgstr ""
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr ""
+
+msgid "Please use this email address for all replies to this request:"
+msgstr ""
+
+msgid "Please write a summary with some text in it"
+msgstr ""
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr ""
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr ""
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr ""
+
+msgid "Possibly related requests:"
+msgstr ""
+
+msgid "Post annotation"
+msgstr ""
+
+msgid "Post redirect"
+msgstr ""
+
+msgid "PostRedirect|Circumstance"
+msgstr ""
+
+msgid "PostRedirect|Email token"
+msgstr ""
+
+msgid "PostRedirect|Post params yaml"
+msgstr ""
+
+msgid "PostRedirect|Reason params yaml"
+msgstr ""
+
+msgid "PostRedirect|Token"
+msgstr ""
+
+msgid "PostRedirect|Uri"
+msgstr ""
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr ""
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr ""
+
+msgid "Prev"
+msgstr ""
+
+msgid "Preview follow up to '"
+msgstr ""
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr ""
+
+msgid "Preview your annotation"
+msgstr ""
+
+msgid "Preview your message"
+msgstr ""
+
+msgid "Preview your public request"
+msgstr ""
+
+msgid "Profile photo"
+msgstr ""
+
+msgid "ProfilePhoto|Data"
+msgstr ""
+
+msgid "ProfilePhoto|Draft"
+msgstr ""
+
+msgid "Public Bodies"
+msgstr ""
+
+msgid "Public Body Statistics"
+msgstr ""
+
+msgid "Public authorities"
+msgstr ""
+
+msgid "Public authorities - {{description}}"
+msgstr ""
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr ""
+
+msgid "Public authority – {{name}}"
+msgstr ""
+
+msgid "Public bodies that most frequently replied with \"Not Held\""
+msgstr ""
+
+msgid "Public bodies with most overdue requests"
+msgstr ""
+
+msgid "Public bodies with the fewest successful requests"
+msgstr ""
+
+msgid "Public bodies with the most requests"
+msgstr ""
+
+msgid "Public bodies with the most successful requests"
+msgstr ""
+
+msgid "Public body"
+msgstr ""
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
+msgid "PublicBody|Api key"
+msgstr ""
+
+msgid "PublicBody|Disclosure log"
+msgstr ""
+
+msgid "PublicBody|First letter"
+msgstr ""
+
+msgid "PublicBody|Home page"
+msgstr ""
+
+msgid "PublicBody|Info requests count"
+msgstr ""
+
+msgid "PublicBody|Info requests not held count"
+msgstr ""
+
+msgid "PublicBody|Info requests overdue count"
+msgstr ""
+
+msgid "PublicBody|Info requests successful count"
+msgstr ""
+
+msgid "PublicBody|Info requests visible classified count"
+msgstr ""
+
+msgid "PublicBody|Last edit comment"
+msgstr ""
+
+msgid "PublicBody|Last edit editor"
+msgstr ""
+
+msgid "PublicBody|Name"
+msgstr ""
+
+msgid "PublicBody|Notes"
+msgstr ""
+
+msgid "PublicBody|Publication scheme"
+msgstr ""
+
+msgid "PublicBody|Request email"
+msgstr ""
+
+msgid "PublicBody|Short name"
+msgstr ""
+
+msgid "PublicBody|Url name"
+msgstr ""
+
+msgid "PublicBody|Version"
+msgstr ""
+
+msgid "Publication scheme"
+msgstr ""
+
+msgid "Publication scheme URL"
+msgstr ""
+
+msgid "Purge request"
+msgstr ""
+
+msgid "PurgeRequest|Model"
+msgstr ""
+
+msgid "PurgeRequest|Url"
+msgstr ""
+
+msgid "RSS feed"
+msgstr ""
+
+msgid "RSS feed of updates"
+msgstr ""
+
+msgid "Re-edit this annotation"
+msgstr ""
+
+msgid "Re-edit this message"
+msgstr ""
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr ""
+
+msgid "Read blog"
+msgstr ""
+
+msgid "Received an error message, such as delivery failure."
+msgstr ""
+
+msgid "Recently described results first"
+msgstr ""
+
+msgid "Refused."
+msgstr ""
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr ""
+
+msgid "Report abuse"
+msgstr ""
+
+msgid "Report an offensive or unsuitable request"
+msgstr ""
+
+msgid "Report request"
+msgstr ""
+
+msgid "Report this request"
+msgstr ""
+
+msgid "Reported for administrator attention."
+msgstr ""
+
+msgid "Request an internal review"
+msgstr ""
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr ""
+
+msgid "Request email"
+msgstr ""
+
+msgid "Request has been removed"
+msgstr ""
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr ""
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr ""
+
+msgid "Requested on {{date}}"
+msgstr ""
+
+msgid "Requests are considered overdue if they are in the 'Overdue' or 'Very Overdue' states."
+msgstr ""
+
+msgid "Requests are considered successful if they were classified as either 'Successful' or 'Partially Successful'."
+msgstr ""
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr ""
+
+msgid "Requests or responses matching your saved search"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}'"
+msgstr ""
+
+msgid "Requests similar to '{{request_title}}' (page {{page}})"
+msgstr ""
+
+msgid "Respond by email"
+msgstr ""
+
+msgid "Respond to request"
+msgstr ""
+
+msgid "Respond to the FOI request"
+msgstr ""
+
+msgid "Respond using the web"
+msgstr ""
+
+msgid "Response"
+msgstr ""
+
+msgid "Response from a public authority"
+msgstr ""
+
+msgid "Response to '{{title}}'"
+msgstr ""
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr ""
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr ""
+
+msgid "Response to your request"
+msgstr ""
+
+msgid "Response:"
+msgstr ""
+
+msgid "Restrict to"
+msgstr ""
+
+msgid "Results page {{page_number}}"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Search"
+msgstr ""
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr ""
+
+msgid "Search contributions by this person"
+msgstr ""
+
+msgid "Search for words in:"
+msgstr ""
+
+msgid "Search in"
+msgstr ""
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr ""
+
+msgid "Search queries"
+msgstr ""
+
+msgid "Search results"
+msgstr ""
+
+msgid "Search the site to find what you were looking for."
+msgstr ""
+
+msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
+msgid_plural "Search within the {{count}} Freedom of Information requests made to {{public_body_name}}"
+msgstr[0] ""
+
+msgid "Search your contributions"
+msgstr ""
+
+msgid "See bounce message"
+msgstr ""
+
+msgid "Select one to see more information about the authority."
+msgstr ""
+
+msgid "Select the authority to write to"
+msgstr ""
+
+msgid "Send a followup"
+msgstr ""
+
+msgid "Send a message to "
+msgstr ""
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr ""
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr ""
+
+msgid "Send follow up to '{{title}}'"
+msgstr ""
+
+msgid "Send message"
+msgstr ""
+
+msgid "Send message to "
+msgstr ""
+
+msgid "Send request"
+msgstr ""
+
+msgid "Set your profile photo"
+msgstr ""
+
+msgid "Short name"
+msgstr ""
+
+msgid "Short name is already taken"
+msgstr ""
+
+msgid "Show most relevant results first"
+msgstr ""
+
+msgid "Show only..."
+msgstr ""
+
+msgid "Showing"
+msgstr ""
+
+msgid "Sign in"
+msgstr ""
+
+msgid "Sign in or make a new account"
+msgstr ""
+
+msgid "Sign in or sign up"
+msgstr ""
+
+msgid "Sign out"
+msgstr ""
+
+msgid "Sign up"
+msgstr ""
+
+msgid "Similar requests"
+msgstr ""
+
+msgid "Simple search"
+msgstr ""
+
+msgid "Some notes have been added to your FOI request - "
+msgstr ""
+
+msgid "Some of the information requested has been received"
+msgstr ""
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr ""
+
+msgid "Somebody added a note to your FOI request - "
+msgstr ""
+
+msgid "Someone has updated the status of your request"
+msgstr ""
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr ""
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr ""
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr ""
+
+msgid "Sorry, there was a problem processing this page"
+msgstr ""
+
+msgid "Sorry, we couldn't find that page"
+msgstr ""
+
+msgid "Special note for this authority!"
+msgstr ""
+
+msgid "Start now &raquo;"
+msgstr ""
+
+msgid "Start your own blog"
+msgstr ""
+
+msgid "Stay up to date"
+msgstr ""
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr ""
+
+msgid "Subject"
+msgstr ""
+
+msgid "Subject:"
+msgstr ""
+
+msgid "Submit"
+msgstr ""
+
+msgid "Submit status"
+msgstr ""
+
+msgid "Submit status and send message"
+msgstr ""
+
+msgid "Subscribe to blog"
+msgstr ""
+
+msgid "Successful Freedom of Information requests"
+msgstr ""
+
+msgid "Successful."
+msgstr ""
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr ""
+
+msgid "Summary:"
+msgstr ""
+
+msgid "Table of statuses"
+msgstr ""
+
+msgid "Table of varieties"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Tags (separated by a space):"
+msgstr ""
+
+msgid "Tags:"
+msgstr ""
+
+msgid "Technical details"
+msgstr ""
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr ""
+
+msgid "Thank you for making an annotation!"
+msgstr ""
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr ""
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr ""
+
+msgid "Thank you for updating this request!"
+msgstr ""
+
+msgid "Thank you for updating your profile photo"
+msgstr ""
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr ""
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr ""
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr ""
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr ""
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr ""
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr ""
+
+msgid "The accounts have been left as they previously were."
+msgstr ""
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr ""
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr ""
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr ""
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr ""
+
+msgid "The classification of requests (e.g. to say whether they were successful or not) is done manually by users and administrators of the site, which means that they are subject to error."
+msgstr ""
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr ""
+
+msgid "The error bars shown are 95% confidence intervals for the hypothesized underlying proportion (i.e. that which you would obtain by making an infinite number of requests through this site to that authority). In other words, the population being sampled is all the current and future requests to the authority through this site, rather than, say, all requests that have been made to the public body by any means."
+msgstr ""
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr ""
+
+msgid "The percentages are calculated with respect to the total number of requests, which includes invalid requests; this is a known problem that will be fixed in a later release."
+msgstr ""
+
+msgid "The public authority does not have the information requested"
+msgstr ""
+
+msgid "The public authority would like part of the request explained"
+msgstr ""
+
+msgid "The public authority would like to / has responded by post"
+msgstr ""
+
+msgid "The request has been <strong>refused</strong>"
+msgstr ""
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr ""
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr ""
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr ""
+
+msgid "The request was <strong>refused</strong> by"
+msgstr ""
+
+msgid "The request was <strong>successful</strong>."
+msgstr ""
+
+msgid "The request was refused by the public authority"
+msgstr ""
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "The requester has abandoned this request for some reason"
+msgstr ""
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr ""
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr ""
+
+msgid "The {{site_name}} team."
+msgstr ""
+
+msgid "Then you can cancel the alert."
+msgstr ""
+
+msgid "Then you can cancel the alerts."
+msgstr ""
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr ""
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr ""
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr ""
+
+msgid "Then you can log into the administrative interface"
+msgstr ""
+
+msgid "Then you can play the request categorisation game."
+msgstr ""
+
+msgid "Then you can report the request '{{title}}'"
+msgstr ""
+
+msgid "Then you can send a message to "
+msgstr ""
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr ""
+
+msgid "Then you can update the status of your request to "
+msgstr ""
+
+msgid "Then you can upload an FOI response. "
+msgstr ""
+
+msgid "Then you can write follow up message to "
+msgstr ""
+
+msgid "Then you can write your reply to "
+msgstr ""
+
+msgid "Then you will be following all new FOI requests."
+msgstr ""
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr ""
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr ""
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr ""
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr ""
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr ""
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr ""
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr ""
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr ""
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr ""
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr ""
+
+msgid "There is {{count}} person following this request"
+msgid_plural "There are {{count}} people following this request"
+msgstr[0] ""
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr ""
+
+msgid "There was an error with the words you entered, please try again."
+msgstr ""
+
+msgid "There was no data calculated for this graph yet."
+msgstr ""
+
+msgid "There were no requests matching your query."
+msgstr ""
+
+msgid "There were no results matching your query."
+msgstr ""
+
+msgid "These graphs were partly inspired by <a href=\"http://mark.goodge.co.uk/2011/08/number-crunching-whatdotheyknow/\">some statistics that Mark Goodge produced for WhatDoTheyKnow</a>, so thanks are due to him."
+msgstr ""
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr ""
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr ""
+
+msgid "They have been given the following explanation:"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr ""
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr ""
+
+msgid "Things to do with this request"
+msgstr ""
+
+msgid "Things you're following"
+msgstr ""
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr ""
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr ""
+
+msgid "This external request has been hidden"
+msgstr ""
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr ""
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr ""
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr ""
+
+msgid "This is the first version."
+msgstr ""
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr ""
+
+msgid "This message has been hidden."
+msgstr ""
+
+msgid "This message has been hidden. There are various reasons why we might have done this, sorry we can't be more specific here."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message has prominence 'hidden'. {{reason}} You can only see it because you are logged in as a super user."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. Please <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This message is hidden, so that only you, the requester, can see it. {{reason}}"
+msgstr ""
+
+msgid "This page of public body statistics is currently experimental, so there are some caveats that should be borne in mind:"
+msgstr ""
+
+msgid "This particular request is finished:"
+msgstr ""
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "This person's annotations"
+msgstr ""
+
+msgid "This person's {{count}} Freedom of Information request"
+msgid_plural "This person's {{count}} Freedom of Information requests"
+msgstr[0] ""
+
+msgid "This person's {{count}} annotation"
+msgid_plural "This person's {{count}} annotations"
+msgstr[0] ""
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr ""
+
+msgid "This request has already been reported for administrator attention"
+msgstr ""
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr ""
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr ""
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr ""
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr ""
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
+msgstr ""
+
+msgid "This request has been reported for administrator attention"
+msgstr ""
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr ""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr ""
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr ""
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This request is still in progress:"
+msgstr ""
+
+msgid "This request requires administrator attention"
+msgstr ""
+
+msgid "This request was not made via {{site_name}}"
+msgstr ""
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr ""
+
+msgid "This user has been banned from {{site_name}} "
+msgstr ""
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr ""
+
+msgid "To cancel these alerts"
+msgstr ""
+
+msgid "To cancel this alert"
+msgstr ""
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr ""
+
+msgid "To change your email address used on {{site_name}}"
+msgstr ""
+
+msgid "To classify the response to this FOI request"
+msgstr ""
+
+msgid "To do that please send a private email to "
+msgstr ""
+
+msgid "To do this, first click on the link below."
+msgstr ""
+
+msgid "To download the zip file"
+msgstr ""
+
+msgid "To follow all successful requests"
+msgstr ""
+
+msgid "To follow new requests"
+msgstr ""
+
+msgid "To follow requests and responses matching your search"
+msgstr ""
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr ""
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr ""
+
+msgid "To follow the request '{{request_title}}'"
+msgstr ""
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr ""
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr ""
+
+msgid "To log into the administrative interface"
+msgstr ""
+
+msgid "To play the request categorisation game"
+msgstr ""
+
+msgid "To post your annotation"
+msgstr ""
+
+msgid "To reply to "
+msgstr ""
+
+msgid "To report this request"
+msgstr ""
+
+msgid "To send a follow up message to "
+msgstr ""
+
+msgid "To send a message to "
+msgstr ""
+
+msgid "To send your FOI request"
+msgstr ""
+
+msgid "To update the status of this FOI request"
+msgstr ""
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr ""
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr ""
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr ""
+
+msgid "To view the response, click on the link below."
+msgstr ""
+
+msgid "To {{public_body_link_absolute}}"
+msgstr ""
+
+msgid "To:"
+msgstr ""
+
+msgid "Today"
+msgstr ""
+
+msgid "Too many requests"
+msgstr ""
+
+msgid "Top search results:"
+msgstr ""
+
+msgid "Track thing"
+msgstr ""
+
+msgid "Track this person"
+msgstr ""
+
+msgid "Track this search"
+msgstr ""
+
+msgid "TrackThing|Track medium"
+msgstr ""
+
+msgid "TrackThing|Track query"
+msgstr ""
+
+msgid "TrackThing|Track type"
+msgstr ""
+
+msgid "Turn off email alerts"
+msgstr ""
+
+msgid "Tweet this request"
+msgstr ""
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr ""
+
+msgid "URL name can't be blank"
+msgstr ""
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr ""
+
+msgid "Unable to send a reply to {{username}}"
+msgstr ""
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr ""
+
+msgid "Unexpected search result type"
+msgstr ""
+
+msgid "Unexpected search result type "
+msgstr ""
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
+msgstr ""
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+
+msgid "Unknown"
+msgstr ""
+
+msgid "Unsubscribe"
+msgstr ""
+
+msgid "Unusual response."
+msgstr ""
+
+msgid "Update the status of this request"
+msgstr ""
+
+msgid "Update the status of your request to "
+msgstr ""
+
+msgid "Upload FOI response"
+msgstr ""
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr ""
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr ""
+
+msgid "User"
+msgstr ""
+
+msgid "User info request sent alert"
+msgstr ""
+
+msgid "User – {{name}}"
+msgstr ""
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr ""
+
+msgid "User|About me"
+msgstr ""
+
+msgid "User|Admin level"
+msgstr ""
+
+msgid "User|Ban text"
+msgstr ""
+
+msgid "User|Email"
+msgstr ""
+
+msgid "User|Email bounce message"
+msgstr ""
+
+msgid "User|Email bounced at"
+msgstr ""
+
+msgid "User|Email confirmed"
+msgstr ""
+
+msgid "User|Hashed password"
+msgstr ""
+
+msgid "User|Last daily track email"
+msgstr ""
+
+msgid "User|Locale"
+msgstr ""
+
+msgid "User|Name"
+msgstr ""
+
+msgid "User|No limit"
+msgstr ""
+
+msgid "User|Receive email alerts"
+msgstr ""
+
+msgid "User|Salt"
+msgstr ""
+
+msgid "User|Url name"
+msgstr ""
+
+msgid "Version {{version}}"
+msgstr ""
+
+msgid "View FOI email address"
+msgstr ""
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr ""
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr ""
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr ""
+
+msgid "View and search requests"
+msgstr ""
+
+msgid "View authorities"
+msgstr ""
+
+msgid "View email"
+msgstr ""
+
+msgid "View requests"
+msgstr ""
+
+msgid "Waiting clarification."
+msgstr ""
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr ""
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr ""
+
+msgid "Waiting for the public authority to reply"
+msgstr ""
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr ""
+
+msgid "We consider it is not a valid FOI request, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We consider it to be vexatious, and have therefore hidden it from other users."
+msgstr ""
+
+msgid "We do not have a working request email address for this authority."
+msgstr ""
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr ""
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We're waiting for"
+msgstr ""
+
+msgid "We're waiting for someone to read"
+msgstr ""
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr ""
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr ""
+
+msgid "What are you doing?"
+msgstr ""
+
+msgid "What best describes the status of this request now?"
+msgstr ""
+
+msgid "What information has been released?"
+msgstr ""
+
+msgid "What information has been requested?"
+msgstr ""
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr ""
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
+msgstr ""
+
+msgid "Which of these is happening?"
+msgstr ""
+
+msgid "Who can I request information from?"
+msgstr ""
+
+msgid "Withdrawn by the requester."
+msgstr ""
+
+msgid "Wk"
+msgstr ""
+
+msgid "Would you like to see a website like this in your country?"
+msgstr ""
+
+msgid "Write a reply"
+msgstr ""
+
+msgid "Write a reply to "
+msgstr ""
+
+msgid "Write your FOI follow up message to "
+msgstr ""
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr ""
+
+msgid "You"
+msgstr ""
+
+msgid "You are already following new requests"
+msgstr ""
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr ""
+
+msgid "You are already following things matching this search"
+msgstr ""
+
+msgid "You are already following this person"
+msgstr ""
+
+msgid "You are already following this request"
+msgstr ""
+
+msgid "You are already following updates about {{track_description}}"
+msgstr ""
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr ""
+
+msgid "You are following all new successful responses"
+msgstr ""
+
+msgid "You are no longer following {{track_description}}."
+msgstr ""
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr ""
+
+msgid "You can <strong>complain</strong> by"
+msgstr ""
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr ""
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr ""
+
+msgid "You can only request information about the environment from this authority."
+msgstr ""
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr ""
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr ""
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr ""
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr ""
+
+msgid "You have now changed the text about you on your profile."
+msgstr ""
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr ""
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr ""
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr ""
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr ""
+
+msgid "You need to be logged in to change your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr ""
+
+msgid "You need to be logged in to edit your profile."
+msgstr ""
+
+msgid "You need to be logged in to report a request for administrator attention"
+msgstr ""
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr ""
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr ""
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr ""
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr ""
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr ""
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr ""
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr ""
+
+msgid "You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further."
+msgstr ""
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr ""
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr ""
+
+msgid "You're not following anything."
+msgstr ""
+
+msgid "You've now cleared your profile photo"
+msgstr ""
+
+msgid "Your <strong>name will appear publicly</strong>\\n (<a href=\"{{why_url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please\\n <a href=\"{{help_url}}\">read this first</a>."
+msgstr ""
+
+msgid "Your annotations"
+msgstr ""
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr ""
+
+msgid "Your e-mail:"
+msgstr ""
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
+msgstr ""
+
+msgid "Your follow up message has been sent on its way."
+msgstr ""
+
+msgid "Your internal review request has been sent on its way."
+msgstr ""
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr ""
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr ""
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr ""
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr ""
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
+msgstr ""
+
+msgid "Your name:"
+msgstr ""
+
+msgid "Your original message is attached."
+msgstr ""
+
+msgid "Your password has been changed."
+msgstr ""
+
+msgid "Your password:"
+msgstr ""
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "Your request '{{request}}' at {{url}} has been reviewed by moderators."
+msgstr ""
+
+msgid "Your request on {{site_name}} hidden"
+msgstr ""
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr ""
+
+msgid "Your request:"
+msgstr ""
+
+msgid "Your response to an FOI request was not delivered"
+msgstr ""
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
+msgstr ""
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr ""
+
+msgid "Your {{count}} Freedom of Information request"
+msgid_plural "Your {{count}} Freedom of Information requests"
+msgstr[0] ""
+
+msgid "Your {{count}} annotation"
+msgid_plural "Your {{count}} annotations"
+msgstr[0] ""
+
+msgid "Your {{site_name}} email alert"
+msgstr ""
+
+msgid "Yours faithfully,"
+msgstr ""
+
+msgid "Yours sincerely,"
+msgstr ""
+
+msgid "Yours,"
+msgstr ""
+
+msgid "[FOI #{{request}} email]"
+msgstr ""
+
+msgid "[{{public_body}} request email]"
+msgstr ""
+
+msgid "[{{site_name}} contact email]"
+msgstr ""
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr ""
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr ""
+
+msgid "admin"
+msgstr ""
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
+msgid "all requests"
+msgstr ""
+
+msgid "also called {{public_body_short_name}}"
+msgstr ""
+
+msgid "an anonymous user"
+msgstr ""
+
+msgid "and"
+msgstr ""
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr ""
+
+msgid "and update the status."
+msgstr ""
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr ""
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr ""
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr ""
+
+msgid "anything"
+msgstr ""
+
+msgid "are long overdue."
+msgstr ""
+
+msgid "at"
+msgstr ""
+
+msgid "authorities"
+msgstr ""
+
+msgid "awaiting a response"
+msgstr ""
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr ""
+
+msgid "between two dates"
+msgstr ""
+
+msgid "but followupable"
+msgstr ""
+
+msgid "by"
+msgstr ""
+
+msgid "by <strong>{{date}}</strong>"
+msgstr ""
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "by {{user_link_absolute}}"
+msgstr ""
+
+msgid "comments"
+msgstr ""
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+
+msgid "details"
+msgstr ""
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr ""
+
+msgid "during term time"
+msgstr ""
+
+msgid "edit text about you"
+msgstr ""
+
+msgid "even during holidays"
+msgstr ""
+
+msgid "everything"
+msgstr ""
+
+msgid "external"
+msgstr ""
+
+msgid "has reported an"
+msgstr ""
+
+msgid "have delayed."
+msgstr ""
+
+msgid "hide quoted sections"
+msgstr ""
+
+msgid "in term time"
+msgstr ""
+
+msgid "in the category ‘{{category_name}}’"
+msgstr ""
+
+msgid "internal error"
+msgstr ""
+
+msgid "internal reviews"
+msgstr ""
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr ""
+
+msgid "just to see how it works"
+msgstr ""
+
+msgid "left an annotation"
+msgstr ""
+
+msgid "made."
+msgstr ""
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr ""
+
+msgid "messages from authorities"
+msgstr ""
+
+msgid "messages from users"
+msgstr ""
+
+msgid "move..."
+msgstr ""
+
+msgid "no later than"
+msgstr ""
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
+msgstr ""
+
+msgid "normally"
+msgstr ""
+
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
+msgid "please sign in as "
+msgstr ""
+
+msgid "requesting an internal review"
+msgstr ""
+
+msgid "requests"
+msgstr ""
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr ""
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr ""
+
+msgid "send a follow up message"
+msgstr ""
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr ""
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
+msgid "show quoted sections"
+msgstr ""
+
+msgid "sign in"
+msgstr ""
+
+msgid "simple_date_format"
+msgstr ""
+
+msgid "successful"
+msgstr ""
+
+msgid "successful requests"
+msgstr ""
+
+msgid "that you made to"
+msgstr ""
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr ""
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr ""
+
+msgid "the requester"
+msgstr ""
+
+msgid "the {{site_name}} team"
+msgstr ""
+
+msgid "to read"
+msgstr ""
+
+msgid "to send a follow up message."
+msgstr ""
+
+msgid "to {{public_body}}"
+msgstr ""
+
+msgid "unknown reason "
+msgstr ""
+
+msgid "unknown status "
+msgstr ""
+
+msgid "unresolved requests"
+msgstr ""
+
+msgid "unsubscribe"
+msgstr ""
+
+msgid "unsubscribe all"
+msgstr ""
+
+msgid "unsuccessful"
+msgstr ""
+
+msgid "unsuccessful requests"
+msgstr ""
+
+msgid "useful information."
+msgstr ""
+
+msgid "users"
+msgstr ""
+
+msgid "what's that?"
+msgstr ""
+
+msgid "{{count}} FOI requests found"
+msgstr ""
+
+msgid "{{count}} Freedom of Information request to {{public_body_name}}"
+msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
+msgstr[0] ""
+
+msgid "{{count}} person is following this authority"
+msgid_plural "{{count}} people are following this authority"
+msgstr[0] ""
+
+msgid "{{count}} request"
+msgid_plural "{{count}} requests"
+msgstr[0] ""
+
+msgid "{{count}} request made."
+msgid_plural "{{count}} requests made."
+msgstr[0] ""
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr ""
+
+msgid "{{info_request_user_name}} only:"
+msgstr ""
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr ""
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr ""
+
+msgid "{{length_of_time}} ago"
+msgstr ""
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr ""
+
+msgid "{{number_of_comments}} comments"
+msgstr ""
+
+msgid "{{public_body_link}} answered a request about"
+msgstr ""
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr ""
+
+msgid "{{public_body_name}} only:"
+msgstr ""
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr ""
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr ""
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr ""
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr ""
+
+msgid "{{site_name}} blog and tweets"
+msgstr ""
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr ""
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr ""
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr ""
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} (Account suspended)"
+msgstr ""
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr ""
+
+msgid "{{user_name}} - user profile"
+msgstr ""
+
+msgid "{{user_name}} added an annotation"
+msgstr ""
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr ""
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr ""
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr ""
+
+msgid "{{username}} left an annotation:"
+msgstr ""
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr ""
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr ""
diff --git a/public/admin/javascripts/admin.js b/public/admin/javascripts/admin.js
deleted file mode 100644
index 9daa51459..000000000
--- a/public/admin/javascripts/admin.js
+++ /dev/null
@@ -1,32 +0,0 @@
-(function() {
- jQuery(function() {
- $('.locales a:first').tab('show');
- $('.accordion-body').on('hidden', function() {
- return $(this).prev().find('i').first().removeClass().addClass('icon-chevron-right');
- });
- $('.accordion-body').on('shown', function() {
- return $(this).prev().find('i').first().removeClass().addClass('icon-chevron-down');
- });
- $('.toggle-hidden').live('click', function() {
- $(this).parents('td').find('div:hidden').show();
- return false;
- });
- return $('#request_hidden_user_explanation_reasons input').live('click', function() {
- var info_request_id, reason;
- $('#request_hidden_user_subject, #request_hidden_user_explanation, #request_hide_button').show();
- info_request_id = $('#hide_request_form').attr('data-info-request-id');
- reason = $(this).val();
- $('#request_hidden_user_explanation_field').attr("value", "[loading default text...]");
- return $.ajax("/hidden_user_explanation?reason=" + reason + "&info_request_id=" + info_request_id, {
- type: "GET",
- dataType: "text",
- error: function(data, textStatus, jqXHR) {
- return $('#request_hidden_user_explanation_field').attr("value", "Error: " + textStatus);
- },
- success: function(data, textStatus, jqXHR) {
- return $('#request_hidden_user_explanation_field').attr("value", data);
- }
- });
- });
- });
-}).call(this);
diff --git a/public/admin/javascripts/jquery-ui.min.js b/public/admin/javascripts/jquery-ui.min.js
deleted file mode 100644
index f00a62f13..000000000
--- a/public/admin/javascripts/jquery-ui.min.js
+++ /dev/null
@@ -1,356 +0,0 @@
-/*!
- * jQuery UI 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */(function(a,b){function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;if(!b.href||!g||f.nodeName.toLowerCase()!=="map")return!1;h=a("img[usemap=#"+g+"]")[0];return!!h&&d(h)}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}a.ui=a.ui||{};a.ui.version||(a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)});return c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){if(c===b)return g["inner"+d].call(this);return this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){if(typeof b!="number")return g["outer"+d].call(this,b);return this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!!d&&!!a.element[0].parentNode)for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;if(b[d]>0)return!0;b[d]=1,e=b[d]>0,b[d]=0;return e},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}}))})(jQuery);/*!
- * jQuery UI Widget 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Widget
- */(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}});return d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e;if(f&&e.charAt(0)==="_")return h;f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b){h=f;return!1}}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))});return h}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+"ui-state-disabled")},widget:function(){return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}this._setOptions(e);return this},_setOptions:function(b){var c=this;a.each(b,function(a,b){c._setOption(a,b)});return this},_setOption:function(a,b){this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);this.element.trigger(c,d);return!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);/*!
- * jQuery UI Mouse 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Mouse
- *
- * Depends:
- * jquery.ui.widget.js
- */(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent")){a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation();return!1}}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(b){if(!c){this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted){b.preventDefault();return!0}}!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0;return!0}},_mouseMove:function(b){if(a.browser.msie&&!(document.documentMode>=9)&&!b.button)return this._mouseUp(b);if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b));return!this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b));return!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);/*
- * jQuery UI Position 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Position
- */(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1];return this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]!==e){var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0}},top:function(b,c){if(c.at[1]!==e){var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];if(!c||!c.ownerDocument)return null;if(b)return this.each(function(){a.offset.setOffset(this,b)});return h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);/*
- * jQuery UI Draggable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Draggables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!!this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy();return this}},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle"))return!1;this.handle=this._getHandle(b);if(!this.handle)return!1;c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")});return!0},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment();if(this._trigger("start",b)===!1){this._clear();return!1}this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.helper.addClass("ui-draggable-dragging"),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b);return!0},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1){this._mouseUp({});return!1}this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";a.ui.ddmanager&&a.ui.ddmanager.drag(this,b);return!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var d=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){d._trigger("stop",b)!==!1&&d._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b);return a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)});return c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute");return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.left<h[0]&&(f=h[0]+this.offset.click.left),b.pageY-this.offset.click.top<h[1]&&(g=h[1]+this.offset.click.top),b.pageX-this.offset.click.left>h[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.top<h[1]||j-this.offset.click.top>h[3]?j-this.offset.click.top<h[1]?j+c.grid[1]:j-c.grid[1]:j:j;var k=c.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0]:this.originalPageX;f=h?k-this.offset.click.left<h[0]||k-this.offset.click.left>h[2]?k-this.offset.click.left<h[0]?k+c.grid[0]:k-c.grid[0]:k:k}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),b=="drag"&&(this.positionAbs=this._convertPositionTo("absolute"));return a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(a){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.extend(a.ui.draggable,{version:"1.8.18"}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,d.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("draggable"),e=this,f=function(b){var c=this.offset.click.top,d=this.offset.click.left,e=this.positionAbs.top,f=this.positionAbs.left,g=b.height,h=b.width,i=b.top,j=b.left;return a.ui.isOver(e+c,f+d,i,j,g,h)};a.each(d.sortables,function(f){this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c){var d=a("body"),e=a(this).data("draggable").options;d.css("cursor")&&(e._cursor=d.css("cursor")),d.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;d._cursor&&a("body").css("cursor",d._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(b,c){var d=a(this).data("draggable");d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"&&(d.overflowOffset=d.scrollParent.offset())},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=!1;if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"){if(!e.axis||e.axis!="x")d.overflowOffset.top+d.scrollParent[0].offsetHeight-b.pageY<e.scrollSensitivity?d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop-e.scrollSpeed);if(!e.axis||e.axis!="y")d.overflowOffset.left+d.scrollParent[0].offsetWidth-b.pageX<e.scrollSensitivity?d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft-e.scrollSpeed)}else{if(!e.axis||e.axis!="x")b.pageY-a(document).scrollTop()<e.scrollSensitivity?f=a(document).scrollTop(a(document).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<e.scrollSensitivity&&(f=a(document).scrollTop(a(document).scrollTop()+e.scrollSpeed));if(!e.axis||e.axis!="y")b.pageX-a(document).scrollLeft()<e.scrollSensitivity?f=a(document).scrollLeft(a(document).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<e.scrollSensitivity&&(f=a(document).scrollLeft(a(document).scrollLeft()+e.scrollSpeed))}f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c){var d=a(this).data("draggable"),e=d.options;d.snapElements=[],a(e.snap.constructor!=String?e.snap.items||":data(draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!=d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=e.snapTolerance,g=c.offset.left,h=g+d.helperProportions.width,i=c.offset.top,j=i+d.helperProportions.height;for(var k=d.snapElements.length-1;k>=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f<g&&g<m+f&&n-f<i&&i<o+f||l-f<g&&g<m+f&&n-f<j&&j<o+f||l-f<h&&h<m+f&&n-f<i&&i<o+f||l-f<h&&h<m+f&&n-f<j&&j<o+f)){d.snapElements[k].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=!1;continue}if(e.snapMode!="inner"){var p=Math.abs(n-j)<=f,q=Math.abs(o-i)<=f,r=Math.abs(l-h)<=f,s=Math.abs(m-g)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n-d.helperProportions.height,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l-d.helperProportions.width}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m}).left-d.margins.left)}var t=p||q||r||s;if(e.snapMode!="outer"){var p=Math.abs(n-i)<=f,q=Math.abs(o-j)<=f,r=Math.abs(l-g)<=f,s=Math.abs(m-h)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o-d.helperProportions.height,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m-d.helperProportions.width}).left-d.margins.left)}!d.snapElements[k].snapping&&(p||q||r||s||t)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=p||q||r||s||t}}}),a.ui.plugin.add("draggable","stack",{start:function(b,c){var d=a(this).data("draggable").options,e=a.makeArray(a(d.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});if(!!e.length){var f=parseInt(e[0].style.zIndex)||0;a(e).each(function(a){this.style.zIndex=f+a}),this[0].style.zIndex=f+e.length}}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})})(jQuery);/*
- * jQuery UI Droppable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Droppables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.mouse.js
- * jquery.ui.draggable.js
- */(function(a,b){a.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect"},_create:function(){var b=this.options,c=b.accept;this.isover=0,this.isout=1,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++)b[c]==this&&b.splice(c,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(b,c){b=="accept"&&(this.accept=a.isFunction(c)?c:function(a){return a.is(c)}),a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;!!c&&(c.currentItem||c.element)[0]!=this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;!!c&&(c.currentItem||c.element)[0]!=this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current;if(!d||(d.currentItem||d.element)[0]==this.element[0])return!1;var e=!1;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var b=a.data(this,"droppable");if(b.options.greedy&&!b.options.disabled&&b.options.scope==d.options.scope&&b.accept.call(b.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(b,{offset:b.element.offset()}),b.options.tolerance)){e=!0;return!1}});if(e)return!1;if(this.accept.call(this.element[0],d.currentItem||d.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d));return this.element}return!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.extend(a.ui.droppable,{version:"1.8.18"}),a.ui.intersect=function(b,c,d){if(!c.offset)return!1;var e=(b.positionAbs||b.position.absolute).left,f=e+b.helperProportions.width,g=(b.positionAbs||b.position.absolute).top,h=g+b.helperProportions.height,i=c.offset.left,j=i+c.proportions.width,k=c.offset.top,l=k+c.proportions.height;switch(d){case"fit":return i<=e&&f<=j&&k<=g&&h<=l;case"intersect":return i<e+b.helperProportions.width/2&&f-b.helperProportions.width/2<j&&k<g+b.helperProportions.height/2&&h-b.helperProportions.height/2<l;case"pointer":var m=(b.positionAbs||b.position.absolute).left+(b.clickOffset||b.offset.click).left,n=(b.positionAbs||b.position.absolute).top+(b.clickOffset||b.offset.click).top,o=a.ui.isOver(n,m,k,i,c.proportions.height,c.proportions.width);return o;case"touch":return(g>=k&&g<=l||h>=k&&h<=l||g<k&&h>l)&&(e>=i&&e<=j||f>=i&&f<=j||e<i&&f>j);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();droppablesLoop:for(var g=0;g<d.length;g++){if(d[g].options.disabled||b&&!d[g].accept.call(d[g].element[0],b.currentItem||b.element))continue;for(var h=0;h<f.length;h++)if(f[h]==d[g].element[0]){d[g].proportions.height=0;continue droppablesLoop}d[g].visible=d[g].element.css("display")!="none";if(!d[g].visible)continue;e=="mousedown"&&d[g]._activate.call(d[g],c),d[g].offset=d[g].element.offset(),d[g].proportions={width:d[g].element[0].offsetWidth,height:d[g].element[0].offsetHeight}}},drop:function(b,c){var d=!1;a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){!this.options||(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=1,this.isover=0,this._deactivate.call(this,c)))});return d},dragStart:function(b,c){b.element.parents(":not(body,html)").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var d=a.ui.intersect(b,this,this.options.tolerance),e=!d&&this.isover==1?"isout":d&&this.isover==0?"isover":null;if(!e)return;var f;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");g.length&&(f=a.data(g[0],"droppable"),f.greedyChild=e=="isover"?1:0)}f&&e=="isover"&&(f.isover=0,f.isout=1,f._out.call(f,c)),this[e]=1,this[e=="isout"?"isover":"isout"]=0,this[e=="isover"?"_over":"_out"].call(this,c),f&&e=="isout"&&(f.isout=0,f.isover=1,f._over.call(f,c))}})},dragStop:function(b,c){b.element.parents(":not(body,html)").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}}})(jQuery);/*
- * jQuery UI Resizable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.resizable",a.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var b=this,c=this.options;this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e<d.length;e++){var f=a.trim(d[e]),g="ui-resizable-"+f,h=a('<div class="ui-resizable-handle '+g+'"></div>');/sw|se|ne|nw/.test(f)&&h.css({zIndex:++c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){c.disabled||(a(this).removeClass("ui-resizable-autohide"),b._handles.show())},function(){c.disabled||b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement);return this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b);return!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui());return!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove();return!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),e<h.maxWidth&&(h.maxWidth=e),g<h.maxHeight&&(h.maxHeight=g);this._vBoundaries=h},_updateCache:function(a){var b=this.options;this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a,b){var c=this.options,e=this.position,f=this.size,g=this.axis;d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),g=="sw"&&(a.left=e.left+(f.width-a.width),a.top=null),g=="nw"&&(a.top=e.top+(f.height-a.height),a.left=e.left+(f.width-a.width));return a},_respectSize:function(a,b){var c=this.helper,e=this._vBoundaries,f=this._aspectRatio||b.shiftKey,g=this.axis,h=d(a.width)&&e.maxWidth&&e.maxWidth<a.width,i=d(a.height)&&e.maxHeight&&e.maxHeight<a.height,j=d(a.width)&&e.minWidth&&e.minWidth>a.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null);return a},_proportionallyResize:function(){var b=this.options;if(!!this._proportionallyResizeElements.length){var c=this.helper||this.element;for(var d=0;d<this._proportionallyResizeElements.length;d++){var e=this._proportionallyResizeElements[d];if(!this.borderDif){var f=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],g=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];this.borderDif=a.map(f,function(a,b){var c=parseInt(a,10)||0,d=parseInt(g[b],10)||0;return c+d})}if(a.browser.msie&&(!!a(c).is(":hidden")||!!a(c).parents(":hidden").length))continue;e.css({height:c.height()-this.borderDif[0]-this.borderDif[2]||0,width:c.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset();if(this._helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.18"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!!i){e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/e.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*e.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);/*
- * jQuery UI Selectable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Selectables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy();return this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(!this.options.disabled){var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element});return!1}})}},_mouseDrag:function(b){var c=this;this.dragged=!0;if(!this.options.disabled){var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!!i&&i.element!=c.element[0]){var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.right<e||i.top>h||i.bottom<f):d.tolerance=="fit"&&(j=i.left>e&&i.right<g&&i.top>f&&i.bottom<h),j?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,c._trigger("selecting",b,{selecting:i.element}))):(i.selecting&&((b.metaKey||b.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),c._trigger("unselecting",b,{unselecting:i.element}))),i.selected&&!b.metaKey&&!b.ctrlKey&&!i.startselected&&(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,c._trigger("unselecting",b,{unselecting:i.element})))}});return!1}},_mouseStop:function(b){var c=this;this.dragged=!1;var d=this.options;a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove();return!1}}),a.extend(a.ui.selectable,{version:"1.8.18"})})(jQuery);/*
- * jQuery UI Sortable 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Sortables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f){e=a(this);return!1}});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}this.currentItem=e,this._removeCurrentsFromItems();return!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b);return!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<c.scrollSensitivity?this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop+c.scrollSpeed:b.pageY-this.overflowOffset.top<c.scrollSensitivity&&(this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop-c.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<c.scrollSensitivity?this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft+c.scrollSpeed:b.pageX-this.overflowOffset.left<c.scrollSensitivity&&(this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft-c.scrollSpeed)):(b.pageY-a(document).scrollTop()<c.scrollSensitivity?d=a(document).scrollTop(a(document).scrollTop()-c.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<c.scrollSensitivity&&(d=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed)),b.pageX-a(document).scrollLeft()<c.scrollSensitivity?d=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<c.scrollSensitivity&&(d=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed))),d!==!1&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(var e=this.items.length-1;e>=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs;return!1},_mouseStop:function(b,c){if(!!b){a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem));return this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"=");return d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")});return d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+j<i&&b+k>f&&b+k<g;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?l:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left,b.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();if(!e)return!1;return this.floating?g&&g=="right"||f=="down"?2:1:f&&(f=="down"?2:1)},_intersectsWithSides:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top+b.height/2,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left+b.width/2,b.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?f=="right"&&d||f=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a),this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(b){this.items=[],this.containers=[this];var c=this.items,d=this,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],f=this._connectWith();if(f&&this.ready)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i<m;i++){var n=a(l[i]);n.data(this.widgetName+"-item",k),c.push({item:n,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var c=this.items.length-1;c>=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];e||(b.style.visibility="hidden");return b},update:function(a,b){if(!e||!!d.forcePlaceholderSize)b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!!c)if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.items[i][this.containers[d].floating?"left":"top"];Math.abs(j-h)<f&&(f=Math.abs(j-h),g=this.items[i])}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height());return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.top<this.containment[1]||h-this.offset.click.top>this.containment[3]?h-this.offset.click.top<this.containment[1]?h+c.grid[1]:h-c.grid[1]:h:h;var i=this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0];f=this.containment?i-this.offset.click.left<this.containment[0]||i-this.offset.click.left>this.containment[2]?i-this.offset.click.left<this.containment[0]?i+c.grid[0]:i-c.grid[0]:i:i}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this,f=this.counter;window.setTimeout(function(){f==e.counter&&e.refreshPositions(!d)},0)},_clear:function(b,c){this.reverting=!1;var d=[],e=this;!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var f in this._storedCSS)if(this._storedCSS[f]=="auto"||this._storedCSS[f]=="static")this._storedCSS[f]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c&&d.push(function(a){this._trigger("update",a,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||d.push(function(a){this._trigger("remove",a,this._uiHash())});for(var f=this.containers.length-1;f>=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return!1}c||this._trigger("beforeStop",b,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!c){for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}this.fromOutside=!1;return!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.extend(a.ui.sortable,{version:"1.8.18"})})(jQuery);/*
- * jQuery UI Accordion 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Accordion
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:!0,clearStyle:!1,collapsible:!1,event:"click",fillSpace:!1,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c.disabled||a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c.disabled||a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c.disabled||a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c.disabled||a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("<span></span>").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected),this.element.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.children(".ui-icon").remove(),this.element.removeClass("ui-accordion-icons")},destroy:function(){var b=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"),this.headers.find("a").removeAttr("tabIndex"),this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");(b.autoHeight||b.fillHeight)&&c.css("height","");return a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(!(this.options.disabled||b.altKey||b.ctrlKey)){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}if(f){a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus();return!1}return!0}},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];this._clickHandler({target:b},b);return this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(!d.disabled){if(!b.target){if(!d.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),i||(h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected),h.next().addClass("ui-accordion-content-active"));return}},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!!g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;this.running||(this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data))}}),a.extend(a.ui.accordion,{version:"1.8.18",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size())b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);else{if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})}},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);/*
- * jQuery UI Autocomplete 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Autocomplete
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.position.js
- */(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!b.options.disabled&&!b.element.propAttr("readOnly")){d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._move("previous",c),c.preventDefault();break;case e.DOWN:b._move("next",c),c.preventDefault();break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){b.options.disabled||(b.selectedItem=null,b.previous=b.element.val())}).bind("blur.autocomplete",function(a){b.options.disabled||(clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150))}),this._initSource(),this.response=function(){return b._response.apply(b,arguments)},this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,d,e;a.isArray(this.options.source)?(d=this.options.source,this.source=function(b,c){c(a.ui.autocomplete.filter(d,b.term))}):typeof this.options.source=="string"?(e=this.options.source,this.source=function(d,f){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:e,data:d,dataType:"json",context:{autocompleteRequest:++c},success:function(a,b){this.autocompleteRequest===c&&f(a)},error:function(){this.autocompleteRequest===c&&f([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==!1)return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this.response)},_response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close(),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.deactivate(),this._trigger("close",a))},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){if(b.length&&b[0].label&&b[0].value)return b;return a.map(b,function(b){if(typeof b=="string")return{label:b,value:b};return a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible"))this.search(null,b);else{if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)}},widget:function(){return this.menu.element}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){!a(c.target).closest(".ui-menu-item a").length||(c.preventDefault(),b.select(c))}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){!this.active||(this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null)},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active)this.activate(c,this.element.children(b));else{var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))}},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10}),result.length||(result=this.element.children(".ui-menu-item:first")),this.activate(b,result)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);/*
- * jQuery UI Button 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Button
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */(function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",j=function(){var b=a(this).find(":ui-button");setTimeout(function(){b.button("refresh")},1)},k=function(b){var c=b.name,d=b.form,e=a([]);c&&(d?e=a(d).find("[name='"+c+"']"):e=a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form}));return e};a.widget("ui.button",{options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",j),typeof this.options.disabled!="boolean"?this.options.disabled=!!this.element.propAttr("disabled"):this.element.propAttr("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,h=this.options,i=this.type==="checkbox"||this.type==="radio",l="ui-state-hover"+(i?"":" ui-state-active"),m="ui-state-focus";h.label===null&&(h.label=this.buttonElement.html()),this.buttonElement.addClass(g).attr("role","button").bind("mouseenter.button",function(){h.disabled||(a(this).addClass("ui-state-hover"),this===c&&a(this).addClass("ui-state-active"))}).bind("mouseleave.button",function(){h.disabled||a(this).removeClass(l)}).bind("click.button",function(a){h.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this.element.bind("focus.button",function(){b.buttonElement.addClass(m)}).bind("blur.button",function(){b.buttonElement.removeClass(m)}),i&&(this.element.bind("change.button",function(){f||b.refresh()}),this.buttonElement.bind("mousedown.button",function(a){h.disabled||(f=!1,d=a.pageX,e=a.pageY)}).bind("mouseup.button",function(a){!h.disabled&&(d!==a.pageX||e!==a.pageY)&&(f=!0)})),this.type==="checkbox"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).toggleClass("ui-state-active"),b.buttonElement.attr("aria-pressed",b.element[0].checked)}):this.type==="radio"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var c=b.element[0];k(c).not(c).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown.button",function(){if(h.disabled)return!1;a(this).addClass("ui-state-active"),c=this,a(document).one("mouseup",function(){c=null})}).bind("mouseup.button",function(){if(h.disabled)return!1;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(b){if(h.disabled)return!1;(b.keyCode==a.ui.keyCode.SPACE||b.keyCode==a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",h.disabled),this._resetButton()},_determineButtonType:function(){this.element.is(":checkbox")?this.type="checkbox":this.element.is(":radio")?this.type="radio":this.element.is("input")?this.type="input":this.type="button";if(this.type==="checkbox"||this.type==="radio"){var a=this.element.parents().filter(":last"),b="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible");var c=this.element.is(":checked");c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.attr("aria-pressed",c)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(g+" "+h+" "+i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title"),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);b==="disabled"?c?this.element.propAttr("disabled",!0):this.element.propAttr("disabled",!1):this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b),this.type==="radio"?k(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):this.type==="checkbox"&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass(i),c=a("<span></span>",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}}),a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);/*
- * jQuery UI Dialog 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.button.js
- * jquery.ui.draggable.js
- * jquery.ui.mouse.js
- * jquery.ui.position.js
- * jquery.ui.resizable.js
- */(function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},f=a.attrFn||{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0,click:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||"&#160;",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("<div></div>")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){b.close(a);return!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("<span></span>")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("<span></span>").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy(),a.uiDialog.hide(),a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),a.uiDialog.remove(),a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1!==c._trigger("beforeClose",b)){c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d);return c}},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;if(e.modal&&!b||!e.stack&&!e.modal)return d._trigger("focus",c);e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c);return d},open:function(){if(!this._isOpen){var b=this,c=b.options,d=b.uiDialog;b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode===a.ui.keyCode.TAB){var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey){d.focus(1);return!1}if(b.target===d[0]&&b.shiftKey){e.focus(1);return!1}}}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open");return b}},_createButtons:function(b){var c=this,d=!1,e=a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=a("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('<button type="button"></button>').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(g);a.each(d,function(a,b){a!=="click"&&(a in f?e[a](b):e.attr(a,b))}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||"&#160;"))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.18",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");b||(this.uuid+=1,b=this.uuid);return"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()<a.ui.dialog.overlay.maxZ)return!1})},1),a(document).bind("keydown.dialog-overlay",function(c){b.options.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}),a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize));var c=(this.oldInstances.pop()||a("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});a.fn.bgiframe&&c.bgiframe(),this.instances.push(c);return c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;if(a.browser.msie&&a.browser.version<7){b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return b<c?a(window).height()+"px":b+"px"}return a(document).height()+"px"},width:function(){var b,c;if(a.browser.msie){b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return b<c?a(window).width()+"px":b+"px"}return a(document).width()+"px"},resize:function(){var b=a([]);a.each(a.ui.dialog.overlay.instances,function(){b=b.add(this)}),b.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}}),a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);/*
- * jQuery UI Slider 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Slider
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join("")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){d.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)}),this.handles.keydown(function(d){var e=a(this).data("index.ui-slider-handle"),f,g,h,i;if(!b.options.disabled){switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass("ui-state-active"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}}).keyup(function(c){var d=a(this).data("index.ui-slider-handle");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass("ui-state-active"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"),this._mouseDestroy();return this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;if(c.disabled)return!1;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i);if(j===!1)return!1;this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0;return!0},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);this._slide(a,this._handleIndex,c);return!1},_mouseStop:function(a){this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1;return!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e;return this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values());return this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("change",a,c)}},value:function(a){if(arguments.length)this.options.value=this._trimAlignValue(a),this._refreshValue(),this._change(null,0);else return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);else{if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()}},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case"disabled":c?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.propAttr("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.propAttr("disabled",!1),this.element.removeClass("ui-disabled"));break;case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;a=this._trimAlignValue(a);return a},_values:function(a){var b,c,d;if(arguments.length){b=this.options.values[a],b=this._trimAlignValue(b);return b}c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;Math.abs(c)*2>=b&&(d+=c>0?b:-b);return parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.18"})})(jQuery);/*
- * jQuery UI Tabs 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */(function(a,b){function f(){return++d}function e(){return++c}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash){e.selected=a;return!1}}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1){this.blur();return!1}e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected")){e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur();return!1}if(!f.length){e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur();return!1}}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$="+a+"]")));return a},destroy:function(){var b=this.options;this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie);return this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e]));return this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0]));return this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a])));return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup();return this},url:function(a,b){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b);return this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.18"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){t=d.selected,e()}:function(a){a.clientX&&c.rotate(null)});a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate);return this}})})(jQuery);/*
- * jQuery UI Datepicker 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker
- *
- * Depends:
- * jquery.ui.core.js
- */(function($,undefined){function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);!c.length||c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);!$.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])&&!!d.length&&(d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover"))})}function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}$.extend($.ui,{datepicker:{version:"1.8.18"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){extendRemove(this._defaults,a||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);c.hasClass(this.markerClassName)||(this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a))},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){$.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]);return!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);c.hasClass(this.markerClassName)||(c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block"))},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f);return this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})}},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);c&&!c.inline&&this._setDateFromField(c,b);return c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(a){$.datepicker.log(a)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if(!$.datepicker._isDisabledDatepicker(a)&&$.datepicker._lastInput!=a){var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){e|=$(this).css("position")=="fixed";return!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0);return b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=$.data(a,PROP_NAME))&&this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=this,f=function(){$.datepicker._tidyDialog(b),e._curInst=null};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,f):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,f),c||f(),this._datepickerShowing=!1;var g=this._get(b,"onClose");g&&g.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!!$.datepicker._curInst){var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);this._isDisabledDatepicker(d[0])||(this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e))},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if(!$(d).hasClass(this._unselectableClass)&&!this._isDisabledDatepicker(e[0])){var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();b.setMonth(0),b.setDate(1);return Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;c&&s++;return c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;r+=f[0].length;return parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase()){f=c[0],r+=d.length;return!1}});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;for(;;){var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;c&&m++;return c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;c&&e++;return c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var d=function(a){var b=new Date;b.setDate(b.getDate()+a);return b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0));return this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', -"+i+", 'M');\""+' title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', +"+i+", 'M');\""+' title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+dpuuid+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._gotoToday('#"+a.id+"');\""+">"+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' onclick="DP_jQuery_'+dpuuid+".datepicker._selectDay('#"+a.id+"',"+Y.getMonth()+","+Y.getFullYear()+', this);return false;"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),
-a._keyEvent=!1;return K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" "+">";for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" "+">";for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>";return l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;e=d&&e>d?d:e;return e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth()));return this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));return this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)})},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.18",window["DP_jQuery_"+dpuuid]=$})(jQuery);/*
- * jQuery UI Progressbar 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Progressbar
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */(function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===b)return this._value();this._setOption("value",a);return this},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;typeof a!="number"&&(a=0);return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.18"})})(jQuery);/*
- * jQuery UI Effects 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/
- */jQuery.effects||function(a,b){function l(b){if(!b||typeof b=="number"||a.fx.speeds[b])return!0;if(typeof b=="string"&&!a.effects[b])return!0;return!1}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete;return[b,c,d,e]}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function d(b,d){var e;do{e=a.curCSS(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function c(b){var c;if(b&&b.constructor==Array&&b.length==3)return b;if(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))return[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)];if(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))return[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55];if(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))return[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)];if(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))return[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)];if(c=/rgba\(0, 0, 0, 0\)/.exec(b))return e.transparent;return e[a.trim(b).toLowerCase()]}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){a.isFunction(d)&&(e=d,d=null);return this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class");a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.18",save:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.data("ec.storage."+b[c],a[0].style[b[c]])},restore:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.css(b[c],a.data("ec.storage."+b[c]))},setMode:function(a,b){b=="toggle"&&(b=a.is(":hidden")?"show":"hide");return b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"}));return d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;if(b.parent().is(".ui-effects-wrapper")){c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus();return c}return b},setTransition:function(b,c,d,e){e=e||{},a.each(c,function(a,c){unit=b.cssUnit(c),unit[0]>0&&(e[c]=unit[0]*d+unit[1])});return e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];if(a.fx.off||!i)return h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)});return i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);b[1].mode="show";return this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);b[1].mode="hide";return this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);c[1].mode="toggle";return this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])});return d}}),a.easing.jswing=a.easing.swing,a.extend(a.easing,{def:"easeOutQuad",swing:function(b,c,d,e,f){return a.easing[a.easing.def](b,c,d,e,f)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b+c;return-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b+c;return d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b+c;return-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b*b+c;return d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){if(b==0)return c;if(b==e)return c+d;if((b/=e/2)<1)return d/2*Math.pow(2,10*(b-1))+c;return d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){if((b/=e/2)<1)return-d/2*(Math.sqrt(1-b*b)-1)+c;return d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*2*Math.PI/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e/2)==2)return c+d;g||(g=e*.3*1.5);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);if(b<1)return-0.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)+c;return h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)*.5+d+c},easeInBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);return e*(c/=f)*c*((g+1)*c-g)+d},easeOutBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);return e*((c=c/f-1)*c*((g+1)*c+g)+1)+d},easeInOutBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);if((c/=f/2)<1)return e/2*c*c*(((g*=1.525)+1)*c-g)+d;return e/2*((c-=2)*c*(((g*=1.525)+1)*c+g)+2)+d},easeInBounce:function(b,c,d,e,f){return e-a.easing.easeOutBounce(b,f-c,0,e,f)+d},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*7.5625*b*b+c:b<2/2.75?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(b,c,d,e,f){if(c<f/2)return a.easing.easeInBounce(b,c*2,0,e,f)*.5+d;return a.easing.easeOutBounce(b,c*2-f,0,e,f)*.5+e*.5+d}})}(jQuery);/*
- * jQuery UI Effects Blind 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Blind
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);/*
- * jQuery UI Effects Bounce 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Bounce
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight({margin:!0})/3:c.outerWidth({margin:!0})/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m<h;m++){var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing),g=e=="hide"?g*2:g/2}if(e=="hide"){var l={opacity:0};l[j]=(k=="pos"?"-=":"+=")+g,c.animate(l,i/2,b.options.easing,function(){c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}else{var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);/*
- * jQuery UI Effects Clip 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Clip
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.clip=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","height","width"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=c[0].tagName=="IMG"?g:c,i={size:f=="vertical"?"height":"width",position:f=="vertical"?"top":"left"},j=f=="vertical"?h.height():h.width();e=="show"&&(h.css(i.size,0),h.css(i.position,j/2));var k={};k[i.size]=e=="show"?j:0,k[i.position]=e=="show"?0:j/2,h.animate(k,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Drop 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Drop
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.drop=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","opacity"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0})/2:c.outerWidth({margin:!0})/2);e=="show"&&c.css("opacity",0).css(g,h=="pos"?-i:i);var j={opacity:e=="show"?1:0};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Explode 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Explode
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.explode=function(b){return this.queue(function(){var c=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3,d=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?a(this).is(":visible")?"hide":"show":b.options.mode;var e=a(this).show().css("visibility","hidden"),f=e.offset();f.top-=parseInt(e.css("marginTop"),10)||0,f.left-=parseInt(e.css("marginLeft"),10)||0;var g=e.outerWidth(!0),h=e.outerHeight(!0);for(var i=0;i<c;i++)for(var j=0;j<d;j++)e.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);/*
- * jQuery UI Effects Fade 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Fade
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Fold 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Fold
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);/*
- * jQuery UI Effects Highlight 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Highlight
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Pulsate 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Pulsate
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show");times=(b.options.times||5)*2-1,duration=b.duration?b.duration/2:a.fx.speeds._default/2,isVisible=c.is(":visible"),animateTo=0,isVisible||(c.css("opacity",0).show(),animateTo=1),(d=="hide"&&isVisible||d=="show"&&!isVisible)&&times--;for(var e=0;e<times;e++)c.animate({opacity:animateTo},duration,b.options.easing),animateTo=(animateTo+1)%2;c.animate({opacity:animateTo},duration,b.options.easing,function(){animateTo==0&&c.hide(),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}).dequeue()})}})(jQuery);/*
- * jQuery UI Effects Scale 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Scale
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.puff=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide"),e=parseInt(b.options.percent,10)||150,f=e/100,g={height:c.height(),width:c.width()};a.extend(b.options,{fade:!0,mode:d,percent:d=="hide"?e:100,from:d=="hide"?g:{height:g.height*f,width:g.width*f}}),c.effect("scale",b.options,b.duration,b.callback),c.dequeue()})},a.effects.scale=function(b){return this.queue(function(){var c=a(this),d=a.extend(!0,{},b.options),e=a.effects.setMode(c,b.options.mode||"effect"),f=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:e=="hide"?0:100),g=b.options.direction||"both",h=b.options.origin;e!="effect"&&(d.origin=h||["middle","center"],d.restore=!0);var i={height:c.height(),width:c.width()};c.from=b.options.from||(e=="show"?{height:0,width:0}:i);var j={y:g!="horizontal"?f/100:1,x:g!="vertical"?f/100:1};c.to={height:i.height*j.y,width:i.width*j.x},b.options.fade&&(e=="show"&&(c.from.opacity=0,c.to.opacity=1),e=="hide"&&(c.from.opacity=1,c.to.opacity=0)),d.from=c.from,d.to=c.to,d.mode=e,c.effect("size",d,b.duration,b.callback),c.dequeue()})},a.effects.size=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","width","height","overflow","opacity"],e=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],g=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],j=a.effects.setMode(c,b.options.mode||"effect"),k=b.options.restore||!1,l=b.options.scale||"both",m=b.options.origin,n={height:c.height(),width:c.width()};c.from=b.options.from||n,c.to=b.options.to||n;if(m){var p=a.effects.getBaseline(m,n);c.from.top=(n.height-c.from.height)*p.y,c.from.left=(n.width-c.from.width)*p.x,c.to.top=(n.height-c.to.height)*p.y,c.to.left=(n.width-c.to.width)*p.x}var q={from:{y:c.from.height/n.height,x:c.from.width/n.width},to:{y:c.to.height/n.height,x:c.to.width/n.width}};if(l=="box"||l=="both")q.from.y!=q.to.y&&(d=d.concat(h),c.from=a.effects.setTransition(c,h,q.from.y,c.from),c.to=a.effects.setTransition(c,h,q.to.y,c.to)),q.from.x!=q.to.x&&(d=d.concat(i),c.from=a.effects.setTransition(c,i,q.from.x,c.from),c.to=a.effects.setTransition(c,i,q.to.x,c.to));(l=="content"||l=="both")&&q.from.y!=q.to.y&&(d=d.concat(g),c.from=a.effects.setTransition(c,g,q.from.y,c.from),c.to=a.effects.setTransition(c,g,q.to.y,c.to)),a.effects.save(c,k?d:e),c.show(),a.effects.createWrapper(c),c.css("overflow","hidden").css(c.from);if(l=="content"||l=="both")h=h.concat(["marginTop","marginBottom"]).concat(g),i=i.concat(["marginLeft","marginRight"]),f=d.concat(h).concat(i),c.find("*[width]").each(function(){child=a(this),k&&a.effects.save(child,f);var c={height:child.height(),width:child.width()};child.from={height:c.height*q.from.y,width:c.width*q.from.x},child.to={height:c.height*q.to.y,width:c.width*q.to.x},q.from.y!=q.to.y&&(child.from=a.effects.setTransition(child,h,q.from.y,child.from),child.to=a.effects.setTransition(child,h,q.to.y,child.to)),q.from.x!=q.to.x&&(child.from=a.effects.setTransition(child,i,q.from.x,child.from),child.to=a.effects.setTransition(child,i,q.to.x,child.to)),child.css(child.from),child.animate(child.to,b.duration,b.options.easing,function(){k&&a.effects.restore(child,f)})});c.animate(c.to,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){c.to.opacity===0&&c.css("opacity",c.from.opacity),j=="hide"&&c.hide(),a.effects.restore(c,k?d:e),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Shake 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Shake
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.shake=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"left",g=b.options.distance||20,h=b.options.times||3,i=b.duration||b.options.duration||140;a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",l={},m={},n={};l[j]=(k=="pos"?"-=":"+=")+g,m[j]=(k=="pos"?"+=":"-=")+g*2,n[j]=(k=="pos"?"-=":"+=")+g*2,c.animate(l,i,b.options.easing);for(var p=1;p<h;p++)c.animate(m,i,b.options.easing).animate(n,i,b.options.easing);c.animate(m,i,b.options.easing).animate(l,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);/*
- * jQuery UI Effects Slide 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Slide
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.slide=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"show"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c).css({overflow:"hidden"});var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0}):c.outerWidth({margin:!0}));e=="show"&&c.css(g,h=="pos"?isNaN(i)?"-"+i:-i:i);var j={};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
- * jQuery UI Effects Transfer 1.8.18
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Transfer
- *
- * Depends:
- * jquery.effects.core.js
- */(function(a,b){a.effects.transfer=function(b){return this.queue(function(){var c=a(this),d=a(b.options.to),e=d.offset(),f={top:e.top,left:e.left,height:d.innerHeight(),width:d.innerWidth()},g=c.offset(),h=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery); \ No newline at end of file
diff --git a/public/admin/stylesheets/admin.css b/public/admin/stylesheets/admin.css
deleted file mode 100644
index 9c98ac432..000000000
--- a/public/admin/stylesheets/admin.css
+++ /dev/null
@@ -1,1005 +0,0 @@
-/* $iconSpritePath: image-url('glyphicons-halflings.png');
-$iconWhiteSpritePath: image-url('glyphicons-halflings-white.png'); */
-/* As we're namespacing bootstrap to class admin, which is applied to the body element in the admin interface (no id or class allowed on the HTML element in HTML 4.01) and to the navbar also, so it can be styled with bootstrap when showing for admin users on the front end, re-apply the bootstrap html and body styles here.
-*/
-html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
-
-body.admin { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333333; background-color: white; }
-
-/* When the admin stylesheet is loaded (and so the user is seeing the admin navbar), pad the banner of the front end interface so that it isn't hidden, and move any special notice down too.
-*/
-.entirebody, #banner { padding-top: 50px; }
-
-#special-notice { margin-top: 50px; }
-
-.admin { /*
- * Bootstrap v2.2.2
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */ /* Allow for input prepend/append in search forms */ /* White icons with optional class, or on hover/active states of certain elements */ /* move down carets for tabs */ @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; }
- to { background-position: 0 0; } }
- @-moz-keyframes progress-bar-stripes { from { background-position: 40px 0; }
- to { background-position: 0 0; } }
- @-ms-keyframes progress-bar-stripes { from { background-position: 40px 0; }
- to { background-position: 0 0; } }
- @-o-keyframes progress-bar-stripes { from { background-position: 0 0; }
- to { background-position: 40px 0; } }
- @keyframes progress-bar-stripes { from { background-position: 40px 0; }
- to { background-position: 0 0; } }
- }
-.admin article, .admin aside, .admin details, .admin figcaption, .admin figure, .admin footer, .admin header, .admin hgroup, .admin nav, .admin section { display: block; }
-.admin audio, .admin canvas, .admin video { display: inline-block; *display: inline; *zoom: 1; }
-.admin audio:not([controls]) { display: none; }
-.admin html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
-.admin a:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
-.admin a:hover, .admin a:active { outline: 0; }
-.admin sub, .admin sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }
-.admin sup { top: -0.5em; }
-.admin sub { bottom: -0.25em; }
-.admin img { /* Responsive images (ensure images don't scale beyond their parents) */ max-width: 100%; /* Part 1: Set a maxium relative to the parent */ width: auto\9; /* IE7-8 need help adjusting responsive images */ height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */ vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; }
-.admin #map_canvas img, .admin .google-maps img { max-width: none; }
-.admin button, .admin input, .admin select, .admin textarea { margin: 0; font-size: 100%; vertical-align: middle; }
-.admin button, .admin input { *overflow: visible; line-height: normal; }
-.admin button::-moz-focus-inner, .admin input::-moz-focus-inner { padding: 0; border: 0; }
-.admin button, .admin html input[type="button"], .admin input[type="reset"], .admin input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
-.admin label, .admin select, .admin button, .admin input[type="button"], .admin input[type="reset"], .admin input[type="submit"], .admin input[type="radio"], .admin input[type="checkbox"] { cursor: pointer; }
-.admin input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; }
-.admin input[type="search"]::-webkit-search-decoration, .admin input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
-.admin textarea { overflow: auto; vertical-align: top; }
-@media print { .admin { @page { margin: 0.5cm; }
- }
- .admin * { text-shadow: none !important; color: black !important; background: transparent !important; box-shadow: none !important; }
- .admin a, .admin a:visited { text-decoration: underline; }
- .admin a[href]:after { content: " (" attr(href) ")"; }
- .admin abbr[title]:after { content: " (" attr(title) ")"; }
- .admin .ir a:after, .admin a[href^="javascript:"]:after, .admin a[href^="#"]:after { content: ""; }
- .admin pre, .admin blockquote { border: 1px solid #999999; page-break-inside: avoid; }
- .admin thead { display: table-header-group; }
- .admin tr, .admin img { page-break-inside: avoid; }
- .admin img { max-width: 100% !important; }
- .admin p, .admin h2, .admin h3 { orphans: 3; widows: 3; }
- .admin h2, .admin h3 { page-break-after: avoid; } }
-.admin body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333333; background-color: white; }
-.admin a { color: #0088cc; text-decoration: none; }
-.admin a:hover { color: #005580; text-decoration: underline; }
-.admin .img-rounded { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .img-polaroid { padding: 4px; background-color: #fff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
-.admin .img-circle { -webkit-border-radius: 500px; -moz-border-radius: 500px; border-radius: 500px; }
-.admin .row { margin-left: -20px; *zoom: 1; }
-.admin .row:before, .admin .row:after { display: table; content: ""; line-height: 0; }
-.admin .row:after { clear: both; }
-.admin [class*="span"] { float: left; min-height: 1px; margin-left: 20px; }
-.admin .container, .admin .navbar-static-top .container, .admin .navbar-fixed-top .container, .admin .navbar-fixed-bottom .container { width: 940px; }
-.admin .span12 { width: 940px; }
-.admin .span11 { width: 860px; }
-.admin .span10 { width: 780px; }
-.admin .span9 { width: 700px; }
-.admin .span8 { width: 620px; }
-.admin .span7 { width: 540px; }
-.admin .span6 { width: 460px; }
-.admin .span5 { width: 380px; }
-.admin .span4 { width: 300px; }
-.admin .span3 { width: 220px; }
-.admin .span2 { width: 140px; }
-.admin .span1 { width: 60px; }
-.admin .offset12 { margin-left: 980px; }
-.admin .offset11 { margin-left: 900px; }
-.admin .offset10 { margin-left: 820px; }
-.admin .offset9 { margin-left: 740px; }
-.admin .offset8 { margin-left: 660px; }
-.admin .offset7 { margin-left: 580px; }
-.admin .offset6 { margin-left: 500px; }
-.admin .offset5 { margin-left: 420px; }
-.admin .offset4 { margin-left: 340px; }
-.admin .offset3 { margin-left: 260px; }
-.admin .offset2 { margin-left: 180px; }
-.admin .offset1 { margin-left: 100px; }
-.admin .row-fluid { width: 100%; *zoom: 1; }
-.admin .row-fluid:before, .admin .row-fluid:after { display: table; content: ""; line-height: 0; }
-.admin .row-fluid:after { clear: both; }
-.admin .row-fluid [class*="span"] { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; float: left; margin-left: 2.12766%; *margin-left: 2.07447%; }
-.admin .row-fluid [class*="span"]:first-child { margin-left: 0; }
-.admin .row-fluid .controls-row [class*="span"] + [class*="span"] { margin-left: 2.12766%; }
-.admin .row-fluid .span12 { width: 100%; *width: 99.94681%; }
-.admin .row-fluid .span11 { width: 91.48936%; *width: 91.43617%; }
-.admin .row-fluid .span10 { width: 82.97872%; *width: 82.92553%; }
-.admin .row-fluid .span9 { width: 74.46809%; *width: 74.41489%; }
-.admin .row-fluid .span8 { width: 65.95745%; *width: 65.90426%; }
-.admin .row-fluid .span7 { width: 57.44681%; *width: 57.39362%; }
-.admin .row-fluid .span6 { width: 48.93617%; *width: 48.88298%; }
-.admin .row-fluid .span5 { width: 40.42553%; *width: 40.37234%; }
-.admin .row-fluid .span4 { width: 31.91489%; *width: 31.8617%; }
-.admin .row-fluid .span3 { width: 23.40426%; *width: 23.35106%; }
-.admin .row-fluid .span2 { width: 14.89362%; *width: 14.84043%; }
-.admin .row-fluid .span1 { width: 6.38298%; *width: 6.32979%; }
-.admin .row-fluid .offset12 { margin-left: 104.25532%; *margin-left: 104.14894%; }
-.admin .row-fluid .offset12:first-child { margin-left: 102.12766%; *margin-left: 102.02128%; }
-.admin .row-fluid .offset11 { margin-left: 95.74468%; *margin-left: 95.6383%; }
-.admin .row-fluid .offset11:first-child { margin-left: 93.61702%; *margin-left: 93.51064%; }
-.admin .row-fluid .offset10 { margin-left: 87.23404%; *margin-left: 87.12766%; }
-.admin .row-fluid .offset10:first-child { margin-left: 85.10638%; *margin-left: 85.0%; }
-.admin .row-fluid .offset9 { margin-left: 78.7234%; *margin-left: 78.61702%; }
-.admin .row-fluid .offset9:first-child { margin-left: 76.59574%; *margin-left: 76.48936%; }
-.admin .row-fluid .offset8 { margin-left: 70.21277%; *margin-left: 70.10638%; }
-.admin .row-fluid .offset8:first-child { margin-left: 68.08511%; *margin-left: 67.97872%; }
-.admin .row-fluid .offset7 { margin-left: 61.70213%; *margin-left: 61.59574%; }
-.admin .row-fluid .offset7:first-child { margin-left: 59.57447%; *margin-left: 59.46809%; }
-.admin .row-fluid .offset6 { margin-left: 53.19149%; *margin-left: 53.08511%; }
-.admin .row-fluid .offset6:first-child { margin-left: 51.06383%; *margin-left: 50.95745%; }
-.admin .row-fluid .offset5 { margin-left: 44.68085%; *margin-left: 44.57447%; }
-.admin .row-fluid .offset5:first-child { margin-left: 42.55319%; *margin-left: 42.44681%; }
-.admin .row-fluid .offset4 { margin-left: 36.17021%; *margin-left: 36.06383%; }
-.admin .row-fluid .offset4:first-child { margin-left: 34.04255%; *margin-left: 33.93617%; }
-.admin .row-fluid .offset3 { margin-left: 27.65957%; *margin-left: 27.55319%; }
-.admin .row-fluid .offset3:first-child { margin-left: 25.53191%; *margin-left: 25.42553%; }
-.admin .row-fluid .offset2 { margin-left: 19.14894%; *margin-left: 19.04255%; }
-.admin .row-fluid .offset2:first-child { margin-left: 17.02128%; *margin-left: 16.91489%; }
-.admin .row-fluid .offset1 { margin-left: 10.6383%; *margin-left: 10.53191%; }
-.admin .row-fluid .offset1:first-child { margin-left: 8.51064%; *margin-left: 8.40426%; }
-.admin [class*="span"].hide, .admin .row-fluid [class*="span"].hide { display: none; }
-.admin [class*="span"].pull-right, .admin .row-fluid [class*="span"].pull-right { float: right; }
-.admin .container { margin-right: auto; margin-left: auto; *zoom: 1; }
-.admin .container:before, .admin .container:after { display: table; content: ""; line-height: 0; }
-.admin .container:after { clear: both; }
-.admin .container-fluid { padding-right: 20px; padding-left: 20px; *zoom: 1; }
-.admin .container-fluid:before, .admin .container-fluid:after { display: table; content: ""; line-height: 0; }
-.admin .container-fluid:after { clear: both; }
-.admin p { margin: 0 0 10px; }
-.admin .lead { margin-bottom: 20px; font-size: 21px; font-weight: 200; line-height: 30px; }
-.admin small { font-size: 85%; }
-.admin strong { font-weight: bold; }
-.admin em { font-style: italic; }
-.admin cite { font-style: normal; }
-.admin .muted { color: #999999; }
-.admin a.muted:hover { color: gray; }
-.admin .text-warning { color: #c09853; }
-.admin a.text-warning:hover { color: #a47e3c; }
-.admin .text-error { color: #b94a48; }
-.admin a.text-error:hover { color: #953b39; }
-.admin .text-info { color: #3a87ad; }
-.admin a.text-info:hover { color: #2d6987; }
-.admin .text-success { color: #468847; }
-.admin a.text-success:hover { color: #356635; }
-.admin h1, .admin h2, .admin h3, .admin h4, .admin h5, .admin h6 { margin: 10px 0; font-family: inherit; font-weight: bold; line-height: 20px; color: inherit; text-rendering: optimizelegibility; }
-.admin h1 small, .admin h2 small, .admin h3 small, .admin h4 small, .admin h5 small, .admin h6 small { font-weight: normal; line-height: 1; color: #999999; }
-.admin h1, .admin h2, .admin h3 { line-height: 40px; }
-.admin h1 { font-size: 38.5px; }
-.admin h2 { font-size: 31.5px; }
-.admin h3 { font-size: 24.5px; }
-.admin h4 { font-size: 17.5px; }
-.admin h5 { font-size: 14px; }
-.admin h6 { font-size: 11.9px; }
-.admin h1 small { font-size: 24.5px; }
-.admin h2 small { font-size: 17.5px; }
-.admin h3 small { font-size: 14px; }
-.admin h4 small { font-size: 14px; }
-.admin .page-header { padding-bottom: 9px; margin: 20px 0 30px; border-bottom: 1px solid #eeeeee; }
-.admin ul, .admin ol { padding: 0; margin: 0 0 10px 25px; }
-.admin ul ul, .admin ul ol, .admin ol ol, .admin ol ul { margin-bottom: 0; }
-.admin li { line-height: 20px; }
-.admin ul.unstyled, .admin ol.unstyled { margin-left: 0; list-style: none; }
-.admin ul.inline, .admin ol.inline { margin-left: 0; list-style: none; }
-.admin ul.inline > li, .admin ol.inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; }
-.admin dl { margin-bottom: 20px; }
-.admin dt, .admin dd { line-height: 20px; }
-.admin dt { font-weight: bold; }
-.admin dd { margin-left: 10px; }
-.admin .dl-horizontal { *zoom: 1; }
-.admin .dl-horizontal:before, .admin .dl-horizontal:after { display: table; content: ""; line-height: 0; }
-.admin .dl-horizontal:after { clear: both; }
-.admin .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
-.admin .dl-horizontal dd { margin-left: 180px; }
-.admin hr { margin: 20px 0; border: 0; border-top: 1px solid #eeeeee; border-bottom: 1px solid white; }
-.admin abbr[title], .admin abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; }
-.admin abbr.initialism { font-size: 90%; text-transform: uppercase; }
-.admin blockquote { padding: 0 0 0 15px; margin: 0 0 20px; border-left: 5px solid #eeeeee; }
-.admin blockquote p { margin-bottom: 0; font-size: 16px; font-weight: 300; line-height: 25px; }
-.admin blockquote small { display: block; line-height: 20px; color: #999999; }
-.admin blockquote small:before { content: '\2014 \00A0'; }
-.admin blockquote.pull-right { float: right; padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; }
-.admin blockquote.pull-right p, .admin blockquote.pull-right small { text-align: right; }
-.admin blockquote.pull-right small:before { content: ''; }
-.admin blockquote.pull-right small:after { content: '\00A0 \2014'; }
-.admin q:before, .admin q:after, .admin blockquote:before, .admin blockquote:after { content: ""; }
-.admin address { display: block; margin-bottom: 20px; font-style: normal; line-height: 20px; }
-.admin code, .admin pre { padding: 0 3px 2px; font-family: Monaco, Menlo, Consolas, "Courier New", monospace; font-size: 12px; color: #333333; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin code { padding: 2px 4px; color: #d14; background-color: #f7f7f9; border: 1px solid #e1e1e8; white-space: nowrap; }
-.admin pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 20px; word-break: break-all; word-wrap: break-word; white-space: pre; white-space: pre-wrap; background-color: #f5f5f5; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin pre.prettyprint { margin-bottom: 20px; }
-.admin pre code { padding: 0; color: inherit; white-space: pre; white-space: pre-wrap; background-color: transparent; border: 0; }
-.admin .pre-scrollable { max-height: 340px; overflow-y: scroll; }
-.admin form { margin: 0 0 20px; }
-.admin fieldset { padding: 0; margin: 0; border: 0; }
-.admin legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: 40px; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; }
-.admin legend small { font-size: 15px; color: #999999; }
-.admin label, .admin input, .admin button, .admin select, .admin textarea { font-size: 14px; font-weight: normal; line-height: 20px; }
-.admin input, .admin button, .admin select, .admin textarea { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
-.admin label { display: block; margin-bottom: 5px; }
-.admin select, .admin textarea, .admin input[type="text"], .admin input[type="password"], .admin input[type="datetime"], .admin input[type="datetime-local"], .admin input[type="date"], .admin input[type="month"], .admin input[type="time"], .admin input[type="week"], .admin input[type="number"], .admin input[type="email"], .admin input[type="url"], .admin input[type="search"], .admin input[type="tel"], .admin input[type="color"], .admin .uneditable-input { display: inline-block; height: 20px; padding: 4px 6px; margin-bottom: 10px; font-size: 14px; line-height: 20px; color: #555555; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; vertical-align: middle; }
-.admin input, .admin textarea, .admin .uneditable-input { width: 206px; }
-.admin textarea { height: auto; }
-.admin textarea, .admin input[type="text"], .admin input[type="password"], .admin input[type="datetime"], .admin input[type="datetime-local"], .admin input[type="date"], .admin input[type="month"], .admin input[type="time"], .admin input[type="week"], .admin input[type="number"], .admin input[type="email"], .admin input[type="url"], .admin input[type="search"], .admin input[type="tel"], .admin input[type="color"], .admin .uneditable-input { background-color: white; border: 1px solid #cccccc; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; -moz-transition: border linear 0.2s, box-shadow linear 0.2s; -o-transition: border linear 0.2s, box-shadow linear 0.2s; transition: border linear 0.2s, box-shadow linear 0.2s; }
-.admin textarea:focus, .admin input[type="text"]:focus, .admin input[type="password"]:focus, .admin input[type="datetime"]:focus, .admin input[type="datetime-local"]:focus, .admin input[type="date"]:focus, .admin input[type="month"]:focus, .admin input[type="time"]:focus, .admin input[type="week"]:focus, .admin input[type="number"]:focus, .admin input[type="email"]:focus, .admin input[type="url"]:focus, .admin input[type="search"]:focus, .admin input[type="tel"]:focus, .admin input[type="color"]:focus, .admin .uneditable-input:focus { border-color: rgba(82, 168, 236, 0.8); outline: 0; outline: thin dotted \9; /* IE6-9 */ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); }
-.admin input[type="radio"], .admin input[type="checkbox"] { margin: 4px 0 0; *margin-top: 0; /* IE7 */ margin-top: 1px \9; /* IE8-9 */ line-height: normal; }
-.admin input[type="file"], .admin input[type="image"], .admin input[type="submit"], .admin input[type="reset"], .admin input[type="button"], .admin input[type="radio"], .admin input[type="checkbox"] { width: auto; }
-.admin select, .admin input[type="file"] { height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */ *margin-top: 4px; /* For IE7, add top margin to align select with labels */ line-height: 30px; }
-.admin select { width: 220px; border: 1px solid #cccccc; background-color: white; }
-.admin select[multiple], .admin select[size] { height: auto; }
-.admin select:focus, .admin input[type="file"]:focus, .admin input[type="radio"]:focus, .admin input[type="checkbox"]:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
-.admin .uneditable-input, .admin .uneditable-textarea { color: #999999; background-color: #fcfcfc; border-color: #cccccc; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); cursor: not-allowed; }
-.admin .uneditable-input { overflow: hidden; white-space: nowrap; }
-.admin .uneditable-textarea { width: auto; height: auto; }
-.admin input:-moz-placeholder, .admin textarea:-moz-placeholder { color: #999999; }
-.admin input:-ms-input-placeholder, .admin textarea:-ms-input-placeholder { color: #999999; }
-.admin input::-webkit-input-placeholder, .admin textarea::-webkit-input-placeholder { color: #999999; }
-.admin .radio, .admin .checkbox { min-height: 20px; padding-left: 20px; }
-.admin .radio input[type="radio"], .admin .checkbox input[type="checkbox"] { float: left; margin-left: -20px; }
-.admin .controls > .radio:first-child, .admin .controls > .checkbox:first-child { padding-top: 5px; }
-.admin .radio.inline, .admin .checkbox.inline { display: inline-block; padding-top: 5px; margin-bottom: 0; vertical-align: middle; }
-.admin .radio.inline + .radio.inline, .admin .checkbox.inline + .checkbox.inline { margin-left: 10px; }
-.admin .input-mini { width: 60px; }
-.admin .input-small { width: 90px; }
-.admin .input-medium { width: 150px; }
-.admin .input-large { width: 210px; }
-.admin .input-xlarge { width: 270px; }
-.admin .input-xxlarge { width: 530px; }
-.admin input[class*="span"], .admin select[class*="span"], .admin textarea[class*="span"], .admin .uneditable-input[class*="span"], .admin .row-fluid input[class*="span"], .admin .row-fluid select[class*="span"], .admin .row-fluid textarea[class*="span"], .admin .row-fluid .uneditable-input[class*="span"] { float: none; margin-left: 0; }
-.admin .input-append input[class*="span"], .admin .input-append .uneditable-input[class*="span"], .admin .input-prepend input[class*="span"], .admin .input-prepend .uneditable-input[class*="span"], .admin .row-fluid input[class*="span"], .admin .row-fluid select[class*="span"], .admin .row-fluid textarea[class*="span"], .admin .row-fluid .uneditable-input[class*="span"], .admin .row-fluid .input-prepend [class*="span"], .admin .row-fluid .input-append [class*="span"] { display: inline-block; }
-.admin input, .admin textarea, .admin .uneditable-input { margin-left: 0; }
-.admin .controls-row [class*="span"] + [class*="span"] { margin-left: 20px; }
-.admin input.span12, .admin textarea.span12, .admin .uneditable-input.span12 { width: 926px; }
-.admin input.span11, .admin textarea.span11, .admin .uneditable-input.span11 { width: 846px; }
-.admin input.span10, .admin textarea.span10, .admin .uneditable-input.span10 { width: 766px; }
-.admin input.span9, .admin textarea.span9, .admin .uneditable-input.span9 { width: 686px; }
-.admin input.span8, .admin textarea.span8, .admin .uneditable-input.span8 { width: 606px; }
-.admin input.span7, .admin textarea.span7, .admin .uneditable-input.span7 { width: 526px; }
-.admin input.span6, .admin textarea.span6, .admin .uneditable-input.span6 { width: 446px; }
-.admin input.span5, .admin textarea.span5, .admin .uneditable-input.span5 { width: 366px; }
-.admin input.span4, .admin textarea.span4, .admin .uneditable-input.span4 { width: 286px; }
-.admin input.span3, .admin textarea.span3, .admin .uneditable-input.span3 { width: 206px; }
-.admin input.span2, .admin textarea.span2, .admin .uneditable-input.span2 { width: 126px; }
-.admin input.span1, .admin textarea.span1, .admin .uneditable-input.span1 { width: 46px; }
-.admin .controls-row { *zoom: 1; }
-.admin .controls-row:before, .admin .controls-row:after { display: table; content: ""; line-height: 0; }
-.admin .controls-row:after { clear: both; }
-.admin .controls-row [class*="span"], .admin .row-fluid .controls-row [class*="span"] { float: left; }
-.admin .controls-row .checkbox[class*="span"], .admin .controls-row .radio[class*="span"] { padding-top: 5px; }
-.admin input[disabled], .admin select[disabled], .admin textarea[disabled], .admin input[readonly], .admin select[readonly], .admin textarea[readonly] { cursor: not-allowed; background-color: #eeeeee; }
-.admin input[type="radio"][disabled], .admin input[type="checkbox"][disabled], .admin input[type="radio"][readonly], .admin input[type="checkbox"][readonly] { background-color: transparent; }
-.admin .control-group.warning .control-label, .admin .control-group.warning .help-block, .admin .control-group.warning .help-inline { color: #c09853; }
-.admin .control-group.warning .checkbox, .admin .control-group.warning .radio, .admin .control-group.warning input, .admin .control-group.warning select, .admin .control-group.warning textarea { color: #c09853; }
-.admin .control-group.warning input, .admin .control-group.warning select, .admin .control-group.warning textarea { border-color: #c09853; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
-.admin .control-group.warning input:focus, .admin .control-group.warning select:focus, .admin .control-group.warning textarea:focus { border-color: #a47e3c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; }
-.admin .control-group.warning .input-prepend .add-on, .admin .control-group.warning .input-append .add-on { color: #c09853; background-color: #fcf8e3; border-color: #c09853; }
-.admin .control-group.error .control-label, .admin .control-group.error .help-block, .admin .control-group.error .help-inline { color: #b94a48; }
-.admin .control-group.error .checkbox, .admin .control-group.error .radio, .admin .control-group.error input, .admin .control-group.error select, .admin .control-group.error textarea { color: #b94a48; }
-.admin .control-group.error input, .admin .control-group.error select, .admin .control-group.error textarea { border-color: #b94a48; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
-.admin .control-group.error input:focus, .admin .control-group.error select:focus, .admin .control-group.error textarea:focus { border-color: #953b39; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; }
-.admin .control-group.error .input-prepend .add-on, .admin .control-group.error .input-append .add-on { color: #b94a48; background-color: #f2dede; border-color: #b94a48; }
-.admin .control-group.success .control-label, .admin .control-group.success .help-block, .admin .control-group.success .help-inline { color: #468847; }
-.admin .control-group.success .checkbox, .admin .control-group.success .radio, .admin .control-group.success input, .admin .control-group.success select, .admin .control-group.success textarea { color: #468847; }
-.admin .control-group.success input, .admin .control-group.success select, .admin .control-group.success textarea { border-color: #468847; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
-.admin .control-group.success input:focus, .admin .control-group.success select:focus, .admin .control-group.success textarea:focus { border-color: #356635; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; }
-.admin .control-group.success .input-prepend .add-on, .admin .control-group.success .input-append .add-on { color: #468847; background-color: #dff0d8; border-color: #468847; }
-.admin .control-group.info .control-label, .admin .control-group.info .help-block, .admin .control-group.info .help-inline { color: #3a87ad; }
-.admin .control-group.info .checkbox, .admin .control-group.info .radio, .admin .control-group.info input, .admin .control-group.info select, .admin .control-group.info textarea { color: #3a87ad; }
-.admin .control-group.info input, .admin .control-group.info select, .admin .control-group.info textarea { border-color: #3a87ad; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
-.admin .control-group.info input:focus, .admin .control-group.info select:focus, .admin .control-group.info textarea:focus { border-color: #2d6987; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; }
-.admin .control-group.info .input-prepend .add-on, .admin .control-group.info .input-append .add-on { color: #3a87ad; background-color: #d9edf7; border-color: #3a87ad; }
-.admin input:focus:invalid, .admin textarea:focus:invalid, .admin select:focus:invalid { color: #b94a48; border-color: #ee5f5b; }
-.admin input:focus:invalid:focus, .admin textarea:focus:invalid:focus, .admin select:focus:invalid:focus { border-color: #e9322d; -webkit-box-shadow: 0 0 6px #f8b9b7; -moz-box-shadow: 0 0 6px #f8b9b7; box-shadow: 0 0 6px #f8b9b7; }
-.admin .form-actions { padding: 19px 20px 20px; margin-top: 20px; margin-bottom: 20px; background-color: whitesmoke; border-top: 1px solid #e5e5e5; *zoom: 1; }
-.admin .form-actions:before, .admin .form-actions:after { display: table; content: ""; line-height: 0; }
-.admin .form-actions:after { clear: both; }
-.admin .help-block, .admin .help-inline { color: #595959; }
-.admin .help-block { display: block; margin-bottom: 10px; }
-.admin .help-inline { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; vertical-align: middle; padding-left: 5px; }
-.admin .input-append, .admin .input-prepend { margin-bottom: 5px; font-size: 0; white-space: nowrap; }
-.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input, .admin .input-append .dropdown-menu, .admin .input-prepend input, .admin .input-prepend select, .admin .input-prepend .uneditable-input, .admin .input-prepend .dropdown-menu { font-size: 14px; }
-.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input, .admin .input-prepend input, .admin .input-prepend select, .admin .input-prepend .uneditable-input { position: relative; margin-bottom: 0; *margin-left: 0; vertical-align: top; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-append input:focus, .admin .input-append select:focus, .admin .input-append .uneditable-input:focus, .admin .input-prepend input:focus, .admin .input-prepend select:focus, .admin .input-prepend .uneditable-input:focus { z-index: 2; }
-.admin .input-append .add-on, .admin .input-prepend .add-on { display: inline-block; width: auto; height: 20px; min-width: 16px; padding: 4px 5px; font-size: 14px; font-weight: normal; line-height: 20px; text-align: center; text-shadow: 0 1px 0 white; background-color: #eeeeee; border: 1px solid #cccccc; }
-.admin .input-append .add-on, .admin .input-append .btn, .admin .input-append .btn-group > .dropdown-toggle, .admin .input-prepend .add-on, .admin .input-prepend .btn, .admin .input-prepend .btn-group > .dropdown-toggle { vertical-align: top; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .input-append .active, .admin .input-prepend .active { background-color: #a9dba9; border-color: #46a546; }
-.admin .input-prepend .add-on, .admin .input-prepend .btn { margin-right: -1px; }
-.admin .input-prepend .add-on:first-child, .admin .input-prepend .btn:first-child { -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
-.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input { -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
-.admin .input-append input + .btn-group .btn:last-child, .admin .input-append select + .btn-group .btn:last-child, .admin .input-append .uneditable-input + .btn-group .btn:last-child { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-append .add-on, .admin .input-append .btn, .admin .input-append .btn-group { margin-left: -1px; }
-.admin .input-append .add-on:last-child, .admin .input-append .btn:last-child, .admin .input-append .btn-group:last-child > .dropdown-toggle { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-prepend.input-append input, .admin .input-prepend.input-append select, .admin .input-prepend.input-append .uneditable-input { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .input-prepend.input-append input + .btn-group .btn, .admin .input-prepend.input-append select + .btn-group .btn, .admin .input-prepend.input-append .uneditable-input + .btn-group .btn { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-prepend.input-append .add-on:first-child, .admin .input-prepend.input-append .btn:first-child { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
-.admin .input-prepend.input-append .add-on:last-child, .admin .input-prepend.input-append .btn:last-child { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .input-prepend.input-append .btn-group:first-child { margin-left: 0; }
-.admin input.search-query { padding-right: 14px; padding-right: 4px \9; padding-left: 14px; padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ margin-bottom: 0; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
-.admin .form-search .input-append .search-query, .admin .form-search .input-prepend .search-query { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .form-search .input-append .search-query { -webkit-border-radius: 14px 0 0 14px; -moz-border-radius: 14px 0 0 14px; border-radius: 14px 0 0 14px; }
-.admin .form-search .input-append .btn { -webkit-border-radius: 0 14px 14px 0; -moz-border-radius: 0 14px 14px 0; border-radius: 0 14px 14px 0; }
-.admin .form-search .input-prepend .search-query { -webkit-border-radius: 0 14px 14px 0; -moz-border-radius: 0 14px 14px 0; border-radius: 0 14px 14px 0; }
-.admin .form-search .input-prepend .btn { -webkit-border-radius: 14px 0 0 14px; -moz-border-radius: 14px 0 0 14px; border-radius: 14px 0 0 14px; }
-.admin .form-search input, .admin .form-search textarea, .admin .form-search select, .admin .form-search .help-inline, .admin .form-search .uneditable-input, .admin .form-search .input-prepend, .admin .form-search .input-append, .admin .form-inline input, .admin .form-inline textarea, .admin .form-inline select, .admin .form-inline .help-inline, .admin .form-inline .uneditable-input, .admin .form-inline .input-prepend, .admin .form-inline .input-append, .admin .form-horizontal input, .admin .form-horizontal textarea, .admin .form-horizontal select, .admin .form-horizontal .help-inline, .admin .form-horizontal .uneditable-input, .admin .form-horizontal .input-prepend, .admin .form-horizontal .input-append { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; margin-bottom: 0; vertical-align: middle; }
-.admin .form-search .hide, .admin .form-inline .hide, .admin .form-horizontal .hide { display: none; }
-.admin .form-search label, .admin .form-inline label, .admin .form-search .btn-group, .admin .form-inline .btn-group { display: inline-block; }
-.admin .form-search .input-append, .admin .form-inline .input-append, .admin .form-search .input-prepend, .admin .form-inline .input-prepend { margin-bottom: 0; }
-.admin .form-search .radio, .admin .form-search .checkbox, .admin .form-inline .radio, .admin .form-inline .checkbox { padding-left: 0; margin-bottom: 0; vertical-align: middle; }
-.admin .form-search .radio input[type="radio"], .admin .form-search .checkbox input[type="checkbox"], .admin .form-inline .radio input[type="radio"], .admin .form-inline .checkbox input[type="checkbox"] { float: left; margin-right: 3px; margin-left: 0; }
-.admin .control-group { margin-bottom: 10px; }
-.admin legend + .control-group { margin-top: 20px; -webkit-margin-top-collapse: separate; }
-.admin .form-horizontal .control-group { margin-bottom: 20px; *zoom: 1; }
-.admin .form-horizontal .control-group:before, .admin .form-horizontal .control-group:after { display: table; content: ""; line-height: 0; }
-.admin .form-horizontal .control-group:after { clear: both; }
-.admin .form-horizontal .control-label { float: left; width: 160px; padding-top: 5px; text-align: right; }
-.admin .form-horizontal .controls { *display: inline-block; *padding-left: 20px; margin-left: 180px; *margin-left: 0; }
-.admin .form-horizontal .controls:first-child { *padding-left: 180px; }
-.admin .form-horizontal .help-block { margin-bottom: 0; }
-.admin .form-horizontal input + .help-block, .admin .form-horizontal select + .help-block, .admin .form-horizontal textarea + .help-block, .admin .form-horizontal .uneditable-input + .help-block, .admin .form-horizontal .input-prepend + .help-block, .admin .form-horizontal .input-append + .help-block { margin-top: 10px; }
-.admin .form-horizontal .form-actions { padding-left: 180px; }
-.admin table { max-width: 100%; background-color: transparent; border-collapse: collapse; border-spacing: 0; }
-.admin .table { width: 100%; margin-bottom: 20px; }
-.admin .table th, .admin .table td { padding: 8px; line-height: 20px; text-align: left; vertical-align: top; border-top: 1px solid #dddddd; }
-.admin .table th { font-weight: bold; }
-.admin .table thead th { vertical-align: bottom; }
-.admin .table caption + thead tr:first-child th, .admin .table caption + thead tr:first-child td, .admin .table colgroup + thead tr:first-child th, .admin .table colgroup + thead tr:first-child td, .admin .table thead:first-child tr:first-child th, .admin .table thead:first-child tr:first-child td { border-top: 0; }
-.admin .table tbody + tbody { border-top: 2px solid #dddddd; }
-.admin .table .table { background-color: white; }
-.admin .table-condensed th, .admin .table-condensed td { padding: 4px 5px; }
-.admin .table-bordered { border: 1px solid #dddddd; border-collapse: separate; *border-collapse: collapse; border-left: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .table-bordered th, .admin .table-bordered td { border-left: 1px solid #dddddd; }
-.admin .table-bordered caption + thead tr:first-child th, .admin .table-bordered caption + tbody tr:first-child th, .admin .table-bordered caption + tbody tr:first-child td, .admin .table-bordered colgroup + thead tr:first-child th, .admin .table-bordered colgroup + tbody tr:first-child th, .admin .table-bordered colgroup + tbody tr:first-child td, .admin .table-bordered thead:first-child tr:first-child th, .admin .table-bordered tbody:first-child tr:first-child th, .admin .table-bordered tbody:first-child tr:first-child td { border-top: 0; }
-.admin .table-bordered thead:first-child tr:first-child > th:first-child, .admin .table-bordered tbody:first-child tr:first-child > td:first-child { -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
-.admin .table-bordered thead:first-child tr:first-child > th:last-child, .admin .table-bordered tbody:first-child tr:first-child > td:last-child { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; }
-.admin .table-bordered thead:last-child tr:last-child > th:first-child, .admin .table-bordered tbody:last-child tr:last-child > td:first-child, .admin .table-bordered tfoot:last-child tr:last-child > td:first-child { -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
-.admin .table-bordered thead:last-child tr:last-child > th:last-child, .admin .table-bordered tbody:last-child tr:last-child > td:last-child, .admin .table-bordered tfoot:last-child tr:last-child > td:last-child { -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
-.admin .table-bordered tfoot + tbody:last-child tr:last-child td:first-child { -webkit-border-bottom-left-radius: 0; -moz-border-radius-bottomleft: 0; border-bottom-left-radius: 0; }
-.admin .table-bordered tfoot + tbody:last-child tr:last-child td:last-child { -webkit-border-bottom-right-radius: 0; -moz-border-radius-bottomright: 0; border-bottom-right-radius: 0; }
-.admin .table-bordered caption + thead tr:first-child th:first-child, .admin .table-bordered caption + tbody tr:first-child td:first-child, .admin .table-bordered colgroup + thead tr:first-child th:first-child, .admin .table-bordered colgroup + tbody tr:first-child td:first-child { -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
-.admin .table-bordered caption + thead tr:first-child th:last-child, .admin .table-bordered caption + tbody tr:first-child td:last-child, .admin .table-bordered colgroup + thead tr:first-child th:last-child, .admin .table-bordered colgroup + tbody tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; }
-.admin .table-striped tbody > tr:nth-child(odd) > td, .admin .table-striped tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; }
-.admin .table-hover tbody tr:hover td, .admin .table-hover tbody tr:hover th { background-color: whitesmoke; }
-.admin table td[class*="span"], .admin table th[class*="span"], .admin .row-fluid table td[class*="span"], .admin .row-fluid table th[class*="span"] { display: table-cell; float: none; margin-left: 0; }
-.admin .table td.span1, .admin .table th.span1 { float: none; width: 44px; margin-left: 0; }
-.admin .table td.span2, .admin .table th.span2 { float: none; width: 124px; margin-left: 0; }
-.admin .table td.span3, .admin .table th.span3 { float: none; width: 204px; margin-left: 0; }
-.admin .table td.span4, .admin .table th.span4 { float: none; width: 284px; margin-left: 0; }
-.admin .table td.span5, .admin .table th.span5 { float: none; width: 364px; margin-left: 0; }
-.admin .table td.span6, .admin .table th.span6 { float: none; width: 444px; margin-left: 0; }
-.admin .table td.span7, .admin .table th.span7 { float: none; width: 524px; margin-left: 0; }
-.admin .table td.span8, .admin .table th.span8 { float: none; width: 604px; margin-left: 0; }
-.admin .table td.span9, .admin .table th.span9 { float: none; width: 684px; margin-left: 0; }
-.admin .table td.span10, .admin .table th.span10 { float: none; width: 764px; margin-left: 0; }
-.admin .table td.span11, .admin .table th.span11 { float: none; width: 844px; margin-left: 0; }
-.admin .table td.span12, .admin .table th.span12 { float: none; width: 924px; margin-left: 0; }
-.admin .table tbody tr.success td { background-color: #dff0d8; }
-.admin .table tbody tr.error td { background-color: #f2dede; }
-.admin .table tbody tr.warning td { background-color: #fcf8e3; }
-.admin .table tbody tr.info td { background-color: #d9edf7; }
-.admin .table-hover tbody tr.success:hover td { background-color: #d0e9c6; }
-.admin .table-hover tbody tr.error:hover td { background-color: #ebcccc; }
-.admin .table-hover tbody tr.warning:hover td { background-color: #faf2cc; }
-.admin .table-hover tbody tr.info:hover td { background-color: #c4e3f3; }
-.admin [class^="icon-"], .admin [class*=" icon-"] { display: inline-block; width: 14px; height: 14px; *margin-right: .3em; line-height: 14px; vertical-align: text-top; background-image: url(../images/glyphicons-halflings.png?1361243119); background-position: 14px 14px; background-repeat: no-repeat; margin-top: 1px; }
-.admin .icon-white, .admin .nav-pills > .active > a > [class^="icon-"], .admin .nav-pills > .active > a > [class*=" icon-"], .admin .nav-list > .active > a > [class^="icon-"], .admin .nav-list > .active > a > [class*=" icon-"], .admin .navbar-inverse .nav > .active > a > [class^="icon-"], .admin .navbar-inverse .nav > .active > a > [class*=" icon-"], .admin .dropdown-menu > li > a:hover > [class^="icon-"], .admin .dropdown-menu > li > a:hover > [class*=" icon-"], .admin .dropdown-menu > .active > a > [class^="icon-"], .admin .dropdown-menu > .active > a > [class*=" icon-"], .admin .dropdown-submenu:hover > a > [class^="icon-"], .admin .dropdown-submenu:hover > a > [class*=" icon-"] { background-image: url(../images/glyphicons-halflings-white.png?1361243119); }
-.admin .icon-glass { background-position: 0 0; }
-.admin .icon-music { background-position: -24px 0; }
-.admin .icon-search { background-position: -48px 0; }
-.admin .icon-envelope { background-position: -72px 0; }
-.admin .icon-heart { background-position: -96px 0; }
-.admin .icon-star { background-position: -120px 0; }
-.admin .icon-star-empty { background-position: -144px 0; }
-.admin .icon-user { background-position: -168px 0; }
-.admin .icon-film { background-position: -192px 0; }
-.admin .icon-th-large { background-position: -216px 0; }
-.admin .icon-th { background-position: -240px 0; }
-.admin .icon-th-list { background-position: -264px 0; }
-.admin .icon-ok { background-position: -288px 0; }
-.admin .icon-remove { background-position: -312px 0; }
-.admin .icon-zoom-in { background-position: -336px 0; }
-.admin .icon-zoom-out { background-position: -360px 0; }
-.admin .icon-off { background-position: -384px 0; }
-.admin .icon-signal { background-position: -408px 0; }
-.admin .icon-cog { background-position: -432px 0; }
-.admin .icon-trash { background-position: -456px 0; }
-.admin .icon-home { background-position: 0 -24px; }
-.admin .icon-file { background-position: -24px -24px; }
-.admin .icon-time { background-position: -48px -24px; }
-.admin .icon-road { background-position: -72px -24px; }
-.admin .icon-download-alt { background-position: -96px -24px; }
-.admin .icon-download { background-position: -120px -24px; }
-.admin .icon-upload { background-position: -144px -24px; }
-.admin .icon-inbox { background-position: -168px -24px; }
-.admin .icon-play-circle { background-position: -192px -24px; }
-.admin .icon-repeat { background-position: -216px -24px; }
-.admin .icon-refresh { background-position: -240px -24px; }
-.admin .icon-list-alt { background-position: -264px -24px; }
-.admin .icon-lock { background-position: -287px -24px; }
-.admin .icon-flag { background-position: -312px -24px; }
-.admin .icon-headphones { background-position: -336px -24px; }
-.admin .icon-volume-off { background-position: -360px -24px; }
-.admin .icon-volume-down { background-position: -384px -24px; }
-.admin .icon-volume-up { background-position: -408px -24px; }
-.admin .icon-qrcode { background-position: -432px -24px; }
-.admin .icon-barcode { background-position: -456px -24px; }
-.admin .icon-tag { background-position: 0 -48px; }
-.admin .icon-tags { background-position: -25px -48px; }
-.admin .icon-book { background-position: -48px -48px; }
-.admin .icon-bookmark { background-position: -72px -48px; }
-.admin .icon-print { background-position: -96px -48px; }
-.admin .icon-camera { background-position: -120px -48px; }
-.admin .icon-font { background-position: -144px -48px; }
-.admin .icon-bold { background-position: -167px -48px; }
-.admin .icon-italic { background-position: -192px -48px; }
-.admin .icon-text-height { background-position: -216px -48px; }
-.admin .icon-text-width { background-position: -240px -48px; }
-.admin .icon-align-left { background-position: -264px -48px; }
-.admin .icon-align-center { background-position: -288px -48px; }
-.admin .icon-align-right { background-position: -312px -48px; }
-.admin .icon-align-justify { background-position: -336px -48px; }
-.admin .icon-list { background-position: -360px -48px; }
-.admin .icon-indent-left { background-position: -384px -48px; }
-.admin .icon-indent-right { background-position: -408px -48px; }
-.admin .icon-facetime-video { background-position: -432px -48px; }
-.admin .icon-picture { background-position: -456px -48px; }
-.admin .icon-pencil { background-position: 0 -72px; }
-.admin .icon-map-marker { background-position: -24px -72px; }
-.admin .icon-adjust { background-position: -48px -72px; }
-.admin .icon-tint { background-position: -72px -72px; }
-.admin .icon-edit { background-position: -96px -72px; }
-.admin .icon-share { background-position: -120px -72px; }
-.admin .icon-check { background-position: -144px -72px; }
-.admin .icon-move { background-position: -168px -72px; }
-.admin .icon-step-backward { background-position: -192px -72px; }
-.admin .icon-fast-backward { background-position: -216px -72px; }
-.admin .icon-backward { background-position: -240px -72px; }
-.admin .icon-play { background-position: -264px -72px; }
-.admin .icon-pause { background-position: -288px -72px; }
-.admin .icon-stop { background-position: -312px -72px; }
-.admin .icon-forward { background-position: -336px -72px; }
-.admin .icon-fast-forward { background-position: -360px -72px; }
-.admin .icon-step-forward { background-position: -384px -72px; }
-.admin .icon-eject { background-position: -408px -72px; }
-.admin .icon-chevron-left { background-position: -432px -72px; }
-.admin .icon-chevron-right { background-position: -456px -72px; }
-.admin .icon-plus-sign { background-position: 0 -96px; }
-.admin .icon-minus-sign { background-position: -24px -96px; }
-.admin .icon-remove-sign { background-position: -48px -96px; }
-.admin .icon-ok-sign { background-position: -72px -96px; }
-.admin .icon-question-sign { background-position: -96px -96px; }
-.admin .icon-info-sign { background-position: -120px -96px; }
-.admin .icon-screenshot { background-position: -144px -96px; }
-.admin .icon-remove-circle { background-position: -168px -96px; }
-.admin .icon-ok-circle { background-position: -192px -96px; }
-.admin .icon-ban-circle { background-position: -216px -96px; }
-.admin .icon-arrow-left { background-position: -240px -96px; }
-.admin .icon-arrow-right { background-position: -264px -96px; }
-.admin .icon-arrow-up { background-position: -289px -96px; }
-.admin .icon-arrow-down { background-position: -312px -96px; }
-.admin .icon-share-alt { background-position: -336px -96px; }
-.admin .icon-resize-full { background-position: -360px -96px; }
-.admin .icon-resize-small { background-position: -384px -96px; }
-.admin .icon-plus { background-position: -408px -96px; }
-.admin .icon-minus { background-position: -433px -96px; }
-.admin .icon-asterisk { background-position: -456px -96px; }
-.admin .icon-exclamation-sign { background-position: 0 -120px; }
-.admin .icon-gift { background-position: -24px -120px; }
-.admin .icon-leaf { background-position: -48px -120px; }
-.admin .icon-fire { background-position: -72px -120px; }
-.admin .icon-eye-open { background-position: -96px -120px; }
-.admin .icon-eye-close { background-position: -120px -120px; }
-.admin .icon-warning-sign { background-position: -144px -120px; }
-.admin .icon-plane { background-position: -168px -120px; }
-.admin .icon-calendar { background-position: -192px -120px; }
-.admin .icon-random { background-position: -216px -120px; width: 16px; }
-.admin .icon-comment { background-position: -240px -120px; }
-.admin .icon-magnet { background-position: -264px -120px; }
-.admin .icon-chevron-up { background-position: -288px -120px; }
-.admin .icon-chevron-down { background-position: -313px -119px; }
-.admin .icon-retweet { background-position: -336px -120px; }
-.admin .icon-shopping-cart { background-position: -360px -120px; }
-.admin .icon-folder-close { background-position: -384px -120px; }
-.admin .icon-folder-open { background-position: -408px -120px; width: 16px; }
-.admin .icon-resize-vertical { background-position: -432px -119px; }
-.admin .icon-resize-horizontal { background-position: -456px -118px; }
-.admin .icon-hdd { background-position: 0 -144px; }
-.admin .icon-bullhorn { background-position: -24px -144px; }
-.admin .icon-bell { background-position: -48px -144px; }
-.admin .icon-certificate { background-position: -72px -144px; }
-.admin .icon-thumbs-up { background-position: -96px -144px; }
-.admin .icon-thumbs-down { background-position: -120px -144px; }
-.admin .icon-hand-right { background-position: -144px -144px; }
-.admin .icon-hand-left { background-position: -168px -144px; }
-.admin .icon-hand-up { background-position: -192px -144px; }
-.admin .icon-hand-down { background-position: -216px -144px; }
-.admin .icon-circle-arrow-right { background-position: -240px -144px; }
-.admin .icon-circle-arrow-left { background-position: -264px -144px; }
-.admin .icon-circle-arrow-up { background-position: -288px -144px; }
-.admin .icon-circle-arrow-down { background-position: -312px -144px; }
-.admin .icon-globe { background-position: -336px -144px; }
-.admin .icon-wrench { background-position: -360px -144px; }
-.admin .icon-tasks { background-position: -384px -144px; }
-.admin .icon-filter { background-position: -408px -144px; }
-.admin .icon-briefcase { background-position: -432px -144px; }
-.admin .icon-fullscreen { background-position: -456px -144px; }
-.admin .dropup, .admin .dropdown { position: relative; }
-.admin .dropdown-toggle { *margin-bottom: -3px; }
-.admin .dropdown-toggle:active, .admin .open .dropdown-toggle { outline: 0; }
-.admin .caret { display: inline-block; width: 0; height: 0; vertical-align: top; border-top: 4px solid black; border-right: 4px solid transparent; border-left: 4px solid transparent; content: ""; }
-.admin .dropdown .caret { margin-top: 8px; margin-left: 2px; }
-.admin .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; list-style: none; background-color: white; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); *border-right-width: 2px; *border-bottom-width: 2px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; }
-.admin .dropdown-menu.pull-right { right: 0; left: auto; }
-.admin .dropdown-menu .divider { *width: 100%; height: 1px; margin: 9px 1px; *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid white; }
-.admin .dropdown-menu li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 20px; color: #333333; white-space: nowrap; }
-.admin .dropdown-menu li > a:hover, .admin .dropdown-menu li > a:focus, .admin .dropdown-submenu:hover > a { text-decoration: none; color: white; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); background-image: -o-linear-gradient(top, #0088cc, #0077b3); background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0); }
-.admin .dropdown-menu .active > a, .admin .dropdown-menu .active > a:hover { color: #333333; text-decoration: none; outline: 0; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); background-image: -o-linear-gradient(top, #0088cc, #0077b3); background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0); }
-.admin .dropdown-menu .disabled > a, .admin .dropdown-menu .disabled > a:hover { color: #999999; }
-.admin .dropdown-menu .disabled > a:hover { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); cursor: default; }
-.admin .open { *z-index: 1000; }
-.admin .open > .dropdown-menu { display: block; }
-.admin .pull-right > .dropdown-menu { right: 0; left: auto; }
-.admin .dropup .caret, .admin .navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px solid black; content: ""; }
-.admin .dropup .dropdown-menu, .admin .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 1px; }
-.admin .dropdown-submenu { position: relative; }
-.admin .dropdown-submenu > .dropdown-menu { top: 0; left: 100%; margin-top: -6px; margin-left: -1px; -webkit-border-radius: 0 6px 6px 6px; -moz-border-radius: 0 6px 6px 6px; border-radius: 0 6px 6px 6px; }
-.admin .dropdown-submenu:hover > .dropdown-menu { display: block; }
-.admin .dropup .dropdown-submenu > .dropdown-menu { top: auto; bottom: 0; margin-top: 0; margin-bottom: -2px; -webkit-border-radius: 5px 5px 5px 0; -moz-border-radius: 5px 5px 5px 0; border-radius: 5px 5px 5px 0; }
-.admin .dropdown-submenu > a:after { display: block; content: " "; float: right; width: 0; height: 0; border-color: transparent; border-style: solid; border-width: 5px 0 5px 5px; border-left-color: #cccccc; margin-top: 5px; margin-right: -10px; }
-.admin .dropdown-submenu:hover > a:after { border-left-color: white; }
-.admin .dropdown-submenu.pull-left { float: none; }
-.admin .dropdown-submenu.pull-left > .dropdown-menu { left: -100%; margin-left: 10px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
-.admin .dropdown .dropdown-menu .nav-header { padding-left: 20px; padding-right: 20px; }
-.admin .typeahead { z-index: 1051; margin-top: 2px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: whitesmoke; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
-.admin .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); }
-.admin .well-large { padding: 24px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .well-small { padding: 9px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin .fade { opacity: 0; -webkit-transition: opacity 0.15s linear; -moz-transition: opacity 0.15s linear; -o-transition: opacity 0.15s linear; transition: opacity 0.15s linear; }
-.admin .fade.in { opacity: 1; }
-.admin .collapse { position: relative; height: 0; overflow: hidden; -webkit-transition: height 0.35s ease; -moz-transition: height 0.35s ease; -o-transition: height 0.35s ease; transition: height 0.35s ease; }
-.admin .collapse.in { height: auto; }
-.admin .close { float: right; font-size: 20px; font-weight: bold; line-height: 20px; color: black; text-shadow: 0 1px 0 white; opacity: 0.2; filter: alpha(opacity=20); }
-.admin .close:hover { color: black; text-decoration: none; cursor: pointer; opacity: 0.4; filter: alpha(opacity=40); }
-.admin button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; }
-.admin .btn { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; padding: 4px 12px; margin-bottom: 0; font-size: 14px; line-height: 20px; text-align: center; vertical-align: middle; cursor: pointer; color: #333333; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); background-color: whitesmoke; background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFE6E6E6', GradientType=0); border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #e6e6e6; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); border: 1px solid #bbbbbb; *border: 0; border-bottom-color: #a2a2a2; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; *margin-left: .3em; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); }
-.admin .btn:hover, .admin .btn:active, .admin .btn.active, .admin .btn.disabled, .admin .btn[disabled] { color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; }
-.admin .btn:active, .admin .btn.active { background-color: #cccccc \9; }
-.admin .btn:first-child { *margin-left: 0; }
-.admin .btn:hover { color: #333333; text-decoration: none; background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; -moz-transition: background-position 0.1s linear; -o-transition: background-position 0.1s linear; transition: background-position 0.1s linear; }
-.admin .btn:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
-.admin .btn.active, .admin .btn:active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
-.admin .btn.disabled, .admin .btn[disabled] { cursor: default; background-image: none; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
-.admin .btn-large { padding: 11px 19px; font-size: 17.5px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .btn-large [class^="icon-"], .admin .btn-large [class*=" icon-"] { margin-top: 4px; }
-.admin .btn-small { padding: 2px 10px; font-size: 11.9px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin .btn-small [class^="icon-"], .admin .btn-small [class*=" icon-"] { margin-top: 0; }
-.admin .btn-mini [class^="icon-"], .admin .btn-mini [class*=" icon-"] { margin-top: -1px; }
-.admin .btn-mini { padding: 0px 6px; font-size: 10.5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin .btn-block { display: block; width: 100%; padding-left: 0; padding-right: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
-.admin .btn-block + .btn-block { margin-top: 5px; }
-.admin input[type="submit"].btn-block, .admin input[type="reset"].btn-block, .admin input[type="button"].btn-block { width: 100%; }
-.admin .btn-primary.active, .admin .btn-warning.active, .admin .btn-danger.active, .admin .btn-success.active, .admin .btn-info.active, .admin .btn-inverse.active { color: rgba(255, 255, 255, 0.75); }
-.admin .btn { border-color: #c5c5c5; border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); }
-.admin .btn-primary { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #006ccc; background-image: -moz-linear-gradient(top, #0088cc, #0044cc); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); background-image: -o-linear-gradient(top, #0088cc, #0044cc); background-image: linear-gradient(to bottom, #0088cc, #0044cc); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0044CC', GradientType=0); border-color: #0044cc #0044cc #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #0044cc; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-primary:hover, .admin .btn-primary:active, .admin .btn-primary.active, .admin .btn-primary.disabled, .admin .btn-primary[disabled] { color: white; background-color: #0044cc; *background-color: #003bb3; }
-.admin .btn-primary:active, .admin .btn-primary.active { background-color: #003399 \9; }
-.admin .btn-warning { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #f9a732; background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #f89406; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-warning:hover, .admin .btn-warning:active, .admin .btn-warning.active, .admin .btn-warning.disabled, .admin .btn-warning[disabled] { color: white; background-color: #f89406; *background-color: #df8505; }
-.admin .btn-warning:active, .admin .btn-warning.active { background-color: #c67605 \9; }
-.admin .btn-danger { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #da4e49; background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFBD362F', GradientType=0); border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #bd362f; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-danger:hover, .admin .btn-danger:active, .admin .btn-danger.active, .admin .btn-danger.disabled, .admin .btn-danger[disabled] { color: white; background-color: #bd362f; *background-color: #a9302a; }
-.admin .btn-danger:active, .admin .btn-danger.active { background-color: #942a25 \9; }
-.admin .btn-success { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #5bb65b; background-image: -moz-linear-gradient(top, #62c462, #51a351); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); background-image: -webkit-linear-gradient(top, #62c462, #51a351); background-image: -o-linear-gradient(top, #62c462, #51a351); background-image: linear-gradient(to bottom, #62c462, #51a351); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF51A351', GradientType=0); border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #51a351; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-success:hover, .admin .btn-success:active, .admin .btn-success.active, .admin .btn-success.disabled, .admin .btn-success[disabled] { color: white; background-color: #51a351; *background-color: #499249; }
-.admin .btn-success:active, .admin .btn-success.active { background-color: #408140 \9; }
-.admin .btn-info { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF2F96B4', GradientType=0); border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #2f96b4; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-info:hover, .admin .btn-info:active, .admin .btn-info.active, .admin .btn-info.disabled, .admin .btn-info[disabled] { color: white; background-color: #2f96b4; *background-color: #2a85a0; }
-.admin .btn-info:active, .admin .btn-info.active { background-color: #24748c \9; }
-.admin .btn-inverse { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #363636; background-image: -moz-linear-gradient(top, #444444, #222222); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); background-image: -webkit-linear-gradient(top, #444444, #222222); background-image: -o-linear-gradient(top, #444444, #222222); background-image: linear-gradient(to bottom, #444444, #222222); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF444444', endColorstr='#FF222222', GradientType=0); border-color: #222222 #222222 black; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #222222; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .btn-inverse:hover, .admin .btn-inverse:active, .admin .btn-inverse.active, .admin .btn-inverse.disabled, .admin .btn-inverse[disabled] { color: white; background-color: #222222; *background-color: #151515; }
-.admin .btn-inverse:active, .admin .btn-inverse.active { background-color: #090909 \9; }
-.admin button.btn, .admin input[type="submit"].btn { *padding-top: 3px; *padding-bottom: 3px; }
-.admin button.btn::-moz-focus-inner, .admin input[type="submit"].btn::-moz-focus-inner { padding: 0; border: 0; }
-.admin button.btn.btn-large, .admin input[type="submit"].btn.btn-large { *padding-top: 7px; *padding-bottom: 7px; }
-.admin button.btn.btn-small, .admin input[type="submit"].btn.btn-small { *padding-top: 3px; *padding-bottom: 3px; }
-.admin button.btn.btn-mini, .admin input[type="submit"].btn.btn-mini { *padding-top: 1px; *padding-bottom: 1px; }
-.admin .btn-link, .admin .btn-link:active, .admin .btn-link[disabled] { background-color: transparent; background-image: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
-.admin .btn-link { border-color: transparent; cursor: pointer; color: #0088cc; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .btn-link:hover { color: #005580; text-decoration: underline; background-color: transparent; }
-.admin .btn-link[disabled]:hover { color: #333333; text-decoration: none; }
-.admin .btn-group { position: relative; display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; font-size: 0; vertical-align: middle; white-space: nowrap; *margin-left: .3em; }
-.admin .btn-group:first-child { *margin-left: 0; }
-.admin .btn-group + .btn-group { margin-left: 5px; }
-.admin .btn-toolbar { font-size: 0; margin-top: 10px; margin-bottom: 10px; }
-.admin .btn-toolbar > .btn + .btn, .admin .btn-toolbar > .btn-group + .btn, .admin .btn-toolbar > .btn + .btn-group { margin-left: 5px; }
-.admin .btn-group > .btn { position: relative; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .btn-group > .btn + .btn { margin-left: -1px; }
-.admin .btn-group > .btn, .admin .btn-group > .dropdown-menu, .admin .btn-group > .popover { font-size: 14px; }
-.admin .btn-group > .btn-mini { font-size: 10.5px; }
-.admin .btn-group > .btn-small { font-size: 11.9px; }
-.admin .btn-group > .btn-large { font-size: 17.5px; }
-.admin .btn-group > .btn:first-child { margin-left: 0; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
-.admin .btn-group > .btn:last-child, .admin .btn-group > .dropdown-toggle { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
-.admin .btn-group > .btn.large:first-child { margin-left: 0; -webkit-border-top-left-radius: 6px; -moz-border-radius-topleft: 6px; border-top-left-radius: 6px; -webkit-border-bottom-left-radius: 6px; -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; }
-.admin .btn-group > .btn.large:last-child, .admin .btn-group > .large.dropdown-toggle { -webkit-border-top-right-radius: 6px; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; -moz-border-radius-bottomright: 6px; border-bottom-right-radius: 6px; }
-.admin .btn-group > .btn:hover, .admin .btn-group > .btn:focus, .admin .btn-group > .btn:active, .admin .btn-group > .btn.active { z-index: 2; }
-.admin .btn-group .dropdown-toggle:active, .admin .btn-group.open .dropdown-toggle { outline: 0; }
-.admin .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); *padding-top: 5px; *padding-bottom: 5px; }
-.admin .btn-group > .btn-mini + .dropdown-toggle { padding-left: 5px; padding-right: 5px; *padding-top: 2px; *padding-bottom: 2px; }
-.admin .btn-group > .btn-small + .dropdown-toggle { *padding-top: 5px; *padding-bottom: 4px; }
-.admin .btn-group > .btn-large + .dropdown-toggle { padding-left: 12px; padding-right: 12px; *padding-top: 7px; *padding-bottom: 7px; }
-.admin .btn-group.open .dropdown-toggle { background-image: none; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
-.admin .btn-group.open .btn.dropdown-toggle { background-color: #e6e6e6; }
-.admin .btn-group.open .btn-primary.dropdown-toggle { background-color: #0044cc; }
-.admin .btn-group.open .btn-warning.dropdown-toggle { background-color: #f89406; }
-.admin .btn-group.open .btn-danger.dropdown-toggle { background-color: #bd362f; }
-.admin .btn-group.open .btn-success.dropdown-toggle { background-color: #51a351; }
-.admin .btn-group.open .btn-info.dropdown-toggle { background-color: #2f96b4; }
-.admin .btn-group.open .btn-inverse.dropdown-toggle { background-color: #222222; }
-.admin .btn .caret { margin-top: 8px; margin-left: 0; }
-.admin .btn-mini .caret, .admin .btn-small .caret, .admin .btn-large .caret { margin-top: 6px; }
-.admin .btn-large .caret { border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; }
-.admin .dropup .btn-large .caret { border-bottom-width: 5px; }
-.admin .btn-primary .caret, .admin .btn-warning .caret, .admin .btn-danger .caret, .admin .btn-info .caret, .admin .btn-success .caret, .admin .btn-inverse .caret { border-top-color: white; border-bottom-color: white; }
-.admin .btn-group-vertical { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; }
-.admin .btn-group-vertical > .btn { display: block; float: none; max-width: 100%; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .btn-group-vertical > .btn + .btn { margin-left: 0; margin-top: -1px; }
-.admin .btn-group-vertical > .btn:first-child { -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0; }
-.admin .btn-group-vertical > .btn:last-child { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; }
-.admin .btn-group-vertical > .btn-large:first-child { -webkit-border-radius: 6px 6px 0 0; -moz-border-radius: 6px 6px 0 0; border-radius: 6px 6px 0 0; }
-.admin .btn-group-vertical > .btn-large:last-child { -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; }
-.admin .alert { padding: 8px 35px 8px 14px; margin-bottom: 20px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); background-color: #fcf8e3; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .alert, .admin .alert h4 { color: #c09853; }
-.admin .alert h4 { margin: 0; }
-.admin .alert .close { position: relative; top: -2px; right: -21px; line-height: 20px; }
-.admin .alert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #468847; }
-.admin .alert-success h4 { color: #468847; }
-.admin .alert-danger, .admin .alert-error { background-color: #f2dede; border-color: #eed3d7; color: #b94a48; }
-.admin .alert-danger h4, .admin .alert-error h4 { color: #b94a48; }
-.admin .alert-info { background-color: #d9edf7; border-color: #bce8f1; color: #3a87ad; }
-.admin .alert-info h4 { color: #3a87ad; }
-.admin .alert-block { padding-top: 14px; padding-bottom: 14px; }
-.admin .alert-block > p, .admin .alert-block > ul { margin-bottom: 0; }
-.admin .alert-block p + p { margin-top: 5px; }
-.admin .nav { margin-left: 0; margin-bottom: 20px; list-style: none; }
-.admin .nav > li > a { display: block; }
-.admin .nav > li > a:hover { text-decoration: none; background-color: #eeeeee; }
-.admin .nav > li > a > img { max-width: none; }
-.admin .nav > .pull-right { float: right; }
-.admin .nav-header { display: block; padding: 3px 15px; font-size: 11px; font-weight: bold; line-height: 20px; color: #999999; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); text-transform: uppercase; }
-.admin .nav li + .nav-header { margin-top: 9px; }
-.admin .nav-list { padding-left: 15px; padding-right: 15px; margin-bottom: 0; }
-.admin .nav-list > li > a, .admin .nav-list .nav-header { margin-left: -15px; margin-right: -15px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); }
-.admin .nav-list > li > a { padding: 3px 15px; }
-.admin .nav-list > .active > a, .admin .nav-list > .active > a:hover { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); background-color: #0088cc; }
-.admin .nav-list [class^="icon-"], .admin .nav-list [class*=" icon-"] { margin-right: 2px; }
-.admin .nav-list .divider { *width: 100%; height: 1px; margin: 9px 1px; *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid white; }
-.admin .nav-tabs, .admin .nav-pills { *zoom: 1; }
-.admin .nav-tabs:before, .admin .nav-tabs:after, .admin .nav-pills:before, .admin .nav-pills:after { display: table; content: ""; line-height: 0; }
-.admin .nav-tabs:after, .admin .nav-pills:after { clear: both; }
-.admin .nav-tabs > li, .admin .nav-pills > li { float: left; }
-.admin .nav-tabs > li > a, .admin .nav-pills > li > a { padding-right: 12px; padding-left: 12px; margin-right: 2px; line-height: 14px; }
-.admin .nav-tabs { border-bottom: 1px solid #dddddd; }
-.admin .nav-tabs > li { margin-bottom: -1px; }
-.admin .nav-tabs > li > a { padding-top: 8px; padding-bottom: 8px; line-height: 20px; border: 1px solid transparent; -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0; }
-.admin .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #dddddd; }
-.admin .nav-tabs > .active > a, .admin .nav-tabs > .active > a:hover { color: #555555; background-color: white; border: 1px solid #dddddd; border-bottom-color: transparent; cursor: default; }
-.admin .nav-pills > li > a { padding-top: 8px; padding-bottom: 8px; margin-top: 2px; margin-bottom: 2px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
-.admin .nav-pills > .active > a, .admin .nav-pills > .active > a:hover { color: white; background-color: #0088cc; }
-.admin .nav-stacked > li { float: none; }
-.admin .nav-stacked > li > a { margin-right: 0; }
-.admin .nav-tabs.nav-stacked { border-bottom: 0; }
-.admin .nav-tabs.nav-stacked > li > a { border: 1px solid #dddddd; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .nav-tabs.nav-stacked > li:first-child > a { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
-.admin .nav-tabs.nav-stacked > li:last-child > a { -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
-.admin .nav-tabs.nav-stacked > li > a:hover { border-color: #ddd; z-index: 2; }
-.admin .nav-pills.nav-stacked > li > a { margin-bottom: 3px; }
-.admin .nav-pills.nav-stacked > li:last-child > a { margin-bottom: 1px; }
-.admin .nav-tabs .dropdown-menu { -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; }
-.admin .nav-pills .dropdown-menu { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .nav .dropdown-toggle .caret { border-top-color: #0088cc; border-bottom-color: #0088cc; margin-top: 6px; }
-.admin .nav .dropdown-toggle:hover .caret { border-top-color: #005580; border-bottom-color: #005580; }
-.admin .nav-tabs .dropdown-toggle .caret { margin-top: 8px; }
-.admin .nav .active .dropdown-toggle .caret { border-top-color: #fff; border-bottom-color: #fff; }
-.admin .nav-tabs .active .dropdown-toggle .caret { border-top-color: #555555; border-bottom-color: #555555; }
-.admin .nav > .dropdown.active > a:hover { cursor: pointer; }
-.admin .nav-tabs .open .dropdown-toggle, .admin .nav-pills .open .dropdown-toggle, .admin .nav > li.dropdown.open.active > a:hover { color: white; background-color: #999999; border-color: #999999; }
-.admin .nav li.dropdown.open .caret, .admin .nav li.dropdown.open.active .caret, .admin .nav li.dropdown.open a:hover .caret { border-top-color: white; border-bottom-color: white; opacity: 1; filter: alpha(opacity=100); }
-.admin .tabs-stacked .open > a:hover { border-color: #999999; }
-.admin .tabbable { *zoom: 1; }
-.admin .tabbable:before, .admin .tabbable:after { display: table; content: ""; line-height: 0; }
-.admin .tabbable:after { clear: both; }
-.admin .tab-content { overflow: auto; }
-.admin .tabs-below > .nav-tabs, .admin .tabs-right > .nav-tabs, .admin .tabs-left > .nav-tabs { border-bottom: 0; }
-.admin .tab-content > .tab-pane, .admin .pill-content > .pill-pane { display: none; }
-.admin .tab-content > .active, .admin .pill-content > .active { display: block; }
-.admin .tabs-below > .nav-tabs { border-top: 1px solid #dddddd; }
-.admin .tabs-below > .nav-tabs > li { margin-top: -1px; margin-bottom: 0; }
-.admin .tabs-below > .nav-tabs > li > a { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; }
-.admin .tabs-below > .nav-tabs > li > a:hover { border-bottom-color: transparent; border-top-color: #ddd; }
-.admin .tabs-below > .nav-tabs > .active > a, .admin .tabs-below > .nav-tabs > .active > a:hover { border-color: transparent #dddddd #dddddd #dddddd; }
-.admin .tabs-left > .nav-tabs > li, .admin .tabs-right > .nav-tabs > li { float: none; }
-.admin .tabs-left > .nav-tabs > li > a, .admin .tabs-right > .nav-tabs > li > a { min-width: 74px; margin-right: 0; margin-bottom: 3px; }
-.admin .tabs-left > .nav-tabs { float: left; margin-right: 19px; border-right: 1px solid #dddddd; }
-.admin .tabs-left > .nav-tabs > li > a { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
-.admin .tabs-left > .nav-tabs > li > a:hover { border-color: #eeeeee #dddddd #eeeeee #eeeeee; }
-.admin .tabs-left > .nav-tabs .active > a, .admin .tabs-left > .nav-tabs .active > a:hover { border-color: #dddddd transparent #dddddd #dddddd; *border-right-color: white; }
-.admin .tabs-right > .nav-tabs { float: right; margin-left: 19px; border-left: 1px solid #dddddd; }
-.admin .tabs-right > .nav-tabs > li > a { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
-.admin .tabs-right > .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #eeeeee #dddddd; }
-.admin .tabs-right > .nav-tabs .active > a, .admin .tabs-right > .nav-tabs .active > a:hover { border-color: #dddddd #dddddd #dddddd transparent; *border-left-color: white; }
-.admin .nav > .disabled > a { color: #999999; }
-.admin .nav > .disabled > a:hover { text-decoration: none; background-color: transparent; cursor: default; }
-.admin .navbar { overflow: visible; margin-bottom: 20px; *position: relative; *z-index: 2; }
-.admin .navbar-inner { min-height: 40px; padding-left: 20px; padding-right: 20px; background-color: #f9f9f9; background-image: -moz-linear-gradient(top, white, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, white, #f2f2f2); background-image: -o-linear-gradient(top, white, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF2F2F2', GradientType=0); border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); *zoom: 1; }
-.admin .navbar-inner:before, .admin .navbar-inner:after { display: table; content: ""; line-height: 0; }
-.admin .navbar-inner:after { clear: both; }
-.admin .navbar .container { width: auto; }
-.admin .nav-collapse.collapse { height: auto; overflow: visible; }
-.admin .navbar .brand { float: left; display: block; padding: 10px 20px 10px; margin-left: -20px; font-size: 20px; font-weight: 200; color: #777777; text-shadow: 0 1px 0 white; }
-.admin .navbar .brand:hover { text-decoration: none; }
-.admin .navbar-text { margin-bottom: 0; line-height: 40px; color: #777777; }
-.admin .navbar-link { color: #777777; }
-.admin .navbar-link:hover { color: #333333; }
-.admin .navbar .divider-vertical { height: 40px; margin: 0 9px; border-left: 1px solid #f2f2f2; border-right: 1px solid white; }
-.admin .navbar .btn, .admin .navbar .btn-group { margin-top: 5px; }
-.admin .navbar .btn-group .btn, .admin .navbar .input-prepend .btn, .admin .navbar .input-append .btn { margin-top: 0; }
-.admin .navbar-form { margin-bottom: 0; *zoom: 1; }
-.admin .navbar-form:before, .admin .navbar-form:after { display: table; content: ""; line-height: 0; }
-.admin .navbar-form:after { clear: both; }
-.admin .navbar-form input, .admin .navbar-form select, .admin .navbar-form .radio, .admin .navbar-form .checkbox { margin-top: 5px; }
-.admin .navbar-form input, .admin .navbar-form select, .admin .navbar-form .btn { display: inline-block; margin-bottom: 0; }
-.admin .navbar-form input[type="image"], .admin .navbar-form input[type="checkbox"], .admin .navbar-form input[type="radio"] { margin-top: 3px; }
-.admin .navbar-form .input-append, .admin .navbar-form .input-prepend { margin-top: 5px; white-space: nowrap; }
-.admin .navbar-form .input-append input, .admin .navbar-form .input-prepend input { margin-top: 0; }
-.admin .navbar-search { position: relative; float: left; margin-top: 5px; margin-bottom: 0; }
-.admin .navbar-search .search-query { margin-bottom: 0; padding: 4px 14px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; line-height: 1; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
-.admin .navbar-static-top { position: static; margin-bottom: 0; }
-.admin .navbar-static-top .navbar-inner { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .navbar-fixed-top, .admin .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; margin-bottom: 0; }
-.admin .navbar-fixed-top .navbar-inner, .admin .navbar-static-top .navbar-inner { border-width: 0 0 1px; }
-.admin .navbar-fixed-bottom .navbar-inner { border-width: 1px 0 0; }
-.admin .navbar-fixed-top .navbar-inner, .admin .navbar-fixed-bottom .navbar-inner { padding-left: 0; padding-right: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
-.admin .navbar-static-top .container, .admin .navbar-fixed-top .container, .admin .navbar-fixed-bottom .container { width: 940px; }
-.admin .navbar-fixed-top { top: 0; }
-.admin .navbar-fixed-top .navbar-inner, .admin .navbar-static-top .navbar-inner { -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); }
-.admin .navbar-fixed-bottom { bottom: 0; }
-.admin .navbar-fixed-bottom .navbar-inner { -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); }
-.admin .navbar .nav { position: relative; left: 0; display: block; float: left; margin: 0 10px 0 0; }
-.admin .navbar .nav.pull-right { float: right; margin-right: 0; }
-.admin .navbar .nav > li { float: left; }
-.admin .navbar .nav > li > a { float: none; padding: 10px 15px 10px; color: #777777; text-decoration: none; text-shadow: 0 1px 0 white; }
-.admin .navbar .nav .dropdown-toggle .caret { margin-top: 8px; }
-.admin .navbar .nav > li > a:focus, .admin .navbar .nav > li > a:hover { background-color: transparent; color: #333333; text-decoration: none; }
-.admin .navbar .nav > .active > a, .admin .navbar .nav > .active > a:hover, .admin .navbar .nav > .active > a:focus { color: #555555; text-decoration: none; background-color: #e6e6e6; -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); }
-.admin .navbar .btn-navbar { display: none; float: right; padding: 7px 10px; margin-left: 5px; margin-right: 5px; color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #ededed; background-image: -moz-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: -o-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: linear-gradient(to bottom, #f2f2f2, #e6e6e6); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2F2F2', endColorstr='#FFE6E6E6', GradientType=0); border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #e6e6e6; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); }
-.admin .navbar .btn-navbar:hover, .admin .navbar .btn-navbar:active, .admin .navbar .btn-navbar.active, .admin .navbar .btn-navbar.disabled, .admin .navbar .btn-navbar[disabled] { color: white; background-color: #e6e6e6; *background-color: #d9d9d9; }
-.admin .navbar .btn-navbar:active, .admin .navbar .btn-navbar.active { background-color: #cccccc \9; }
-.admin .navbar .btn-navbar .icon-bar { display: block; width: 18px; height: 2px; background-color: #f5f5f5; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); }
-.admin .btn-navbar .icon-bar + .icon-bar { margin-top: 3px; }
-.admin .navbar .nav > li > .dropdown-menu:before { content: ''; display: inline-block; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid #cccccc; border-bottom-color: rgba(0, 0, 0, 0.2); position: absolute; top: -7px; left: 9px; }
-.admin .navbar .nav > li > .dropdown-menu:after { content: ''; display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid white; position: absolute; top: -6px; left: 10px; }
-.admin .navbar-fixed-bottom .nav > li > .dropdown-menu:before { border-top: 7px solid #cccccc; border-top-color: rgba(0, 0, 0, 0.2); border-bottom: 0; bottom: -7px; top: auto; }
-.admin .navbar-fixed-bottom .nav > li > .dropdown-menu:after { border-top: 6px solid white; border-bottom: 0; bottom: -6px; top: auto; }
-.admin .navbar .nav li.dropdown > a:hover .caret { border-top-color: #555555; border-bottom-color: #555555; }
-.admin .navbar .nav li.dropdown.open > .dropdown-toggle, .admin .navbar .nav li.dropdown.active > .dropdown-toggle, .admin .navbar .nav li.dropdown.open.active > .dropdown-toggle { background-color: #e6e6e6; color: #555555; }
-.admin .navbar .nav li.dropdown > .dropdown-toggle .caret { border-top-color: #777777; border-bottom-color: #777777; }
-.admin .navbar .nav li.dropdown.open > .dropdown-toggle .caret, .admin .navbar .nav li.dropdown.active > .dropdown-toggle .caret, .admin .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: #555555; border-bottom-color: #555555; }
-.admin .navbar .pull-right > li > .dropdown-menu, .admin .navbar .nav > li > .dropdown-menu.pull-right { left: auto; right: 0; }
-.admin .navbar .pull-right > li > .dropdown-menu:before, .admin .navbar .nav > li > .dropdown-menu.pull-right:before { left: auto; right: 12px; }
-.admin .navbar .pull-right > li > .dropdown-menu:after, .admin .navbar .nav > li > .dropdown-menu.pull-right:after { left: auto; right: 13px; }
-.admin .navbar .pull-right > li > .dropdown-menu .dropdown-menu, .admin .navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { left: auto; right: 100%; margin-left: 0; margin-right: -1px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
-.admin .navbar-inverse .navbar-inner { background-color: #1b1b1b; background-image: -moz-linear-gradient(top, #222222, #111111); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); background-image: -webkit-linear-gradient(top, #222222, #111111); background-image: -o-linear-gradient(top, #222222, #111111); background-image: linear-gradient(to bottom, #222222, #111111); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF222222', endColorstr='#FF111111', GradientType=0); border-color: #252525; }
-.admin .navbar-inverse .brand, .admin .navbar-inverse .nav > li > a { color: #999999; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }
-.admin .navbar-inverse .brand:hover, .admin .navbar-inverse .nav > li > a:hover { color: white; }
-.admin .navbar-inverse .brand { color: #999999; }
-.admin .navbar-inverse .navbar-text { color: #999999; }
-.admin .navbar-inverse .nav > li > a:focus, .admin .navbar-inverse .nav > li > a:hover { background-color: transparent; color: white; }
-.admin .navbar-inverse .nav .active > a, .admin .navbar-inverse .nav .active > a:hover, .admin .navbar-inverse .nav .active > a:focus { color: white; background-color: #111111; }
-.admin .navbar-inverse .navbar-link { color: #999999; }
-.admin .navbar-inverse .navbar-link:hover { color: white; }
-.admin .navbar-inverse .divider-vertical { border-left-color: #111111; border-right-color: #222222; }
-.admin .navbar-inverse .nav li.dropdown.open > .dropdown-toggle, .admin .navbar-inverse .nav li.dropdown.active > .dropdown-toggle, .admin .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { background-color: #111111; color: white; }
-.admin .navbar-inverse .nav li.dropdown > a:hover .caret { border-top-color: white; color: white; }
-.admin .navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { border-top-color: #999999; border-bottom-color: #999999; }
-.admin .navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, .admin .navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, .admin .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: white; border-bottom-color: white; }
-.admin .navbar-inverse .navbar-search .search-query { color: white; background-color: #515151; border-color: #111111; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); -webkit-transition: none; -moz-transition: none; -o-transition: none; transition: none; }
-.admin .navbar-inverse .navbar-search .search-query:-moz-placeholder { color: #cccccc; }
-.admin .navbar-inverse .navbar-search .search-query:-ms-input-placeholder { color: #cccccc; }
-.admin .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { color: #cccccc; }
-.admin .navbar-inverse .navbar-search .search-query:focus, .admin .navbar-inverse .navbar-search .search-query.focused { padding: 5px 15px; color: #333333; text-shadow: 0 1px 0 white; background-color: white; border: 0; -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); outline: 0; }
-.admin .navbar-inverse .btn-navbar { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0e0e0e; background-image: -moz-linear-gradient(top, #151515, #040404); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); background-image: -webkit-linear-gradient(top, #151515, #040404); background-image: -o-linear-gradient(top, #151515, #040404); background-image: linear-gradient(to bottom, #151515, #040404); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF151515', endColorstr='#FF040404', GradientType=0); border-color: #040404 #040404 black; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #040404; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
-.admin .navbar-inverse .btn-navbar:hover, .admin .navbar-inverse .btn-navbar:active, .admin .navbar-inverse .btn-navbar.active, .admin .navbar-inverse .btn-navbar.disabled, .admin .navbar-inverse .btn-navbar[disabled] { color: white; background-color: #040404; *background-color: black; }
-.admin .navbar-inverse .btn-navbar:active, .admin .navbar-inverse .btn-navbar.active { background-color: black \9; }
-.admin .breadcrumb { padding: 8px 15px; margin: 0 0 20px; list-style: none; background-color: #f5f5f5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .breadcrumb > li { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; text-shadow: 0 1px 0 white; }
-.admin .breadcrumb > li > .divider { padding: 0 5px; color: #ccc; }
-.admin .breadcrumb .active { color: #999999; }
-.admin .pagination { margin: 20px 0; }
-.admin .pagination ul { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; margin-left: 0; margin-bottom: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); }
-.admin .pagination ul > li { display: inline; }
-.admin .pagination ul > li > a, .admin .pagination ul > li > span { float: left; padding: 4px 12px; line-height: 20px; text-decoration: none; background-color: white; border: 1px solid #dddddd; border-left-width: 0; }
-.admin .pagination ul > li > a:hover, .admin .pagination ul > .active > a, .admin .pagination ul > .active > span { background-color: whitesmoke; }
-.admin .pagination ul > .active > a, .admin .pagination ul > .active > span { color: #999999; cursor: default; }
-.admin .pagination ul > .disabled > span, .admin .pagination ul > .disabled > a, .admin .pagination ul > .disabled > a:hover { color: #999999; background-color: transparent; cursor: default; }
-.admin .pagination ul > li:first-child > a, .admin .pagination ul > li:first-child > span { border-left-width: 1px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
-.admin .pagination ul > li:last-child > a, .admin .pagination ul > li:last-child > span { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
-.admin .pagination-centered { text-align: center; }
-.admin .pagination-right { text-align: right; }
-.admin .pagination-large ul > li > a, .admin .pagination-large ul > li > span { padding: 11px 19px; font-size: 17.5px; }
-.admin .pagination-large ul > li:first-child > a, .admin .pagination-large ul > li:first-child > span { -webkit-border-top-left-radius: 6px; -moz-border-radius-topleft: 6px; border-top-left-radius: 6px; -webkit-border-bottom-left-radius: 6px; -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; }
-.admin .pagination-large ul > li:last-child > a, .admin .pagination-large ul > li:last-child > span { -webkit-border-top-right-radius: 6px; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; -moz-border-radius-bottomright: 6px; border-bottom-right-radius: 6px; }
-.admin .pagination-mini ul > li:first-child > a, .admin .pagination-mini ul > li:first-child > span, .admin .pagination-small ul > li:first-child > a, .admin .pagination-small ul > li:first-child > span { -webkit-border-top-left-radius: 3px; -moz-border-radius-topleft: 3px; border-top-left-radius: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-radius-bottomleft: 3px; border-bottom-left-radius: 3px; }
-.admin .pagination-mini ul > li:last-child > a, .admin .pagination-mini ul > li:last-child > span, .admin .pagination-small ul > li:last-child > a, .admin .pagination-small ul > li:last-child > span { -webkit-border-top-right-radius: 3px; -moz-border-radius-topright: 3px; border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; -moz-border-radius-bottomright: 3px; border-bottom-right-radius: 3px; }
-.admin .pagination-small ul > li > a, .admin .pagination-small ul > li > span { padding: 2px 10px; font-size: 11.9px; }
-.admin .pagination-mini ul > li > a, .admin .pagination-mini ul > li > span { padding: 0px 6px; font-size: 10.5px; }
-.admin .pager { margin: 20px 0; list-style: none; text-align: center; *zoom: 1; }
-.admin .pager:before, .admin .pager:after { display: table; content: ""; line-height: 0; }
-.admin .pager:after { clear: both; }
-.admin .pager li { display: inline; }
-.admin .pager li > a, .admin .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #dddddd; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
-.admin .pager li > a:hover { text-decoration: none; background-color: #f5f5f5; }
-.admin .pager .next > a, .admin .pager .next > span { float: right; }
-.admin .pager .previous > a, .admin .pager .previous > span { float: left; }
-.admin .pager .disabled > a, .admin .pager .disabled > a:hover, .admin .pager .disabled > span { color: #999999; background-color: #fff; cursor: default; }
-.admin .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: black; }
-.admin .modal-backdrop.fade { opacity: 0; }
-.admin .modal-backdrop, .admin .modal-backdrop.fade.in { opacity: 0.8; filter: alpha(opacity=80); }
-.admin .modal { position: fixed; top: 50%; left: 50%; z-index: 1050; width: 560px; margin: -250px 0 0 -280px; background-color: white; border: 1px solid #999999; border: 1px solid rgba(0, 0, 0, 0.3); *border: 1px solid #999999; /* IE6-7 */ -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -webkit-background-clip: padding-box; -moz-background-clip: padding-box; background-clip: padding-box; outline: none; }
-.admin .modal.fade { -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; -moz-transition: opacity 0.3s linear, top 0.3s ease-out; -o-transition: opacity 0.3s linear, top 0.3s ease-out; transition: opacity 0.3s linear, top 0.3s ease-out; top: -25%; }
-.admin .modal.fade.in { top: 50%; }
-.admin .modal-header { padding: 9px 15px; border-bottom: 1px solid #eeeeee; }
-.admin .modal-header .close { margin-top: 2px; }
-.admin .modal-header h3 { margin: 0; line-height: 30px; }
-.admin .modal-body { position: relative; overflow-y: auto; max-height: 400px; padding: 15px; }
-.admin .modal-form { margin-bottom: 0; }
-.admin .modal-footer { padding: 14px 15px 15px; margin-bottom: 0; text-align: right; background-color: #f5f5f5; border-top: 1px solid #dddddd; -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; -webkit-box-shadow: inset 0 1px 0 white; -moz-box-shadow: inset 0 1px 0 white; box-shadow: inset 0 1px 0 white; *zoom: 1; }
-.admin .modal-footer:before, .admin .modal-footer:after { display: table; content: ""; line-height: 0; }
-.admin .modal-footer:after { clear: both; }
-.admin .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; }
-.admin .modal-footer .btn-group .btn + .btn { margin-left: -1px; }
-.admin .modal-footer .btn-block + .btn-block { margin-left: 0; }
-.admin .tooltip { position: absolute; z-index: 1030; display: block; visibility: visible; padding: 5px; font-size: 11px; opacity: 0; filter: alpha(opacity=0); }
-.admin .tooltip.in { opacity: 0.8; filter: alpha(opacity=80); }
-.admin .tooltip.top { margin-top: -3px; }
-.admin .tooltip.right { margin-left: 3px; }
-.admin .tooltip.bottom { margin-top: 3px; }
-.admin .tooltip.left { margin-left: -3px; }
-.admin .tooltip-inner { max-width: 200px; padding: 3px 8px; color: white; text-align: center; text-decoration: none; background-color: black; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; }
-.admin .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: black; }
-.admin .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: black; }
-.admin .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: black; }
-.admin .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: black; }
-.admin .popover { position: absolute; top: 0; left: 0; z-index: 1010; display: none; width: 236px; padding: 1px; text-align: left; background-color: white; -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); white-space: normal; }
-.admin .popover.top { margin-top: -10px; }
-.admin .popover.right { margin-left: 10px; }
-.admin .popover.bottom { margin-top: 10px; }
-.admin .popover.left { margin-left: -10px; }
-.admin .popover-title { margin: 0; padding: 8px 14px; font-size: 14px; font-weight: normal; line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; }
-.admin .popover-content { padding: 9px 14px; }
-.admin .popover .arrow, .admin .popover .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; }
-.admin .popover .arrow { border-width: 11px; }
-.admin .popover .arrow:after { border-width: 10px; content: ""; }
-.admin .popover.top .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999; border-top-color: rgba(0, 0, 0, 0.25); bottom: -11px; }
-.admin .popover.top .arrow:after { bottom: 1px; margin-left: -10px; border-bottom-width: 0; border-top-color: white; }
-.admin .popover.right .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999; border-right-color: rgba(0, 0, 0, 0.25); }
-.admin .popover.right .arrow:after { left: 1px; bottom: -10px; border-left-width: 0; border-right-color: white; }
-.admin .popover.bottom .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, 0.25); top: -11px; }
-.admin .popover.bottom .arrow:after { top: 1px; margin-left: -10px; border-top-width: 0; border-bottom-color: white; }
-.admin .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, 0.25); }
-.admin .popover.left .arrow:after { right: 1px; border-right-width: 0; border-left-color: white; bottom: -10px; }
-.admin .thumbnails { margin-left: -20px; list-style: none; *zoom: 1; }
-.admin .thumbnails:before, .admin .thumbnails:after { display: table; content: ""; line-height: 0; }
-.admin .thumbnails:after { clear: both; }
-.admin .row-fluid .thumbnails { margin-left: 0; }
-.admin .thumbnails > li { float: left; margin-bottom: 20px; margin-left: 20px; }
-.admin .thumbnail { display: block; padding: 4px; line-height: 20px; border: 1px solid #dddddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
-.admin a.thumbnail:hover { border-color: #0088cc; -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); }
-.admin .thumbnail > img { display: block; max-width: 100%; margin-left: auto; margin-right: auto; }
-.admin .thumbnail .caption { padding: 9px; color: #555555; }
-.admin .media, .admin .media-body { overflow: hidden; *overflow: visible; zoom: 1; }
-.admin .media, .admin .media .media { margin-top: 15px; }
-.admin .media:first-child { margin-top: 0; }
-.admin .media-object { display: block; }
-.admin .media-heading { margin: 0 0 5px; }
-.admin .media .pull-left { margin-right: 10px; }
-.admin .media .pull-right { margin-left: 10px; }
-.admin .media-list { margin-left: 0; list-style: none; }
-.admin .label, .admin .badge { display: inline-block; padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; color: white; vertical-align: baseline; white-space: nowrap; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #999999; }
-.admin .label { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
-.admin .badge { padding-left: 9px; padding-right: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px; }
-.admin .label:empty, .admin .badge:empty { display: none; }
-.admin a.label:hover, .admin a.badge:hover { color: white; text-decoration: none; cursor: pointer; }
-.admin .label-important { background-color: #b94a48; }
-.admin .label-important[href] { background-color: #953b39; }
-.admin .label-warning { background-color: #f89406; }
-.admin .label-warning[href] { background-color: #c67605; }
-.admin .label-success { background-color: #468847; }
-.admin .label-success[href] { background-color: #356635; }
-.admin .label-info { background-color: #3a87ad; }
-.admin .label-info[href] { background-color: #2d6987; }
-.admin .label-inverse { background-color: #333333; }
-.admin .label-inverse[href] { background-color: #1a1a1a; }
-.admin .badge-important { background-color: #b94a48; }
-.admin .badge-important[href] { background-color: #953b39; }
-.admin .badge-warning { background-color: #f89406; }
-.admin .badge-warning[href] { background-color: #c67605; }
-.admin .badge-success { background-color: #468847; }
-.admin .badge-success[href] { background-color: #356635; }
-.admin .badge-info { background-color: #3a87ad; }
-.admin .badge-info[href] { background-color: #2d6987; }
-.admin .badge-inverse { background-color: #333333; }
-.admin .badge-inverse[href] { background-color: #1a1a1a; }
-.admin .btn .label, .admin .btn .badge { position: relative; top: -1px; }
-.admin .btn-mini .label, .admin .btn-mini .badge { top: 0; }
-.admin .progress { overflow: hidden; height: 20px; margin-bottom: 20px; background-color: #f6f6f6; background-image: -moz-linear-gradient(top, whitesmoke, #f9f9f9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(whitesmoke), to(#f9f9f9)); background-image: -webkit-linear-gradient(top, whitesmoke, #f9f9f9); background-image: -o-linear-gradient(top, whitesmoke, #f9f9f9); background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFF9F9F9', GradientType=0); -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .progress .bar { width: 0%; height: 100%; color: white; float: left; font-size: 12px; text-align: center; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0d90d1; background-image: -moz-linear-gradient(top, #149bdf, #0480be); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); background-image: -webkit-linear-gradient(top, #149bdf, #0480be); background-image: -o-linear-gradient(top, #149bdf, #0480be); background-image: linear-gradient(to bottom, #149bdf, #0480be); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF149BDF', endColorstr='#FF0480BE', GradientType=0); -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: width 0.6s ease; -moz-transition: width 0.6s ease; -o-transition: width 0.6s ease; transition: width 0.6s ease; }
-.admin .progress .bar + .bar { -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); }
-.admin .progress-striped .bar { background-color: #149bdf; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; -moz-background-size: 40px 40px; -o-background-size: 40px 40px; background-size: 40px 40px; }
-.admin .progress.active .bar { -webkit-animation: progress-bar-stripes 2s linear infinite; -moz-animation: progress-bar-stripes 2s linear infinite; -ms-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; }
-.admin .progress-danger .bar, .admin .progress .bar-danger { background-color: #dd514b; background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFC43C35', GradientType=0); }
-.admin .progress-danger.progress-striped .bar, .admin .progress-striped .bar-danger { background-color: #ee5f5b; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-.admin .progress-success .bar, .admin .progress .bar-success { background-color: #5db95d; background-image: -moz-linear-gradient(top, #62c462, #57a957); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); background-image: -webkit-linear-gradient(top, #62c462, #57a957); background-image: -o-linear-gradient(top, #62c462, #57a957); background-image: linear-gradient(to bottom, #62c462, #57a957); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF57A957', GradientType=0); }
-.admin .progress-success.progress-striped .bar, .admin .progress-striped .bar-success { background-color: #62c462; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-.admin .progress-info .bar, .admin .progress .bar-info { background-color: #4bb1cf; background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); background-image: -o-linear-gradient(top, #5bc0de, #339bb9); background-image: linear-gradient(to bottom, #5bc0de, #339bb9); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF339BB9', GradientType=0); }
-.admin .progress-info.progress-striped .bar, .admin .progress-striped .bar-info { background-color: #5bc0de; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-.admin .progress-warning .bar, .admin .progress .bar-warning { background-color: #f9a732; background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); }
-.admin .progress-warning.progress-striped .bar, .admin .progress-striped .bar-warning { background-color: #fbb450; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-.admin .accordion { margin-bottom: 20px; }
-.admin .accordion-group { margin-bottom: 2px; border: 1px solid #e5e5e5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
-.admin .accordion-heading { border-bottom: 0; }
-.admin .accordion-heading .accordion-toggle { display: block; padding: 8px 15px; }
-.admin .accordion-toggle { cursor: pointer; }
-.admin .accordion-inner { padding: 9px 15px; border-top: 1px solid #e5e5e5; }
-.admin .carousel { position: relative; margin-bottom: 20px; line-height: 1; }
-.admin .carousel-inner { overflow: hidden; width: 100%; position: relative; }
-.admin .carousel-inner > .item { display: none; position: relative; -webkit-transition: 0.6s ease-in-out left; -moz-transition: 0.6s ease-in-out left; -o-transition: 0.6s ease-in-out left; transition: 0.6s ease-in-out left; }
-.admin .carousel-inner > .item > img { display: block; line-height: 1; }
-.admin .carousel-inner > .active, .admin .carousel-inner > .next, .admin .carousel-inner > .prev { display: block; }
-.admin .carousel-inner > .active { left: 0; }
-.admin .carousel-inner > .next, .admin .carousel-inner > .prev { position: absolute; top: 0; width: 100%; }
-.admin .carousel-inner > .next { left: 100%; }
-.admin .carousel-inner > .prev { left: -100%; }
-.admin .carousel-inner > .next.left, .admin .carousel-inner > .prev.right { left: 0; }
-.admin .carousel-inner > .active.left { left: -100%; }
-.admin .carousel-inner > .active.right { left: 100%; }
-.admin .carousel-control { position: absolute; top: 40%; left: 15px; width: 40px; height: 40px; margin-top: -20px; font-size: 60px; font-weight: 100; line-height: 30px; color: white; text-align: center; background: #222222; border: 3px solid white; -webkit-border-radius: 23px; -moz-border-radius: 23px; border-radius: 23px; opacity: 0.5; filter: alpha(opacity=50); }
-.admin .carousel-control.right { left: auto; right: 15px; }
-.admin .carousel-control:hover { color: white; text-decoration: none; opacity: 0.9; filter: alpha(opacity=90); }
-.admin .carousel-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 15px; background: #333333; background: rgba(0, 0, 0, 0.75); }
-.admin .carousel-caption h4, .admin .carousel-caption p { color: white; line-height: 20px; }
-.admin .carousel-caption h4 { margin: 0 0 5px; }
-.admin .carousel-caption p { margin-bottom: 0; }
-.admin .hero-unit { padding: 60px; margin-bottom: 30px; font-size: 18px; font-weight: 200; line-height: 30px; color: inherit; background-color: #eeeeee; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
-.admin .hero-unit h1 { margin-bottom: 0; font-size: 60px; line-height: 1; color: inherit; letter-spacing: -1px; }
-.admin .hero-unit li { line-height: 30px; }
-.admin .pull-right { float: right; }
-.admin .pull-left { float: left; }
-.admin .hide { display: none; }
-.admin .show { display: block; }
-.admin .invisible { visibility: hidden; }
-.admin .affix { position: fixed; }
-.admin .clearfix { *zoom: 1; }
-.admin .clearfix:before, .admin .clearfix:after { display: table; content: ""; line-height: 0; }
-.admin .clearfix:after { clear: both; }
-.admin .hide-text { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }
-.admin .input-block-level { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
-.admin #main { padding-top: 50px; }
-.admin .form-inline { display: inline; }
-.admin table .form { display: inline-block; margin: 0; }
-.admin .accordion-group { border: none; }
-.admin .accordion-heading .btn { float: left; margin: 6px 15px; }
-.admin .accordion-heading .accordion-toggle { padding: 2px; }
-.admin .accordion-heading .accordion-toggle:hover { text-decoration: none; }
-.admin div.item-detail div:nth-child(odd) span { background-color: #eee; }
-.admin span.label.tag { margin-right: 2px; }
-.admin span.label.tag a { color: white; }
-.admin body.admin blockquote p { font-size: 13px; display: inline; }
-.admin div#user_locale_switcher div.btn-group:before, .admin div#user_locale_switcher div.btn-group:after { display: inline; }
-.admin #request_hidden_user_subject_field { width: 440px; }
-.admin #request_hidden_user_explanation_field { width: 100%; height: 15em; }
-.admin #request_hidden_user_subject, .admin #request_hide_button, .admin #request_hidden_user_explanation { display: none; }
-.admin #outgoing_message_body, .admin #comment_body { width: 750px; }
diff --git a/public/down.default.html b/public/down.default.html
index ce4887b51..0440f91f9 100644
--- a/public/down.default.html
+++ b/public/down.default.html
@@ -6,7 +6,7 @@
WhatDoTheyKnow - make and browse Freedom of Information (FOI) requests
</title>
- <link href="http://www.whatdotheyknow.com/stylesheets/main.css?1246372679" media="screen" rel="stylesheet" title="Main" type="text/css">
+ <link href="/assets/main.css" media="screen" rel="stylesheet" title="Main" type="text/css">
<!--[if LT IE 7]>
<style type="text/css">@import url("/stylesheets/ie6.css");</style>
<![endif]-->
diff --git a/public/images/logo.png b/public/images/logo.png
deleted file mode 100644
index a08bbeb58..000000000
--- a/public/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/public/javascripts/application.js b/public/javascripts/application.js
deleted file mode 100644
index fe4577696..000000000
--- a/public/javascripts/application.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Place your application-specific JavaScript functions and classes here
-// This file is automatically included by javascript_include_tag :defaults
diff --git a/public/javascripts/general.js b/public/javascripts/general.js
deleted file mode 100644
index b52131b83..000000000
--- a/public/javascripts/general.js
+++ /dev/null
@@ -1,53 +0,0 @@
-$(document).ready(function() {
- // flash message for people coming from other countries
- if(window.location.search.substring(1).search("country_name") == -1) {
- if (!$.cookie('has_seen_country_message')) {
- $.ajax({
- url: "/country_message",
- dataType: 'html',
- success: function(country_message){
- if (country_message != ''){
- $('#other-country-notice').html(country_message);
- $('body:not(.front) #other-country-notice').show()
- }
- }
- })
-
- }
- }
-
- $('#other-country-notice').click(function() {
- $('#other-country-notice').hide();
- $.cookie('has_seen_country_message', 1, {expires: 365, path: '/'});
- });
- // "link to this" widget
- $('a.link_to_this').click(function() {
- var box = $('div#link_box');
- var location = window.location.protocol + "//" + window.location.hostname + $(this).attr('href');
- box.width(location.length + " em");
- box.find('input').val(location).attr('size', location.length + " em");
- box.show();
- box.find('input').select();
- box.position({
- my: "left top",
- at: "left bottom",
- of: this,
- collision: "fit" });
- return false;
- });
-
- $('.close-button').click(function() { $(this).parent().hide() });
- $('div#variety-filter a').each(function() {
- $(this).click(function() {
- var form = $('form#search_form');
- form.attr('action', $(this).attr('href'));
- form.submit();
- return false;
- })
- })
-
- if($.cookie('seen_foi2') == 1) {
- $('#everypage').hide();
- }
-
-})
diff --git a/public/javascripts/jquery-ui.min.js b/public/javascripts/jquery-ui.min.js
deleted file mode 100644
index fb641f675..000000000
--- a/public/javascripts/jquery-ui.min.js
+++ /dev/null
@@ -1,168 +0,0 @@
-/*!
- * jQuery UI 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */
-(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
-keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
-this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
-"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
-"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
-outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
-"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
-a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
-c.ui.isOverAxis(b,e,i)}})}})(jQuery);
-;/*!
- * jQuery UI Widget 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Widget
- */
-(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
-function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
-d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
-b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
-"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
-c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
-;/*
- * jQuery UI Position 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Position
- */
-(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
-left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
-k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
-m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
-d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
-a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
-g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
-;/*
- * jQuery UI Tabs 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
-e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
-d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
-(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
-this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
-this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
-if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
-this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
-g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
-function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
-this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
--1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
-d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
-d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
-e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
-j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
-if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
-this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
-load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
-"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
-url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
-a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
-;/*
- * jQuery UI Datepicker 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker
- *
- * Depends:
- * jquery.ui.core.js
- */
-(function(d,C){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
-"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
-"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
-minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return a.bind("mouseout",
-function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
-b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},
-setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,
-"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
-function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c==
-"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():
-d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,
-b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=
-1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/
-2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=
-d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=
-a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,
-"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==
-a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?
-d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==C&&f.minDate===C)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==C&&f.maxDate===C)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e);
-this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
-b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]&&d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]);if(a=d.datepicker._get(b,"onSelect")){c=d.datepicker._formatDate(b);a.apply(b.input?b.input[0]:null,[c,b])}else d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,
-a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=
-a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,
-"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==C?a.keyCode:a.charCode);
-return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",
-a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value=
-"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);
-c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=
-true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});
-a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&
-!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),
-h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=
-this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);
-this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
-_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):
-0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"?
-"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);
-this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");
-if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?
-b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return p},m=function(p){var D=
-o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&D?4:p=="o"?3:2)+"}");p=b.substring(q).match(p);if(!p)throw"Missing number at position "+q;q+=p[0].length;return parseInt(p[0],10)},n=function(p,D,K){p=d.map(o(p)?K:D,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var E=-1;d.each(p,function(w,x){w=x[1];if(b.substr(q,w.length).toLowerCase()==w.toLowerCase()){E=x[0];q+=w.length;return false}});if(E!=-1)return E+1;else throw"Unknown name at position "+q;},s=
-function(){if(b.charAt(q)!=a.charAt(A))throw"Unexpected literal at position "+q;q++},q=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else s();else switch(a.charAt(A)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+
-1;l=v.getDate();break;case "'":if(o("'"))s();else k=true;break;default:s()}if(q<b.length)throw"Extra/unparsed characters found in date: "+b.substring(q);if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",
-COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:
-null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,s){return i(o)?s[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-
-(new Date(b.getFullYear(),0,0)).getTime())/864E5),3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=
-0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==C?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);
-var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;
-i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=
-Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>
-12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&
-a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
-new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));
-n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m,
-g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&&
-a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+B+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,s)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
-B+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){var O=
-"";this.maxRows=4;for(var G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&
-x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var z=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+s[r]+'">'+q[r]+"</span></th>"}y+=z+"</tr></thead><tbody>";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
-z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q<z;Q++){y+="<tr>";var R=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(r)+"</td>";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&r<k||o&&r>o;R+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(r.getTime()==
-P.getTime()&&g==a.selectedMonth&&a._keyEvent||E.getTime()==r.getTime()&&E.getTime()==P.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!D?"":" "+I[1]+(r.getTime()==u.getTime()?" "+this._currentClass:"")+(r.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!F||D)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+B+".datepicker._selectDay('#"+a.id+"',"+r.getMonth()+","+r.getFullYear()+', this);return false;"')+">"+(F&&!D?"&#xa0;":L?'<span class="ui-state-default">'+
-r.getDate()+"</span>":'<a class="ui-state-default'+(r.getTime()==b.getTime()?" ui-state-highlight":"")+(r.getTime()==u.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+r.getDate()+"</a>")+"</td>";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
-"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" >";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&
-(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,
-e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" >";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+
-(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input?
-a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,
-e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,
-"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this;
-if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a==
-"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery);
-; \ No newline at end of file
diff --git a/public/robots.txt b/public/robots.txt
index 279573d31..969e10826 100644
--- a/public/robots.txt
+++ b/public/robots.txt
@@ -8,7 +8,10 @@
# Crawl-delay: 1
# http://www.bing.com/community/blogs/webmaster/archive/2009/08/10/crawl-delay-and-the-bing-crawler-msnbot.aspx
-# This file uses the non-standard extension characters * and $, which are supported by Google and Yahoo!
+# This file uses the non-standard extension characters * and $, which
+# are supported by Google and Yahoo! and the 'Allow' directive, which
+# is supported by Google.
+
# http://code.google.com/web/controlcrawlindex/docs/robots_txt.html
# http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-02.html
@@ -23,6 +26,7 @@ Disallow: */user/contact/
Disallow: */feed/
Disallow: */profile/
Disallow: */signin
+Allow: */request/*/response/*/attach/*
Disallow: */request/*/response/
Disallow: */body/*/view_email$
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_0_aaaaaa_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
deleted file mode 100755
index 5b5dab2ab..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_55_fbf9ee_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_55_fbf9ee_40x100.png
deleted file mode 100755
index 062f58072..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_55_fbf9ee_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_65_ffffff_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_65_ffffff_40x100.png
deleted file mode 100755
index ac8b229af..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_65_ffffff_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_75_cccccc_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_75_cccccc_40x100.png
deleted file mode 100755
index 5473afffb..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_75_cccccc_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_75_dadada_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_75_dadada_40x100.png
deleted file mode 100755
index 7b7b0744d..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_75_dadada_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_75_e6e6e6_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_75_e6e6e6_40x100.png
deleted file mode 100755
index 5b4ca1a03..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_75_e6e6e6_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_flat_75_ffffff_40x100.png b/public/stylesheets/admin-theme/images/ui-bg_flat_75_ffffff_40x100.png
deleted file mode 100755
index ac8b229af..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_flat_75_ffffff_40x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png b/public/stylesheets/admin-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png
deleted file mode 100755
index 0e05810ff..000000000
--- a/public/stylesheets/admin-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_222222_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_222222_256x240.png
deleted file mode 100755
index b273ff111..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_222222_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_2e83ff_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_2e83ff_256x240.png
deleted file mode 100755
index 09d1cdc85..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_2e83ff_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_454545_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_454545_256x240.png
deleted file mode 100755
index 59bd45b90..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_454545_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_888888_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_888888_256x240.png
deleted file mode 100755
index 6d02426c1..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_888888_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/admin-theme/images/ui-icons_cd0a0a_256x240.png b/public/stylesheets/admin-theme/images/ui-icons_cd0a0a_256x240.png
deleted file mode 100755
index 2ab019b73..000000000
--- a/public/stylesheets/admin-theme/images/ui-icons_cd0a0a_256x240.png
+++ /dev/null
Binary files differ
diff --git a/public/stylesheets/fonts.css b/public/stylesheets/fonts.css
deleted file mode 100644
index f63b4b1f8..000000000
--- a/public/stylesheets/fonts.css
+++ /dev/null
@@ -1,73 +0,0 @@
-
-@font-face {
- font-family: 'DeliciousBold';
- src: url('./fonts/delicious-bold-webfont.eot');
- src: url('./fonts/delicious-bold-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-bold-webfont.woff') format('woff'),
- url('./fonts/delicious-bold-webfont.ttf') format('truetype'),
- url('./fonts/delicious-bold-webfont.svg#DeliciousBold') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousBoldItalic';
- src: url('./fonts/delicious-bolditalic-webfont.eot');
- src: url('./fonts/delicious-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-bolditalic-webfont.woff') format('woff'),
- url('./fonts/delicious-bolditalic-webfont.ttf') format('truetype'),
- url('./fonts/delicious-bolditalic-webfont.svg#DeliciousBoldItalic') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousHeavyRegular';
- src: url('./fonts/delicious-heavy-webfont.eot');
- src: url('./fonts/delicious-heavy-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-heavy-webfont.woff') format('woff'),
- url('./fonts/delicious-heavy-webfont.ttf') format('truetype'),
- url('./fonts/delicious-heavy-webfont.svg#DeliciousHeavyRegular') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousItalic';
- src: url('./fonts/delicious-italic-webfont.eot');
- src: url('./fonts/delicious-italic-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-italic-webfont.woff') format('woff'),
- url('./fonts/delicious-italic-webfont.ttf') format('truetype'),
- url('./fonts/delicious-italic-webfont.svg#DeliciousItalic') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousRoman';
- src: url('./fonts/delicious-roman-webfont.eot');
- src: url('./fonts/delicious-roman-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-roman-webfont.woff') format('woff'),
- url('./fonts/delicious-roman-webfont.ttf') format('truetype'),
- url('./fonts/delicious-roman-webfont.svg#DeliciousRoman') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
-@font-face {
- font-family: 'DeliciousSmallCapsRegular';
- src: url('./fonts/delicious-smallcaps-webfont.eot');
- src: url('./fonts/delicious-smallcaps-webfont.eot?#iefix') format('embedded-opentype'),
- url('./fonts/delicious-smallcaps-webfont.woff') format('woff'),
- url('./fonts/delicious-smallcaps-webfont.ttf') format('truetype'),
- url('./fonts/delicious-smallcaps-webfont.svg#DeliciousSmallCapsRegular') format('svg');
- font-weight: normal;
- font-style: normal;
-
-}
-
diff --git a/script/compact-xapian-database b/script/compact-xapian-database
index f1a6058b0..982c0e878 100755
--- a/script/compact-xapian-database
+++ b/script/compact-xapian-database
@@ -4,7 +4,7 @@ export RAILS_ENV=$1
set -e
if [ -x /usr/bin/xapian-compact ]; then
- XAPIAN_DB_DIR=$( cd "$( dirname "$0" )" && pwd )/../vendor/plugins/acts_as_xapian/xapiandbs
+ XAPIAN_DB_DIR=$( cd "$( dirname "$0" )" && pwd )/../lib/acts_as_xapian/xapiandbs
if [ -e "$XAPIAN_DB_DIR/$RAILS_ENV.new" ]; then
echo >&2 "Didn't compact Xapian database because there was an existing database at $XAPIAN_DB_DIR/$RAILS_ENV.new"
exit 1
diff --git a/script/handle-mail-replies.rb b/script/handle-mail-replies.rb
index da0fc8e96..cbff03acb 100755
--- a/script/handle-mail-replies.rb
+++ b/script/handle-mail-replies.rb
@@ -20,6 +20,9 @@ $:.push(File.join($alaveteli_dir, "lib", "mail_handler"))
load 'configuration.rb'
MySociety::Config.set_file(File.join($alaveteli_dir, 'config', 'general'), true)
MySociety::Config.load_default
+
+
+require 'active_support/all'
require 'mail_handler'
if RUBY_VERSION.to_f >= 1.9
# the default encoding for IO is utf-8, and we use utf-8 internally
diff --git a/script/rails-post-deploy b/script/rails-post-deploy
index c09868347..a88e28b19 100755
--- a/script/rails-post-deploy
+++ b/script/rails-post-deploy
@@ -96,3 +96,8 @@ bundle exec rake submodules:check
bundle exec rake db:migrate #--trace
bundle exec rake themes:install
+
+if [ "$OPTION_STAGING_SITE" = "0" ]
+then
+ bundle exec rake assets:precompile
+fi
diff --git a/script/site-specific-install.sh b/script/site-specific-install.sh
index 8917fd577..7d47a5990 100755
--- a/script/site-specific-install.sh
+++ b/script/site-specific-install.sh
@@ -66,6 +66,11 @@ ensure_line_present \
/etc/postfix/main.cf 644
ensure_line_present \
+ "^ *myhostname *=" \
+ "myhostname = $(hostname --fqdn)" \
+ /etc/postfix/main.cf 644
+
+ensure_line_present \
"^do-not-reply" \
"do-not-reply-to-this-address: :blackhole:" \
/etc/aliases 644
diff --git a/script/switch-theme.rb b/script/switch-theme.rb
index 47f81c7a8..980853687 100755
--- a/script/switch-theme.rb
+++ b/script/switch-theme.rb
@@ -31,6 +31,7 @@
require 'tempfile'
+$no_theme_name = 'none'
theme_directory = ENV['ALAVETELI_THEMES_DIR']
alaveteli_directory = File.expand_path(File.join(File.dirname(__FILE__),
".."))
@@ -53,7 +54,9 @@ $available_themes = Dir.entries(theme_directory).find_all do |local_theme_name|
next unless File.directory? full_path
next unless File.directory? File.join(full_path, '.git')
local_theme_name
-end
+end.sort
+
+$available_themes.unshift $no_theme_name
if $available_themes.empty?
STDERR.puts "There were no theme directories found in '#{theme_directory}'"
@@ -62,7 +65,7 @@ end
def usage_and_exit
STDERR.puts "Usage: #{$0} <THEME-NAME>"
- $available_themes.sort.each do |theme_name|
+ $available_themes.each do |theme_name|
STDERR.puts " #{theme_name}"
end
exit 1
@@ -108,13 +111,23 @@ symlink(File.basename(theme_filename),
config_directory,
"general.yml")
-symlink(File.join(full_theme_path, 'public'),
- File.join(alaveteli_directory, 'public'),
- 'alavetelitheme')
+public_directory = File.join(alaveteli_directory, 'public')
-symlink(full_theme_path,
- File.join(alaveteli_directory, 'vendor', 'plugins'),
- requested_theme)
+if requested_theme == $no_theme_name
+ File.unlink File.join(public_directory, 'alavetelitheme')
+else
+ symlink(File.join(full_theme_path, 'public'),
+ public_directory,
+ 'alavetelitheme')
+
+ symlink(full_theme_path,
+ File.join(alaveteli_directory, 'lib', 'themes'),
+ requested_theme)
+end
STDERR.puts """Switched to #{requested_theme}!
-You will need to restart any development server you have running."""
+You will need to:
+ 1. restart any development server you have running.
+ 2. run: bundle exec rake assets:clean
+ 3. run: bundle exec rake assets:precompile
+"""
diff --git a/spec/controllers/general_controller_spec.rb b/spec/controllers/general_controller_spec.rb
index 116dbe07a..7590a5b42 100644
--- a/spec/controllers/general_controller_spec.rb
+++ b/spec/controllers/general_controller_spec.rb
@@ -42,6 +42,17 @@ describe GeneralController, 'when getting the blog feed' do
assigns[:blog_items].count.should == 1
end
+ context 'if no feed is configured' do
+
+ before do
+ AlaveteliConfiguration.stub!(:blog_feed).and_return('')
+ end
+
+ it 'should raise an ActiveRecord::RecordNotFound error' do
+ lambda{ get :blog }.should raise_error(ActiveRecord::RecordNotFound)
+ end
+ end
+
end
describe GeneralController, "when showing the frontpage" do
@@ -116,49 +127,7 @@ describe GeneralController, "when showing the frontpage" do
end
end
-describe GeneralController, "when showing the front page with fixture data" do
-
- describe 'when constructing the list of recent requests' do
-
- before(:each) do
- get_fixtures_xapian_index
- end
-
- describe 'when there are fewer than five successful requests' do
-
- it 'should list the most recently sent and successful requests by the creation date of the
- request event' do
- # Make sure the newest response is listed first even if a request
- # with an older response has a newer comment or was reclassified more recently:
- # https://github.com/mysociety/alaveteli/issues/370
- #
- # This is a deliberate behaviour change, in that the
- # previous behaviour (showing more-recently-reclassified
- # requests first) was intentional.
- get :frontpage
-
- request_events = assigns[:request_events]
- previous = nil
- request_events.each do |event|
- if previous
- previous.created_at.should be >= event.created_at
- end
- ['sent', 'response'].include?(event.event_type).should be_true
- if event.event_type == 'response'
- ['successful', 'partially_successful'].include?(event.calculated_state).should be_true
- end
- previous = event
- end
- end
- end
-
- it 'should coalesce duplicate requests' do
- get :frontpage
- assigns[:request_events].map(&:info_request).select{|x|x.url_title =~ /^spam/}.length.should == 1
- end
- end
-end
describe GeneralController, 'when using xapian search' do
diff --git a/spec/controllers/public_body_controller_spec.rb b/spec/controllers/public_body_controller_spec.rb
index 0e0b0a575..63989baaa 100644
--- a/spec/controllers/public_body_controller_spec.rb
+++ b/spec/controllers/public_body_controller_spec.rb
@@ -275,6 +275,20 @@ describe PublicBodyController, "when showing JSON version for API" do
end
+describe PublicBodyController, "when asked to export public bodies as CSV" do
+
+ it "should return a valid CSV file with the right number of rows" do
+ get :list_all_csv
+ all_data = CSV.parse response.body
+ all_data.length.should == 8
+ # Check that the header has the right number of columns:
+ all_data[0].length.should == 11
+ # And an actual line of data:
+ all_data[1].length.should == 11
+ end
+
+end
+
describe PublicBodyController, "when showing public body statistics" do
it "should render the right template with the right data" do
diff --git a/spec/controllers/services_controller_spec.rb b/spec/controllers/services_controller_spec.rb
index 399f48acb..14731f090 100644
--- a/spec/controllers/services_controller_spec.rb
+++ b/spec/controllers/services_controller_spec.rb
@@ -58,7 +58,7 @@ describe ServicesController, "when returning a message for people in other count
FakeWeb.register_uri(:get, %r|denmark.com|, :body => "DK")
get :other_country_message
response.should be_success
- response.body.should == 'Hello! We have an <a href="/help/alaveteli?country_name=Deutschland">important message</a> for visitors outside Deutschland <span class="close-button">X</span>'
+ response.body.should == 'Hello! We have an <a href="/help/alaveteli?country_name=Deutschland">important message</a> for visitors outside Deutschland'
end
it "should default to no message if the country_from_ip domain doesn't exist" do
AlaveteliConfiguration.stub!(:gaze_url).and_return('http://12123sdf14qsd.com')
diff --git a/spec/fixtures/files/document-pdf.email b/spec/fixtures/files/document-pdf.email
new file mode 100644
index 000000000..f4fc6f0fe
--- /dev/null
+++ b/spec/fixtures/files/document-pdf.email
@@ -0,0 +1,110 @@
+From authority@example.org Tue Dec 3 11:13:02 2013
+Return-path: <authority@example.org>
+Envelope-to: requester@example.org
+Delivery-date: Tue, 03 Dec 2013 11:13:00 +0000
+From: Test Authority <authority@example.org>
+To: requester@example.org
+Subject: testing a PDF attachment with the wrong content-type
+Date: Tue, 03 Dec 2013 11:12:45 +0000
+Message-ID: <87li09xuasdfasdfpoija@blahblah>
+MIME-Version: 1.0
+Content-Type: multipart/mixed; boundary="=-=-="
+
+--=-=-=
+Content-Type: text/plain
+
+Here's a PDF attachement which has a document/pdf content-type,
+when it really should be application/pdf.
+
+
+--=-=-=
+Content-Type: application/pdf
+Content-Disposition: attachment; filename=tiny-example.pdf
+Content-Transfer-Encoding: base64
+Content-Description: a very small example PDF
+
+JVBERi0xLjUKJbXtrvsKMyAwIG9iago8PCAvTGVuZ3RoIDQgMCBSCiAgIC9GaWx0ZXIgL0ZsYXRl
+RGVjb2RlCj4+CnN0cmVhbQp4nCvkMlAAwaJ0Bf1EA4X0Yi6nEC5DA1M9IwNLYzNjsBwS18hIz9TI
+0tBSwdzIQs/Y3MLAzEQhJJdLP03XQBeoUCEkjStawyM1JydfUTM2xIvLNYQrkAsAJG8VmQplbmRz
+dHJlYW0KZW5kb2JqCjQgMCBvYmoKICAgOTIKZW5kb2JqCjIgMCBvYmoKPDwKICAgL0V4dEdTdGF0
+ZSA8PAogICAgICAvYTAgPDwgL0NBIDEgL2NhIDEgPj4KICAgPj4KICAgL0ZvbnQgPDwKICAgICAg
+L2YtMC0wIDUgMCBSCiAgID4+Cj4+CmVuZG9iago2IDAgb2JqCjw8IC9UeXBlIC9QYWdlCiAgIC9Q
+YXJlbnQgMSAwIFIKICAgL01lZGlhQm94IFsgMCAwIDU5NS4yNzU1NzQgODQxLjg4OTc3MSBdCiAg
+IC9Db250ZW50cyAzIDAgUgogICAvR3JvdXAgPDwKICAgICAgL1R5cGUgL0dyb3VwCiAgICAgIC9T
+IC9UcmFuc3BhcmVuY3kKICAgICAgL0kgdHJ1ZQogICAgICAvQ1MgL0RldmljZVJHQgogICA+Pgog
+ICAvUmVzb3VyY2VzIDIgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8IC9MZW5ndGggOCAwIFIKICAg
+L0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL0xlbmd0aDEgMzcxNgo+PgpzdHJlYW0KeJzlVnt0lMUV
+v/P9vtndZB/5drMbiUlww7ookJCQECCAzYJBBSrlETXYxgayxIjQJAQVTOOCFAREgwKLAtIUkSpE
+mlIkG2OtVN4xrZXH8Y0gFGkjRouoa5j0btCe0/boOW3/6OnpzM58cx9z5/7ud+fuR4KI4mkBgbxl
+s6dVvXnmiTlECBJpt5bdPddLd6TlE8mXiIQqr7p9dvXgu2cSmZmmbbfPml9etrfAzOtG1o9UzJgW
+7O56fQSRZRbzhlQwwxYx3cL0ZqavrJg9d97lhs76lgNM95pVWTaNKM7N9HtMp86eNq9KrzFVM93F
+tLdqzoyqEeaPeRmXyj5UkEblKqyXy83srZkuD9j0L8n0pbDIkKZT1p4jHYPIONJxpCM70Znu9Kc7
+08t16qpBStdpFTY7Pv9kjqkfCTrItkbIo2SljIDbskZ7VqeF8SYzUuWwOJFKus3o6sjh3yDKGnmK
+F9k7JtqFKEnMZaO5Th/PvoOHtHcPHbrY55A8enGDFowO0PZf5DBpVN39vh7Sa8lNKVQVuJI8Im6J
+Zan0PCNki0209mpxRWwrUlM8msVjofGaK2FMKp92vmOP05XPzp8633HKOMf9/DlmZAf6FaRVpTWk
+vZrWmSYLqEAUaAWeghSZYc6yZMVlxFdSpajUKj2VKXEl1aJEeNJ7i9ycIUM9DuHzktOg3BwyDxS+
+PiazHuraYWtvnrl/etmrd6rzar/o13VSmCPaU0vXtTi02259cf/gwdv7Z4hhIl4kimvVO3vW7ty+
+kV877eZpvsnNMe/TTGs1YaHrdHaaw9ORHbAbMiAnylJZJTulqSdKvt2RiMn9RcfX8biL42Gly2hc
+INHU4qIWW8S1olecK2ESXJ4xvXrgX4JunMsO+AqSa6nWFDKHLKG4UHzIWmsL2UOOUELICDlrXQ3J
+nclORtrH5HEnMdS8wX2vyokh9fWJzVrN6sZta1Y1Nq7qFC51rvNj9ZFw4viZgwfPfHBg/9kN6oDq
+UB8y+HzG6BbDOLU0kRdzlPMBFEd5gQQzLdIXahazFND5ahhd45usRcUtRN0vDZs6siMnn19U1qmu
+V7LFLrJ6rROtKPHnenycGvBB5LW1tbk3eZTizKhW68UM6mmCrcdumo10bQI/e5PBHAeFqFtMEdPE
+PHGfeFTbp73t7evN9g73Nqb36e6O3QFqEJNFKcvrvpInsjz/b/JvboLPeFusExvERu4NX/V93A+I
+Az0a8lv3/6tN/Ns7tb+j0DPr/5Ev/0eNszdCbdx301baILYwVc7sauY0aDtoMd3FnJdFm1imZTJv
+C3XSYdZ8gNqwVScxjnKZS/SG1Oi8KKKdbCOfb0a+2aSTPkHfqU/WI/oZvZ2G6jV6u16q14hcbJI3
+yy088rFXc3E9vYIi4jjV0PM4i1y8oBfqDjqOdmyl03xK7F22UT1tplr2xS0qKaTVapOZs1+20zru
+lSxv5yw9zN49LxbRUXoMunYDbRRHGVcbXaBFKNJCnBy5Wjn7v59ttfP+dVSj880V8aS0Acxj7/ms
+6T1zGjLl0Z7eybeslopos4nLktnHp8QitkW8LDpMq6iBDuMHqMZbYrHu05/Wb6D6SxFAKdWz7XWx
+PaZyMZ+xx3ptzLp2j14qttJZvdQ8nW3vjSHiM3dqkxlROb3A4x6TwZhGiMVYxp7GpGnUbh6nZ/F+
+tmCuY9RElcijmbyqpe20gzIRpnq21IPXNFRe4J0b9BOMuV48pF2gdhRSPyrXz3Gs+S+GwkTNZpPU
+oQnK8BpNmn9ssCkwqdh7YGp6ZsY/kF7D7G2iiU32+d5Id/fEYj1FTm2SqU3wW5p0v+/ENwlPZGaM
+n1jsbbo4pvArq2NKC5k3pZiXMYrZzB9T2COLHdok/fwbW9rkLavwLjeW+4YvN2YMz7xUI7Sie2dN
+WLj6hwkjP6UrLD053L47tfTr52fHurbb58TdxGRMeKmq8GyerdKI7Cc/OxadZJ/zT9XGxBlazil7
+UO+gai2fduunqRp5sdre0wp5NLChuTyaYk7Evld6rJhQRAOogiuzxjX58dipukdL4qce0RYEur9U
+iLrxhR+f5+CzMC448KnCeYW/+PGJAx+H0enHR8tHyY8UzoXxYRgdUfw5ij8pnB2OD0bjjMIfc3D6
+1BR5OoxTrHhqCt4/mSXfj+JkFk4ovKdwPAfvuvFOGG8rvOXCm3V4oxWvKxxj9WN1OHrkenm0Dkeu
+x+HXUuRhhddS8AeFVxV+r/A7hfYwXmnrLV9RaOuNQzk4qLBvsVPuS8XeJOxReFnhtwq7FV5S+I3C
+iwq/VnhBoVXheSdalvhli0KkuVVGFJp3lcjmVjQv0Hc955e7SgLd2BXQn/Njp8Kvwtih8EuFJoVf
+KGwP4lkHGrf5ZWMQ27a65DY/trrwDDv9TBRPK/xcYYvCUy5sVnhyk0M+mYNNDvwsiAZWaQjjpwob
+n7DJjQpP2LBhfbLcEMT6dYZcn4x1Bh6Px2MKa8N2uVYhbMca3rQmjNWrHHL11VjlwKNRPLKyVT6i
+sLK+RK5sxcoFev3DfllfgvqA/rAfDymseHCgXKHw4EAsZ5jLR2HZUqtc5sZSKx5gxgNBLOFILfFj
+sRM/UVh0v1MuUrjfiYUKCxRCCoHu++rq5H0KdXX4cRC1RR5Z68e9CvMV5jlwjw13x+MuhblR1EQx
+J4rqKKoUKhV+pDArHXcqzHSOljOn4A6FijrczkS5wgyFoEKZwnSFacNRGsVtNpQofF/hVoWpxfFy
+ahTF8bglKVnekoObFW7ik28ajSIPpghDTumFyW5MGpcoJynwN8j3FCbcaMgJCjca+K7CeJaMVxg3
+1pDjEjE2zS7HGrjBjusVrgtjTBiFCtdqmfLaKEa3YtR4BBQKFL5zjUt+x41rRibIa1wYOcIuRwa6
+EzDCjuEK+QrDhrrlsCiGDjHkUDeG5FnlEAN5VgzujVw7cgZZZY7CICuys6wy244sKwZmxsmBBjLj
+kJGDAf39ckAQ/fu5ZH8/+rlw9VV+efUoXOVHX79V9k2A34orFXwKfRKQzjjTXfAGcUUUvRlC7yDS
+7EjlCKYqpERx+WgkM5Gs0CuIyzhSlykk8aakZHgU3AqJCi5WcCk4GatzNIw6JAThULDbkqRdwcba
+tiRYFeINxClYWM2iYHbDFITOQp0zwAPmQnGVNaSWCWGAFEREBBc/JAb8LzT6bzvwrS3tr1SHeSwK
+ZW5kc3RyZWFtCmVuZG9iago4IDAgb2JqCiAgIDI0MDIKZW5kb2JqCjkgMCBvYmoKPDwgL0xlbmd0
+aCAxMCAwIFIKICAgL0ZpbHRlciAvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnicXVAxbsQgEOx5xZZ3
+xQnbykUpkKXo0ri4JIqTB2BYHKQYEMaFf58FThcpBcwsuzOMll+Gl8HZBPw9ejViAmOdjrj6LSqE
+CWfrWNuBtirdqnKrRQbGSTzua8JlcMYzIYB/UHNNcYfDs/YTHhkA8LeoMVo3w+HrMtancQvhBxd0
+CRrW96DRkN1Vhle5IPAiPg2a+jbtJ5L9TXzuAaErdVsjKa9xDVJhlG5GJpqmB2FMz9Dpf71zVUxG
+fcvIxMMTTTYNAROP58IJiKvKVeamcvITXVs4Qfa+ueRf8jru8dUWIyUvOyuRc1jr8L7W4ENWlfML
+jQ547AplbmRzdHJlYW0KZW5kb2JqCjEwIDAgb2JqCiAgIDI0NgplbmRvYmoKMTEgMCBvYmoKPDwg
+L1R5cGUgL0ZvbnREZXNjcmlwdG9yCiAgIC9Gb250TmFtZSAvUlFaWlJTK0RlamFWdVNhbnMKICAg
+L0ZvbnRGYW1pbHkgKERlamFWdSBTYW5zKQogICAvRmxhZ3MgMzIKICAgL0ZvbnRCQm94IFsgLTEw
+MjAgLTQxNSAxNjgwIDExNjYgXQogICAvSXRhbGljQW5nbGUgMAogICAvQXNjZW50IDkyOAogICAv
+RGVzY2VudCAtMjM1CiAgIC9DYXBIZWlnaHQgMTE2NgogICAvU3RlbVYgODAKICAgL1N0ZW1IIDgw
+CiAgIC9Gb250RmlsZTIgNyAwIFIKPj4KZW5kb2JqCjUgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKICAg
+L1N1YnR5cGUgL1RydWVUeXBlCiAgIC9CYXNlRm9udCAvUlFaWlJTK0RlamFWdVNhbnMKICAgL0Zp
+cnN0Q2hhciAzMgogICAvTGFzdENoYXIgMTExCiAgIC9Gb250RGVzY3JpcHRvciAxMSAwIFIKICAg
+L0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKICAgL1dpZHRocyBbIDAgNDAwIDAgMCAwIDAgMCAw
+IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg
+MCAwIDAgMCA3NTEgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
+IDAgMCAwIDAgMCA2MTUgMCAwIDAgMCAwIDAgMjc3IDAgMCA2MTEgXQogICAgL1RvVW5pY29kZSA5
+IDAgUgo+PgplbmRvYmoKMSAwIG9iago8PCAvVHlwZSAvUGFnZXMKICAgL0tpZHMgWyA2IDAgUiBd
+CiAgIC9Db3VudCAxCj4+CmVuZG9iagoxMiAwIG9iago8PCAvQ3JlYXRvciAoY2Fpcm8gMS4xMi4x
+NiAoaHR0cDovL2NhaXJvZ3JhcGhpY3Mub3JnKSkKICAgL1Byb2R1Y2VyIChjYWlybyAxLjEyLjE2
+IChodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcpKQo+PgplbmRvYmoKMTMgMCBvYmoKPDwgL1R5cGUg
+L0NhdGFsb2cKICAgL1BhZ2VzIDEgMCBSCj4+CmVuZG9iagp4cmVmCjAgMTQKMDAwMDAwMDAwMCA2
+NTUzNSBmIAowMDAwMDA0MDYyIDAwMDAwIG4gCjAwMDAwMDAyMDUgMDAwMDAgbiAKMDAwMDAwMDAx
+NSAwMDAwMCBuIAowMDAwMDAwMTg0IDAwMDAwIG4gCjAwMDAwMDM2NzkgMDAwMDAgbiAKMDAwMDAw
+MDMxNCAwMDAwMCBuIAowMDAwMDAwNTQyIDAwMDAwIG4gCjAwMDAwMDMwMzggMDAwMDAgbiAKMDAw
+MDAwMzA2MSAwMDAwMCBuIAowMDAwMDAzMzg1IDAwMDAwIG4gCjAwMDAwMDM0MDggMDAwMDAgbiAK
+MDAwMDAwNDEyNyAwMDAwMCBuIAowMDAwMDA0MjU3IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUg
+MTQKICAgL1Jvb3QgMTMgMCBSCiAgIC9JbmZvIDEyIDAgUgo+PgpzdGFydHhyZWYKNDMxMAolJUVP
+Rgo=
+--=-=-=--
+
diff --git a/spec/fixtures/public_body_translations.yml b/spec/fixtures/public_body_translations.yml
index 2030804ac..225bd74e2 100644
--- a/spec/fixtures/public_body_translations.yml
+++ b/spec/fixtures/public_body_translations.yml
@@ -10,6 +10,8 @@ geraldine_es_public_body_translation:
notes: ""
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
geraldine_en_public_body_translation:
name: Geraldine Quango
@@ -23,6 +25,8 @@ geraldine_en_public_body_translation:
notes: ""
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
humpadink_es_public_body_translation:
name: "El Department for Humpadinking"
@@ -36,6 +40,8 @@ humpadink_es_public_body_translation:
notes: Baguette
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
humpadink_en_public_body_translation:
name: "Department for Humpadinking"
@@ -49,6 +55,8 @@ humpadink_en_public_body_translation:
notes: An albatross told me!!!
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
forlorn_en_public_body_translation:
name: "Department of Loneliness"
@@ -62,6 +70,8 @@ forlorn_en_public_body_translation:
notes: A very lonely public body that no one has corresponded with
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
silly_walks_en_public_body_translation:
id: 6
@@ -75,6 +85,8 @@ silly_walks_en_public_body_translation:
notes: You know the one.
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
sensible_walks_en_public_body_translation:
id: 7
@@ -88,6 +100,8 @@ sensible_walks_en_public_body_translation:
notes: I bet you’ve never heard of it.
publication_scheme: ""
disclosure_log: ""
+ created_at: 2008-10-25 10:51:01.161639
+ updated_at: 2008-10-25 10:51:01.161639
other_public_body_translation:
id: 8
@@ -101,6 +115,8 @@ other_public_body_translation:
notes: More notes
publication_scheme: ""
disclosure_log: ""
+ created_at: 2008-10-25 10:51:01.161639
+ updated_at: 2008-10-25 10:51:01.161639
humpadink_he_IL_public_body_translation:
name: "Hebrew Humpadinking"
@@ -114,6 +130,8 @@ humpadink_he_IL_public_body_translation:
notes: An albatross told me!!!
publication_scheme: ""
disclosure_log: ""
+ created_at: 2007-10-24 10:51:01.161639
+ updated_at: 2007-10-24 10:51:01.161639
accented_public_body_translation:
id: 10
@@ -127,3 +145,5 @@ accented_public_body_translation:
notes: This is to test unicode handling in body names
publication_scheme: ""
disclosure_log: ""
+ created_at: 2008-10-25 10:51:01.161639
+ updated_at: 2008-10-25 10:51:01.161639
diff --git a/spec/lib/mail_handler/mail_handler_spec.rb b/spec/lib/mail_handler/mail_handler_spec.rb
index aa351bd94..49a65dade 100644
--- a/spec/lib/mail_handler/mail_handler_spec.rb
+++ b/spec/lib/mail_handler/mail_handler_spec.rb
@@ -235,7 +235,7 @@ describe 'when deriving a name, email and formatted address from a message from
it 'should quote a name with quotes in it' do
should_render_from_address('"FOI \" Person" <foiperson@localhost>',
- ['FOI \" Person',
+ ['FOI " Person',
'foiperson@localhost',
'"FOI \" Person" <foiperson@localhost>'])
end
@@ -409,6 +409,12 @@ describe 'when getting attachment attributes' do
attributes[1][:body].length.should == 7769
end
+ it 'should treat a document/pdf attachment as application/pdf' do
+ mail = get_fixture_mail('document-pdf.email')
+ attributes = MailHandler.get_attachment_attributes(mail)
+ attributes[1][:content_type].should == "application/pdf"
+ end
+
it 'should produce a consistent set of url_part_numbers, content_types, within_rfc822_subjects
and filenames from an example mail with lots of attachments' do
mail = get_fixture_mail('many-attachments-date-header.email')
diff --git a/spec/lib/sendmail_return_path_spec.rb b/spec/lib/sendmail_return_path_spec.rb
deleted file mode 100644
index 83436c2bd..000000000
--- a/spec/lib/sendmail_return_path_spec.rb
+++ /dev/null
@@ -1,88 +0,0 @@
-# This is a test of the monkey patches in sendmail_return_path.rb
-
-# In Rails 3 the monkeypatches are not needed anymore because sendmail now has the "-f" flag
-# set correctly. So, strictly these tests are testing the Rails internals. So, that means we really
-# should delete them. Let's do that later when things have settled down. For the time being leave
-# them in
-
-require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
-
-describe "when sending email with an altered return path" do
- before(:each) { ActionMailer::Base.deliveries = [] }
-
- it "should default to delivery method test" do
- ActionMailer::Base.delivery_method.should == :test
- end
-
- it "should let the helper change the method" do
- with_delivery_method :smtp do
- ActionMailer::Base.delivery_method.should == :smtp
- end
- ActionMailer::Base.delivery_method.should == :test
- end
-
- # Documentation for fancy mock functions: http://rspec.info/documentation/mocks/message_expectations.html
- it "should set the return path when sending email using SMTP" do
- mock_smtp = mock("smtp")
- mock_smtp_session = mock("smtp_session")
-
- mock_smtp.should_receive(:start).once.and_yield(mock_smtp_session)
- # the second parameter to the SMTP session is the sender (return path)
- mock_smtp_session.should_receive(:sendmail).once.with(anything(), "test@localhost", anything())
-
- Net::SMTP.stub!(:new).and_return(mock_smtp)
-
- with_delivery_method :smtp do
- ContactMailer.to_admin_message(
- "Mr. Test", "test@localhost", "Test script spec/lib/sendmail_return_path_spec.rb",
- "This is just a test for a test script", nil, nil, nil
- ).deliver
- end
-
- deliveries = ActionMailer::Base.deliveries
- deliveries.size.should == 0
- end
-
- it "should set the return path when sending email using sendmail" do
- with_stub_popen do
- IO.should_receive(:popen).once.with('/usr/sbin/sendmail -i -t -f "test@localhost" postmaster@localhost', "w+")
- with_delivery_method :sendmail do
- ContactMailer.to_admin_message(
- "Mr. Test", "test@localhost", "Test script spec/lib/sendmail_return_path_spec.rb",
- "This is just a test for a test script", nil, nil, nil
- ).deliver
- end
- end
-
- deliveries = ActionMailer::Base.deliveries
- deliveries.size.should == 0
- end
-
-
- protected
- # Change the way Rails delivers memory, just for current scope
- def with_delivery_method(new_delivery_method)
- old_delivery_method, ActionMailer::Base.delivery_method = ActionMailer::Base.delivery_method, new_delivery_method
- yield
- ensure
- ActionMailer::Base.delivery_method = old_delivery_method
- end
-
- # By default, we can't stub popen, presumably because it is a builtin written in C.
- # Replace it entirely with a normal method that just calls the C one, so we can stub it -
- # this leaves IO working afterwards (for other tests that run in the same instance).
- def with_stub_popen()
- IO.class_eval "@orig_popen = self.method(:popen); def self.popen(a, b, &c); @orig_popen.call(a, b, &c); end"
- begin
- yield
- ensure
- # in theory would undo the popen alterations and return IO to a pristine state, but
- # don't know how to (much fiddling with alias bind and the like didn't help). It
- # doesn't matter - the new popen should behave just the same.
- end
- end
-
-
-end
-
-
diff --git a/spec/mailers/application_mailer_spec.rb b/spec/mailers/application_mailer_spec.rb
index d8993f78f..718ac47fb 100644
--- a/spec/mailers/application_mailer_spec.rb
+++ b/spec/mailers/application_mailer_spec.rb
@@ -13,7 +13,7 @@ describe ApplicationMailer do
end
def add_mail_methods(method_names)
- method_names.each{ |method_name| ApplicationMailer.send(:define_method, method_name){} }
+ method_names.each{ |method_name| ApplicationMailer.send(:define_method, method_name){ mail() } }
end
def remove_mail_methods(method_names)
diff --git a/spec/mailers/request_mailer_spec.rb b/spec/mailers/request_mailer_spec.rb
index 4e0765921..516d13127 100644
--- a/spec/mailers/request_mailer_spec.rb
+++ b/spec/mailers/request_mailer_spec.rb
@@ -332,6 +332,27 @@ describe RequestMailer, 'when sending mail when someone has updated an old uncla
end
+describe RequestMailer, 'when generating a fake response for an upload' do
+
+ before do
+ @foi_officer = mock_model(User, :name_and_email => "FOI officer's name and email")
+ @request_user = mock_model(User)
+ @public_body = mock_model(PublicBody, :name => 'Test public body')
+ @info_request = mock_model(InfoRequest, :user => @request_user,
+ :email_subject_followup => 'Re: Freedom of Information - Test request',
+ :incoming_name_and_email => 'Someone <someone@example.org>')
+ end
+
+ it 'should should generate a "fake response" email with a reasonable subject line' do
+ fake_email = RequestMailer.fake_response(@info_request,
+ @foi_officer,
+ "The body of the email...",
+ "blah.txt",
+ "The content of blah.txt")
+ fake_email.subject.should == "Re: Freedom of Information - Test request"
+ end
+
+end
describe RequestMailer, 'when sending a new response email' do
diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb
index 64ad1972e..dcc94e967 100644
--- a/spec/models/info_request_spec.rb
+++ b/spec/models/info_request_spec.rb
@@ -27,7 +27,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe InfoRequest do
- describe 'when validating', :focus => true do
+ describe 'when validating' do
it 'should accept a summary with ascii characters' do
info_request = InfoRequest.new(:title => 'abcde')
@@ -1030,7 +1030,7 @@ describe InfoRequest do
end
end
- context "another series of events on a request", :focus => true do
+ context "another series of events on a request" do
it "should have sensible event states" do
# An initial request is sent
request.log_event('sent', {})
@@ -1122,5 +1122,59 @@ describe InfoRequest do
end
+ describe InfoRequest, 'when getting similar requests' do
+
+ before(:each) do
+ get_fixtures_xapian_index
+ end
+
+ it 'should return similar requests' do
+ similar, more = info_requests(:spam_1_request).similar_requests(1)
+ similar.results.first[:model].info_request.should == info_requests(:spam_2_request)
+ end
+
+ it 'should return a flag set to true' do
+ similar, more = info_requests(:spam_1_request).similar_requests(1)
+ more.should be_true
+ end
+
+ end
+
+ describe InfoRequest, 'when constructing the list of recent requests' do
+ before(:each) do
+ get_fixtures_xapian_index
+ end
+
+ describe 'when there are fewer than five successful requests' do
+
+ it 'should list the most recently sent and successful requests by the creation date of the
+ request event' do
+ # Make sure the newest response is listed first even if a request
+ # with an older response has a newer comment or was reclassified more recently:
+ # https://github.com/mysociety/alaveteli/issues/370
+ #
+ # This is a deliberate behaviour change, in that the
+ # previous behaviour (showing more-recently-reclassified
+ # requests first) was intentional.
+ request_events, request_events_all_successful = InfoRequest.recent_requests
+ previous = nil
+ request_events.each do |event|
+ if previous
+ previous.created_at.should be >= event.created_at
+ end
+ ['sent', 'response'].include?(event.event_type).should be_true
+ if event.event_type == 'response'
+ ['successful', 'partially_successful'].include?(event.calculated_state).should be_true
+ end
+ previous = event
+ end
+ end
+ end
+
+ it 'should coalesce duplicate requests' do
+ request_events, request_events_all_successful = InfoRequest.recent_requests
+ request_events.map(&:info_request).select{|x|x.url_title =~ /^spam/}.length.should == 1
+ end
+ end
end
diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb
index 23842ccff..dc09bdfa6 100644
--- a/spec/models/public_body_spec.rb
+++ b/spec/models/public_body_spec.rb
@@ -213,6 +213,15 @@ describe PublicBody, " when saving" do
public_body.name.should == "Mark's Public Body"
end
+ it 'should update the right translation when in a locale with an underscore' do
+ AlaveteliLocalization.set_locales('he_IL', 'he_IL')
+ public_body = public_bodies(:humpadink_public_body)
+ translation_count = public_body.translations.size
+ public_body.name = 'Renamed'
+ public_body.save!
+ public_body.translations.size.should == translation_count
+ end
+
it 'should not create a new version when nothing has changed' do
@public_body.versions.size.should == 0
set_default_attributes(@public_body)
@@ -291,6 +300,37 @@ describe PublicBody, "when searching" do
end
end
+describe PublicBody, "when asked for the internal_admin_body" do
+ before(:each) do
+ # Make sure that there's no internal_admin_body before each of
+ # these tests:
+ PublicBody.connection.delete("DELETE FROM public_bodies WHERE url_name = 'internal_admin_body'")
+ PublicBody.connection.delete("DELETE FROM public_body_translations WHERE url_name = 'internal_admin_body'")
+ end
+
+ it "should create the internal_admin_body if it didn't exist" do
+ iab = PublicBody.internal_admin_body
+ iab.should_not be_nil
+ end
+
+ it "should find the internal_admin_body even if the default locale has changed since it was created" do
+ with_default_locale("en") do
+ I18n.with_locale(:en) do
+ iab = PublicBody.internal_admin_body
+ iab.should_not be_nil
+ end
+ end
+ with_default_locale("es") do
+ I18n.with_locale(:es) do
+ iab = PublicBody.internal_admin_body
+ iab.should_not be_nil
+ end
+ end
+ end
+
+end
+
+
describe PublicBody, " when dealing public body locales" do
it "shouldn't fail if it internal_admin_body was created in a locale other than the default" do
# first time, do it with the non-default locale
@@ -473,6 +513,20 @@ describe PublicBody, " when loading CSV files" do
PublicBody.count.should == original_count
end
+
+ it "should be able to load CSV from a file as well as a string" do
+ # Essentially the same code is used for import_csv_from_file
+ # as import_csv, so this is just a basic check that
+ # import_csv_from_file can load from a file at all. (It would
+ # be easy to introduce a regression that broke this, because
+ # of the confusing change in behaviour of CSV.parse between
+ # Ruby 1.8 and 1.9.)
+ original_count = PublicBody.count
+ filename = file_fixture_name('fake-authority-type-with-field-names.csv')
+ PublicBody.import_csv_from_file(filename, '', 'replace', false, 'someadmin')
+ PublicBody.count.should == original_count + 3
+ end
+
end
describe PublicBody do
@@ -604,3 +658,12 @@ describe PublicBody, "when calculating statistics" do
end
end
+
+describe PublicBody, 'when asked for popular bodies' do
+
+ it 'should return bodies correctly when passed the hyphenated version of the locale' do
+ AlaveteliConfiguration.stub!(:frontpage_publicbody_examples).and_return('')
+ PublicBody.popular_bodies('he-IL').should == [public_bodies(:humpadink_public_body)]
+ end
+
+end
diff --git a/spec/models/xapian_spec.rb b/spec/models/xapian_spec.rb
index 3c9fff784..a1e060d8e 100644
--- a/spec/models/xapian_spec.rb
+++ b/spec/models/xapian_spec.rb
@@ -370,7 +370,7 @@ describe PublicBody, " when only indexing selected things on a rebuild" do
end
end
-# I would expect ActsAsXapian to have some tests under vendor/plugins/acts_as_xapian, but
+# I would expect ActsAsXapian to have some tests under lib/acts_as_xapian, but
# it looks like this is not the case. Putting a test here instead.
describe ActsAsXapian::Search, "#words_to_highlight" do
before(:each) do
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index d22f3c0ff..52752dca5 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -13,6 +13,10 @@ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
SimpleCov.start('rails') do
add_filter 'commonlib'
add_filter 'vendor/plugins'
+ add_filter 'lib/strip_attributes'
+ add_filter 'lib/has_tag_string'
+ add_filter 'lib/acts_as_xapian'
+ add_filter 'lib/themes'
end
Spork.prefork do
@@ -183,11 +187,16 @@ Spork.prefork do
end
end
+ # Reset the default locale, making sure that the previous default locale
+ # is also cleared from the fallbacks
def with_default_locale(locale)
original_default_locale = I18n.default_locale
+ original_fallbacks = I18n.fallbacks
+ I18n.fallbacks = nil
I18n.default_locale = locale
yield
ensure
+ I18n.fallbacks = original_fallbacks
I18n.default_locale = original_default_locale
end
diff --git a/vendor/plugins/acts_as_xapian/.cvsignore b/vendor/plugins/acts_as_xapian/.cvsignore
deleted file mode 100644
index 6379fb207..000000000
--- a/vendor/plugins/acts_as_xapian/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-xapiandbs
-.git
diff --git a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/acts_as_xapian_generator.rb b/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/acts_as_xapian_generator.rb
deleted file mode 100644
index a1cd1801d..000000000
--- a/vendor/plugins/acts_as_xapian/generators/acts_as_xapian/acts_as_xapian_generator.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-class ActsAsXapianGenerator < Rails::Generator::Base
- def manifest
- record do |m|
- m.migration_template 'migration.rb', 'db/migrate',
- :migration_file_name => "create_acts_as_xapian"
- end
- end
-
- protected
- def banner
- "Usage: #{$0} acts_as_xapian"
- end
-end
diff --git a/vendor/plugins/acts_as_xapian/init.rb b/vendor/plugins/acts_as_xapian/init.rb
deleted file mode 100644
index 1e5b8557b..000000000
--- a/vendor/plugins/acts_as_xapian/init.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# acts_as_xapian/init.rb:
-#
-# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
-# Email: hello@mysociety.org; WWW: http://www.mysociety.org/
-
-require 'acts_as_xapian'
-
diff --git a/vendor/plugins/has_tag_string/init.rb b/vendor/plugins/has_tag_string/init.rb
deleted file mode 100644
index 4a07073a7..000000000
--- a/vendor/plugins/has_tag_string/init.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-require 'has_tag_string'
-
diff --git a/vendor/plugins/strip_attributes/.gitignore b/vendor/plugins/strip_attributes/.gitignore
deleted file mode 100644
index 1a240903a..000000000
--- a/vendor/plugins/strip_attributes/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-rdoc \ No newline at end of file
diff --git a/vendor/plugins/strip_attributes/init.rb b/vendor/plugins/strip_attributes/init.rb
deleted file mode 100644
index 2c71b29bc..000000000
--- a/vendor/plugins/strip_attributes/init.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-require 'strip_attributes'
-ActiveRecord::Base.extend(StripAttributes)