on master help sign in
Merge pull request #105 from pointhi/template_oscar

new template: oscar

commit0d80d5d3b45f9c761a7fd6c457538b54f6d25fce authorAdam Tauber <asciimoo@gmail.com> dateTue 11 Nov 2014, 09:36 (12 years ago) parentb42278825312c5
154 files changed+12020−199
Makefile+2 searx/engines/youtube.py+1−5 searx/static/courgette/img/icon_dailymotion.ico searx/static/courgette/img/icon_deviantart.ico searx/static/default/img/icon_dailymotion.ico searx/static/default/img/icon_deviantart.ico searx/static/oscar/css/bootstrap.min.css+915 searx/static/oscar/css/oscar.min.css+17 searx/static/oscar/fonts/glyphicons-halflings-regular.eot searx/static/oscar/fonts/glyphicons-halflings-regular.svg+229 searx/static/oscar/fonts/glyphicons-halflings-regular.ttf searx/static/oscar/fonts/glyphicons-halflings-regular.woff searx/static/oscar/img/favicon.png searx/static/oscar/img/icons/README.md+2 searx/static/oscar/img/icons/amazon.png searx/static/oscar/img/icons/dailymotion.png searx/static/oscar/img/icons/deviantart.png searx/static/oscar/img/icons/facebook.png searx/static/oscar/img/icons/flickr.png searx/static/oscar/img/icons/github.png searx/static/oscar/img/icons/soundcloud.png searx/static/oscar/img/icons/stackoverflow.png searx/static/oscar/img/icons/twitter.png searx/static/oscar/img/icons/vimeo.png searx/static/oscar/img/icons/wikipedia.png searx/static/oscar/img/icons/youtube.png searx/static/oscar/img/searx_logo.png searx/static/oscar/js/bootstrap.min.js+6 searx/static/oscar/js/html5shiv.min.js+4 searx/static/oscar/js/jquery-1.11.1.min.js+4 searx/static/oscar/js/respond.min.js+5 searx/static/oscar/js/scripts.js+64 searx/static/oscar/js/typeahead.bundle.min.js+7 searx/static/oscar/less/bootstrap/.csscomb.json+297 searx/static/oscar/less/bootstrap/.csslintrc+19 searx/static/oscar/less/bootstrap/alerts.less+68 searx/static/oscar/less/bootstrap/badges.less+55 searx/static/oscar/less/bootstrap/bootstrap.less+53 searx/static/oscar/less/bootstrap/breadcrumbs.less+26 searx/static/oscar/less/bootstrap/button-groups.less+240 searx/static/oscar/less/bootstrap/buttons.less+157 searx/static/oscar/less/bootstrap/carousel.less+243 searx/static/oscar/less/bootstrap/close.less+33 searx/static/oscar/less/bootstrap/code.less+68 searx/static/oscar/less/bootstrap/component-animations.less+31 searx/static/oscar/less/bootstrap/dropdowns.less+215 searx/static/oscar/less/bootstrap/forms.less+540 searx/static/oscar/less/bootstrap/glyphicons.less+233 searx/static/oscar/less/bootstrap/grid.less+84 searx/static/oscar/less/bootstrap/input-groups.less+166 searx/static/oscar/less/bootstrap/jumbotron.less+48 searx/static/oscar/less/bootstrap/labels.less+64 searx/static/oscar/less/bootstrap/list-group.less+131 searx/static/oscar/less/bootstrap/media.less+56 searx/static/oscar/less/bootstrap/mixins.less+39 searx/static/oscar/less/bootstrap/mixins/alerts.less+14 searx/static/oscar/less/bootstrap/mixins/background-variant.less+8 searx/static/oscar/less/bootstrap/mixins/border-radius.less+18 searx/static/oscar/less/bootstrap/mixins/buttons.less+50 searx/static/oscar/less/bootstrap/mixins/center-block.less+7 searx/static/oscar/less/bootstrap/mixins/clearfix.less+22 searx/static/oscar/less/bootstrap/mixins/forms.less+81 searx/static/oscar/less/bootstrap/mixins/gradients.less+59 searx/static/oscar/less/bootstrap/mixins/grid-framework.less+91 searx/static/oscar/less/bootstrap/mixins/grid.less+122 searx/static/oscar/less/bootstrap/mixins/hide-text.less+21 searx/static/oscar/less/bootstrap/mixins/image.less+34 searx/static/oscar/less/bootstrap/mixins/labels.less+12 searx/static/oscar/less/bootstrap/mixins/list-group.less+29 searx/static/oscar/less/bootstrap/mixins/nav-divider.less+10 searx/static/oscar/less/bootstrap/mixins/nav-vertical-align.less+9 searx/static/oscar/less/bootstrap/mixins/opacity.less+8 searx/static/oscar/less/bootstrap/mixins/pagination.less+23 searx/static/oscar/less/bootstrap/mixins/panels.less+24 searx/static/oscar/less/bootstrap/mixins/progress-bar.less+10 searx/static/oscar/less/bootstrap/mixins/reset-filter.less+8 searx/static/oscar/less/bootstrap/mixins/resize.less+6 searx/static/oscar/less/bootstrap/mixins/responsive-visibility.less+15 searx/static/oscar/less/bootstrap/mixins/size.less+10 searx/static/oscar/less/bootstrap/mixins/tab-focus.less+9 searx/static/oscar/less/bootstrap/mixins/table-row.less+28 searx/static/oscar/less/bootstrap/mixins/text-emphasis.less+8 searx/static/oscar/less/bootstrap/mixins/text-overflow.less+8 searx/static/oscar/less/bootstrap/mixins/vendor-prefixes.less+224 searx/static/oscar/less/bootstrap/modals.less+150 searx/static/oscar/less/bootstrap/navbar.less+655 searx/static/oscar/less/bootstrap/navs.less+242 searx/static/oscar/less/bootstrap/normalize.less+425 searx/static/oscar/less/bootstrap/pager.less+55 searx/static/oscar/less/bootstrap/pagination.less+88 searx/static/oscar/less/bootstrap/panels.less+243 searx/static/oscar/less/bootstrap/popovers.less+133 searx/static/oscar/less/bootstrap/print.less+101 searx/static/oscar/less/bootstrap/progress-bars.less+105 searx/static/oscar/less/bootstrap/responsive-embed.less+34 searx/static/oscar/less/bootstrap/responsive-utilities.less+194 searx/static/oscar/less/bootstrap/scaffolding.less+150 searx/static/oscar/less/bootstrap/tables.less+233 searx/static/oscar/less/bootstrap/theme.less+258 searx/static/oscar/less/bootstrap/thumbnails.less+36 searx/static/oscar/less/bootstrap/tooltip.less+95 searx/static/oscar/less/bootstrap/type.less+313 searx/static/oscar/less/bootstrap/typeahead.less+153 searx/static/oscar/less/bootstrap/utilities.less+57 searx/static/oscar/less/bootstrap/variables.less+846 searx/static/oscar/less/bootstrap/wells.less+29 searx/static/oscar/less/oscar/checkbox.less+9 searx/static/oscar/less/oscar/cursor.less+4 searx/static/oscar/less/oscar/footer.less+19 searx/static/oscar/less/oscar/infobox.less+9 searx/static/oscar/less/oscar/oscar.less+11 searx/static/oscar/less/oscar/results.less+41 searx/static/oscar/less/oscar/search.less+4 searx/templates/oscar/about.html+67 searx/templates/oscar/base.html+75 searx/templates/oscar/categories.html+6 searx/templates/oscar/index.html+15 searx/templates/oscar/infobox.html+28 searx/templates/oscar/macros.html+3 searx/templates/oscar/messages/first_time.html+8 searx/templates/oscar/messages/js_disabled.html+4 searx/templates/oscar/messages/no_data_available.html+5 searx/templates/oscar/messages/no_results.html+9 searx/templates/oscar/messages/save_settings_successfull.html+9 searx/templates/oscar/messages/unknow_error.html+9 searx/templates/oscar/navbar.html+21 searx/templates/oscar/opensearch.xml+27 searx/templates/oscar/opensearch_response_rss.xml+23 searx/templates/oscar/preferences.html+141 searx/templates/oscar/result_templates/default.html+8 searx/templates/oscar/result_templates/images.html+25 searx/templates/oscar/result_templates/torrent.html+14 searx/templates/oscar/result_templates/videos.html+13 searx/templates/oscar/results.html+106 searx/templates/oscar/search.html+12 searx/templates/oscar/search_full.html+17 searx/templates/oscar/stats.html+33 searx/translations/de/LC_MESSAGES/messages.mo searx/translations/de/LC_MESSAGES/messages.po+199−25 searx/translations/en/LC_MESSAGES/messages.mo searx/translations/en/LC_MESSAGES/messages.po+183−26 searx/translations/es/LC_MESSAGES/messages.mo searx/translations/es/LC_MESSAGES/messages.po+201−27 searx/translations/fr/LC_MESSAGES/messages.mo searx/translations/fr/LC_MESSAGES/messages.po+198−24 searx/translations/hu/LC_MESSAGES/messages.mo searx/translations/hu/LC_MESSAGES/messages.po+198−26 searx/translations/it/LC_MESSAGES/messages.mo searx/translations/it/LC_MESSAGES/messages.po+201−27 searx/translations/ja/LC_MESSAGES/messages.mo searx/translations/ja/LC_MESSAGES/messages.po+174−9 searx/translations/nl/LC_MESSAGES/messages.mo searx/translations/nl/LC_MESSAGES/messages.po+201−27 searx/webapp.py+5−3
Makefile+2
@@ -45,6 +45,8 @@ minimal: bin/buildout minimal.cfg setup.py
4545
4646styles:
4747 @lessc -x searx/static/default/less/style.less > searx/static/default/css/style.css
48+ @lessc -x searx/static/oscar/less/bootstrap/bootstrap.less > searx/static/oscar/css/bootstrap.min.css
49+ @lessc -x searx/static/oscar/less/oscar/oscar.less > searx/static/oscar/css/oscar.min.css
4850
4951locales:
5052 @pybabel compile -d searx/translations
searx/engines/youtube.py+1−5
@@ -69,12 +69,8 @@ def response(resp):
6969
7070 if result['media$group']['media$thumbnail']:
7171 thumbnail = result['media$group']['media$thumbnail'][0]['url']
72− content += '<a href="{0}" title="{0}" ><img src="{1}" /></a>'.format(url, thumbnail) # noqa
7372
74− if content:
75− content += '<br />' + result['content']['$t']
76− else:
77− content = result['content']['$t']
73+ content = result['content']['$t']
7874
7975 # append result
8076 results.append({'url': url,
searx/static/courgette/img/icon_dailymotion.iconew file

Binary file not shown.

searx/static/courgette/img/icon_deviantart.iconew file

Binary file not shown.

searx/static/default/img/icon_dailymotion.iconew file

Binary file not shown.

searx/static/default/img/icon_deviantart.iconew file

Binary file not shown.

searx/static/oscar/css/bootstrap.min.cssnew file+915
@@ -0,0 +1,915 @@
1+
2+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
3+body{margin:0}
4+article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
5+audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
6+audio:not([controls]){display:none;height:0}
7+[hidden],template{display:none}
8+a{background:transparent}
9+a:active,a:hover{outline:0}
10+abbr[title]{border-bottom:1px dotted}
11+b,strong{font-weight:bold}
12+dfn{font-style:italic}
13+h1{font-size:2em;margin:.67em 0}
14+mark{background:#ff0;color:#000}
15+small{font-size:80%}
16+sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
17+sup{top:-0.5em}
18+sub{bottom:-0.25em}
19+img{border:0}
20+svg:not(:root){overflow:hidden}
21+figure{margin:1em 40px}
22+hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
23+pre{overflow:auto}
24+code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
25+button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}
26+button{overflow:visible}
27+button,select{text-transform:none}
28+button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
29+button[disabled],html input[disabled]{cursor:default}
30+button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
31+input{line-height:normal}
32+input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
33+input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}
34+input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
35+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
36+fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
37+legend{border:0;padding:0}
38+textarea{overflow:auto}
39+optgroup{font-weight:bold}
40+table{border-collapse:collapse;border-spacing:0}
41+td,th{padding:0}
42+@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important} a,a:visited{text-decoration:underline} a[href]:after{content:" (" attr(href) ")"} abbr[title]:after{content:" (" attr(title) ")"} a[href^="javascript:"]:after,a[href^="#"]:after{content:""} pre,blockquote{border:1px solid #999;page-break-inside:avoid} thead{display:table-header-group} tr,img{page-break-inside:avoid} img{max-width:100% !important} p,h2,h3{orphans:3;widows:3} h2,h3{page-break-after:avoid} select{background:#fff !important} .navbar{display:none} .table td,.table th{background-color:#fff !important} .btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important} .label{border:1px solid #000} .table{border-collapse:collapse !important} .table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
43+.glyphicon-asterisk:before{content:"\2a"}
44+.glyphicon-plus:before{content:"\2b"}
45+.glyphicon-euro:before{content:"\20ac"}
46+.glyphicon-minus:before{content:"\2212"}
47+.glyphicon-cloud:before{content:"\2601"}
48+.glyphicon-envelope:before{content:"\2709"}
49+.glyphicon-pencil:before{content:"\270f"}
50+.glyphicon-glass:before{content:"\e001"}
51+.glyphicon-music:before{content:"\e002"}
52+.glyphicon-search:before{content:"\e003"}
53+.glyphicon-heart:before{content:"\e005"}
54+.glyphicon-star:before{content:"\e006"}
55+.glyphicon-star-empty:before{content:"\e007"}
56+.glyphicon-user:before{content:"\e008"}
57+.glyphicon-film:before{content:"\e009"}
58+.glyphicon-th-large:before{content:"\e010"}
59+.glyphicon-th:before{content:"\e011"}
60+.glyphicon-th-list:before{content:"\e012"}
61+.glyphicon-ok:before{content:"\e013"}
62+.glyphicon-remove:before{content:"\e014"}
63+.glyphicon-zoom-in:before{content:"\e015"}
64+.glyphicon-zoom-out:before{content:"\e016"}
65+.glyphicon-off:before{content:"\e017"}
66+.glyphicon-signal:before{content:"\e018"}
67+.glyphicon-cog:before{content:"\e019"}
68+.glyphicon-trash:before{content:"\e020"}
69+.glyphicon-home:before{content:"\e021"}
70+.glyphicon-file:before{content:"\e022"}
71+.glyphicon-time:before{content:"\e023"}
72+.glyphicon-road:before{content:"\e024"}
73+.glyphicon-download-alt:before{content:"\e025"}
74+.glyphicon-download:before{content:"\e026"}
75+.glyphicon-upload:before{content:"\e027"}
76+.glyphicon-inbox:before{content:"\e028"}
77+.glyphicon-play-circle:before{content:"\e029"}
78+.glyphicon-repeat:before{content:"\e030"}
79+.glyphicon-refresh:before{content:"\e031"}
80+.glyphicon-list-alt:before{content:"\e032"}
81+.glyphicon-lock:before{content:"\e033"}
82+.glyphicon-flag:before{content:"\e034"}
83+.glyphicon-headphones:before{content:"\e035"}
84+.glyphicon-volume-off:before{content:"\e036"}
85+.glyphicon-volume-down:before{content:"\e037"}
86+.glyphicon-volume-up:before{content:"\e038"}
87+.glyphicon-qrcode:before{content:"\e039"}
88+.glyphicon-barcode:before{content:"\e040"}
89+.glyphicon-tag:before{content:"\e041"}
90+.glyphicon-tags:before{content:"\e042"}
91+.glyphicon-book:before{content:"\e043"}
92+.glyphicon-bookmark:before{content:"\e044"}
93+.glyphicon-print:before{content:"\e045"}
94+.glyphicon-camera:before{content:"\e046"}
95+.glyphicon-font:before{content:"\e047"}
96+.glyphicon-bold:before{content:"\e048"}
97+.glyphicon-italic:before{content:"\e049"}
98+.glyphicon-text-height:before{content:"\e050"}
99+.glyphicon-text-width:before{content:"\e051"}
100+.glyphicon-align-left:before{content:"\e052"}
101+.glyphicon-align-center:before{content:"\e053"}
102+.glyphicon-align-right:before{content:"\e054"}
103+.glyphicon-align-justify:before{content:"\e055"}
104+.glyphicon-list:before{content:"\e056"}
105+.glyphicon-indent-left:before{content:"\e057"}
106+.glyphicon-indent-right:before{content:"\e058"}
107+.glyphicon-facetime-video:before{content:"\e059"}
108+.glyphicon-picture:before{content:"\e060"}
109+.glyphicon-map-marker:before{content:"\e062"}
110+.glyphicon-adjust:before{content:"\e063"}
111+.glyphicon-tint:before{content:"\e064"}
112+.glyphicon-edit:before{content:"\e065"}
113+.glyphicon-share:before{content:"\e066"}
114+.glyphicon-check:before{content:"\e067"}
115+.glyphicon-move:before{content:"\e068"}
116+.glyphicon-step-backward:before{content:"\e069"}
117+.glyphicon-fast-backward:before{content:"\e070"}
118+.glyphicon-backward:before{content:"\e071"}
119+.glyphicon-play:before{content:"\e072"}
120+.glyphicon-pause:before{content:"\e073"}
121+.glyphicon-stop:before{content:"\e074"}
122+.glyphicon-forward:before{content:"\e075"}
123+.glyphicon-fast-forward:before{content:"\e076"}
124+.glyphicon-step-forward:before{content:"\e077"}
125+.glyphicon-eject:before{content:"\e078"}
126+.glyphicon-chevron-left:before{content:"\e079"}
127+.glyphicon-chevron-right:before{content:"\e080"}
128+.glyphicon-plus-sign:before{content:"\e081"}
129+.glyphicon-minus-sign:before{content:"\e082"}
130+.glyphicon-remove-sign:before{content:"\e083"}
131+.glyphicon-ok-sign:before{content:"\e084"}
132+.glyphicon-question-sign:before{content:"\e085"}
133+.glyphicon-info-sign:before{content:"\e086"}
134+.glyphicon-screenshot:before{content:"\e087"}
135+.glyphicon-remove-circle:before{content:"\e088"}
136+.glyphicon-ok-circle:before{content:"\e089"}
137+.glyphicon-ban-circle:before{content:"\e090"}
138+.glyphicon-arrow-left:before{content:"\e091"}
139+.glyphicon-arrow-right:before{content:"\e092"}
140+.glyphicon-arrow-up:before{content:"\e093"}
141+.glyphicon-arrow-down:before{content:"\e094"}
142+.glyphicon-share-alt:before{content:"\e095"}
143+.glyphicon-resize-full:before{content:"\e096"}
144+.glyphicon-resize-small:before{content:"\e097"}
145+.glyphicon-exclamation-sign:before{content:"\e101"}
146+.glyphicon-gift:before{content:"\e102"}
147+.glyphicon-leaf:before{content:"\e103"}
148+.glyphicon-fire:before{content:"\e104"}
149+.glyphicon-eye-open:before{content:"\e105"}
150+.glyphicon-eye-close:before{content:"\e106"}
151+.glyphicon-warning-sign:before{content:"\e107"}
152+.glyphicon-plane:before{content:"\e108"}
153+.glyphicon-calendar:before{content:"\e109"}
154+.glyphicon-random:before{content:"\e110"}
155+.glyphicon-comment:before{content:"\e111"}
156+.glyphicon-magnet:before{content:"\e112"}
157+.glyphicon-chevron-up:before{content:"\e113"}
158+.glyphicon-chevron-down:before{content:"\e114"}
159+.glyphicon-retweet:before{content:"\e115"}
160+.glyphicon-shopping-cart:before{content:"\e116"}
161+.glyphicon-folder-close:before{content:"\e117"}
162+.glyphicon-folder-open:before{content:"\e118"}
163+.glyphicon-resize-vertical:before{content:"\e119"}
164+.glyphicon-resize-horizontal:before{content:"\e120"}
165+.glyphicon-hdd:before{content:"\e121"}
166+.glyphicon-bullhorn:before{content:"\e122"}
167+.glyphicon-bell:before{content:"\e123"}
168+.glyphicon-certificate:before{content:"\e124"}
169+.glyphicon-thumbs-up:before{content:"\e125"}
170+.glyphicon-thumbs-down:before{content:"\e126"}
171+.glyphicon-hand-right:before{content:"\e127"}
172+.glyphicon-hand-left:before{content:"\e128"}
173+.glyphicon-hand-up:before{content:"\e129"}
174+.glyphicon-hand-down:before{content:"\e130"}
175+.glyphicon-circle-arrow-right:before{content:"\e131"}
176+.glyphicon-circle-arrow-left:before{content:"\e132"}
177+.glyphicon-circle-arrow-up:before{content:"\e133"}
178+.glyphicon-circle-arrow-down:before{content:"\e134"}
179+.glyphicon-globe:before{content:"\e135"}
180+.glyphicon-wrench:before{content:"\e136"}
181+.glyphicon-tasks:before{content:"\e137"}
182+.glyphicon-filter:before{content:"\e138"}
183+.glyphicon-briefcase:before{content:"\e139"}
184+.glyphicon-fullscreen:before{content:"\e140"}
185+.glyphicon-dashboard:before{content:"\e141"}
186+.glyphicon-paperclip:before{content:"\e142"}
187+.glyphicon-heart-empty:before{content:"\e143"}
188+.glyphicon-link:before{content:"\e144"}
189+.glyphicon-phone:before{content:"\e145"}
190+.glyphicon-pushpin:before{content:"\e146"}
191+.glyphicon-usd:before{content:"\e148"}
192+.glyphicon-gbp:before{content:"\e149"}
193+.glyphicon-sort:before{content:"\e150"}
194+.glyphicon-sort-by-alphabet:before{content:"\e151"}
195+.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}
196+.glyphicon-sort-by-order:before{content:"\e153"}
197+.glyphicon-sort-by-order-alt:before{content:"\e154"}
198+.glyphicon-sort-by-attributes:before{content:"\e155"}
199+.glyphicon-sort-by-attributes-alt:before{content:"\e156"}
200+.glyphicon-unchecked:before{content:"\e157"}
201+.glyphicon-expand:before{content:"\e158"}
202+.glyphicon-collapse-down:before{content:"\e159"}
203+.glyphicon-collapse-up:before{content:"\e160"}
204+.glyphicon-log-in:before{content:"\e161"}
205+.glyphicon-flash:before{content:"\e162"}
206+.glyphicon-log-out:before{content:"\e163"}
207+.glyphicon-new-window:before{content:"\e164"}
208+.glyphicon-record:before{content:"\e165"}
209+.glyphicon-save:before{content:"\e166"}
210+.glyphicon-open:before{content:"\e167"}
211+.glyphicon-saved:before{content:"\e168"}
212+.glyphicon-import:before{content:"\e169"}
213+.glyphicon-export:before{content:"\e170"}
214+.glyphicon-send:before{content:"\e171"}
215+.glyphicon-floppy-disk:before{content:"\e172"}
216+.glyphicon-floppy-saved:before{content:"\e173"}
217+.glyphicon-floppy-remove:before{content:"\e174"}
218+.glyphicon-floppy-save:before{content:"\e175"}
219+.glyphicon-floppy-open:before{content:"\e176"}
220+.glyphicon-credit-card:before{content:"\e177"}
221+.glyphicon-transfer:before{content:"\e178"}
222+.glyphicon-cutlery:before{content:"\e179"}
223+.glyphicon-header:before{content:"\e180"}
224+.glyphicon-compressed:before{content:"\e181"}
225+.glyphicon-earphone:before{content:"\e182"}
226+.glyphicon-phone-alt:before{content:"\e183"}
227+.glyphicon-tower:before{content:"\e184"}
228+.glyphicon-stats:before{content:"\e185"}
229+.glyphicon-sd-video:before{content:"\e186"}
230+.glyphicon-hd-video:before{content:"\e187"}
231+.glyphicon-subtitles:before{content:"\e188"}
232+.glyphicon-sound-stereo:before{content:"\e189"}
233+.glyphicon-sound-dolby:before{content:"\e190"}
234+.glyphicon-sound-5-1:before{content:"\e191"}
235+.glyphicon-sound-6-1:before{content:"\e192"}
236+.glyphicon-sound-7-1:before{content:"\e193"}
237+.glyphicon-copyright-mark:before{content:"\e194"}
238+.glyphicon-registration-mark:before{content:"\e195"}
239+.glyphicon-cloud-download:before{content:"\e197"}
240+.glyphicon-cloud-upload:before{content:"\e198"}
241+.glyphicon-tree-conifer:before{content:"\e199"}
242+.glyphicon-tree-deciduous:before{content:"\e200"}
243+*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
244+*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
245+html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}
246+body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}
247+input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}
248+a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}
249+a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
250+figure{margin:0}
251+img{vertical-align:middle}
252+.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}
253+.img-rounded{border-radius:6px}
254+.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;width:100% \9;max-width:100%;height:auto}
255+.img-circle{border-radius:50%}
256+hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}
257+.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}
258+.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
259+h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}
260+h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}
261+h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}
262+h1,.h1{font-size:36px}
263+h2,.h2{font-size:30px}
264+h3,.h3{font-size:24px}
265+h4,.h4{font-size:18px}
266+h5,.h5{font-size:14px}
267+h6,.h6{font-size:12px}
268+p{margin:0 0 10px}
269+.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}
270+small,.small{font-size:85%}
271+cite{font-style:normal}
272+mark,.mark{background-color:#fcf8e3;padding:.2em}
273+.text-left{text-align:left}
274+.text-right{text-align:right}
275+.text-center{text-align:center}
276+.text-justify{text-align:justify}
277+.text-nowrap{white-space:nowrap}
278+.text-lowercase{text-transform:lowercase}
279+.text-uppercase{text-transform:uppercase}
280+.text-capitalize{text-transform:capitalize}
281+.text-muted{color:#777}
282+.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}
283+.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}
284+.text-info{color:#31708f}a.text-info:hover{color:#245269}
285+.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}
286+.text-danger{color:#a94442}a.text-danger:hover{color:#843534}
287+.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}
288+.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}
289+.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}
290+.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}
291+.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}
292+.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}
293+ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}
294+.list-unstyled{padding-left:0;list-style:none}
295+.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}
296+dl{margin-top:0;margin-bottom:20px}
297+dt,dd{line-height:1.428571429}
298+dt{font-weight:bold}
299+dd{margin-left:0}
300+@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .dl-horizontal dd{margin-left:180px}}
301+abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}
302+.initialism{font-size:90%;text-transform:uppercase}
303+blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}
304+blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}
305+.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}
306+.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}
307+blockquote:before,blockquote:after{content:""}
308+address{margin-bottom:20px;font-style:normal;line-height:1.428571429}
309+code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}
310+code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}
311+kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}
312+pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}
313+.pre-scrollable{max-height:340px;overflow-y:scroll}
314+.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}
315+.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}
316+.row{margin-left:-15px;margin-right:-15px}
317+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}
318+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}
319+.col-xs-12{width:100%}
320+.col-xs-11{width:91.66666666666666%}
321+.col-xs-10{width:83.33333333333334%}
322+.col-xs-9{width:75%}
323+.col-xs-8{width:66.66666666666666%}
324+.col-xs-7{width:58.333333333333336%}
325+.col-xs-6{width:50%}
326+.col-xs-5{width:41.66666666666667%}
327+.col-xs-4{width:33.33333333333333%}
328+.col-xs-3{width:25%}
329+.col-xs-2{width:16.666666666666664%}
330+.col-xs-1{width:8.333333333333332%}
331+.col-xs-pull-12{right:100%}
332+.col-xs-pull-11{right:91.66666666666666%}
333+.col-xs-pull-10{right:83.33333333333334%}
334+.col-xs-pull-9{right:75%}
335+.col-xs-pull-8{right:66.66666666666666%}
336+.col-xs-pull-7{right:58.333333333333336%}
337+.col-xs-pull-6{right:50%}
338+.col-xs-pull-5{right:41.66666666666667%}
339+.col-xs-pull-4{right:33.33333333333333%}
340+.col-xs-pull-3{right:25%}
341+.col-xs-pull-2{right:16.666666666666664%}
342+.col-xs-pull-1{right:8.333333333333332%}
343+.col-xs-pull-0{right:auto}
344+.col-xs-push-12{left:100%}
345+.col-xs-push-11{left:91.66666666666666%}
346+.col-xs-push-10{left:83.33333333333334%}
347+.col-xs-push-9{left:75%}
348+.col-xs-push-8{left:66.66666666666666%}
349+.col-xs-push-7{left:58.333333333333336%}
350+.col-xs-push-6{left:50%}
351+.col-xs-push-5{left:41.66666666666667%}
352+.col-xs-push-4{left:33.33333333333333%}
353+.col-xs-push-3{left:25%}
354+.col-xs-push-2{left:16.666666666666664%}
355+.col-xs-push-1{left:8.333333333333332%}
356+.col-xs-push-0{left:auto}
357+.col-xs-offset-12{margin-left:100%}
358+.col-xs-offset-11{margin-left:91.66666666666666%}
359+.col-xs-offset-10{margin-left:83.33333333333334%}
360+.col-xs-offset-9{margin-left:75%}
361+.col-xs-offset-8{margin-left:66.66666666666666%}
362+.col-xs-offset-7{margin-left:58.333333333333336%}
363+.col-xs-offset-6{margin-left:50%}
364+.col-xs-offset-5{margin-left:41.66666666666667%}
365+.col-xs-offset-4{margin-left:33.33333333333333%}
366+.col-xs-offset-3{margin-left:25%}
367+.col-xs-offset-2{margin-left:16.666666666666664%}
368+.col-xs-offset-1{margin-left:8.333333333333332%}
369+.col-xs-offset-0{margin-left:0}
370+@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left} .col-sm-12{width:100%} .col-sm-11{width:91.66666666666666%} .col-sm-10{width:83.33333333333334%} .col-sm-9{width:75%} .col-sm-8{width:66.66666666666666%} .col-sm-7{width:58.333333333333336%} .col-sm-6{width:50%} .col-sm-5{width:41.66666666666667%} .col-sm-4{width:33.33333333333333%} .col-sm-3{width:25%} .col-sm-2{width:16.666666666666664%} .col-sm-1{width:8.333333333333332%} .col-sm-pull-12{right:100%} .col-sm-pull-11{right:91.66666666666666%} .col-sm-pull-10{right:83.33333333333334%} .col-sm-pull-9{right:75%} .col-sm-pull-8{right:66.66666666666666%} .col-sm-pull-7{right:58.333333333333336%} .col-sm-pull-6{right:50%} .col-sm-pull-5{right:41.66666666666667%} .col-sm-pull-4{right:33.33333333333333%} .col-sm-pull-3{right:25%} .col-sm-pull-2{right:16.666666666666664%} .col-sm-pull-1{right:8.333333333333332%} .col-sm-pull-0{right:auto} .col-sm-push-12{left:100%} .col-sm-push-11{left:91.66666666666666%} .col-sm-push-10{left:83.33333333333334%} .col-sm-push-9{left:75%} .col-sm-push-8{left:66.66666666666666%} .col-sm-push-7{left:58.333333333333336%} .col-sm-push-6{left:50%} .col-sm-push-5{left:41.66666666666667%} .col-sm-push-4{left:33.33333333333333%} .col-sm-push-3{left:25%} .col-sm-push-2{left:16.666666666666664%} .col-sm-push-1{left:8.333333333333332%} .col-sm-push-0{left:auto} .col-sm-offset-12{margin-left:100%} .col-sm-offset-11{margin-left:91.66666666666666%} .col-sm-offset-10{margin-left:83.33333333333334%} .col-sm-offset-9{margin-left:75%} .col-sm-offset-8{margin-left:66.66666666666666%} .col-sm-offset-7{margin-left:58.333333333333336%} .col-sm-offset-6{margin-left:50%} .col-sm-offset-5{margin-left:41.66666666666667%} .col-sm-offset-4{margin-left:33.33333333333333%} .col-sm-offset-3{margin-left:25%} .col-sm-offset-2{margin-left:16.666666666666664%} .col-sm-offset-1{margin-left:8.333333333333332%} .col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left} .col-md-12{width:100%} .col-md-11{width:91.66666666666666%} .col-md-10{width:83.33333333333334%} .col-md-9{width:75%} .col-md-8{width:66.66666666666666%} .col-md-7{width:58.333333333333336%} .col-md-6{width:50%} .col-md-5{width:41.66666666666667%} .col-md-4{width:33.33333333333333%} .col-md-3{width:25%} .col-md-2{width:16.666666666666664%} .col-md-1{width:8.333333333333332%} .col-md-pull-12{right:100%} .col-md-pull-11{right:91.66666666666666%} .col-md-pull-10{right:83.33333333333334%} .col-md-pull-9{right:75%} .col-md-pull-8{right:66.66666666666666%} .col-md-pull-7{right:58.333333333333336%} .col-md-pull-6{right:50%} .col-md-pull-5{right:41.66666666666667%} .col-md-pull-4{right:33.33333333333333%} .col-md-pull-3{right:25%} .col-md-pull-2{right:16.666666666666664%} .col-md-pull-1{right:8.333333333333332%} .col-md-pull-0{right:auto} .col-md-push-12{left:100%} .col-md-push-11{left:91.66666666666666%} .col-md-push-10{left:83.33333333333334%} .col-md-push-9{left:75%} .col-md-push-8{left:66.66666666666666%} .col-md-push-7{left:58.333333333333336%} .col-md-push-6{left:50%} .col-md-push-5{left:41.66666666666667%} .col-md-push-4{left:33.33333333333333%} .col-md-push-3{left:25%} .col-md-push-2{left:16.666666666666664%} .col-md-push-1{left:8.333333333333332%} .col-md-push-0{left:auto} .col-md-offset-12{margin-left:100%} .col-md-offset-11{margin-left:91.66666666666666%} .col-md-offset-10{margin-left:83.33333333333334%} .col-md-offset-9{margin-left:75%} .col-md-offset-8{margin-left:66.66666666666666%} .col-md-offset-7{margin-left:58.333333333333336%} .col-md-offset-6{margin-left:50%} .col-md-offset-5{margin-left:41.66666666666667%} .col-md-offset-4{margin-left:33.33333333333333%} .col-md-offset-3{margin-left:25%} .col-md-offset-2{margin-left:16.666666666666664%} .col-md-offset-1{margin-left:8.333333333333332%} .col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left} .col-lg-12{width:100%} .col-lg-11{width:91.66666666666666%} .col-lg-10{width:83.33333333333334%} .col-lg-9{width:75%} .col-lg-8{width:66.66666666666666%} .col-lg-7{width:58.333333333333336%} .col-lg-6{width:50%} .col-lg-5{width:41.66666666666667%} .col-lg-4{width:33.33333333333333%} .col-lg-3{width:25%} .col-lg-2{width:16.666666666666664%} .col-lg-1{width:8.333333333333332%} .col-lg-pull-12{right:100%} .col-lg-pull-11{right:91.66666666666666%} .col-lg-pull-10{right:83.33333333333334%} .col-lg-pull-9{right:75%} .col-lg-pull-8{right:66.66666666666666%} .col-lg-pull-7{right:58.333333333333336%} .col-lg-pull-6{right:50%} .col-lg-pull-5{right:41.66666666666667%} .col-lg-pull-4{right:33.33333333333333%} .col-lg-pull-3{right:25%} .col-lg-pull-2{right:16.666666666666664%} .col-lg-pull-1{right:8.333333333333332%} .col-lg-pull-0{right:auto} .col-lg-push-12{left:100%} .col-lg-push-11{left:91.66666666666666%} .col-lg-push-10{left:83.33333333333334%} .col-lg-push-9{left:75%} .col-lg-push-8{left:66.66666666666666%} .col-lg-push-7{left:58.333333333333336%} .col-lg-push-6{left:50%} .col-lg-push-5{left:41.66666666666667%} .col-lg-push-4{left:33.33333333333333%} .col-lg-push-3{left:25%} .col-lg-push-2{left:16.666666666666664%} .col-lg-push-1{left:8.333333333333332%} .col-lg-push-0{left:auto} .col-lg-offset-12{margin-left:100%} .col-lg-offset-11{margin-left:91.66666666666666%} .col-lg-offset-10{margin-left:83.33333333333334%} .col-lg-offset-9{margin-left:75%} .col-lg-offset-8{margin-left:66.66666666666666%} .col-lg-offset-7{margin-left:58.333333333333336%} .col-lg-offset-6{margin-left:50%} .col-lg-offset-5{margin-left:41.66666666666667%} .col-lg-offset-4{margin-left:33.33333333333333%} .col-lg-offset-3{margin-left:25%} .col-lg-offset-2{margin-left:16.666666666666664%} .col-lg-offset-1{margin-left:8.333333333333332%} .col-lg-offset-0{margin-left:0}}table{background-color:transparent}
371+th{text-align:left}
372+.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}
373+.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}
374+.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}
375+.table>tbody+tbody{border-top:2px solid #ddd}
376+.table .table{background-color:#fff}
377+.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}
378+.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}
379+.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}
380+.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}
381+.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}
382+table col[class*="col-"]{position:static;float:none;display:table-column}
383+table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}
384+.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}
385+.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}
386+.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}
387+.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}
388+.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}
389+.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}
390+.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}
391+.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}
392+.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}
393+.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}
394+@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap} .table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0} .table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0} .table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}
395+fieldset{padding:0;margin:0;border:0;min-width:0}
396+legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}
397+label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}
398+input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
399+input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}
400+input[type="file"]{display:block}
401+input[type="range"]{display:block;width:100%}
402+select[multiple],select[size]{height:auto}
403+input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
404+output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}
405+.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}
406+.form-control::-moz-placeholder{color:#777;opacity:1}
407+.form-control:-ms-input-placeholder{color:#777}
408+.form-control::-webkit-input-placeholder{color:#777}
409+.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}
410+textarea.form-control{height:auto}
411+input[type="search"]{-webkit-appearance:none}
412+input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px;line-height:1.428571429 \0}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm{line-height:30px}
413+input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg{line-height:46px}
414+.form-group{margin-bottom:15px}
415+.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}
416+.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}
417+.radio+.radio,.checkbox+.checkbox{margin-top:-5px}
418+.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}
419+.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}
420+input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}
421+.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}
422+.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}
423+.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}
424+.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}
425+textarea.input-sm,select[multiple].input-sm{height:auto}
426+.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}
427+textarea.input-lg,select[multiple].input-lg{height:auto}
428+.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}
429+.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}
430+.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}
431+.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}
432+.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}
433+.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}
434+.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}
435+.has-success .form-control-feedback{color:#3c763d}
436+.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}
437+.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}
438+.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}
439+.has-warning .form-control-feedback{color:#8a6d3b}
440+.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}
441+.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}
442+.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}
443+.has-error .form-control-feedback{color:#a94442}
444+.has-feedback label.sr-only~.form-control-feedback{top:0}
445+.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}
446+@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle} .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle} .form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto} .form-inline .input-group>.form-control{width:100%} .form-inline .control-label{margin-bottom:0;vertical-align:middle} .form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0} .form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0} .form-inline .has-feedback .form-control-feedback{top:0}}
447+.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}
448+.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}
449+.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}
450+@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}
451+@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}
452+@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}
453+.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
454+.btn:hover,.btn:focus{color:#333;text-decoration:none}
455+.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}
456+.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}
457+.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}
458+.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}
459+.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}
460+.btn-default .badge{color:#fff;background-color:#333}
461+.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}
462+.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}
463+.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}
464+.btn-primary .badge{color:#428bca;background-color:#fff}
465+.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}
466+.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}
467+.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}
468+.btn-success .badge{color:#5cb85c;background-color:#fff}
469+.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}
470+.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}
471+.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}
472+.btn-info .badge{color:#5bc0de;background-color:#fff}
473+.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}
474+.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}
475+.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}
476+.btn-warning .badge{color:#f0ad4e;background-color:#fff}
477+.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}
478+.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}
479+.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}
480+.btn-danger .badge{color:#d9534f;background-color:#fff}
481+.btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}
482+.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}
483+.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}
484+.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}
485+.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
486+.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
487+.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}
488+.btn-block{display:block;width:100%}
489+.btn-block+.btn-block{margin-top:5px}
490+input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}
491+.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}
492+.collapse{display:none}.collapse.in{display:block}
493+tr.collapse.in{display:table-row}
494+tbody.collapse.in{display:table-row-group}
495+.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}
496+.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}
497+.dropdown{position:relative}
498+.dropdown-toggle:focus{outline:0}
499+.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;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}
500+.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
501+.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}
502+.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}
503+.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}
504+.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}
505+.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}
506+.open>.dropdown-menu{display:block}
507+.open>a{outline:0}
508+.dropdown-menu-right{left:auto;right:0}
509+.dropdown-menu-left{left:0;right:auto}
510+.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#777;white-space:nowrap}
511+.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}
512+.pull-right>.dropdown-menu{right:0;left:auto}
513+.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}
514+.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}
515+@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0} .navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}
516+.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}
517+.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}
518+.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}
519+.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}
520+.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}
521+.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}
522+.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}
523+.btn-group>.btn-group{float:left}
524+.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
525+.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}
526+.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}
527+.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}
528+.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}
529+.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}
530+.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}
531+.btn .caret{margin-left:0}
532+.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}
533+.dropup .btn-lg .caret{border-width:0 5px 5px}
534+.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}
535+.btn-group-vertical>.btn-group>.btn{float:none}
536+.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}
537+.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}
538+.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}
539+.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}
540+.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
541+.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}
542+.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}
543+.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}
544+.btn-group-justified>.btn-group .btn{width:100%}
545+.btn-group-justified>.btn-group .dropdown-menu{left:auto}
546+[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{position:absolute;z-index:-1;opacity:0;filter:alpha(opacity=0)}
547+.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}
548+.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}
549+.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}
550+textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}
551+.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}
552+textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}
553+.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}
554+.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}
555+.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}
556+.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}
557+.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}
558+.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}
559+.input-group-addon:first-child{border-right:0}
560+.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}
561+.input-group-addon:last-child{border-left:0}
562+.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}
563+.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}
564+.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}
565+.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}
566+.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}
567+.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}
568+.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}
569+.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
570+.nav>li>a>img{max-width:none}
571+.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}
572+.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}
573+.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}
574+.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}
575+@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}
576+.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}
577+@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0} .nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}
578+.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}
579+.nav-pills>li+li{margin-left:2px}
580+.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}
581+.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}
582+.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}
583+.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}
584+@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}
585+.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}
586+.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}
587+@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0} .nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}
588+.tab-content>.tab-pane{display:none}
589+.tab-content>.active{display:block}
590+.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}
591+.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}
592+@media (min-width:768px){.navbar-header{float:left}}
593+.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}
594+@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important} .navbar-collapse.in{overflow-y:visible} .navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}
595+.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}
596+.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}
597+.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}
598+.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}
599+.navbar-fixed-top{top:0;border-width:0 0 1px}
600+.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}
601+.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}
602+@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}
603+.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}
604+.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}
605+.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}
606+@media (min-width:768px){.navbar-toggle{display:none}}
607+.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}
608+@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px} .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px} .navbar-nav.navbar-right:last-child{margin-right:-15px}}
609+@media (min-width:768px){.navbar-left{float:left !important} .navbar-right{float:right !important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle} .navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle} .navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto} .navbar-form .input-group>.form-control{width:100%} .navbar-form .control-label{margin-bottom:0;vertical-align:middle} .navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0} .navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0} .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}
610+@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}
611+.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}
612+.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}
613+.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}
614+.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}
615+.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}
616+.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}
617+.navbar-default .navbar-text{color:#777}
618+.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}
619+.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}
620+.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}
621+.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}
622+.navbar-default .navbar-toggle .icon-bar{background-color:#888}
623+.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}
624+.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}
625+@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent} .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7} .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}
626+.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}
627+.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}
628+.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}
629+.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}
630+.navbar-inverse .navbar-text{color:#777}
631+.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}
632+.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}
633+.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}
634+.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}
635+.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}
636+.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}
637+.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}
638+@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent} .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}
639+.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}
640+.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}
641+.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}
642+.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}
643+.breadcrumb>.active{color:#777}
644+.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}
645+.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}
646+.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}
647+.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}
648+.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}
649+.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}
650+.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}
651+.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}
652+.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}
653+.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}
654+.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}
655+.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}
656+.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}
657+.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}
658+.pager .next>a,.pager .next>span{float:right}
659+.pager .previous>a,.pager .previous>span{float:left}
660+.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}
661+.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}
662+.label:empty{display:none}
663+.btn .label{position:relative;top:-1px}
664+.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}
665+.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}
666+.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}
667+.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}
668+.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}
669+.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}
670+.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}
671+.btn .badge{position:relative;top:-1px}
672+.btn-xs .badge{top:0;padding:1px 5px}
673+a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}
674+a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}
675+.nav-pills>li>a>.badge{margin-left:3px}
676+.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}
677+.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}
678+.jumbotron>hr{border-top-color:#d5d5d5}
679+.container .jumbotron{border-radius:6px}
680+.jumbotron .container{max-width:100%}
681+@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px} .jumbotron h1,.jumbotron .h1{font-size:63px}}
682+.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}
683+a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}
684+.thumbnail .caption{padding:9px;color:#333}
685+.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}
686+.alert .alert-link{font-weight:bold}
687+.alert>p,.alert>ul{margin-bottom:0}
688+.alert>p+p{margin-top:5px}
689+.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}
690+.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}
691+.alert-success .alert-link{color:#2b542c}
692+.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}
693+.alert-info .alert-link{color:#245269}
694+.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}
695+.alert-warning .alert-link{color:#66512c}
696+.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}
697+.alert-danger .alert-link{color:#843534}
698+@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0} to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0} to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}
699+.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-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-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}
700+.progress-striped .progress-bar,.progress-bar-striped{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:-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);background-size:40px 40px}
701+.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}
702+.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}
703+.progress-bar[aria-valuenow="0"]{color:#777;min-width:30px;background-color:transparent;background-image:none;box-shadow:none}
704+.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{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:-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)}
705+.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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:-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)}
706+.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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:-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)}
707+.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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:-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)}
708+.media,.media-body{overflow:hidden;zoom:1}
709+.media,.media .media{margin-top:15px}
710+.media:first-child{margin-top:0}
711+.media-object{display:block}
712+.media-heading{margin:0 0 5px}
713+.media>.pull-left{margin-right:10px}
714+.media>.pull-right{margin-left:10px}
715+.media-list{padding-left:0;list-style:none}
716+.list-group{margin-bottom:20px;padding-left:0}
717+.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}
718+.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}
719+.list-group-item>.badge{float:right}
720+.list-group-item>.badge+.badge{margin-right:5px}
721+a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}
722+a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}
723+.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}
724+.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}
725+.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}
726+.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}
727+.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}
728+a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}
729+a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}
730+.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}
731+a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}
732+a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}
733+.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}
734+a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}
735+a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}
736+.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}
737+a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}
738+a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}
739+.list-group-item-heading{margin-top:0;margin-bottom:5px}
740+.list-group-item-text{margin-bottom:0;line-height:1.3}
741+.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}
742+.panel-body{padding:15px}
743+.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}
744+.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}
745+.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}
746+.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}
747+.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}
748+.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}
749+.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}
750+.list-group+.panel-footer{border-top-width:0}
751+.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}
752+.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}
753+.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}
754+.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}
755+.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}
756+.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}
757+.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}
758+.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}
759+.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}
760+.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}
761+.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}
762+.panel>.table-responsive{border:0;margin-bottom:0}
763+.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}
764+.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}
765+.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}
766+.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}
767+.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}
768+.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}
769+.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}
770+.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}
771+.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}
772+.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}
773+.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}
774+.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}
775+.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}
776+.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}
777+.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}
778+.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}
779+.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}
780+.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}
781+.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}
782+.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}
783+.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}
784+.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}
785+.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}
786+.embed-responsive.embed-responsive-4by3{padding-bottom:75%}
787+.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}
788+.well-lg{padding:24px;border-radius:6px}
789+.well-sm{padding:9px;border-radius:3px}
790+.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}
791+button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}
792+.modal-open{overflow:hidden}
793+.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate3d(0, -25%, 0);transform:translate3d(0, -25%, 0);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}
794+.modal.in .modal-dialog{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}
795+.modal-open .modal{overflow-x:hidden;overflow-y:auto}
796+.modal-dialog{position:relative;width:auto;margin:10px}
797+.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}
798+.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}
799+.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}
800+.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px}
801+.modal-header .close{margin-top:-2px}
802+.modal-title{margin:0;line-height:1.428571429}
803+.modal-body{position:relative;padding:15px}
804+.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}
805+.modal-footer .btn-group .btn+.btn{margin-left:-1px}
806+.modal-footer .btn-block+.btn-block{margin-left:0}
807+.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}
808+@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto} .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)} .modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}
809+.tooltip.top{margin-top:-3px;padding:5px 0}
810+.tooltip.right{margin-left:3px;padding:0 5px}
811+.tooltip.bottom{margin-top:3px;padding:5px 0}
812+.tooltip.left{margin-left:-3px;padding:0 5px}
813+.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}
814+.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}
815+.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}
816+.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}
817+.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}
818+.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}
819+.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}
820+.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}
821+.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}
822+.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}
823+.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-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}.popover.top{margin-top:-10px}
824+.popover.right{margin-left:10px}
825+.popover.bottom{margin-top:10px}
826+.popover.left{margin-left:-10px}
827+.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}
828+.popover-content{padding:9px 14px}
829+.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}
830+.popover>.arrow{border-width:11px}
831+.popover>.arrow:after{border-width:10px;content:""}
832+.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}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}
833+.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)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}
834+.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}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}
835+.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)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}
836+.carousel{position:relative}
837+.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}
838+.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}
839+.carousel-inner>.active{left:0}
840+.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}
841+.carousel-inner>.next{left:100%}
842+.carousel-inner>.prev{left:-100%}
843+.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}
844+.carousel-inner>.active.left{left:-100%}
845+.carousel-inner>.active.right{left:100%}
846+.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}
847+.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}
848+.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}
849+.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}
850+.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}
851+.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}
852+.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}
853+.carousel-control .icon-prev:before{content:'\2039'}
854+.carousel-control .icon-next:before{content:'\203a'}
855+.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}
856+.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}
857+.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}
858+@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px} .carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px} .carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px} .carousel-caption{left:20%;right:20%;padding-bottom:30px} .carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}
859+.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}
860+.center-block{display:block;margin-left:auto;margin-right:auto}
861+.pull-right{float:right !important}
862+.pull-left{float:left !important}
863+.hide{display:none !important}
864+.show{display:block !important}
865+.invisible{visibility:hidden}
866+.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}
867+.hidden{display:none !important;visibility:hidden !important}
868+.affix{position:fixed;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}
869+@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}
870+.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}
871+@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table} tr.visible-xs{display:table-row !important} th.visible-xs,td.visible-xs{display:table-cell !important}}
872+@media (max-width:767px){.visible-xs-block{display:block !important}}
873+@media (max-width:767px){.visible-xs-inline{display:inline !important}}
874+@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}
875+@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table} tr.visible-sm{display:table-row !important} th.visible-sm,td.visible-sm{display:table-cell !important}}
876+@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}
877+@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}
878+@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}
879+@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table} tr.visible-md{display:table-row !important} th.visible-md,td.visible-md{display:table-cell !important}}
880+@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}
881+@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}
882+@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}
883+@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table} tr.visible-lg{display:table-row !important} th.visible-lg,td.visible-lg{display:table-cell !important}}
884+@media (min-width:1200px){.visible-lg-block{display:block !important}}
885+@media (min-width:1200px){.visible-lg-inline{display:inline !important}}
886+@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}
887+@media (max-width:767px){.hidden-xs{display:none !important}}
888+@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}
889+@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}
890+@media (min-width:1200px){.hidden-lg{display:none !important}}
891+.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table} tr.visible-print{display:table-row !important} th.visible-print,td.visible-print{display:table-cell !important}}
892+.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}
893+.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}
894+.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}
895+@media print{.hidden-print{display:none !important}}
896+.has-warning .twitter-typeahead .tt-input,.has-warning .twitter-typeahead .tt-hint{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .twitter-typeahead .tt-input:focus,.has-warning .twitter-typeahead .tt-hint:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}
897+.has-error .twitter-typeahead .tt-input,.has-error .twitter-typeahead .tt-hint{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .twitter-typeahead .tt-input:focus,.has-error .twitter-typeahead .tt-hint:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}
898+.has-success .twitter-typeahead .tt-input,.has-success .twitter-typeahead .tt-hint{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .twitter-typeahead .tt-input:focus,.has-success .twitter-typeahead .tt-hint:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}
899+.input-group .twitter-typeahead:first-child .tt-input,.input-group .twitter-typeahead:first-child .tt-hint{border-bottom-left-radius:4px;border-top-left-radius:4px}
900+.input-group .twitter-typeahead:last-child .tt-input,.input-group .twitter-typeahead:last-child .tt-hint{border-bottom-right-radius:4px;border-top-right-radius:4px}
901+.input-group.input-group-sm .twitter-typeahead .tt-input,.input-group.input-group-sm .twitter-typeahead .tt-hint{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group.input-group-sm .twitter-typeahead .tt-input,select.input-group.input-group-sm .twitter-typeahead .tt-hint{height:30px;line-height:30px}
902+textarea.input-group.input-group-sm .twitter-typeahead .tt-input,textarea.input-group.input-group-sm .twitter-typeahead .tt-hint,select[multiple].input-group.input-group-sm .twitter-typeahead .tt-input,select[multiple].input-group.input-group-sm .twitter-typeahead .tt-hint{height:auto}
903+.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) .tt-input,.input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) .tt-hint{border-radius:0}
904+.input-group.input-group-sm .twitter-typeahead:first-child .tt-input,.input-group.input-group-sm .twitter-typeahead:first-child .tt-hint{border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-right-radius:0;border-top-right-radius:0}
905+.input-group.input-group-sm .twitter-typeahead:last-child .tt-input,.input-group.input-group-sm .twitter-typeahead:last-child .tt-hint{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:3px;border-top-right-radius:3px}
906+.input-group.input-group-lg .twitter-typeahead .tt-input,.input-group.input-group-lg .twitter-typeahead .tt-hint{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group.input-group-lg .twitter-typeahead .tt-input,select.input-group.input-group-lg .twitter-typeahead .tt-hint{height:46px;line-height:46px}
907+textarea.input-group.input-group-lg .twitter-typeahead .tt-input,textarea.input-group.input-group-lg .twitter-typeahead .tt-hint,select[multiple].input-group.input-group-lg .twitter-typeahead .tt-input,select[multiple].input-group.input-group-lg .twitter-typeahead .tt-hint{height:auto}
908+.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) .tt-input,.input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) .tt-hint{border-radius:0}
909+.input-group.input-group-lg .twitter-typeahead:first-child .tt-input,.input-group.input-group-lg .twitter-typeahead:first-child .tt-hint{border-bottom-left-radius:6px;border-top-left-radius:6px;border-bottom-right-radius:0;border-top-right-radius:0}
910+.input-group.input-group-lg .twitter-typeahead:last-child .tt-input,.input-group.input-group-lg .twitter-typeahead:last-child .tt-hint{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:6px;border-top-right-radius:6px}
911+.twitter-typeahead{width:100%}.input-group .twitter-typeahead{display:table-cell !important;float:left}
912+.twitter-typeahead .tt-hint{color:#777}
913+.twitter-typeahead .tt-input{z-index:2}.twitter-typeahead .tt-input[disabled],.twitter-typeahead .tt-input[readonly],fieldset[disabled] .twitter-typeahead .tt-input{cursor:not-allowed;background-color:#eee !important}
914+.tt-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;min-width:160px;width:100%;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px}.tt-dropdown-menu .tt-suggestion{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap;text-align:left;cursor:pointer !important}.tt-dropdown-menu .tt-suggestion.tt-cursor{text-decoration:none;outline:0;background-color:#f5f5f5;color:#262626}.tt-dropdown-menu .tt-suggestion.tt-cursor a{color:#262626}
915+.tt-dropdown-menu .tt-suggestion p{margin:0}
searx/static/oscar/css/oscar.min.cssnew file+17
@@ -0,0 +1,17 @@
1+html{position:relative;min-height:100%}
2+body{margin-bottom:80px}
3+.footer{position:absolute;bottom:0;width:100%;height:60px}
4+input[type=checkbox]:checked~.label_hide_if_checked{display:none}
5+input[type=checkbox]:not(:checked)~.label_hide_if_not_checked{display:none}
6+.result-default{clear:both}
7+.result-images{float:left !important}
8+.img-thumbnail{margin:5px;max-height:128px;min-height:128px}
9+.result-videos{clear:both}
10+.result-torrents{clear:both}
11+.suggestion_item{margin:2px 5px}
12+.result_download{margin-right:5px}
13+#pagination{margin-top:30px;padding-bottom:50px}
14+.infobox .infobox_part{margin-bottom:20px}
15+.infobox .infobox_part:last-child{margin-bottom:0}
16+.search_categories{margin:10px 0;text-transform:capitalize}
17+.cursor-text{cursor:text !important}
searx/static/oscar/fonts/glyphicons-halflings-regular.eotnew file

Binary file not shown.

searx/static/oscar/fonts/glyphicons-halflings-regular.svgnew file+229
@@ -0,0 +1,229 @@
1+<?xml version="1.0" standalone="no"?>
2+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3+<svg xmlns="http://www.w3.org/2000/svg">
4+<metadata></metadata>
5+<defs>
6+<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
7+<font-face units-per-em="1200" ascent="960" descent="-240" />
8+<missing-glyph horiz-adv-x="500" />
9+<glyph />
10+<glyph />
11+<glyph unicode="&#xd;" />
12+<glyph unicode=" " />
13+<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
14+<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
15+<glyph unicode="&#xa0;" />
16+<glyph unicode="&#x2000;" horiz-adv-x="652" />
17+<glyph unicode="&#x2001;" horiz-adv-x="1304" />
18+<glyph unicode="&#x2002;" horiz-adv-x="652" />
19+<glyph unicode="&#x2003;" horiz-adv-x="1304" />
20+<glyph unicode="&#x2004;" horiz-adv-x="434" />
21+<glyph unicode="&#x2005;" horiz-adv-x="326" />
22+<glyph unicode="&#x2006;" horiz-adv-x="217" />
23+<glyph unicode="&#x2007;" horiz-adv-x="217" />
24+<glyph unicode="&#x2008;" horiz-adv-x="163" />
25+<glyph unicode="&#x2009;" horiz-adv-x="260" />
26+<glyph unicode="&#x200a;" horiz-adv-x="72" />
27+<glyph unicode="&#x202f;" horiz-adv-x="260" />
28+<glyph unicode="&#x205f;" horiz-adv-x="326" />
29+<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
30+<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
31+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
32+<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
33+<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
34+<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
35+<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
36+<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
37+<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
38+<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
39+<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
40+<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
41+<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
42+<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
43+<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
44+<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
45+<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
46+<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
47+<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
48+<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
49+<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
50+<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
51+<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
52+<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
53+<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
54+<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
55+<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
56+<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
57+<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
58+<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
59+<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
60+<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
61+<glyph unicode="&#xe028;" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
62+<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
63+<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
64+<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
65+<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
66+<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
67+<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
68+<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
69+<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
70+<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
71+<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
72+<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
73+<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
74+<glyph unicode="&#xe041;" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
75+<glyph unicode="&#xe042;" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
76+<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
77+<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
78+<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
79+<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
80+<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
81+<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
82+<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
83+<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
84+<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
85+<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
86+<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
87+<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
88+<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
89+<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
90+<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
91+<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
92+<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
93+<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
94+<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
95+<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
96+<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
97+<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
98+<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
99+<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
100+<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
101+<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
102+<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
103+<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
104+<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
105+<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
106+<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
107+<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
108+<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
109+<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
110+<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
111+<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
112+<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
113+<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
114+<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
115+<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
116+<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
117+<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
118+<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
119+<glyph unicode="&#xe087;" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
120+<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
121+<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
122+<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
123+<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
124+<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
125+<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
126+<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
127+<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
128+<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
129+<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
130+<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
131+<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
132+<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
133+<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
134+<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
135+<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
136+<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
137+<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
138+<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
139+<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
140+<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
141+<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
142+<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
143+<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
144+<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
145+<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
146+<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
147+<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
148+<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
149+<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
150+<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
151+<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
152+<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
153+<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
154+<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
155+<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
156+<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
157+<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
158+<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
159+<glyph unicode="&#xe130;" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
160+<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
161+<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
162+<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
163+<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
164+<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
165+<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
166+<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
167+<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
168+<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
169+<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
170+<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
171+<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
172+<glyph unicode="&#xe143;" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
173+<glyph unicode="&#xe144;" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
174+<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
175+<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
176+<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
177+<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
178+<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
179+<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
180+<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
181+<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
182+<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
183+<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
184+<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
185+<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
186+<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
187+<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
188+<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
189+<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
190+<glyph unicode="&#xe162;" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
191+<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
192+<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
193+<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
194+<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
195+<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
196+<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
197+<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
198+<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
199+<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
200+<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
201+<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
202+<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
203+<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
204+<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
205+<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
206+<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
207+<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
208+<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
209+<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
210+<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
211+<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
212+<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
213+<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
214+<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
215+<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
216+<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
217+<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
218+<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
219+<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
220+<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
221+<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
222+<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
223+<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
224+<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
225+<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
226+<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
227+<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
228+</font>
229+</defs></svg>
searx/static/oscar/fonts/glyphicons-halflings-regular.ttfnew file

Binary file not shown.

searx/static/oscar/fonts/glyphicons-halflings-regular.woffnew file

Binary file not shown.

searx/static/oscar/img/favicon.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/README.mdnew file+2
@@ -0,0 +1,2 @@
1+Source: http://www.iconspedia.com/pack/flat-gradient-social-icons-4384/
2+License: Free for non commercial use.
searx/static/oscar/img/icons/amazon.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/dailymotion.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/deviantart.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/facebook.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/flickr.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/github.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/soundcloud.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/stackoverflow.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/twitter.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/vimeo.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/wikipedia.pngnew file

Binary file not shown.

searx/static/oscar/img/icons/youtube.pngnew file

Binary file not shown.

searx/static/oscar/img/searx_logo.pngnew file

Binary file not shown.

searx/static/oscar/js/bootstrap.min.jsnew file+6
@@ -0,0 +1,6 @@
1+/*!
2+ * Bootstrap v3.2.0 (http://getbootstrap.com)
3+ * Copyright 2011-2014 Twitter, Inc.
4+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5+ */
6+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
searx/static/oscar/js/html5shiv.min.jsnew file+4
@@ -0,0 +1,4 @@
1+/**
2+* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3+*/
4+!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document);
searx/static/oscar/js/jquery-1.11.1.min.jsnew file+4
@@ -0,0 +1,4 @@
1+/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
2+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;
3+if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")
4+},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
searx/static/oscar/js/respond.min.jsnew file+5
@@ -0,0 +1,5 @@
1+/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
2+ * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
3+ * */
4+
5+!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
searx/static/oscar/js/scripts.jsnew file+64
@@ -0,0 +1,64 @@
1+/**
2+ _ _ _
3+| |__ ___ ___ | |_ ___| |_ _ __ __ ___ __
4+| '_ \ / _ \ / _ \| __/ __| __| '__/ _` \ \/ /
5+| |_) | (_) | (_) | |_\__ | |_| | | (_| |> <
6+|_.__/ \___/ \___/ \__|___/\__|_| \__,_/_/\_\.js
7+
8+*/
9+
10+if(searx.autocompleter) {
11+ searx.searchResults = new Bloodhound({
12+ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
13+ queryTokenizer: Bloodhound.tokenizers.whitespace,
14+ remote: '/autocompleter?q=%QUERY'
15+ });
16+ searx.searchResults.initialize();
17+}
18+
19+$(document).ready(function(){
20+ $('.btn-toggle .btn').click(function() {
21+ var btnClass = 'btn-' + $(this).data('btn-class');
22+ var btnLabelDefault = $(this).data('btn-label-default');
23+ var btnLabelToggled = $(this).data('btn-label-toggled');
24+ if(btnLabelToggled != '') {
25+ if($(this).hasClass('btn-default')) {
26+
27+ var html = $(this).html().replace(btnLabelDefault, btnLabelToggled);
28+ } else {
29+ var html = $(this).html().replace(btnLabelToggled, btnLabelDefault);
30+ }
31+ $(this).html(html);
32+ }
33+ $(this).toggleClass(btnClass);
34+ $(this).toggleClass('btn-default');
35+ });
36+
37+ $('.btn-collapse').click(function() {
38+ var btnTextCollapsed = $(this).data('btn-text-collapsed');
39+ var btnTextNotCollapsed = $(this).data('btn-text-not-collapsed');
40+
41+ if(btnTextCollapsed != '' && btnTextNotCollapsed != '') {
42+ if($(this).hasClass('collapsed')) {
43+ var html = $(this).html().replace(btnTextCollapsed, btnTextNotCollapsed);
44+ } else {
45+ var html = $(this).html().replace(btnTextNotCollapsed, btnTextCollapsed);
46+ }
47+ $(this).html(html);
48+ }
49+ });
50+
51+ $(".select-all-on-click").click(function () {
52+ $(this).select();
53+ });
54+
55+ if(searx.autocompleter) {
56+ $('#q').typeahead(null, {
57+ name: 'search-results',
58+ displayKey: function(result) {
59+ return result;
60+ },
61+ source: searx.searchResults.ttAdapter()
62+ });
63+ }
64+});
searx/static/oscar/js/typeahead.bundle.min.jsnew file+7
@@ -0,0 +1,7 @@
1+/*!
2+ * typeahead.js 0.10.5
3+ * https://github.com/twitter/typeahead.js
4+ * Copyright 2013-2014 Twitter, Inc. and other contributors; Licensed MIT
5+ */
6+
7+!function(a){var b=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(a){return!a||/^\s*$/.test(a)},escapeRegExChars:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(a){return"string"==typeof a},isNumber:function(a){return"number"==typeof a},isArray:a.isArray,isFunction:a.isFunction,isObject:a.isPlainObject,isUndefined:function(a){return"undefined"==typeof a},toStr:function(a){return b.isUndefined(a)||null===a?"":a+""},bind:a.proxy,each:function(b,c){function d(a,b){return c(b,a)}a.each(b,d)},map:a.map,filter:a.grep,every:function(b,c){var d=!0;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?void 0:!1}),!!d):d},some:function(b,c){var d=!1;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?!1:void 0}),!!d):d},mixin:a.extend,getUniqueId:function(){var a=0;return function(){return a++}}(),templatify:function(b){function c(){return String(b)}return a.isFunction(b)?b:c},defer:function(a){setTimeout(a,0)},debounce:function(a,b,c){var d,e;return function(){var f,g,h=this,i=arguments;return f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},throttle:function(a,b){var c,d,e,f,g,h;return g=0,h=function(){g=new Date,e=null,f=a.apply(c,d)},function(){var i=new Date,j=b-(i-g);return c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},noop:function(){}}}(),c="0.10.5",d=function(){"use strict";function a(a){return a=b.toStr(a),a?a.split(/\s+/):[]}function c(a){return a=b.toStr(a),a?a.split(/\W+/):[]}function d(a){return function(){var c=[].slice.call(arguments,0);return function(d){var e=[];return b.each(c,function(c){e=e.concat(a(b.toStr(d[c])))}),e}}}return{nonword:c,whitespace:a,obj:{nonword:d(c),whitespace:d(a)}}}(),e=function(){"use strict";function c(c){this.maxSize=b.isNumber(c)?c:100,this.reset(),this.maxSize<=0&&(this.set=this.get=a.noop)}function d(){this.head=this.tail=null}function e(a,b){this.key=a,this.val=b,this.prev=this.next=null}return b.mixin(c.prototype,{set:function(a,b){var c,d=this.list.tail;this.size>=this.maxSize&&(this.list.remove(d),delete this.hash[d.key]),(c=this.hash[a])?(c.val=b,this.list.moveToFront(c)):(c=new e(a,b),this.list.add(c),this.hash[a]=c,this.size++)},get:function(a){var b=this.hash[a];return b?(this.list.moveToFront(b),b.val):void 0},reset:function(){this.size=0,this.hash={},this.list=new d}}),b.mixin(d.prototype,{add:function(a){this.head&&(a.next=this.head,this.head.prev=a),this.head=a,this.tail=this.tail||a},remove:function(a){a.prev?a.prev.next=a.next:this.head=a.next,a.next?a.next.prev=a.prev:this.tail=a.prev},moveToFront:function(a){this.remove(a),this.add(a)}}),c}(),f=function(){"use strict";function a(a){this.prefix=["__",a,"__"].join(""),this.ttlKey="__ttl__",this.keyMatcher=new RegExp("^"+b.escapeRegExChars(this.prefix))}function c(){return(new Date).getTime()}function d(a){return JSON.stringify(b.isUndefined(a)?null:a)}function e(a){return JSON.parse(a)}var f,g;try{f=window.localStorage,f.setItem("~~~","!"),f.removeItem("~~~")}catch(h){f=null}return g=f&&window.JSON?{_prefix:function(a){return this.prefix+a},_ttlKey:function(a){return this._prefix(a)+this.ttlKey},get:function(a){return this.isExpired(a)&&this.remove(a),e(f.getItem(this._prefix(a)))},set:function(a,e,g){return b.isNumber(g)?f.setItem(this._ttlKey(a),d(c()+g)):f.removeItem(this._ttlKey(a)),f.setItem(this._prefix(a),d(e))},remove:function(a){return f.removeItem(this._ttlKey(a)),f.removeItem(this._prefix(a)),this},clear:function(){var a,b,c=[],d=f.length;for(a=0;d>a;a++)(b=f.key(a)).match(this.keyMatcher)&&c.push(b.replace(this.keyMatcher,""));for(a=c.length;a--;)this.remove(c[a]);return this},isExpired:function(a){var d=e(f.getItem(this._ttlKey(a)));return b.isNumber(d)&&c()>d?!0:!1}}:{get:b.noop,set:b.noop,remove:b.noop,clear:b.noop,isExpired:b.noop},b.mixin(a.prototype,g),a}(),g=function(){"use strict";function c(b){b=b||{},this.cancelled=!1,this.lastUrl=null,this._send=b.transport?d(b.transport):a.ajax,this._get=b.rateLimiter?b.rateLimiter(this._get):this._get,this._cache=b.cache===!1?new e(0):i}function d(c){return function(d,e){function f(a){b.defer(function(){h.resolve(a)})}function g(a){b.defer(function(){h.reject(a)})}var h=a.Deferred();return c(d,e,f,g),h}}var f=0,g={},h=6,i=new e(10);return c.setMaxPendingRequests=function(a){h=a},c.resetCache=function(){i.reset()},b.mixin(c.prototype,{_get:function(a,b,c){function d(b){c&&c(null,b),k._cache.set(a,b)}function e(){c&&c(!0)}function i(){f--,delete g[a],k.onDeckRequestArgs&&(k._get.apply(k,k.onDeckRequestArgs),k.onDeckRequestArgs=null)}var j,k=this;this.cancelled||a!==this.lastUrl||((j=g[a])?j.done(d).fail(e):h>f?(f++,g[a]=this._send(a,b).done(d).fail(e).always(i)):this.onDeckRequestArgs=[].slice.call(arguments,0))},get:function(a,c,d){var e;return b.isFunction(c)&&(d=c,c={}),this.cancelled=!1,this.lastUrl=a,(e=this._cache.get(a))?b.defer(function(){d&&d(null,e)}):this._get(a,c,d),!!e},cancel:function(){this.cancelled=!0}}),c}(),h=function(){"use strict";function c(b){b=b||{},b.datumTokenizer&&b.queryTokenizer||a.error("datumTokenizer and queryTokenizer are both required"),this.datumTokenizer=b.datumTokenizer,this.queryTokenizer=b.queryTokenizer,this.reset()}function d(a){return a=b.filter(a,function(a){return!!a}),a=b.map(a,function(a){return a.toLowerCase()})}function e(){return{ids:[],children:{}}}function f(a){for(var b={},c=[],d=0,e=a.length;e>d;d++)b[a[d]]||(b[a[d]]=!0,c.push(a[d]));return c}function g(a,b){function c(a,b){return a-b}var d=0,e=0,f=[];a=a.sort(c),b=b.sort(c);for(var g=a.length,h=b.length;g>d&&h>e;)a[d]<b[e]?d++:a[d]>b[e]?e++:(f.push(a[d]),d++,e++);return f}return b.mixin(c.prototype,{bootstrap:function(a){this.datums=a.datums,this.trie=a.trie},add:function(a){var c=this;a=b.isArray(a)?a:[a],b.each(a,function(a){var f,g;f=c.datums.push(a)-1,g=d(c.datumTokenizer(a)),b.each(g,function(a){var b,d,g;for(b=c.trie,d=a.split("");g=d.shift();)b=b.children[g]||(b.children[g]=e()),b.ids.push(f)})})},get:function(a){var c,e,h=this;return c=d(this.queryTokenizer(a)),b.each(c,function(a){var b,c,d,f;if(e&&0===e.length)return!1;for(b=h.trie,c=a.split("");b&&(d=c.shift());)b=b.children[d];return b&&0===c.length?(f=b.ids.slice(0),void(e=e?g(e,f):f)):(e=[],!1)}),e?b.map(f(e),function(a){return h.datums[a]}):[]},reset:function(){this.datums=[],this.trie=e()},serialize:function(){return{datums:this.datums,trie:this.trie}}}),c}(),i=function(){"use strict";function d(a){return a.local||null}function e(d){var e,f;return f={url:null,thumbprint:"",ttl:864e5,filter:null,ajax:{}},(e=d.prefetch||null)&&(e=b.isString(e)?{url:e}:e,e=b.mixin(f,e),e.thumbprint=c+e.thumbprint,e.ajax.type=e.ajax.type||"GET",e.ajax.dataType=e.ajax.dataType||"json",!e.url&&a.error("prefetch requires url to be set")),e}function f(c){function d(a){return function(c){return b.debounce(c,a)}}function e(a){return function(c){return b.throttle(c,a)}}var f,g;return g={url:null,cache:!0,wildcard:"%QUERY",replace:null,rateLimitBy:"debounce",rateLimitWait:300,send:null,filter:null,ajax:{}},(f=c.remote||null)&&(f=b.isString(f)?{url:f}:f,f=b.mixin(g,f),f.rateLimiter=/^throttle$/i.test(f.rateLimitBy)?e(f.rateLimitWait):d(f.rateLimitWait),f.ajax.type=f.ajax.type||"GET",f.ajax.dataType=f.ajax.dataType||"json",delete f.rateLimitBy,delete f.rateLimitWait,!f.url&&a.error("remote requires url to be set")),f}return{local:d,prefetch:e,remote:f}}();!function(c){"use strict";function e(b){b&&(b.local||b.prefetch||b.remote)||a.error("one of local, prefetch, or remote is required"),this.limit=b.limit||5,this.sorter=j(b.sorter),this.dupDetector=b.dupDetector||k,this.local=i.local(b),this.prefetch=i.prefetch(b),this.remote=i.remote(b),this.cacheKey=this.prefetch?this.prefetch.cacheKey||this.prefetch.url:null,this.index=new h({datumTokenizer:b.datumTokenizer,queryTokenizer:b.queryTokenizer}),this.storage=this.cacheKey?new f(this.cacheKey):null}function j(a){function c(b){return b.sort(a)}function d(a){return a}return b.isFunction(a)?c:d}function k(){return!1}var l,m;return l=c.Bloodhound,m={data:"data",protocol:"protocol",thumbprint:"thumbprint"},c.Bloodhound=e,e.noConflict=function(){return c.Bloodhound=l,e},e.tokenizers=d,b.mixin(e.prototype,{_loadPrefetch:function(b){function c(a){f.clear(),f.add(b.filter?b.filter(a):a),f._saveToStorage(f.index.serialize(),b.thumbprint,b.ttl)}var d,e,f=this;return(d=this._readFromStorage(b.thumbprint))?(this.index.bootstrap(d),e=a.Deferred().resolve()):e=a.ajax(b.url,b.ajax).done(c),e},_getFromRemote:function(a,b){function c(a,c){b(a?[]:f.remote.filter?f.remote.filter(c):c)}var d,e,f=this;if(this.transport)return a=a||"",e=encodeURIComponent(a),d=this.remote.replace?this.remote.replace(this.remote.url,a):this.remote.url.replace(this.remote.wildcard,e),this.transport.get(d,this.remote.ajax,c)},_cancelLastRemoteRequest:function(){this.transport&&this.transport.cancel()},_saveToStorage:function(a,b,c){this.storage&&(this.storage.set(m.data,a,c),this.storage.set(m.protocol,location.protocol,c),this.storage.set(m.thumbprint,b,c))},_readFromStorage:function(a){var b,c={};return this.storage&&(c.data=this.storage.get(m.data),c.protocol=this.storage.get(m.protocol),c.thumbprint=this.storage.get(m.thumbprint)),b=c.thumbprint!==a||c.protocol!==location.protocol,c.data&&!b?c.data:null},_initialize:function(){function c(){e.add(b.isFunction(f)?f():f)}var d,e=this,f=this.local;return d=this.prefetch?this._loadPrefetch(this.prefetch):a.Deferred().resolve(),f&&d.done(c),this.transport=this.remote?new g(this.remote):null,this.initPromise=d.promise()},initialize:function(a){return!this.initPromise||a?this._initialize():this.initPromise},add:function(a){this.index.add(a)},get:function(a,c){function d(a){var d=f.slice(0);b.each(a,function(a){var c;return c=b.some(d,function(b){return e.dupDetector(a,b)}),!c&&d.push(a),d.length<e.limit}),c&&c(e.sorter(d))}var e=this,f=[],g=!1;f=this.index.get(a),f=this.sorter(f).slice(0,this.limit),f.length<this.limit?g=this._getFromRemote(a,d):this._cancelLastRemoteRequest(),g||(f.length>0||!this.transport)&&c&&c(f)},clear:function(){this.index.reset()},clearPrefetchCache:function(){this.storage&&this.storage.clear()},clearRemoteCache:function(){this.transport&&g.resetCache()},ttAdapter:function(){return b.bind(this.get,this)}}),e}(this);var j=function(){return{wrapper:'<span class="twitter-typeahead"></span>',dropdown:'<span class="tt-dropdown-menu"></span>',dataset:'<div class="tt-dataset-%CLASS%"></div>',suggestions:'<span class="tt-suggestions"></span>',suggestion:'<div class="tt-suggestion"></div>'}}(),k=function(){"use strict";var a={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};return b.isMsie()&&b.mixin(a.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),b.isMsie()&&b.isMsie()<=7&&b.mixin(a.input,{marginTop:"-1px"}),a}(),l=function(){"use strict";function c(b){b&&b.el||a.error("EventBus initialized without el"),this.$el=a(b.el)}var d="typeahead:";return b.mixin(c.prototype,{trigger:function(a){var b=[].slice.call(arguments,1);this.$el.trigger(d+a,b)}}),c}(),m=function(){"use strict";function a(a,b,c,d){var e;if(!c)return this;for(b=b.split(i),c=d?h(c,d):c,this._callbacks=this._callbacks||{};e=b.shift();)this._callbacks[e]=this._callbacks[e]||{sync:[],async:[]},this._callbacks[e][a].push(c);return this}function b(b,c,d){return a.call(this,"async",b,c,d)}function c(b,c,d){return a.call(this,"sync",b,c,d)}function d(a){var b;if(!this._callbacks)return this;for(a=a.split(i);b=a.shift();)delete this._callbacks[b];return this}function e(a){var b,c,d,e,g;if(!this._callbacks)return this;for(a=a.split(i),d=[].slice.call(arguments,1);(b=a.shift())&&(c=this._callbacks[b]);)e=f(c.sync,this,[b].concat(d)),g=f(c.async,this,[b].concat(d)),e()&&j(g);return this}function f(a,b,c){function d(){for(var d,e=0,f=a.length;!d&&f>e;e+=1)d=a[e].apply(b,c)===!1;return!d}return d}function g(){var a;return a=window.setImmediate?function(a){setImmediate(function(){a()})}:function(a){setTimeout(function(){a()},0)}}function h(a,b){return a.bind?a.bind(b):function(){a.apply(b,[].slice.call(arguments,0))}}var i=/\s+/,j=g();return{onSync:c,onAsync:b,off:d,trigger:e}}(),n=function(a){"use strict";function c(a,c,d){for(var e,f=[],g=0,h=a.length;h>g;g++)f.push(b.escapeRegExChars(a[g]));return e=d?"\\b("+f.join("|")+")\\b":"("+f.join("|")+")",c?new RegExp(e):new RegExp(e,"i")}var d={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(e){function f(b){var c,d,f;return(c=h.exec(b.data))&&(f=a.createElement(e.tagName),e.className&&(f.className=e.className),d=b.splitText(c.index),d.splitText(c[0].length),f.appendChild(d.cloneNode(!0)),b.parentNode.replaceChild(f,d)),!!c}function g(a,b){for(var c,d=3,e=0;e<a.childNodes.length;e++)c=a.childNodes[e],c.nodeType===d?e+=b(c)?1:0:g(c,b)}var h;e=b.mixin({},d,e),e.node&&e.pattern&&(e.pattern=b.isArray(e.pattern)?e.pattern:[e.pattern],h=c(e.pattern,e.caseSensitive,e.wordsOnly),g(e.node,f))}}(window.document),o=function(){"use strict";function c(c){var e,f,h,i,j=this;c=c||{},c.input||a.error("input is missing"),e=b.bind(this._onBlur,this),f=b.bind(this._onFocus,this),h=b.bind(this._onKeydown,this),i=b.bind(this._onInput,this),this.$hint=a(c.hint),this.$input=a(c.input).on("blur.tt",e).on("focus.tt",f).on("keydown.tt",h),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=b.noop),b.isMsie()?this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(a){g[a.which||a.keyCode]||b.defer(b.bind(j._onInput,j,a))}):this.$input.on("input.tt",i),this.query=this.$input.val(),this.$overflowHelper=d(this.$input)}function d(b){return a('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:b.css("font-family"),fontSize:b.css("font-size"),fontStyle:b.css("font-style"),fontVariant:b.css("font-variant"),fontWeight:b.css("font-weight"),wordSpacing:b.css("word-spacing"),letterSpacing:b.css("letter-spacing"),textIndent:b.css("text-indent"),textRendering:b.css("text-rendering"),textTransform:b.css("text-transform")}).insertAfter(b)}function e(a,b){return c.normalizeQuery(a)===c.normalizeQuery(b)}function f(a){return a.altKey||a.ctrlKey||a.metaKey||a.shiftKey}var g;return g={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},c.normalizeQuery=function(a){return(a||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},b.mixin(c.prototype,m,{_onBlur:function(){this.resetInputValue(),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(a){var b=g[a.which||a.keyCode];this._managePreventDefault(b,a),b&&this._shouldTrigger(b,a)&&this.trigger(b+"Keyed",a)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(a,b){var c,d,e;switch(a){case"tab":d=this.getHint(),e=this.getInputValue(),c=d&&d!==e&&!f(b);break;case"up":case"down":c=!f(b);break;default:c=!1}c&&b.preventDefault()},_shouldTrigger:function(a,b){var c;switch(a){case"tab":c=!f(b);break;default:c=!0}return c},_checkInputValue:function(){var a,b,c;a=this.getInputValue(),b=e(a,this.query),c=b?this.query.length!==a.length:!1,this.query=a,b?c&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(a){this.query=a},getInputValue:function(){return this.$input.val()},setInputValue:function(a,b){this.$input.val(a),b?this.clearHint():this._checkInputValue()},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(a){this.$hint.val(a)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var a,b,c,d;a=this.getInputValue(),b=this.getHint(),c=a!==b&&0===b.indexOf(a),d=""!==a&&c&&!this.hasOverflow(),!d&&this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var a=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=a},isCursorAtEnd:function(){var a,c,d;return a=this.$input.val().length,c=this.$input[0].selectionStart,b.isNumber(c)?c===a:document.selection?(d=document.selection.createRange(),d.moveStart("character",-a),a===d.text.length):!0},destroy:function(){this.$hint.off(".tt"),this.$input.off(".tt"),this.$hint=this.$input=this.$overflowHelper=null}}),c}(),p=function(){"use strict";function c(c){c=c||{},c.templates=c.templates||{},c.source||a.error("missing source"),c.name&&!f(c.name)&&a.error("invalid dataset name: "+c.name),this.query=null,this.highlight=!!c.highlight,this.name=c.name||b.getUniqueId(),this.source=c.source,this.displayFn=d(c.display||c.displayKey),this.templates=e(c.templates,this.displayFn),this.$el=a(j.dataset.replace("%CLASS%",this.name))}function d(a){function c(b){return b[a]}return a=a||"value",b.isFunction(a)?a:c}function e(a,c){function d(a){return"<p>"+c(a)+"</p>"}return{empty:a.empty&&b.templatify(a.empty),header:a.header&&b.templatify(a.header),footer:a.footer&&b.templatify(a.footer),suggestion:a.suggestion||d}}function f(a){return/^[_a-zA-Z0-9-]+$/.test(a)}var g="ttDataset",h="ttValue",i="ttDatum";return c.extractDatasetName=function(b){return a(b).data(g)},c.extractValue=function(b){return a(b).data(h)},c.extractDatum=function(b){return a(b).data(i)},b.mixin(c.prototype,m,{_render:function(c,d){function e(){return p.templates.empty({query:c,isEmpty:!0})}function f(){function e(b){var c;return c=a(j.suggestion).append(p.templates.suggestion(b)).data(g,p.name).data(h,p.displayFn(b)).data(i,b),c.children().each(function(){a(this).css(k.suggestionChild)}),c}var f,l;return f=a(j.suggestions).css(k.suggestions),l=b.map(d,e),f.append.apply(f,l),p.highlight&&n({className:"tt-highlight",node:f[0],pattern:c}),f}function l(){return p.templates.header({query:c,isEmpty:!o})}function m(){return p.templates.footer({query:c,isEmpty:!o})}if(this.$el){var o,p=this;this.$el.empty(),o=d&&d.length,!o&&this.templates.empty?this.$el.html(e()).prepend(p.templates.header?l():null).append(p.templates.footer?m():null):o&&this.$el.html(f()).prepend(p.templates.header?l():null).append(p.templates.footer?m():null),this.trigger("rendered")}},getRoot:function(){return this.$el},update:function(a){function b(b){c.canceled||a!==c.query||c._render(a,b)}var c=this;this.query=a,this.canceled=!1,this.source(a,b)},cancel:function(){this.canceled=!0},clear:function(){this.cancel(),this.$el.empty(),this.trigger("rendered")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=null}}),c}(),q=function(){"use strict";function c(c){var e,f,g,h=this;c=c||{},c.menu||a.error("menu is required"),this.isOpen=!1,this.isEmpty=!0,this.datasets=b.map(c.datasets,d),e=b.bind(this._onSuggestionClick,this),f=b.bind(this._onSuggestionMouseEnter,this),g=b.bind(this._onSuggestionMouseLeave,this),this.$menu=a(c.menu).on("click.tt",".tt-suggestion",e).on("mouseenter.tt",".tt-suggestion",f).on("mouseleave.tt",".tt-suggestion",g),b.each(this.datasets,function(a){h.$menu.append(a.getRoot()),a.onSync("rendered",h._onRendered,h)})}function d(a){return new p(a)}return b.mixin(c.prototype,m,{_onSuggestionClick:function(b){this.trigger("suggestionClicked",a(b.currentTarget))},_onSuggestionMouseEnter:function(b){this._removeCursor(),this._setCursor(a(b.currentTarget),!0)},_onSuggestionMouseLeave:function(){this._removeCursor()},_onRendered:function(){function a(a){return a.isEmpty()}this.isEmpty=b.every(this.datasets,a),this.isEmpty?this._hide():this.isOpen&&this._show(),this.trigger("datasetRendered")},_hide:function(){this.$menu.hide()},_show:function(){this.$menu.css("display","block")},_getSuggestions:function(){return this.$menu.find(".tt-suggestion")},_getCursor:function(){return this.$menu.find(".tt-cursor").first()},_setCursor:function(a,b){a.first().addClass("tt-cursor"),!b&&this.trigger("cursorMoved")},_removeCursor:function(){this._getCursor().removeClass("tt-cursor")},_moveCursor:function(a){var b,c,d,e;if(this.isOpen){if(c=this._getCursor(),b=this._getSuggestions(),this._removeCursor(),d=b.index(c)+a,d=(d+1)%(b.length+1)-1,-1===d)return void this.trigger("cursorRemoved");-1>d&&(d=b.length-1),this._setCursor(e=b.eq(d)),this._ensureVisible(e)}},_ensureVisible:function(a){var b,c,d,e;b=a.position().top,c=b+a.outerHeight(!0),d=this.$menu.scrollTop(),e=this.$menu.height()+parseInt(this.$menu.css("paddingTop"),10)+parseInt(this.$menu.css("paddingBottom"),10),0>b?this.$menu.scrollTop(d+b):c>e&&this.$menu.scrollTop(d+(c-e))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,!this.isEmpty&&this._show(),this.trigger("opened"))},setLanguageDirection:function(a){this.$menu.css("ltr"===a?k.ltr:k.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(a){var b=null;return a.length&&(b={raw:p.extractDatum(a),value:p.extractValue(a),datasetName:p.extractDatasetName(a)}),b},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},update:function(a){function c(b){b.update(a)}b.each(this.datasets,c)},empty:function(){function a(a){a.clear()}b.each(this.datasets,a),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){function a(a){a.destroy()}this.$menu.off(".tt"),this.$menu=null,b.each(this.datasets,a)}}),c}(),r=function(){"use strict";function c(c){var e,f,g;c=c||{},c.input||a.error("missing input"),this.isActivated=!1,this.autoselect=!!c.autoselect,this.minLength=b.isNumber(c.minLength)?c.minLength:1,this.$node=d(c.input,c.withHint),e=this.$node.find(".tt-dropdown-menu"),f=this.$node.find(".tt-input"),g=this.$node.find(".tt-hint"),f.on("blur.tt",function(a){var c,d,g;c=document.activeElement,d=e.is(c),g=e.has(c).length>0,b.isMsie()&&(d||g)&&(a.preventDefault(),a.stopImmediatePropagation(),b.defer(function(){f.focus()}))}),e.on("mousedown.tt",function(a){a.preventDefault()}),this.eventBus=c.eventBus||new l({el:f}),this.dropdown=new q({menu:e,datasets:c.datasets}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new o({input:f,hint:g}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._setLanguageDirection()}function d(b,c){var d,f,h,i;d=a(b),f=a(j.wrapper).css(k.wrapper),h=a(j.dropdown).css(k.dropdown),i=d.clone().css(k.hint).css(e(d)),i.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder required").prop("readonly",!0).attr({autocomplete:"off",spellcheck:"false",tabindex:-1}),d.data(g,{dir:d.attr("dir"),autocomplete:d.attr("autocomplete"),spellcheck:d.attr("spellcheck"),style:d.attr("style")}),d.addClass("tt-input").attr({autocomplete:"off",spellcheck:!1}).css(c?k.input:k.inputWithNoHint);try{!d.attr("dir")&&d.attr("dir","auto")}catch(l){}return d.wrap(f).parent().prepend(c?i:null).append(h)}function e(a){return{backgroundAttachment:a.css("background-attachment"),backgroundClip:a.css("background-clip"),backgroundColor:a.css("background-color"),backgroundImage:a.css("background-image"),backgroundOrigin:a.css("background-origin"),backgroundPosition:a.css("background-position"),backgroundRepeat:a.css("background-repeat"),backgroundSize:a.css("background-size")}}function f(a){var c=a.find(".tt-input");b.each(c.data(g),function(a,d){b.isUndefined(a)?c.removeAttr(d):c.attr(d,a)}),c.detach().removeData(g).removeClass("tt-input").insertAfter(a),a.remove()}var g="ttAttrs";return b.mixin(c.prototype,{_onSuggestionClicked:function(a,b){var c;(c=this.dropdown.getDatumForSuggestion(b))&&this._select(c)},_onCursorMoved:function(){var a=this.dropdown.getDatumForCursor();this.input.setInputValue(a.value,!0),this.eventBus.trigger("cursorchanged",a.raw,a.datasetName)},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint()},_onDatasetRendered:function(){this._updateHint()},_onOpened:function(){this._updateHint(),this.eventBus.trigger("opened")},_onClosed:function(){this.input.clearHint(),this.eventBus.trigger("closed")},_onFocused:function(){this.isActivated=!0,this.dropdown.open()},_onBlurred:function(){this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()},_onEnterKeyed:function(a,b){var c,d;c=this.dropdown.getDatumForCursor(),d=this.dropdown.getDatumForTopSuggestion(),c?(this._select(c),b.preventDefault()):this.autoselect&&d&&(this._select(d),b.preventDefault())},_onTabKeyed:function(a,b){var c;(c=this.dropdown.getDatumForCursor())?(this._select(c),b.preventDefault()):this._autocomplete(!0)},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var a=this.input.getQuery();this.dropdown.isEmpty&&a.length>=this.minLength?this.dropdown.update(a):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var a=this.input.getQuery();this.dropdown.isEmpty&&a.length>=this.minLength?this.dropdown.update(a):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(a,b){this.input.clearHintIfInvalid(),b.length>=this.minLength?this.dropdown.update(b):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var a;this.dir!==(a=this.input.getLanguageDirection())&&(this.dir=a,this.$node.css("direction",a),this.dropdown.setLanguageDirection(a))},_updateHint:function(){var a,c,d,e,f,g;a=this.dropdown.getDatumForTopSuggestion(),a&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(c=this.input.getInputValue(),d=o.normalizeQuery(c),e=b.escapeRegExChars(d),f=new RegExp("^(?:"+e+")(.+$)","i"),g=f.exec(a.value),g?this.input.setHint(c+g[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(a){var b,c,d,e;b=this.input.getHint(),c=this.input.getQuery(),d=a||this.input.isCursorAtEnd(),b&&c!==b&&d&&(e=this.dropdown.getDatumForTopSuggestion(),e&&this.input.setInputValue(e.value),this.eventBus.trigger("autocompleted",e.raw,e.datasetName))},_select:function(a){this.input.setQuery(a.value),this.input.setInputValue(a.value,!0),this._setLanguageDirection(),this.eventBus.trigger("selected",a.raw,a.datasetName),this.dropdown.close(),b.defer(b.bind(this.dropdown.empty,this.dropdown))},open:function(){this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(a){a=b.toStr(a),this.isActivated?this.input.setInputValue(a):(this.input.setQuery(a),this.input.setInputValue(a,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),f(this.$node),this.$node=null}}),c}();!function(){"use strict";var c,d,e;c=a.fn.typeahead,d="ttTypeahead",e={initialize:function(c,e){function f(){var f,g,h=a(this);b.each(e,function(a){a.highlight=!!c.highlight}),g=new r({input:h,eventBus:f=new l({el:h}),withHint:b.isUndefined(c.hint)?!0:!!c.hint,minLength:c.minLength,autoselect:c.autoselect,datasets:e}),h.data(d,g)}return e=b.isArray(e)?e:[].slice.call(arguments,1),c=c||{},this.each(f)},open:function(){function b(){var b,c=a(this);(b=c.data(d))&&b.open()}return this.each(b)},close:function(){function b(){var b,c=a(this);(b=c.data(d))&&b.close()}return this.each(b)},val:function(b){function c(){var c,e=a(this);(c=e.data(d))&&c.setVal(b)}function e(a){var b,c;return(b=a.data(d))&&(c=b.getVal()),c}return arguments.length?this.each(c):e(this.first())},destroy:function(){function b(){var b,c=a(this);(b=c.data(d))&&(b.destroy(),c.removeData(d))}return this.each(b)}},a.fn.typeahead=function(b){var c;return e[b]&&"initialize"!==b?(c=this.filter(function(){return!!a(this).data(d)}),e[b].apply(c,[].slice.call(arguments,1))):e.initialize.apply(this,arguments)},a.fn.typeahead.noConflict=function(){return a.fn.typeahead=c,this}}()}(window.jQuery);
searx/static/oscar/less/bootstrap/.csscomb.jsonnew file+297
@@ -0,0 +1,297 @@
1+{
2+ "always-semicolon": true,
3+ "block-indent": 2,
4+ "colon-space": [0, 1],
5+ "color-case": "lower",
6+ "color-shorthand": true,
7+ "combinator-space": true,
8+ "element-case": "lower",
9+ "eof-newline": true,
10+ "leading-zero": false,
11+ "remove-empty-rulesets": true,
12+ "rule-indent": 2,
13+ "stick-brace": " ",
14+ "strip-spaces": true,
15+ "unitless-zero": true,
16+ "vendor-prefix-align": true,
17+ "sort-order": [
18+ [
19+ "position",
20+ "top",
21+ "right",
22+ "bottom",
23+ "left",
24+ "z-index",
25+ "display",
26+ "float",
27+ "width",
28+ "min-width",
29+ "max-width",
30+ "height",
31+ "min-height",
32+ "max-height",
33+ "-webkit-box-sizing",
34+ "-moz-box-sizing",
35+ "box-sizing",
36+ "-webkit-appearance",
37+ "padding",
38+ "padding-top",
39+ "padding-right",
40+ "padding-bottom",
41+ "padding-left",
42+ "margin",
43+ "margin-top",
44+ "margin-right",
45+ "margin-bottom",
46+ "margin-left",
47+ "overflow",
48+ "overflow-x",
49+ "overflow-y",
50+ "-webkit-overflow-scrolling",
51+ "-ms-overflow-x",
52+ "-ms-overflow-y",
53+ "-ms-overflow-style",
54+ "clip",
55+ "clear",
56+ "font",
57+ "font-family",
58+ "font-size",
59+ "font-style",
60+ "font-weight",
61+ "font-variant",
62+ "font-size-adjust",
63+ "font-stretch",
64+ "font-effect",
65+ "font-emphasize",
66+ "font-emphasize-position",
67+ "font-emphasize-style",
68+ "font-smooth",
69+ "-webkit-hyphens",
70+ "-moz-hyphens",
71+ "hyphens",
72+ "line-height",
73+ "color",
74+ "text-align",
75+ "-webkit-text-align-last",
76+ "-moz-text-align-last",
77+ "-ms-text-align-last",
78+ "text-align-last",
79+ "text-emphasis",
80+ "text-emphasis-color",
81+ "text-emphasis-style",
82+ "text-emphasis-position",
83+ "text-decoration",
84+ "text-indent",
85+ "text-justify",
86+ "text-outline",
87+ "-ms-text-overflow",
88+ "text-overflow",
89+ "text-overflow-ellipsis",
90+ "text-overflow-mode",
91+ "text-shadow",
92+ "text-transform",
93+ "text-wrap",
94+ "-webkit-text-size-adjust",
95+ "-ms-text-size-adjust",
96+ "letter-spacing",
97+ "-ms-word-break",
98+ "word-break",
99+ "word-spacing",
100+ "-ms-word-wrap",
101+ "word-wrap",
102+ "-moz-tab-size",
103+ "-o-tab-size",
104+ "tab-size",
105+ "white-space",
106+ "vertical-align",
107+ "list-style",
108+ "list-style-position",
109+ "list-style-type",
110+ "list-style-image",
111+ "pointer-events",
112+ "cursor",
113+ "visibility",
114+ "zoom",
115+ "flex-direction",
116+ "flex-order",
117+ "flex-pack",
118+ "flex-align",
119+ "table-layout",
120+ "empty-cells",
121+ "caption-side",
122+ "border-spacing",
123+ "border-collapse",
124+ "content",
125+ "quotes",
126+ "counter-reset",
127+ "counter-increment",
128+ "resize",
129+ "-webkit-user-select",
130+ "-moz-user-select",
131+ "-ms-user-select",
132+ "-o-user-select",
133+ "user-select",
134+ "nav-index",
135+ "nav-up",
136+ "nav-right",
137+ "nav-down",
138+ "nav-left",
139+ "background",
140+ "background-color",
141+ "background-image",
142+ "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
143+ "filter:progid:DXImageTransform.Microsoft.gradient",
144+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
145+ "filter",
146+ "background-repeat",
147+ "background-attachment",
148+ "background-position",
149+ "background-position-x",
150+ "background-position-y",
151+ "-webkit-background-clip",
152+ "-moz-background-clip",
153+ "background-clip",
154+ "background-origin",
155+ "-webkit-background-size",
156+ "-moz-background-size",
157+ "-o-background-size",
158+ "background-size",
159+ "border",
160+ "border-color",
161+ "border-style",
162+ "border-width",
163+ "border-top",
164+ "border-top-color",
165+ "border-top-style",
166+ "border-top-width",
167+ "border-right",
168+ "border-right-color",
169+ "border-right-style",
170+ "border-right-width",
171+ "border-bottom",
172+ "border-bottom-color",
173+ "border-bottom-style",
174+ "border-bottom-width",
175+ "border-left",
176+ "border-left-color",
177+ "border-left-style",
178+ "border-left-width",
179+ "border-radius",
180+ "border-top-left-radius",
181+ "border-top-right-radius",
182+ "border-bottom-right-radius",
183+ "border-bottom-left-radius",
184+ "-webkit-border-image",
185+ "-moz-border-image",
186+ "-o-border-image",
187+ "border-image",
188+ "-webkit-border-image-source",
189+ "-moz-border-image-source",
190+ "-o-border-image-source",
191+ "border-image-source",
192+ "-webkit-border-image-slice",
193+ "-moz-border-image-slice",
194+ "-o-border-image-slice",
195+ "border-image-slice",
196+ "-webkit-border-image-width",
197+ "-moz-border-image-width",
198+ "-o-border-image-width",
199+ "border-image-width",
200+ "-webkit-border-image-outset",
201+ "-moz-border-image-outset",
202+ "-o-border-image-outset",
203+ "border-image-outset",
204+ "-webkit-border-image-repeat",
205+ "-moz-border-image-repeat",
206+ "-o-border-image-repeat",
207+ "border-image-repeat",
208+ "outline",
209+ "outline-width",
210+ "outline-style",
211+ "outline-color",
212+ "outline-offset",
213+ "-webkit-box-shadow",
214+ "-moz-box-shadow",
215+ "box-shadow",
216+ "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
217+ "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
218+ "opacity",
219+ "-ms-interpolation-mode",
220+ "-webkit-transition",
221+ "-moz-transition",
222+ "-ms-transition",
223+ "-o-transition",
224+ "transition",
225+ "-webkit-transition-delay",
226+ "-moz-transition-delay",
227+ "-ms-transition-delay",
228+ "-o-transition-delay",
229+ "transition-delay",
230+ "-webkit-transition-timing-function",
231+ "-moz-transition-timing-function",
232+ "-ms-transition-timing-function",
233+ "-o-transition-timing-function",
234+ "transition-timing-function",
235+ "-webkit-transition-duration",
236+ "-moz-transition-duration",
237+ "-ms-transition-duration",
238+ "-o-transition-duration",
239+ "transition-duration",
240+ "-webkit-transition-property",
241+ "-moz-transition-property",
242+ "-ms-transition-property",
243+ "-o-transition-property",
244+ "transition-property",
245+ "-webkit-transform",
246+ "-moz-transform",
247+ "-ms-transform",
248+ "-o-transform",
249+ "transform",
250+ "-webkit-transform-origin",
251+ "-moz-transform-origin",
252+ "-ms-transform-origin",
253+ "-o-transform-origin",
254+ "transform-origin",
255+ "-webkit-animation",
256+ "-moz-animation",
257+ "-ms-animation",
258+ "-o-animation",
259+ "animation",
260+ "-webkit-animation-name",
261+ "-moz-animation-name",
262+ "-ms-animation-name",
263+ "-o-animation-name",
264+ "animation-name",
265+ "-webkit-animation-duration",
266+ "-moz-animation-duration",
267+ "-ms-animation-duration",
268+ "-o-animation-duration",
269+ "animation-duration",
270+ "-webkit-animation-play-state",
271+ "-moz-animation-play-state",
272+ "-ms-animation-play-state",
273+ "-o-animation-play-state",
274+ "animation-play-state",
275+ "-webkit-animation-timing-function",
276+ "-moz-animation-timing-function",
277+ "-ms-animation-timing-function",
278+ "-o-animation-timing-function",
279+ "animation-timing-function",
280+ "-webkit-animation-delay",
281+ "-moz-animation-delay",
282+ "-ms-animation-delay",
283+ "-o-animation-delay",
284+ "animation-delay",
285+ "-webkit-animation-iteration-count",
286+ "-moz-animation-iteration-count",
287+ "-ms-animation-iteration-count",
288+ "-o-animation-iteration-count",
289+ "animation-iteration-count",
290+ "-webkit-animation-direction",
291+ "-moz-animation-direction",
292+ "-ms-animation-direction",
293+ "-o-animation-direction",
294+ "animation-direction"
295+ ]
296+ ]
297+}
searx/static/oscar/less/bootstrap/.csslintrcnew file+19
@@ -0,0 +1,19 @@
1+{
2+ "adjoining-classes": false,
3+ "box-sizing": false,
4+ "box-model": false,
5+ "compatible-vendor-prefixes": false,
6+ "floats": false,
7+ "font-sizes": false,
8+ "gradients": false,
9+ "important": false,
10+ "known-properties": false,
11+ "outline-none": false,
12+ "qualified-headings": false,
13+ "regex-selectors": false,
14+ "shorthand": false,
15+ "text-indent": false,
16+ "unique-headings": false,
17+ "universal-selector": false,
18+ "unqualified-attributes": false
19+}
searx/static/oscar/less/bootstrap/alerts.lessnew file+68
@@ -0,0 +1,68 @@
1+//
2+// Alerts
3+// --------------------------------------------------
4+
5+
6+// Base styles
7+// -------------------------
8+
9+.alert {
10+ padding: @alert-padding;
11+ margin-bottom: @line-height-computed;
12+ border: 1px solid transparent;
13+ border-radius: @alert-border-radius;
14+
15+ // Headings for larger alerts
16+ h4 {
17+ margin-top: 0;
18+ // Specified for the h4 to prevent conflicts of changing @headings-color
19+ color: inherit;
20+ }
21+ // Provide class for links that match alerts
22+ .alert-link {
23+ font-weight: @alert-link-font-weight;
24+ }
25+
26+ // Improve alignment and spacing of inner content
27+ > p,
28+ > ul {
29+ margin-bottom: 0;
30+ }
31+ > p + p {
32+ margin-top: 5px;
33+ }
34+}
35+
36+// Dismissible alerts
37+//
38+// Expand the right padding and account for the close button's positioning.
39+
40+.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
41+.alert-dismissible {
42+ padding-right: (@alert-padding + 20);
43+
44+ // Adjust close link position
45+ .close {
46+ position: relative;
47+ top: -2px;
48+ right: -21px;
49+ color: inherit;
50+ }
51+}
52+
53+// Alternate styles
54+//
55+// Generate contextual modifier classes for colorizing the alert.
56+
57+.alert-success {
58+ .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
59+}
60+.alert-info {
61+ .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
62+}
63+.alert-warning {
64+ .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
65+}
66+.alert-danger {
67+ .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
68+}
searx/static/oscar/less/bootstrap/badges.lessnew file+55
@@ -0,0 +1,55 @@
1+//
2+// Badges
3+// --------------------------------------------------
4+
5+
6+// Base class
7+.badge {
8+ display: inline-block;
9+ min-width: 10px;
10+ padding: 3px 7px;
11+ font-size: @font-size-small;
12+ font-weight: @badge-font-weight;
13+ color: @badge-color;
14+ line-height: @badge-line-height;
15+ vertical-align: baseline;
16+ white-space: nowrap;
17+ text-align: center;
18+ background-color: @badge-bg;
19+ border-radius: @badge-border-radius;
20+
21+ // Empty badges collapse automatically (not available in IE8)
22+ &:empty {
23+ display: none;
24+ }
25+
26+ // Quick fix for badges in buttons
27+ .btn & {
28+ position: relative;
29+ top: -1px;
30+ }
31+ .btn-xs & {
32+ top: 0;
33+ padding: 1px 5px;
34+ }
35+
36+ // Hover state, but only for links
37+ a& {
38+ &:hover,
39+ &:focus {
40+ color: @badge-link-hover-color;
41+ text-decoration: none;
42+ cursor: pointer;
43+ }
44+ }
45+
46+ // Account for badges in navs
47+ a.list-group-item.active > &,
48+ .nav-pills > .active > a > & {
49+ color: @badge-active-color;
50+ background-color: @badge-active-bg;
51+ }
52+ .nav-pills > li > a > & {
53+ margin-left: 3px;
54+ }
55+}
searx/static/oscar/less/bootstrap/bootstrap.lessnew file+53
@@ -0,0 +1,53 @@
1+// Core variables and mixins
2+@import "variables.less";
3+@import "mixins.less";
4+
5+// Reset and dependencies
6+@import "normalize.less";
7+@import "print.less";
8+@import "glyphicons.less";
9+
10+// Core CSS
11+@import "scaffolding.less";
12+@import "type.less";
13+@import "code.less";
14+@import "grid.less";
15+@import "tables.less";
16+@import "forms.less";
17+@import "buttons.less";
18+
19+// Components
20+@import "component-animations.less";
21+@import "dropdowns.less";
22+@import "button-groups.less";
23+@import "input-groups.less";
24+@import "navs.less";
25+@import "navbar.less";
26+@import "breadcrumbs.less";
27+@import "pagination.less";
28+@import "pager.less";
29+@import "labels.less";
30+@import "badges.less";
31+@import "jumbotron.less";
32+@import "thumbnails.less";
33+@import "alerts.less";
34+@import "progress-bars.less";
35+@import "media.less";
36+@import "list-group.less";
37+@import "panels.less";
38+@import "responsive-embed.less";
39+@import "wells.less";
40+@import "close.less";
41+
42+// Components w/ JavaScript
43+@import "modals.less";
44+@import "tooltip.less";
45+@import "popovers.less";
46+@import "carousel.less";
47+
48+// Utility classes
49+@import "utilities.less";
50+@import "responsive-utilities.less";
51+
52+// own additions
53+@import "typeahead.less";
searx/static/oscar/less/bootstrap/breadcrumbs.lessnew file+26
@@ -0,0 +1,26 @@
1+//
2+// Breadcrumbs
3+// --------------------------------------------------
4+
5+
6+.breadcrumb {
7+ padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
8+ margin-bottom: @line-height-computed;
9+ list-style: none;
10+ background-color: @breadcrumb-bg;
11+ border-radius: @border-radius-base;
12+
13+ > li {
14+ display: inline-block;
15+
16+ + li:before {
17+ content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
18+ padding: 0 5px;
19+ color: @breadcrumb-color;
20+ }
21+ }
22+
23+ > .active {
24+ color: @breadcrumb-active-color;
25+ }
26+}
searx/static/oscar/less/bootstrap/button-groups.lessnew file+240
@@ -0,0 +1,240 @@
1+//
2+// Button groups
3+// --------------------------------------------------
4+
5+// Make the div behave like a button
6+.btn-group,
7+.btn-group-vertical {
8+ position: relative;
9+ display: inline-block;
10+ vertical-align: middle; // match .btn alignment given font-size hack above
11+ > .btn {
12+ position: relative;
13+ float: left;
14+ // Bring the "active" button to the front
15+ &:hover,
16+ &:focus,
17+ &:active,
18+ &.active {
19+ z-index: 2;
20+ }
21+ &:focus {
22+ // Remove focus outline when dropdown JS adds it after closing the menu
23+ outline: 0;
24+ }
25+ }
26+}
27+
28+// Prevent double borders when buttons are next to each other
29+.btn-group {
30+ .btn + .btn,
31+ .btn + .btn-group,
32+ .btn-group + .btn,
33+ .btn-group + .btn-group {
34+ margin-left: -1px;
35+ }
36+}
37+
38+// Optional: Group multiple button groups together for a toolbar
39+.btn-toolbar {
40+ margin-left: -5px; // Offset the first child's margin
41+ &:extend(.clearfix all);
42+
43+ .btn-group,
44+ .input-group {
45+ float: left;
46+ }
47+ > .btn,
48+ > .btn-group,
49+ > .input-group {
50+ margin-left: 5px;
51+ }
52+}
53+
54+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
55+ border-radius: 0;
56+}
57+
58+// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
59+.btn-group > .btn:first-child {
60+ margin-left: 0;
61+ &:not(:last-child):not(.dropdown-toggle) {
62+ .border-right-radius(0);
63+ }
64+}
65+// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
66+.btn-group > .btn:last-child:not(:first-child),
67+.btn-group > .dropdown-toggle:not(:first-child) {
68+ .border-left-radius(0);
69+}
70+
71+// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
72+.btn-group > .btn-group {
73+ float: left;
74+}
75+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
76+ border-radius: 0;
77+}
78+.btn-group > .btn-group:first-child {
79+ > .btn:last-child,
80+ > .dropdown-toggle {
81+ .border-right-radius(0);
82+ }
83+}
84+.btn-group > .btn-group:last-child > .btn:first-child {
85+ .border-left-radius(0);
86+}
87+
88+// On active and open, don't show outline
89+.btn-group .dropdown-toggle:active,
90+.btn-group.open .dropdown-toggle {
91+ outline: 0;
92+}
93+
94+
95+// Sizing
96+//
97+// Remix the default button sizing classes into new ones for easier manipulation.
98+
99+.btn-group-xs > .btn { &:extend(.btn-xs); }
100+.btn-group-sm > .btn { &:extend(.btn-sm); }
101+.btn-group-lg > .btn { &:extend(.btn-lg); }
102+
103+
104+// Split button dropdowns
105+// ----------------------
106+
107+// Give the line between buttons some depth
108+.btn-group > .btn + .dropdown-toggle {
109+ padding-left: 8px;
110+ padding-right: 8px;
111+}
112+.btn-group > .btn-lg + .dropdown-toggle {
113+ padding-left: 12px;
114+ padding-right: 12px;
115+}
116+
117+// The clickable button for toggling the menu
118+// Remove the gradient and set the same inset shadow as the :active state
119+.btn-group.open .dropdown-toggle {
120+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
121+
122+ // Show no shadow for `.btn-link` since it has no other button styles.
123+ &.btn-link {
124+ .box-shadow(none);
125+ }
126+}
127+
128+
129+// Reposition the caret
130+.btn .caret {
131+ margin-left: 0;
132+}
133+// Carets in other button sizes
134+.btn-lg .caret {
135+ border-width: @caret-width-large @caret-width-large 0;
136+ border-bottom-width: 0;
137+}
138+// Upside down carets for .dropup
139+.dropup .btn-lg .caret {
140+ border-width: 0 @caret-width-large @caret-width-large;
141+}
142+
143+
144+// Vertical button groups
145+// ----------------------
146+
147+.btn-group-vertical {
148+ > .btn,
149+ > .btn-group,
150+ > .btn-group > .btn {
151+ display: block;
152+ float: none;
153+ width: 100%;
154+ max-width: 100%;
155+ }
156+
157+ // Clear floats so dropdown menus can be properly placed
158+ > .btn-group {
159+ &:extend(.clearfix all);
160+ > .btn {
161+ float: none;
162+ }
163+ }
164+
165+ > .btn + .btn,
166+ > .btn + .btn-group,
167+ > .btn-group + .btn,
168+ > .btn-group + .btn-group {
169+ margin-top: -1px;
170+ margin-left: 0;
171+ }
172+}
173+
174+.btn-group-vertical > .btn {
175+ &:not(:first-child):not(:last-child) {
176+ border-radius: 0;
177+ }
178+ &:first-child:not(:last-child) {
179+ border-top-right-radius: @border-radius-base;
180+ .border-bottom-radius(0);
181+ }
182+ &:last-child:not(:first-child) {
183+ border-bottom-left-radius: @border-radius-base;
184+ .border-top-radius(0);
185+ }
186+}
187+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
188+ border-radius: 0;
189+}
190+.btn-group-vertical > .btn-group:first-child:not(:last-child) {
191+ > .btn:last-child,
192+ > .dropdown-toggle {
193+ .border-bottom-radius(0);
194+ }
195+}
196+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
197+ .border-top-radius(0);
198+}
199+
200+
201+
202+// Justified button groups
203+// ----------------------
204+
205+.btn-group-justified {
206+ display: table;
207+ width: 100%;
208+ table-layout: fixed;
209+ border-collapse: separate;
210+ > .btn,
211+ > .btn-group {
212+ float: none;
213+ display: table-cell;
214+ width: 1%;
215+ }
216+ > .btn-group .btn {
217+ width: 100%;
218+ }
219+
220+ > .btn-group .dropdown-menu {
221+ left: auto;
222+ }
223+}
224+
225+
226+// Checkbox and radio options
227+//
228+// In order to support the browser's form validation feedback, powered by the
229+// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot
230+// use `display: none;` or `visibility: hidden;` as that also hides the popover.
231+// This way, we ensure a DOM element is visible to position the popover from.
232+//
233+// See https://github.com/twbs/bootstrap/pull/12794 for more.
234+
235+[data-toggle="buttons"] > .btn > input[type="radio"],
236+[data-toggle="buttons"] > .btn > input[type="checkbox"] {
237+ position: absolute;
238+ z-index: -1;
239+ .opacity(0);
240+}
searx/static/oscar/less/bootstrap/buttons.lessnew file+157
@@ -0,0 +1,157 @@
1+//
2+// Buttons
3+// --------------------------------------------------
4+
5+
6+// Base styles
7+// --------------------------------------------------
8+
9+.btn {
10+ display: inline-block;
11+ margin-bottom: 0; // For input.btn
12+ font-weight: @btn-font-weight;
13+ text-align: center;
14+ vertical-align: middle;
15+ cursor: pointer;
16+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
17+ border: 1px solid transparent;
18+ white-space: nowrap;
19+ .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);
20+ .user-select(none);
21+
22+ &,
23+ &:active,
24+ &.active {
25+ &:focus {
26+ .tab-focus();
27+ }
28+ }
29+
30+ &:hover,
31+ &:focus {
32+ color: @btn-default-color;
33+ text-decoration: none;
34+ }
35+
36+ &:active,
37+ &.active {
38+ outline: 0;
39+ background-image: none;
40+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
41+ }
42+
43+ &.disabled,
44+ &[disabled],
45+ fieldset[disabled] & {
46+ cursor: not-allowed;
47+ pointer-events: none; // Future-proof disabling of clicks
48+ .opacity(.65);
49+ .box-shadow(none);
50+ }
51+}
52+
53+
54+// Alternate buttons
55+// --------------------------------------------------
56+
57+.btn-default {
58+ .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
59+}
60+.btn-primary {
61+ .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
62+}
63+// Success appears as green
64+.btn-success {
65+ .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
66+}
67+// Info appears as blue-green
68+.btn-info {
69+ .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
70+}
71+// Warning appears as orange
72+.btn-warning {
73+ .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
74+}
75+// Danger and error appear as red
76+.btn-danger {
77+ .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
78+}
79+
80+
81+// Link buttons
82+// -------------------------
83+
84+// Make a button look and behave like a link
85+.btn-link {
86+ color: @link-color;
87+ font-weight: normal;
88+ cursor: pointer;
89+ border-radius: 0;
90+
91+ &,
92+ &:active,
93+ &[disabled],
94+ fieldset[disabled] & {
95+ background-color: transparent;
96+ .box-shadow(none);
97+ }
98+ &,
99+ &:hover,
100+ &:focus,
101+ &:active {
102+ border-color: transparent;
103+ }
104+ &:hover,
105+ &:focus {
106+ color: @link-hover-color;
107+ text-decoration: underline;
108+ background-color: transparent;
109+ }
110+ &[disabled],
111+ fieldset[disabled] & {
112+ &:hover,
113+ &:focus {
114+ color: @btn-link-disabled-color;
115+ text-decoration: none;
116+ }
117+ }
118+}
119+
120+
121+// Button Sizes
122+// --------------------------------------------------
123+
124+.btn-lg {
125+ // line-height: ensure even-numbered height of button next to large input
126+ .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
127+}
128+.btn-sm {
129+ // line-height: ensure proper height of button next to small input
130+ .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
131+}
132+.btn-xs {
133+ .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);
134+}
135+
136+
137+// Block button
138+// --------------------------------------------------
139+
140+.btn-block {
141+ display: block;
142+ width: 100%;
143+}
144+
145+// Vertically space out multiple block buttons
146+.btn-block + .btn-block {
147+ margin-top: 5px;
148+}
149+
150+// Specificity overrides
151+input[type="submit"],
152+input[type="reset"],
153+input[type="button"] {
154+ &.btn-block {
155+ width: 100%;
156+ }
157+}
searx/static/oscar/less/bootstrap/carousel.lessnew file+243
@@ -0,0 +1,243 @@
1+//
2+// Carousel
3+// --------------------------------------------------
4+
5+
6+// Wrapper for the slide container and indicators
7+.carousel {
8+ position: relative;
9+}
10+
11+.carousel-inner {
12+ position: relative;
13+ overflow: hidden;
14+ width: 100%;
15+
16+ > .item {
17+ display: none;
18+ position: relative;
19+ .transition(.6s ease-in-out left);
20+
21+ // Account for jankitude on images
22+ > img,
23+ > a > img {
24+ &:extend(.img-responsive);
25+ line-height: 1;
26+ }
27+ }
28+
29+ > .active,
30+ > .next,
31+ > .prev {
32+ display: block;
33+ }
34+
35+ > .active {
36+ left: 0;
37+ }
38+
39+ > .next,
40+ > .prev {
41+ position: absolute;
42+ top: 0;
43+ width: 100%;
44+ }
45+
46+ > .next {
47+ left: 100%;
48+ }
49+ > .prev {
50+ left: -100%;
51+ }
52+ > .next.left,
53+ > .prev.right {
54+ left: 0;
55+ }
56+
57+ > .active.left {
58+ left: -100%;
59+ }
60+ > .active.right {
61+ left: 100%;
62+ }
63+
64+}
65+
66+// Left/right controls for nav
67+// ---------------------------
68+
69+.carousel-control {
70+ position: absolute;
71+ top: 0;
72+ left: 0;
73+ bottom: 0;
74+ width: @carousel-control-width;
75+ .opacity(@carousel-control-opacity);
76+ font-size: @carousel-control-font-size;
77+ color: @carousel-control-color;
78+ text-align: center;
79+ text-shadow: @carousel-text-shadow;
80+ // We can't have this transition here because WebKit cancels the carousel
81+ // animation if you trip this while in the middle of another animation.
82+
83+ // Set gradients for backgrounds
84+ &.left {
85+ #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));
86+ }
87+ &.right {
88+ left: auto;
89+ right: 0;
90+ #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));
91+ }
92+
93+ // Hover/focus state
94+ &:hover,
95+ &:focus {
96+ outline: 0;
97+ color: @carousel-control-color;
98+ text-decoration: none;
99+ .opacity(.9);
100+ }
101+
102+ // Toggles
103+ .icon-prev,
104+ .icon-next,
105+ .glyphicon-chevron-left,
106+ .glyphicon-chevron-right {
107+ position: absolute;
108+ top: 50%;
109+ z-index: 5;
110+ display: inline-block;
111+ }
112+ .icon-prev,
113+ .glyphicon-chevron-left {
114+ left: 50%;
115+ margin-left: -10px;
116+ }
117+ .icon-next,
118+ .glyphicon-chevron-right {
119+ right: 50%;
120+ margin-right: -10px;
121+ }
122+ .icon-prev,
123+ .icon-next {
124+ width: 20px;
125+ height: 20px;
126+ margin-top: -10px;
127+ font-family: serif;
128+ }
129+
130+
131+ .icon-prev {
132+ &:before {
133+ content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
134+ }
135+ }
136+ .icon-next {
137+ &:before {
138+ content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
139+ }
140+ }
141+}
142+
143+// Optional indicator pips
144+//
145+// Add an unordered list with the following class and add a list item for each
146+// slide your carousel holds.
147+
148+.carousel-indicators {
149+ position: absolute;
150+ bottom: 10px;
151+ left: 50%;
152+ z-index: 15;
153+ width: 60%;
154+ margin-left: -30%;
155+ padding-left: 0;
156+ list-style: none;
157+ text-align: center;
158+
159+ li {
160+ display: inline-block;
161+ width: 10px;
162+ height: 10px;
163+ margin: 1px;
164+ text-indent: -999px;
165+ border: 1px solid @carousel-indicator-border-color;
166+ border-radius: 10px;
167+ cursor: pointer;
168+
169+ // IE8-9 hack for event handling
170+ //
171+ // Internet Explorer 8-9 does not support clicks on elements without a set
172+ // `background-color`. We cannot use `filter` since that's not viewed as a
173+ // background color by the browser. Thus, a hack is needed.
174+ //
175+ // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
176+ // set alpha transparency for the best results possible.
177+ background-color: #000 \9; // IE8
178+ background-color: rgba(0,0,0,0); // IE9
179+ }
180+ .active {
181+ margin: 0;
182+ width: 12px;
183+ height: 12px;
184+ background-color: @carousel-indicator-active-bg;
185+ }
186+}
187+
188+// Optional captions
189+// -----------------------------
190+// Hidden by default for smaller viewports
191+.carousel-caption {
192+ position: absolute;
193+ left: 15%;
194+ right: 15%;
195+ bottom: 20px;
196+ z-index: 10;
197+ padding-top: 20px;
198+ padding-bottom: 20px;
199+ color: @carousel-caption-color;
200+ text-align: center;
201+ text-shadow: @carousel-text-shadow;
202+ & .btn {
203+ text-shadow: none; // No shadow for button elements in carousel-caption
204+ }
205+}
206+
207+
208+// Scale up controls for tablets and up
209+@media screen and (min-width: @screen-sm-min) {
210+
211+ // Scale up the controls a smidge
212+ .carousel-control {
213+ .glyphicon-chevron-left,
214+ .glyphicon-chevron-right,
215+ .icon-prev,
216+ .icon-next {
217+ width: 30px;
218+ height: 30px;
219+ margin-top: -15px;
220+ font-size: 30px;
221+ }
222+ .glyphicon-chevron-left,
223+ .icon-prev {
224+ margin-left: -15px;
225+ }
226+ .glyphicon-chevron-right,
227+ .icon-next {
228+ margin-right: -15px;
229+ }
230+ }
231+
232+ // Show and left align the captions
233+ .carousel-caption {
234+ left: 20%;
235+ right: 20%;
236+ padding-bottom: 30px;
237+ }
238+
239+ // Move up the indicators
240+ .carousel-indicators {
241+ bottom: 20px;
242+ }
243+}
searx/static/oscar/less/bootstrap/close.lessnew file+33
@@ -0,0 +1,33 @@
1+//
2+// Close icons
3+// --------------------------------------------------
4+
5+
6+.close {
7+ float: right;
8+ font-size: (@font-size-base * 1.5);
9+ font-weight: @close-font-weight;
10+ line-height: 1;
11+ color: @close-color;
12+ text-shadow: @close-text-shadow;
13+ .opacity(.2);
14+
15+ &:hover,
16+ &:focus {
17+ color: @close-color;
18+ text-decoration: none;
19+ cursor: pointer;
20+ .opacity(.5);
21+ }
22+
23+ // Additional properties for button version
24+ // iOS requires the button element instead of an anchor tag.
25+ // If you want the anchor version, it requires `href="#"`.
26+ button& {
27+ padding: 0;
28+ cursor: pointer;
29+ background: transparent;
30+ border: 0;
31+ -webkit-appearance: none;
32+ }
33+}
searx/static/oscar/less/bootstrap/code.lessnew file+68
@@ -0,0 +1,68 @@
1+//
2+// Code (inline and block)
3+// --------------------------------------------------
4+
5+
6+// Inline and block code styles
7+code,
8+kbd,
9+pre,
10+samp {
11+ font-family: @font-family-monospace;
12+}
13+
14+// Inline code
15+code {
16+ padding: 2px 4px;
17+ font-size: 90%;
18+ color: @code-color;
19+ background-color: @code-bg;
20+ border-radius: @border-radius-base;
21+}
22+
23+// User input typically entered via keyboard
24+kbd {
25+ padding: 2px 4px;
26+ font-size: 90%;
27+ color: @kbd-color;
28+ background-color: @kbd-bg;
29+ border-radius: @border-radius-small;
30+ box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
31+
32+ kbd {
33+ padding: 0;
34+ font-size: 100%;
35+ box-shadow: none;
36+ }
37+}
38+
39+// Blocks of code
40+pre {
41+ display: block;
42+ padding: ((@line-height-computed - 1) / 2);
43+ margin: 0 0 (@line-height-computed / 2);
44+ font-size: (@font-size-base - 1); // 14px to 13px
45+ line-height: @line-height-base;
46+ word-break: break-all;
47+ word-wrap: break-word;
48+ color: @pre-color;
49+ background-color: @pre-bg;
50+ border: 1px solid @pre-border-color;
51+ border-radius: @border-radius-base;
52+
53+ // Account for some code outputs that place code tags in pre tags
54+ code {
55+ padding: 0;
56+ font-size: inherit;
57+ color: inherit;
58+ white-space: pre-wrap;
59+ background-color: transparent;
60+ border-radius: 0;
61+ }
62+}
63+
64+// Enable scrollable blocks of code
65+.pre-scrollable {
66+ max-height: @pre-scrollable-max-height;
67+ overflow-y: scroll;
68+}
searx/static/oscar/less/bootstrap/component-animations.lessnew file+31
@@ -0,0 +1,31 @@
1+//
2+// Component animations
3+// --------------------------------------------------
4+
5+// Heads up!
6+//
7+// We don't use the `.opacity()` mixin here since it causes a bug with text
8+// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.
9+
10+.fade {
11+ opacity: 0;
12+ .transition(opacity .15s linear);
13+ &.in {
14+ opacity: 1;
15+ }
16+}
17+
18+.collapse {
19+ display: none;
20+
21+ &.in { display: block; }
22+ tr&.in { display: table-row; }
23+ tbody&.in { display: table-row-group; }
24+}
25+
26+.collapsing {
27+ position: relative;
28+ height: 0;
29+ overflow: hidden;
30+ .transition(height .35s ease);
31+}
searx/static/oscar/less/bootstrap/dropdowns.lessnew file+215
@@ -0,0 +1,215 @@
1+//
2+// Dropdown menus
3+// --------------------------------------------------
4+
5+
6+// Dropdown arrow/caret
7+.caret {
8+ display: inline-block;
9+ width: 0;
10+ height: 0;
11+ margin-left: 2px;
12+ vertical-align: middle;
13+ border-top: @caret-width-base solid;
14+ border-right: @caret-width-base solid transparent;
15+ border-left: @caret-width-base solid transparent;
16+}
17+
18+// The dropdown wrapper (div)
19+.dropdown {
20+ position: relative;
21+}
22+
23+// Prevent the focus on the dropdown toggle when closing dropdowns
24+.dropdown-toggle:focus {
25+ outline: 0;
26+}
27+
28+// The dropdown menu (ul)
29+.dropdown-menu {
30+ position: absolute;
31+ top: 100%;
32+ left: 0;
33+ z-index: @zindex-dropdown;
34+ display: none; // none by default, but block on "open" of the menu
35+ float: left;
36+ min-width: 160px;
37+ padding: 5px 0;
38+ margin: 2px 0 0; // override default ul
39+ list-style: none;
40+ font-size: @font-size-base;
41+ text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
42+ background-color: @dropdown-bg;
43+ border: 1px solid @dropdown-fallback-border; // IE8 fallback
44+ border: 1px solid @dropdown-border;
45+ border-radius: @border-radius-base;
46+ .box-shadow(0 6px 12px rgba(0,0,0,.175));
47+ background-clip: padding-box;
48+
49+ // Aligns the dropdown menu to right
50+ //
51+ // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`
52+ &.pull-right {
53+ right: 0;
54+ left: auto;
55+ }
56+
57+ // Dividers (basically an hr) within the dropdown
58+ .divider {
59+ .nav-divider(@dropdown-divider-bg);
60+ }
61+
62+ // Links within the dropdown menu
63+ > li > a {
64+ display: block;
65+ padding: 3px 20px;
66+ clear: both;
67+ font-weight: normal;
68+ line-height: @line-height-base;
69+ color: @dropdown-link-color;
70+ white-space: nowrap; // prevent links from randomly breaking onto new lines
71+ }
72+}
73+
74+// Hover/Focus state
75+.dropdown-menu > li > a {
76+ &:hover,
77+ &:focus {
78+ text-decoration: none;
79+ color: @dropdown-link-hover-color;
80+ background-color: @dropdown-link-hover-bg;
81+ }
82+}
83+
84+// Active state
85+.dropdown-menu > .active > a {
86+ &,
87+ &:hover,
88+ &:focus {
89+ color: @dropdown-link-active-color;
90+ text-decoration: none;
91+ outline: 0;
92+ background-color: @dropdown-link-active-bg;
93+ }
94+}
95+
96+// Disabled state
97+//
98+// Gray out text and ensure the hover/focus state remains gray
99+
100+.dropdown-menu > .disabled > a {
101+ &,
102+ &:hover,
103+ &:focus {
104+ color: @dropdown-link-disabled-color;
105+ }
106+}
107+// Nuke hover/focus effects
108+.dropdown-menu > .disabled > a {
109+ &:hover,
110+ &:focus {
111+ text-decoration: none;
112+ background-color: transparent;
113+ background-image: none; // Remove CSS gradient
114+ .reset-filter();
115+ cursor: not-allowed;
116+ }
117+}
118+
119+// Open state for the dropdown
120+.open {
121+ // Show the menu
122+ > .dropdown-menu {
123+ display: block;
124+ }
125+
126+ // Remove the outline when :focus is triggered
127+ > a {
128+ outline: 0;
129+ }
130+}
131+
132+// Menu positioning
133+//
134+// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
135+// menu with the parent.
136+.dropdown-menu-right {
137+ left: auto; // Reset the default from `.dropdown-menu`
138+ right: 0;
139+}
140+// With v3, we enabled auto-flipping if you have a dropdown within a right
141+// aligned nav component. To enable the undoing of that, we provide an override
142+// to restore the default dropdown menu alignment.
143+//
144+// This is only for left-aligning a dropdown menu within a `.navbar-right` or
145+// `.pull-right` nav component.
146+.dropdown-menu-left {
147+ left: 0;
148+ right: auto;
149+}
150+
151+// Dropdown section headers
152+.dropdown-header {
153+ display: block;
154+ padding: 3px 20px;
155+ font-size: @font-size-small;
156+ line-height: @line-height-base;
157+ color: @dropdown-header-color;
158+ white-space: nowrap; // as with > li > a
159+}
160+
161+// Backdrop to catch body clicks on mobile, etc.
162+.dropdown-backdrop {
163+ position: fixed;
164+ left: 0;
165+ right: 0;
166+ bottom: 0;
167+ top: 0;
168+ z-index: (@zindex-dropdown - 10);
169+}
170+
171+// Right aligned dropdowns
172+.pull-right > .dropdown-menu {
173+ right: 0;
174+ left: auto;
175+}
176+
177+// Allow for dropdowns to go bottom up (aka, dropup-menu)
178+//
179+// Just add .dropup after the standard .dropdown class and you're set, bro.
180+// TODO: abstract this so that the navbar fixed styles are not placed here?
181+
182+.dropup,
183+.navbar-fixed-bottom .dropdown {
184+ // Reverse the caret
185+ .caret {
186+ border-top: 0;
187+ border-bottom: @caret-width-base solid;
188+ content: "";
189+ }
190+ // Different positioning for bottom up menu
191+ .dropdown-menu {
192+ top: auto;
193+ bottom: 100%;
194+ margin-bottom: 1px;
195+ }
196+}
197+
198+
199+// Component alignment
200+//
201+// Reiterate per navbar.less and the modified component alignment there.
202+
203+@media (min-width: @grid-float-breakpoint) {
204+ .navbar-right {
205+ .dropdown-menu {
206+ .dropdown-menu-right();
207+ }
208+ // Necessary for overrides of the default right aligned menu.
209+ // Will remove come v4 in all likelihood.
210+ .dropdown-menu-left {
211+ .dropdown-menu-left();
212+ }
213+ }
214+}
215+
searx/static/oscar/less/bootstrap/forms.lessnew file+540
@@ -0,0 +1,540 @@
1+//
2+// Forms
3+// --------------------------------------------------
4+
5+
6+// Normalize non-controls
7+//
8+// Restyle and baseline non-control form elements.
9+
10+fieldset {
11+ padding: 0;
12+ margin: 0;
13+ border: 0;
14+ // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
15+ // so we reset that to ensure it behaves more like a standard block element.
16+ // See https://github.com/twbs/bootstrap/issues/12359.
17+ min-width: 0;
18+}
19+
20+legend {
21+ display: block;
22+ width: 100%;
23+ padding: 0;
24+ margin-bottom: @line-height-computed;
25+ font-size: (@font-size-base * 1.5);
26+ line-height: inherit;
27+ color: @legend-color;
28+ border: 0;
29+ border-bottom: 1px solid @legend-border-color;
30+}
31+
32+label {
33+ display: inline-block;
34+ max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
35+ margin-bottom: 5px;
36+ font-weight: bold;
37+}
38+
39+
40+// Normalize form controls
41+//
42+// While most of our form styles require extra classes, some basic normalization
43+// is required to ensure optimum display with or without those classes to better
44+// address browser inconsistencies.
45+
46+// Override content-box in Normalize (* isn't specific enough)
47+input[type="search"] {
48+ .box-sizing(border-box);
49+}
50+
51+// Position radios and checkboxes better
52+input[type="radio"],
53+input[type="checkbox"] {
54+ margin: 4px 0 0;
55+ margin-top: 1px \9; // IE8-9
56+ line-height: normal;
57+}
58+
59+// Set the height of file controls to match text inputs
60+input[type="file"] {
61+ display: block;
62+}
63+
64+// Make range inputs behave like textual form controls
65+input[type="range"] {
66+ display: block;
67+ width: 100%;
68+}
69+
70+// Make multiple select elements height not fixed
71+select[multiple],
72+select[size] {
73+ height: auto;
74+}
75+
76+// Focus for file, radio, and checkbox
77+input[type="file"]:focus,
78+input[type="radio"]:focus,
79+input[type="checkbox"]:focus {
80+ .tab-focus();
81+}
82+
83+// Adjust output element
84+output {
85+ display: block;
86+ padding-top: (@padding-base-vertical + 1);
87+ font-size: @font-size-base;
88+ line-height: @line-height-base;
89+ color: @input-color;
90+}
91+
92+
93+// Common form controls
94+//
95+// Shared size and type resets for form controls. Apply `.form-control` to any
96+// of the following form controls:
97+//
98+// select
99+// textarea
100+// input[type="text"]
101+// input[type="password"]
102+// input[type="datetime"]
103+// input[type="datetime-local"]
104+// input[type="date"]
105+// input[type="month"]
106+// input[type="time"]
107+// input[type="week"]
108+// input[type="number"]
109+// input[type="email"]
110+// input[type="url"]
111+// input[type="search"]
112+// input[type="tel"]
113+// input[type="color"]
114+
115+.form-control {
116+ display: block;
117+ width: 100%;
118+ height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
119+ padding: @padding-base-vertical @padding-base-horizontal;
120+ font-size: @font-size-base;
121+ line-height: @line-height-base;
122+ color: @input-color;
123+ background-color: @input-bg;
124+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
125+ border: 1px solid @input-border;
126+ border-radius: @input-border-radius;
127+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
128+ .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s");
129+
130+ // Customize the `:focus` state to imitate native WebKit styles.
131+ .form-control-focus();
132+
133+ // Placeholder
134+ .placeholder();
135+
136+ // Disabled and read-only inputs
137+ //
138+ // HTML5 says that controls under a fieldset > legend:first-child won't be
139+ // disabled if the fieldset is disabled. Due to implementation difficulty, we
140+ // don't honor that edge case; we style them as disabled anyway.
141+ &[disabled],
142+ &[readonly],
143+ fieldset[disabled] & {
144+ cursor: not-allowed;
145+ background-color: @input-bg-disabled;
146+ opacity: 1; // iOS fix for unreadable disabled content
147+ }
148+
149+ // Reset height for `textarea`s
150+ textarea& {
151+ height: auto;
152+ }
153+}
154+
155+
156+// Search inputs in iOS
157+//
158+// This overrides the extra rounded corners on search inputs in iOS so that our
159+// `.form-control` class can properly style them. Note that this cannot simply
160+// be added to `.form-control` as it's not specific enough. For details, see
161+// https://github.com/twbs/bootstrap/issues/11586.
162+
163+input[type="search"] {
164+ -webkit-appearance: none;
165+}
166+
167+
168+// Special styles for iOS temporal inputs
169+//
170+// In Mobile Safari, setting `display: block` on temporal inputs causes the
171+// text within the input to become vertically misaligned.
172+// As a workaround, we set a pixel line-height that matches the
173+// given height of the input. Since this fucks up everything else, we have to
174+// appropriately reset it for Internet Explorer and the size variations.
175+
176+input[type="date"],
177+input[type="time"],
178+input[type="datetime-local"],
179+input[type="month"] {
180+ line-height: @input-height-base;
181+ // IE8+ misaligns the text within date inputs, so we reset
182+ line-height: @line-height-base ~"\0";
183+
184+ &.input-sm {
185+ line-height: @input-height-small;
186+ }
187+ &.input-lg {
188+ line-height: @input-height-large;
189+ }
190+}
191+
192+
193+// Form groups
194+//
195+// Designed to help with the organization and spacing of vertical forms. For
196+// horizontal forms, use the predefined grid classes.
197+
198+.form-group {
199+ margin-bottom: 15px;
200+}
201+
202+
203+// Checkboxes and radios
204+//
205+// Indent the labels to position radios/checkboxes as hanging controls.
206+
207+.radio,
208+.checkbox {
209+ position: relative;
210+ display: block;
211+ min-height: @line-height-computed; // clear the floating input if there is no label text
212+ margin-top: 10px;
213+ margin-bottom: 10px;
214+
215+ label {
216+ padding-left: 20px;
217+ margin-bottom: 0;
218+ font-weight: normal;
219+ cursor: pointer;
220+ }
221+}
222+.radio input[type="radio"],
223+.radio-inline input[type="radio"],
224+.checkbox input[type="checkbox"],
225+.checkbox-inline input[type="checkbox"] {
226+ position: absolute;
227+ margin-left: -20px;
228+ margin-top: 4px \9;
229+}
230+
231+.radio + .radio,
232+.checkbox + .checkbox {
233+ margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
234+}
235+
236+// Radios and checkboxes on same line
237+.radio-inline,
238+.checkbox-inline {
239+ display: inline-block;
240+ padding-left: 20px;
241+ margin-bottom: 0;
242+ vertical-align: middle;
243+ font-weight: normal;
244+ cursor: pointer;
245+}
246+.radio-inline + .radio-inline,
247+.checkbox-inline + .checkbox-inline {
248+ margin-top: 0;
249+ margin-left: 10px; // space out consecutive inline controls
250+}
251+
252+// Apply same disabled cursor tweak as for inputs
253+// Some special care is needed because <label>s don't inherit their parent's `cursor`.
254+//
255+// Note: Neither radios nor checkboxes can be readonly.
256+input[type="radio"],
257+input[type="checkbox"] {
258+ &[disabled],
259+ &.disabled,
260+ fieldset[disabled] & {
261+ cursor: not-allowed;
262+ }
263+}
264+// These classes are used directly on <label>s
265+.radio-inline,
266+.checkbox-inline {
267+ &.disabled,
268+ fieldset[disabled] & {
269+ cursor: not-allowed;
270+ }
271+}
272+// These classes are used on elements with <label> descendants
273+.radio,
274+.checkbox {
275+ &.disabled,
276+ fieldset[disabled] & {
277+ label {
278+ cursor: not-allowed;
279+ }
280+ }
281+}
282+
283+
284+// Static form control text
285+//
286+// Apply class to a `p` element to make any string of text align with labels in
287+// a horizontal form layout.
288+
289+.form-control-static {
290+ // Size it appropriately next to real form controls
291+ padding-top: (@padding-base-vertical + 1);
292+ padding-bottom: (@padding-base-vertical + 1);
293+ // Remove default margin from `p`
294+ margin-bottom: 0;
295+
296+ &.input-lg,
297+ &.input-sm {
298+ padding-left: 0;
299+ padding-right: 0;
300+ }
301+}
302+
303+
304+// Form control sizing
305+//
306+// Build on `.form-control` with modifier classes to decrease or increase the
307+// height and font-size of form controls.
308+
309+.input-sm {
310+ .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
311+}
312+
313+.input-lg {
314+ .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
315+}
316+
317+
318+// Form control feedback states
319+//
320+// Apply contextual and semantic states to individual form controls.
321+
322+.has-feedback {
323+ // Enable absolute positioning
324+ position: relative;
325+
326+ // Ensure icons don't overlap text
327+ .form-control {
328+ padding-right: (@input-height-base * 1.25);
329+ }
330+}
331+// Feedback icon (requires .glyphicon classes)
332+.form-control-feedback {
333+ position: absolute;
334+ top: (@line-height-computed + 5); // Height of the `label` and its margin
335+ right: 0;
336+ z-index: 2; // Ensure icon is above input groups
337+ display: block;
338+ width: @input-height-base;
339+ height: @input-height-base;
340+ line-height: @input-height-base;
341+ text-align: center;
342+}
343+.input-lg + .form-control-feedback {
344+ width: @input-height-large;
345+ height: @input-height-large;
346+ line-height: @input-height-large;
347+}
348+.input-sm + .form-control-feedback {
349+ width: @input-height-small;
350+ height: @input-height-small;
351+ line-height: @input-height-small;
352+}
353+
354+// Feedback states
355+.has-success {
356+ .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);
357+}
358+.has-warning {
359+ .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);
360+}
361+.has-error {
362+ .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
363+}
364+
365+
366+// Reposition feedback icon if label is hidden with "screenreader only" state
367+.has-feedback label.sr-only ~ .form-control-feedback {
368+ top: 0;
369+}
370+
371+
372+// Help text
373+//
374+// Apply to any element you wish to create light text for placement immediately
375+// below a form control. Use for general help, formatting, or instructional text.
376+
377+.help-block {
378+ display: block; // account for any element using help-block
379+ margin-top: 5px;
380+ margin-bottom: 10px;
381+ color: lighten(@text-color, 25%); // lighten the text some for contrast
382+}
383+
384+
385+
386+// Inline forms
387+//
388+// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
389+// forms begin stacked on extra small (mobile) devices and then go inline when
390+// viewports reach <768px.
391+//
392+// Requires wrapping inputs and labels with `.form-group` for proper display of
393+// default HTML form controls and our custom form controls (e.g., input groups).
394+//
395+// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
396+
397+.form-inline {
398+
399+ // Kick in the inline
400+ @media (min-width: @screen-sm-min) {
401+ // Inline-block all the things for "inline"
402+ .form-group {
403+ display: inline-block;
404+ margin-bottom: 0;
405+ vertical-align: middle;
406+ }
407+
408+ // In navbar-form, allow folks to *not* use `.form-group`
409+ .form-control {
410+ display: inline-block;
411+ width: auto; // Prevent labels from stacking above inputs in `.form-group`
412+ vertical-align: middle;
413+ }
414+
415+ .input-group {
416+ display: inline-table;
417+ vertical-align: middle;
418+
419+ .input-group-addon,
420+ .input-group-btn,
421+ .form-control {
422+ width: auto;
423+ }
424+ }
425+
426+ // Input groups need that 100% width though
427+ .input-group > .form-control {
428+ width: 100%;
429+ }
430+
431+ .control-label {
432+ margin-bottom: 0;
433+ vertical-align: middle;
434+ }
435+
436+ // Remove default margin on radios/checkboxes that were used for stacking, and
437+ // then undo the floating of radios and checkboxes to match (which also avoids
438+ // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
439+ .radio,
440+ .checkbox {
441+ display: inline-block;
442+ margin-top: 0;
443+ margin-bottom: 0;
444+ vertical-align: middle;
445+
446+ label {
447+ padding-left: 0;
448+ }
449+ }
450+ .radio input[type="radio"],
451+ .checkbox input[type="checkbox"] {
452+ position: relative;
453+ margin-left: 0;
454+ }
455+
456+ // Validation states
457+ //
458+ // Reposition the icon because it's now within a grid column and columns have
459+ // `position: relative;` on them. Also accounts for the grid gutter padding.
460+ .has-feedback .form-control-feedback {
461+ top: 0;
462+ }
463+ }
464+}
465+
466+
467+// Horizontal forms
468+//
469+// Horizontal forms are built on grid classes and allow you to create forms with
470+// labels on the left and inputs on the right.
471+
472+.form-horizontal {
473+
474+ // Consistent vertical alignment of radios and checkboxes
475+ //
476+ // Labels also get some reset styles, but that is scoped to a media query below.
477+ .radio,
478+ .checkbox,
479+ .radio-inline,
480+ .checkbox-inline {
481+ margin-top: 0;
482+ margin-bottom: 0;
483+ padding-top: (@padding-base-vertical + 1); // Default padding plus a border
484+ }
485+ // Account for padding we're adding to ensure the alignment and of help text
486+ // and other content below items
487+ .radio,
488+ .checkbox {
489+ min-height: (@line-height-computed + (@padding-base-vertical + 1));
490+ }
491+
492+ // Make form groups behave like rows
493+ .form-group {
494+ .make-row();
495+ }
496+
497+ // Reset spacing and right align labels, but scope to media queries so that
498+ // labels on narrow viewports stack the same as a default form example.
499+ @media (min-width: @screen-sm-min) {
500+ .control-label {
501+ text-align: right;
502+ margin-bottom: 0;
503+ padding-top: (@padding-base-vertical + 1); // Default padding plus a border
504+ }
505+ }
506+
507+ // Validation states
508+ //
509+ // Reposition the icon because it's now within a grid column and columns have
510+ // `position: relative;` on them. Also accounts for the grid gutter padding.
511+ .has-feedback .form-control-feedback {
512+ top: 0;
513+ right: (@grid-gutter-width / 2);
514+ }
515+
516+ // Form group sizes
517+ //
518+ // Quick utility class for applying `.input-lg` and `.input-sm` styles to the
519+ // inputs and labels within a `.form-group`.
520+ .form-group-lg {
521+ @media (min-width: @screen-sm-min) {
522+ .control-label {
523+ padding-top: ((@padding-large-vertical * @line-height-large) + 1);
524+ }
525+ }
526+ .form-control {
527+ &:extend(.input-lg);
528+ }
529+ }
530+ .form-group-sm {
531+ @media (min-width: @screen-sm-min) {
532+ .control-label {
533+ padding-top: (@padding-small-vertical + 1);
534+ }
535+ }
536+ .form-control {
537+ &:extend(.input-sm);
538+ }
539+ }
540+}
searx/static/oscar/less/bootstrap/glyphicons.lessnew file+233
@@ -0,0 +1,233 @@
1+//
2+// Glyphicons for Bootstrap
3+//
4+// Since icons are fonts, they can be placed anywhere text is placed and are
5+// thus automatically sized to match the surrounding child. To use, create an
6+// inline element with the appropriate classes, like so:
7+//
8+// <a href="#"><span class="glyphicon glyphicon-star"></span> Star</a>
9+
10+// Import the fonts
11+@font-face {
12+ font-family: 'Glyphicons Halflings';
13+ src: url('@{icon-font-path}@{icon-font-name}.eot');
14+ src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),
15+ url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),
16+ url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),
17+ url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');
18+}
19+
20+// Catchall baseclass
21+.glyphicon {
22+ position: relative;
23+ top: 1px;
24+ display: inline-block;
25+ font-family: 'Glyphicons Halflings';
26+ font-style: normal;
27+ font-weight: normal;
28+ line-height: 1;
29+ -webkit-font-smoothing: antialiased;
30+ -moz-osx-font-smoothing: grayscale;
31+}
32+
33+// Individual icons
34+.glyphicon-asterisk { &:before { content: "\2a"; } }
35+.glyphicon-plus { &:before { content: "\2b"; } }
36+.glyphicon-euro { &:before { content: "\20ac"; } }
37+.glyphicon-minus { &:before { content: "\2212"; } }
38+.glyphicon-cloud { &:before { content: "\2601"; } }
39+.glyphicon-envelope { &:before { content: "\2709"; } }
40+.glyphicon-pencil { &:before { content: "\270f"; } }
41+.glyphicon-glass { &:before { content: "\e001"; } }
42+.glyphicon-music { &:before { content: "\e002"; } }
43+.glyphicon-search { &:before { content: "\e003"; } }
44+.glyphicon-heart { &:before { content: "\e005"; } }
45+.glyphicon-star { &:before { content: "\e006"; } }
46+.glyphicon-star-empty { &:before { content: "\e007"; } }
47+.glyphicon-user { &:before { content: "\e008"; } }
48+.glyphicon-film { &:before { content: "\e009"; } }
49+.glyphicon-th-large { &:before { content: "\e010"; } }
50+.glyphicon-th { &:before { content: "\e011"; } }
51+.glyphicon-th-list { &:before { content: "\e012"; } }
52+.glyphicon-ok { &:before { content: "\e013"; } }
53+.glyphicon-remove { &:before { content: "\e014"; } }
54+.glyphicon-zoom-in { &:before { content: "\e015"; } }
55+.glyphicon-zoom-out { &:before { content: "\e016"; } }
56+.glyphicon-off { &:before { content: "\e017"; } }
57+.glyphicon-signal { &:before { content: "\e018"; } }
58+.glyphicon-cog { &:before { content: "\e019"; } }
59+.glyphicon-trash { &:before { content: "\e020"; } }
60+.glyphicon-home { &:before { content: "\e021"; } }
61+.glyphicon-file { &:before { content: "\e022"; } }
62+.glyphicon-time { &:before { content: "\e023"; } }
63+.glyphicon-road { &:before { content: "\e024"; } }
64+.glyphicon-download-alt { &:before { content: "\e025"; } }
65+.glyphicon-download { &:before { content: "\e026"; } }
66+.glyphicon-upload { &:before { content: "\e027"; } }
67+.glyphicon-inbox { &:before { content: "\e028"; } }
68+.glyphicon-play-circle { &:before { content: "\e029"; } }
69+.glyphicon-repeat { &:before { content: "\e030"; } }
70+.glyphicon-refresh { &:before { content: "\e031"; } }
71+.glyphicon-list-alt { &:before { content: "\e032"; } }
72+.glyphicon-lock { &:before { content: "\e033"; } }
73+.glyphicon-flag { &:before { content: "\e034"; } }
74+.glyphicon-headphones { &:before { content: "\e035"; } }
75+.glyphicon-volume-off { &:before { content: "\e036"; } }
76+.glyphicon-volume-down { &:before { content: "\e037"; } }
77+.glyphicon-volume-up { &:before { content: "\e038"; } }
78+.glyphicon-qrcode { &:before { content: "\e039"; } }
79+.glyphicon-barcode { &:before { content: "\e040"; } }
80+.glyphicon-tag { &:before { content: "\e041"; } }
81+.glyphicon-tags { &:before { content: "\e042"; } }
82+.glyphicon-book { &:before { content: "\e043"; } }
83+.glyphicon-bookmark { &:before { content: "\e044"; } }
84+.glyphicon-print { &:before { content: "\e045"; } }
85+.glyphicon-camera { &:before { content: "\e046"; } }
86+.glyphicon-font { &:before { content: "\e047"; } }
87+.glyphicon-bold { &:before { content: "\e048"; } }
88+.glyphicon-italic { &:before { content: "\e049"; } }
89+.glyphicon-text-height { &:before { content: "\e050"; } }
90+.glyphicon-text-width { &:before { content: "\e051"; } }
91+.glyphicon-align-left { &:before { content: "\e052"; } }
92+.glyphicon-align-center { &:before { content: "\e053"; } }
93+.glyphicon-align-right { &:before { content: "\e054"; } }
94+.glyphicon-align-justify { &:before { content: "\e055"; } }
95+.glyphicon-list { &:before { content: "\e056"; } }
96+.glyphicon-indent-left { &:before { content: "\e057"; } }
97+.glyphicon-indent-right { &:before { content: "\e058"; } }
98+.glyphicon-facetime-video { &:before { content: "\e059"; } }
99+.glyphicon-picture { &:before { content: "\e060"; } }
100+.glyphicon-map-marker { &:before { content: "\e062"; } }
101+.glyphicon-adjust { &:before { content: "\e063"; } }
102+.glyphicon-tint { &:before { content: "\e064"; } }
103+.glyphicon-edit { &:before { content: "\e065"; } }
104+.glyphicon-share { &:before { content: "\e066"; } }
105+.glyphicon-check { &:before { content: "\e067"; } }
106+.glyphicon-move { &:before { content: "\e068"; } }
107+.glyphicon-step-backward { &:before { content: "\e069"; } }
108+.glyphicon-fast-backward { &:before { content: "\e070"; } }
109+.glyphicon-backward { &:before { content: "\e071"; } }
110+.glyphicon-play { &:before { content: "\e072"; } }
111+.glyphicon-pause { &:before { content: "\e073"; } }
112+.glyphicon-stop { &:before { content: "\e074"; } }
113+.glyphicon-forward { &:before { content: "\e075"; } }
114+.glyphicon-fast-forward { &:before { content: "\e076"; } }
115+.glyphicon-step-forward { &:before { content: "\e077"; } }
116+.glyphicon-eject { &:before { content: "\e078"; } }
117+.glyphicon-chevron-left { &:before { content: "\e079"; } }
118+.glyphicon-chevron-right { &:before { content: "\e080"; } }
119+.glyphicon-plus-sign { &:before { content: "\e081"; } }
120+.glyphicon-minus-sign { &:before { content: "\e082"; } }
121+.glyphicon-remove-sign { &:before { content: "\e083"; } }
122+.glyphicon-ok-sign { &:before { content: "\e084"; } }
123+.glyphicon-question-sign { &:before { content: "\e085"; } }
124+.glyphicon-info-sign { &:before { content: "\e086"; } }
125+.glyphicon-screenshot { &:before { content: "\e087"; } }
126+.glyphicon-remove-circle { &:before { content: "\e088"; } }
127+.glyphicon-ok-circle { &:before { content: "\e089"; } }
128+.glyphicon-ban-circle { &:before { content: "\e090"; } }
129+.glyphicon-arrow-left { &:before { content: "\e091"; } }
130+.glyphicon-arrow-right { &:before { content: "\e092"; } }
131+.glyphicon-arrow-up { &:before { content: "\e093"; } }
132+.glyphicon-arrow-down { &:before { content: "\e094"; } }
133+.glyphicon-share-alt { &:before { content: "\e095"; } }
134+.glyphicon-resize-full { &:before { content: "\e096"; } }
135+.glyphicon-resize-small { &:before { content: "\e097"; } }
136+.glyphicon-exclamation-sign { &:before { content: "\e101"; } }
137+.glyphicon-gift { &:before { content: "\e102"; } }
138+.glyphicon-leaf { &:before { content: "\e103"; } }
139+.glyphicon-fire { &:before { content: "\e104"; } }
140+.glyphicon-eye-open { &:before { content: "\e105"; } }
141+.glyphicon-eye-close { &:before { content: "\e106"; } }
142+.glyphicon-warning-sign { &:before { content: "\e107"; } }
143+.glyphicon-plane { &:before { content: "\e108"; } }
144+.glyphicon-calendar { &:before { content: "\e109"; } }
145+.glyphicon-random { &:before { content: "\e110"; } }
146+.glyphicon-comment { &:before { content: "\e111"; } }
147+.glyphicon-magnet { &:before { content: "\e112"; } }
148+.glyphicon-chevron-up { &:before { content: "\e113"; } }
149+.glyphicon-chevron-down { &:before { content: "\e114"; } }
150+.glyphicon-retweet { &:before { content: "\e115"; } }
151+.glyphicon-shopping-cart { &:before { content: "\e116"; } }
152+.glyphicon-folder-close { &:before { content: "\e117"; } }
153+.glyphicon-folder-open { &:before { content: "\e118"; } }
154+.glyphicon-resize-vertical { &:before { content: "\e119"; } }
155+.glyphicon-resize-horizontal { &:before { content: "\e120"; } }
156+.glyphicon-hdd { &:before { content: "\e121"; } }
157+.glyphicon-bullhorn { &:before { content: "\e122"; } }
158+.glyphicon-bell { &:before { content: "\e123"; } }
159+.glyphicon-certificate { &:before { content: "\e124"; } }
160+.glyphicon-thumbs-up { &:before { content: "\e125"; } }
161+.glyphicon-thumbs-down { &:before { content: "\e126"; } }
162+.glyphicon-hand-right { &:before { content: "\e127"; } }
163+.glyphicon-hand-left { &:before { content: "\e128"; } }
164+.glyphicon-hand-up { &:before { content: "\e129"; } }
165+.glyphicon-hand-down { &:before { content: "\e130"; } }
166+.glyphicon-circle-arrow-right { &:before { content: "\e131"; } }
167+.glyphicon-circle-arrow-left { &:before { content: "\e132"; } }
168+.glyphicon-circle-arrow-up { &:before { content: "\e133"; } }
169+.glyphicon-circle-arrow-down { &:before { content: "\e134"; } }
170+.glyphicon-globe { &:before { content: "\e135"; } }
171+.glyphicon-wrench { &:before { content: "\e136"; } }
172+.glyphicon-tasks { &:before { content: "\e137"; } }
173+.glyphicon-filter { &:before { content: "\e138"; } }
174+.glyphicon-briefcase { &:before { content: "\e139"; } }
175+.glyphicon-fullscreen { &:before { content: "\e140"; } }
176+.glyphicon-dashboard { &:before { content: "\e141"; } }
177+.glyphicon-paperclip { &:before { content: "\e142"; } }
178+.glyphicon-heart-empty { &:before { content: "\e143"; } }
179+.glyphicon-link { &:before { content: "\e144"; } }
180+.glyphicon-phone { &:before { content: "\e145"; } }
181+.glyphicon-pushpin { &:before { content: "\e146"; } }
182+.glyphicon-usd { &:before { content: "\e148"; } }
183+.glyphicon-gbp { &:before { content: "\e149"; } }
184+.glyphicon-sort { &:before { content: "\e150"; } }
185+.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } }
186+.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } }
187+.glyphicon-sort-by-order { &:before { content: "\e153"; } }
188+.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } }
189+.glyphicon-sort-by-attributes { &:before { content: "\e155"; } }
190+.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } }
191+.glyphicon-unchecked { &:before { content: "\e157"; } }
192+.glyphicon-expand { &:before { content: "\e158"; } }
193+.glyphicon-collapse-down { &:before { content: "\e159"; } }
194+.glyphicon-collapse-up { &:before { content: "\e160"; } }
195+.glyphicon-log-in { &:before { content: "\e161"; } }
196+.glyphicon-flash { &:before { content: "\e162"; } }
197+.glyphicon-log-out { &:before { content: "\e163"; } }
198+.glyphicon-new-window { &:before { content: "\e164"; } }
199+.glyphicon-record { &:before { content: "\e165"; } }
200+.glyphicon-save { &:before { content: "\e166"; } }
201+.glyphicon-open { &:before { content: "\e167"; } }
202+.glyphicon-saved { &:before { content: "\e168"; } }
203+.glyphicon-import { &:before { content: "\e169"; } }
204+.glyphicon-export { &:before { content: "\e170"; } }
205+.glyphicon-send { &:before { content: "\e171"; } }
206+.glyphicon-floppy-disk { &:before { content: "\e172"; } }
207+.glyphicon-floppy-saved { &:before { content: "\e173"; } }
208+.glyphicon-floppy-remove { &:before { content: "\e174"; } }
209+.glyphicon-floppy-save { &:before { content: "\e175"; } }
210+.glyphicon-floppy-open { &:before { content: "\e176"; } }
211+.glyphicon-credit-card { &:before { content: "\e177"; } }
212+.glyphicon-transfer { &:before { content: "\e178"; } }
213+.glyphicon-cutlery { &:before { content: "\e179"; } }
214+.glyphicon-header { &:before { content: "\e180"; } }
215+.glyphicon-compressed { &:before { content: "\e181"; } }
216+.glyphicon-earphone { &:before { content: "\e182"; } }
217+.glyphicon-phone-alt { &:before { content: "\e183"; } }
218+.glyphicon-tower { &:before { content: "\e184"; } }
219+.glyphicon-stats { &:before { content: "\e185"; } }
220+.glyphicon-sd-video { &:before { content: "\e186"; } }
221+.glyphicon-hd-video { &:before { content: "\e187"; } }
222+.glyphicon-subtitles { &:before { content: "\e188"; } }
223+.glyphicon-sound-stereo { &:before { content: "\e189"; } }
224+.glyphicon-sound-dolby { &:before { content: "\e190"; } }
225+.glyphicon-sound-5-1 { &:before { content: "\e191"; } }
226+.glyphicon-sound-6-1 { &:before { content: "\e192"; } }
227+.glyphicon-sound-7-1 { &:before { content: "\e193"; } }
228+.glyphicon-copyright-mark { &:before { content: "\e194"; } }
229+.glyphicon-registration-mark { &:before { content: "\e195"; } }
230+.glyphicon-cloud-download { &:before { content: "\e197"; } }
231+.glyphicon-cloud-upload { &:before { content: "\e198"; } }
232+.glyphicon-tree-conifer { &:before { content: "\e199"; } }
233+.glyphicon-tree-deciduous { &:before { content: "\e200"; } }
searx/static/oscar/less/bootstrap/grid.lessnew file+84
@@ -0,0 +1,84 @@
1+//
2+// Grid system
3+// --------------------------------------------------
4+
5+
6+// Container widths
7+//
8+// Set the container width, and override it for fixed navbars in media queries.
9+
10+.container {
11+ .container-fixed();
12+
13+ @media (min-width: @screen-sm-min) {
14+ width: @container-sm;
15+ }
16+ @media (min-width: @screen-md-min) {
17+ width: @container-md;
18+ }
19+ @media (min-width: @screen-lg-min) {
20+ width: @container-lg;
21+ }
22+}
23+
24+
25+// Fluid container
26+//
27+// Utilizes the mixin meant for fixed width containers, but without any defined
28+// width for fluid, full width layouts.
29+
30+.container-fluid {
31+ .container-fixed();
32+}
33+
34+
35+// Row
36+//
37+// Rows contain and clear the floats of your columns.
38+
39+.row {
40+ .make-row();
41+}
42+
43+
44+// Columns
45+//
46+// Common styles for small and large grid columns
47+
48+.make-grid-columns();
49+
50+
51+// Extra small grid
52+//
53+// Columns, offsets, pushes, and pulls for extra small devices like
54+// smartphones.
55+
56+.make-grid(xs);
57+
58+
59+// Small grid
60+//
61+// Columns, offsets, pushes, and pulls for the small device range, from phones
62+// to tablets.
63+
64+@media (min-width: @screen-sm-min) {
65+ .make-grid(sm);
66+}
67+
68+
69+// Medium grid
70+//
71+// Columns, offsets, pushes, and pulls for the desktop device range.
72+
73+@media (min-width: @screen-md-min) {
74+ .make-grid(md);
75+}
76+
77+
78+// Large grid
79+//
80+// Columns, offsets, pushes, and pulls for the large desktop device range.
81+
82+@media (min-width: @screen-lg-min) {
83+ .make-grid(lg);
84+}
searx/static/oscar/less/bootstrap/input-groups.lessnew file+166
@@ -0,0 +1,166 @@
1+//
2+// Input groups
3+// --------------------------------------------------
4+
5+// Base styles
6+// -------------------------
7+.input-group {
8+ position: relative; // For dropdowns
9+ display: table;
10+ border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table
11+
12+ // Undo padding and float of grid classes
13+ &[class*="col-"] {
14+ float: none;
15+ padding-left: 0;
16+ padding-right: 0;
17+ }
18+
19+ .form-control {
20+ // Ensure that the input is always above the *appended* addon button for
21+ // proper border colors.
22+ position: relative;
23+ z-index: 2;
24+
25+ // IE9 fubars the placeholder attribute in text inputs and the arrows on
26+ // select elements in input groups. To fix it, we float the input. Details:
27+ // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855
28+ float: left;
29+
30+ width: 100%;
31+ margin-bottom: 0;
32+ }
33+}
34+
35+// Sizing options
36+//
37+// Remix the default form control sizing classes into new ones for easier
38+// manipulation.
39+
40+.input-group-lg > .form-control,
41+.input-group-lg > .input-group-addon,
42+.input-group-lg > .input-group-btn > .btn {
43+ .input-lg();
44+}
45+.input-group-sm > .form-control,
46+.input-group-sm > .input-group-addon,
47+.input-group-sm > .input-group-btn > .btn {
48+ .input-sm();
49+}
50+
51+
52+// Display as table-cell
53+// -------------------------
54+.input-group-addon,
55+.input-group-btn,
56+.input-group .form-control {
57+ display: table-cell;
58+
59+ &:not(:first-child):not(:last-child) {
60+ border-radius: 0;
61+ }
62+}
63+// Addon and addon wrapper for buttons
64+.input-group-addon,
65+.input-group-btn {
66+ width: 1%;
67+ white-space: nowrap;
68+ vertical-align: middle; // Match the inputs
69+}
70+
71+// Text input groups
72+// -------------------------
73+.input-group-addon {
74+ padding: @padding-base-vertical @padding-base-horizontal;
75+ font-size: @font-size-base;
76+ font-weight: normal;
77+ line-height: 1;
78+ color: @input-color;
79+ text-align: center;
80+ background-color: @input-group-addon-bg;
81+ border: 1px solid @input-group-addon-border-color;
82+ border-radius: @border-radius-base;
83+
84+ // Sizing
85+ &.input-sm {
86+ padding: @padding-small-vertical @padding-small-horizontal;
87+ font-size: @font-size-small;
88+ border-radius: @border-radius-small;
89+ }
90+ &.input-lg {
91+ padding: @padding-large-vertical @padding-large-horizontal;
92+ font-size: @font-size-large;
93+ border-radius: @border-radius-large;
94+ }
95+
96+ // Nuke default margins from checkboxes and radios to vertically center within.
97+ input[type="radio"],
98+ input[type="checkbox"] {
99+ margin-top: 0;
100+ }
101+}
102+
103+// Reset rounded corners
104+.input-group .form-control:first-child,
105+.input-group-addon:first-child,
106+.input-group-btn:first-child > .btn,
107+.input-group-btn:first-child > .btn-group > .btn,
108+.input-group-btn:first-child > .dropdown-toggle,
109+.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
110+.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
111+ .border-right-radius(0);
112+}
113+.input-group-addon:first-child {
114+ border-right: 0;
115+}
116+.input-group .form-control:last-child,
117+.input-group-addon:last-child,
118+.input-group-btn:last-child > .btn,
119+.input-group-btn:last-child > .btn-group > .btn,
120+.input-group-btn:last-child > .dropdown-toggle,
121+.input-group-btn:first-child > .btn:not(:first-child),
122+.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
123+ .border-left-radius(0);
124+}
125+.input-group-addon:last-child {
126+ border-left: 0;
127+}
128+
129+// Button input groups
130+// -------------------------
131+.input-group-btn {
132+ position: relative;
133+ // Jankily prevent input button groups from wrapping with `white-space` and
134+ // `font-size` in combination with `inline-block` on buttons.
135+ font-size: 0;
136+ white-space: nowrap;
137+
138+ // Negative margin for spacing, position for bringing hovered/focused/actived
139+ // element above the siblings.
140+ > .btn {
141+ position: relative;
142+ + .btn {
143+ margin-left: -1px;
144+ }
145+ // Bring the "active" button to the front
146+ &:hover,
147+ &:focus,
148+ &:active {
149+ z-index: 2;
150+ }
151+ }
152+
153+ // Negative margin to only have a 1px border between the two
154+ &:first-child {
155+ > .btn,
156+ > .btn-group {
157+ margin-right: -1px;
158+ }
159+ }
160+ &:last-child {
161+ > .btn,
162+ > .btn-group {
163+ margin-left: -1px;
164+ }
165+ }
166+}
searx/static/oscar/less/bootstrap/jumbotron.lessnew file+48
@@ -0,0 +1,48 @@
1+//
2+// Jumbotron
3+// --------------------------------------------------
4+
5+
6+.jumbotron {
7+ padding: @jumbotron-padding;
8+ margin-bottom: @jumbotron-padding;
9+ color: @jumbotron-color;
10+ background-color: @jumbotron-bg;
11+
12+ h1,
13+ .h1 {
14+ color: @jumbotron-heading-color;
15+ }
16+ p {
17+ margin-bottom: (@jumbotron-padding / 2);
18+ font-size: @jumbotron-font-size;
19+ font-weight: 200;
20+ }
21+
22+ > hr {
23+ border-top-color: darken(@jumbotron-bg, 10%);
24+ }
25+
26+ .container & {
27+ border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
28+ }
29+
30+ .container {
31+ max-width: 100%;
32+ }
33+
34+ @media screen and (min-width: @screen-sm-min) {
35+ padding-top: (@jumbotron-padding * 1.6);
36+ padding-bottom: (@jumbotron-padding * 1.6);
37+
38+ .container & {
39+ padding-left: (@jumbotron-padding * 2);
40+ padding-right: (@jumbotron-padding * 2);
41+ }
42+
43+ h1,
44+ .h1 {
45+ font-size: (@font-size-base * 4.5);
46+ }
47+ }
48+}
searx/static/oscar/less/bootstrap/labels.lessnew file+64
@@ -0,0 +1,64 @@
1+//
2+// Labels
3+// --------------------------------------------------
4+
5+.label {
6+ display: inline;
7+ padding: .2em .6em .3em;
8+ font-size: 75%;
9+ font-weight: bold;
10+ line-height: 1;
11+ color: @label-color;
12+ text-align: center;
13+ white-space: nowrap;
14+ vertical-align: baseline;
15+ border-radius: .25em;
16+
17+ // Add hover effects, but only for links
18+ a& {
19+ &:hover,
20+ &:focus {
21+ color: @label-link-hover-color;
22+ text-decoration: none;
23+ cursor: pointer;
24+ }
25+ }
26+
27+ // Empty labels collapse automatically (not available in IE8)
28+ &:empty {
29+ display: none;
30+ }
31+
32+ // Quick fix for labels in buttons
33+ .btn & {
34+ position: relative;
35+ top: -1px;
36+ }
37+}
38+
39+// Colors
40+// Contextual variations (linked labels get darker on :hover)
41+
42+.label-default {
43+ .label-variant(@label-default-bg);
44+}
45+
46+.label-primary {
47+ .label-variant(@label-primary-bg);
48+}
49+
50+.label-success {
51+ .label-variant(@label-success-bg);
52+}
53+
54+.label-info {
55+ .label-variant(@label-info-bg);
56+}
57+
58+.label-warning {
59+ .label-variant(@label-warning-bg);
60+}
61+
62+.label-danger {
63+ .label-variant(@label-danger-bg);
64+}
searx/static/oscar/less/bootstrap/list-group.lessnew file+131
@@ -0,0 +1,131 @@
1+//
2+// List groups
3+// --------------------------------------------------
4+
5+
6+// Base class
7+//
8+// Easily usable on <ul>, <ol>, or <div>.
9+
10+.list-group {
11+ // No need to set list-style: none; since .list-group-item is block level
12+ margin-bottom: 20px;
13+ padding-left: 0; // reset padding because ul and ol
14+}
15+
16+
17+// Individual list items
18+//
19+// Use on `li`s or `div`s within the `.list-group` parent.
20+
21+.list-group-item {
22+ position: relative;
23+ display: block;
24+ padding: 10px 15px;
25+ // Place the border on the list items and negative margin up for better styling
26+ margin-bottom: -1px;
27+ background-color: @list-group-bg;
28+ border: 1px solid @list-group-border;
29+
30+ // Round the first and last items
31+ &:first-child {
32+ .border-top-radius(@list-group-border-radius);
33+ }
34+ &:last-child {
35+ margin-bottom: 0;
36+ .border-bottom-radius(@list-group-border-radius);
37+ }
38+
39+ // Align badges within list items
40+ > .badge {
41+ float: right;
42+ }
43+ > .badge + .badge {
44+ margin-right: 5px;
45+ }
46+}
47+
48+
49+// Linked list items
50+//
51+// Use anchor elements instead of `li`s or `div`s to create linked list items.
52+// Includes an extra `.active` modifier class for showing selected items.
53+
54+a.list-group-item {
55+ color: @list-group-link-color;
56+
57+ .list-group-item-heading {
58+ color: @list-group-link-heading-color;
59+ }
60+
61+ // Hover state
62+ &:hover,
63+ &:focus {
64+ text-decoration: none;
65+ color: @list-group-link-hover-color;
66+ background-color: @list-group-hover-bg;
67+ }
68+}
69+
70+.list-group-item {
71+ // Disabled state
72+ &.disabled,
73+ &.disabled:hover,
74+ &.disabled:focus {
75+ background-color: @list-group-disabled-bg;
76+ color: @list-group-disabled-color;
77+
78+ // Force color to inherit for custom content
79+ .list-group-item-heading {
80+ color: inherit;
81+ }
82+ .list-group-item-text {
83+ color: @list-group-disabled-text-color;
84+ }
85+ }
86+
87+ // Active class on item itself, not parent
88+ &.active,
89+ &.active:hover,
90+ &.active:focus {
91+ z-index: 2; // Place active items above their siblings for proper border styling
92+ color: @list-group-active-color;
93+ background-color: @list-group-active-bg;
94+ border-color: @list-group-active-border;
95+
96+ // Force color to inherit for custom content
97+ .list-group-item-heading,
98+ .list-group-item-heading > small,
99+ .list-group-item-heading > .small {
100+ color: inherit;
101+ }
102+ .list-group-item-text {
103+ color: @list-group-active-text-color;
104+ }
105+ }
106+}
107+
108+
109+// Contextual variants
110+//
111+// Add modifier classes to change text and background color on individual items.
112+// Organizationally, this must come after the `:hover` states.
113+
114+.list-group-item-variant(success; @state-success-bg; @state-success-text);
115+.list-group-item-variant(info; @state-info-bg; @state-info-text);
116+.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);
117+.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);
118+
119+
120+// Custom content options
121+//
122+// Extra classes for creating well-formatted content within `.list-group-item`s.
123+
124+.list-group-item-heading {
125+ margin-top: 0;
126+ margin-bottom: 5px;
127+}
128+.list-group-item-text {
129+ margin-bottom: 0;
130+ line-height: 1.3;
131+}
searx/static/oscar/less/bootstrap/media.lessnew file+56
@@ -0,0 +1,56 @@
1+// Media objects
2+// Source: http://stubbornella.org/content/?p=497
3+// --------------------------------------------------
4+
5+
6+// Common styles
7+// -------------------------
8+
9+// Clear the floats
10+.media,
11+.media-body {
12+ overflow: hidden;
13+ zoom: 1;
14+}
15+
16+// Proper spacing between instances of .media
17+.media,
18+.media .media {
19+ margin-top: 15px;
20+}
21+.media:first-child {
22+ margin-top: 0;
23+}
24+
25+// For images and videos, set to block
26+.media-object {
27+ display: block;
28+}
29+
30+// Reset margins on headings for tighter default spacing
31+.media-heading {
32+ margin: 0 0 5px;
33+}
34+
35+
36+// Media image alignment
37+// -------------------------
38+
39+.media {
40+ > .pull-left {
41+ margin-right: 10px;
42+ }
43+ > .pull-right {
44+ margin-left: 10px;
45+ }
46+}
47+
48+
49+// Media list variation
50+// -------------------------
51+
52+// Undo default ul/ol styles
53+.media-list {
54+ padding-left: 0;
55+ list-style: none;
56+}
searx/static/oscar/less/bootstrap/mixins.lessnew file+39
@@ -0,0 +1,39 @@
1+// Mixins
2+// --------------------------------------------------
3+
4+// Utilities
5+@import "mixins/hide-text.less";
6+@import "mixins/opacity.less";
7+@import "mixins/image.less";
8+@import "mixins/labels.less";
9+@import "mixins/reset-filter.less";
10+@import "mixins/resize.less";
11+@import "mixins/responsive-visibility.less";
12+@import "mixins/size.less";
13+@import "mixins/tab-focus.less";
14+@import "mixins/text-emphasis.less";
15+@import "mixins/text-overflow.less";
16+@import "mixins/vendor-prefixes.less";
17+
18+// Components
19+@import "mixins/alerts.less";
20+@import "mixins/buttons.less";
21+@import "mixins/panels.less";
22+@import "mixins/pagination.less";
23+@import "mixins/list-group.less";
24+@import "mixins/nav-divider.less";
25+@import "mixins/forms.less";
26+@import "mixins/progress-bar.less";
27+@import "mixins/table-row.less";
28+
29+// Skins
30+@import "mixins/background-variant.less";
31+@import "mixins/border-radius.less";
32+@import "mixins/gradients.less";
33+
34+// Layout
35+@import "mixins/clearfix.less";
36+@import "mixins/center-block.less";
37+@import "mixins/nav-vertical-align.less";
38+@import "mixins/grid-framework.less";
39+@import "mixins/grid.less";
searx/static/oscar/less/bootstrap/mixins/alerts.lessnew file+14
@@ -0,0 +1,14 @@
1+// Alerts
2+
3+.alert-variant(@background; @border; @text-color) {
4+ background-color: @background;
5+ border-color: @border;
6+ color: @text-color;
7+
8+ hr {
9+ border-top-color: darken(@border, 5%);
10+ }
11+ .alert-link {
12+ color: darken(@text-color, 10%);
13+ }
14+}
searx/static/oscar/less/bootstrap/mixins/background-variant.lessnew file+8
@@ -0,0 +1,8 @@
1+// Contextual backgrounds
2+
3+.bg-variant(@color) {
4+ background-color: @color;
5+ a&:hover {
6+ background-color: darken(@color, 10%);
7+ }
8+}
searx/static/oscar/less/bootstrap/mixins/border-radius.lessnew file+18
@@ -0,0 +1,18 @@
1+// Single side border-radius
2+
3+.border-top-radius(@radius) {
4+ border-top-right-radius: @radius;
5+ border-top-left-radius: @radius;
6+}
7+.border-right-radius(@radius) {
8+ border-bottom-right-radius: @radius;
9+ border-top-right-radius: @radius;
10+}
11+.border-bottom-radius(@radius) {
12+ border-bottom-right-radius: @radius;
13+ border-bottom-left-radius: @radius;
14+}
15+.border-left-radius(@radius) {
16+ border-bottom-left-radius: @radius;
17+ border-top-left-radius: @radius;
18+}
searx/static/oscar/less/bootstrap/mixins/buttons.lessnew file+50
@@ -0,0 +1,50 @@
1+// Button variants
2+//
3+// Easily pump out default styles, as well as :hover, :focus, :active,
4+// and disabled options for all buttons
5+
6+.button-variant(@color; @background; @border) {
7+ color: @color;
8+ background-color: @background;
9+ border-color: @border;
10+
11+ &:hover,
12+ &:focus,
13+ &:active,
14+ &.active,
15+ .open > .dropdown-toggle& {
16+ color: @color;
17+ background-color: darken(@background, 10%);
18+ border-color: darken(@border, 12%);
19+ }
20+ &:active,
21+ &.active,
22+ .open > .dropdown-toggle& {
23+ background-image: none;
24+ }
25+ &.disabled,
26+ &[disabled],
27+ fieldset[disabled] & {
28+ &,
29+ &:hover,
30+ &:focus,
31+ &:active,
32+ &.active {
33+ background-color: @background;
34+ border-color: @border;
35+ }
36+ }
37+
38+ .badge {
39+ color: @background;
40+ background-color: @color;
41+ }
42+}
43+
44+// Button sizes
45+.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
46+ padding: @padding-vertical @padding-horizontal;
47+ font-size: @font-size;
48+ line-height: @line-height;
49+ border-radius: @border-radius;
50+}
searx/static/oscar/less/bootstrap/mixins/center-block.lessnew file+7
@@ -0,0 +1,7 @@
1+// Center-align a block level element
2+
3+.center-block() {
4+ display: block;
5+ margin-left: auto;
6+ margin-right: auto;
7+}
searx/static/oscar/less/bootstrap/mixins/clearfix.lessnew file+22
@@ -0,0 +1,22 @@
1+// Clearfix
2+//
3+// For modern browsers
4+// 1. The space content is one way to avoid an Opera bug when the
5+// contenteditable attribute is included anywhere else in the document.
6+// Otherwise it causes space to appear at the top and bottom of elements
7+// that are clearfixed.
8+// 2. The use of `table` rather than `block` is only necessary if using
9+// `:before` to contain the top-margins of child elements.
10+//
11+// Source: http://nicolasgallagher.com/micro-clearfix-hack/
12+
13+.clearfix() {
14+ &:before,
15+ &:after {
16+ content: " "; // 1
17+ display: table; // 2
18+ }
19+ &:after {
20+ clear: both;
21+ }
22+}
searx/static/oscar/less/bootstrap/mixins/forms.lessnew file+81
@@ -0,0 +1,81 @@
1+// Form validation states
2+//
3+// Used in forms.less to generate the form validation CSS for warnings, errors,
4+// and successes.
5+
6+.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {
7+ // Color the label and help text
8+ .help-block,
9+ .control-label,
10+ .radio,
11+ .checkbox,
12+ .radio-inline,
13+ .checkbox-inline {
14+ color: @text-color;
15+ }
16+ // Set the border and box shadow on specific inputs to match
17+ .form-control {
18+ border-color: @border-color;
19+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
20+ &:focus {
21+ border-color: darken(@border-color, 10%);
22+ @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
23+ .box-shadow(@shadow);
24+ }
25+ }
26+ // Set validation states also for addons
27+ .input-group-addon {
28+ color: @text-color;
29+ border-color: @border-color;
30+ background-color: @background-color;
31+ }
32+ // Optional feedback icon
33+ .form-control-feedback {
34+ color: @text-color;
35+ }
36+}
37+
38+
39+// Form control focus state
40+//
41+// Generate a customized focus state and for any input with the specified color,
42+// which defaults to the `@input-border-focus` variable.
43+//
44+// We highly encourage you to not customize the default value, but instead use
45+// this to tweak colors on an as-needed basis. This aesthetic change is based on
46+// WebKit's default styles, but applicable to a wider range of browsers. Its
47+// usability and accessibility should be taken into account with any change.
48+//
49+// Example usage: change the default blue border and shadow to white for better
50+// contrast against a dark gray background.
51+.form-control-focus(@color: @input-border-focus) {
52+ @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
53+ &:focus {
54+ border-color: @color;
55+ outline: 0;
56+ .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");
57+ }
58+}
59+
60+// Form control sizing
61+//
62+// Relative text size, padding, and border-radii changes for form controls. For
63+// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
64+// element gets special love because it's special, and that's a fact!
65+.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
66+ height: @input-height;
67+ padding: @padding-vertical @padding-horizontal;
68+ font-size: @font-size;
69+ line-height: @line-height;
70+ border-radius: @border-radius;
71+
72+ select& {
73+ height: @input-height;
74+ line-height: @input-height;
75+ }
76+
77+ textarea&,
78+ select[multiple]& {
79+ height: auto;
80+ }
81+}
searx/static/oscar/less/bootstrap/mixins/gradients.lessnew file+59
@@ -0,0 +1,59 @@
1+// Gradients
2+
3+#gradient {
4+
5+ // Horizontal gradient, from left to right
6+ //
7+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
8+ // Color stops are not available in IE9 and below.
9+ .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
10+ background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
11+ background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12
12+ background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
13+ background-repeat: repeat-x;
14+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
15+ }
16+
17+ // Vertical gradient, from top to bottom
18+ //
19+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
20+ // Color stops are not available in IE9 and below.
21+ .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
22+ background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
23+ background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12
24+ background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
25+ background-repeat: repeat-x;
26+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
27+ }
28+
29+ .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
30+ background-repeat: repeat-x;
31+ background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+
32+ background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12
33+ background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
34+ }
35+ .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
36+ background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
37+ background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
38+ background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);
39+ background-repeat: no-repeat;
40+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
41+ }
42+ .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
43+ background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
44+ background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
45+ background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);
46+ background-repeat: no-repeat;
47+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
48+ }
49+ .radial(@inner-color: #555; @outer-color: #333) {
50+ background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);
51+ background-image: radial-gradient(circle, @inner-color, @outer-color);
52+ background-repeat: no-repeat;
53+ }
54+ .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {
55+ background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
56+ background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
57+ background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);
58+ }
59+}
searx/static/oscar/less/bootstrap/mixins/grid-framework.lessnew file+91
@@ -0,0 +1,91 @@
1+// Framework grid generation
2+//
3+// Used only by Bootstrap to generate the correct number of grid classes given
4+// any value of `@grid-columns`.
5+
6+.make-grid-columns() {
7+ // Common styles for all sizes of grid columns, widths 1-12
8+ .col(@index) when (@index = 1) { // initial
9+ @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
10+ .col((@index + 1), @item);
11+ }
12+ .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
13+ @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
14+ .col((@index + 1), ~"@{list}, @{item}");
15+ }
16+ .col(@index, @list) when (@index > @grid-columns) { // terminal
17+ @{list} {
18+ position: relative;
19+ // Prevent columns from collapsing when empty
20+ min-height: 1px;
21+ // Inner gutter via padding
22+ padding-left: (@grid-gutter-width / 2);
23+ padding-right: (@grid-gutter-width / 2);
24+ }
25+ }
26+ .col(1); // kickstart it
27+}
28+
29+.float-grid-columns(@class) {
30+ .col(@index) when (@index = 1) { // initial
31+ @item: ~".col-@{class}-@{index}";
32+ .col((@index + 1), @item);
33+ }
34+ .col(@index, @list) when (@index =< @grid-columns) { // general
35+ @item: ~".col-@{class}-@{index}";
36+ .col((@index + 1), ~"@{list}, @{item}");
37+ }
38+ .col(@index, @list) when (@index > @grid-columns) { // terminal
39+ @{list} {
40+ float: left;
41+ }
42+ }
43+ .col(1); // kickstart it
44+}
45+
46+.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
47+ .col-@{class}-@{index} {
48+ width: percentage((@index / @grid-columns));
49+ }
50+}
51+.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {
52+ .col-@{class}-push-@{index} {
53+ left: percentage((@index / @grid-columns));
54+ }
55+}
56+.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {
57+ .col-@{class}-push-0 {
58+ left: auto;
59+ }
60+}
61+.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {
62+ .col-@{class}-pull-@{index} {
63+ right: percentage((@index / @grid-columns));
64+ }
65+}
66+.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {
67+ .col-@{class}-pull-0 {
68+ right: auto;
69+ }
70+}
71+.calc-grid-column(@index, @class, @type) when (@type = offset) {
72+ .col-@{class}-offset-@{index} {
73+ margin-left: percentage((@index / @grid-columns));
74+ }
75+}
76+
77+// Basic looping in LESS
78+.loop-grid-columns(@index, @class, @type) when (@index >= 0) {
79+ .calc-grid-column(@index, @class, @type);
80+ // next iteration
81+ .loop-grid-columns((@index - 1), @class, @type);
82+}
83+
84+// Create grid for specific class
85+.make-grid(@class) {
86+ .float-grid-columns(@class);
87+ .loop-grid-columns(@grid-columns, @class, width);
88+ .loop-grid-columns(@grid-columns, @class, pull);
89+ .loop-grid-columns(@grid-columns, @class, push);
90+ .loop-grid-columns(@grid-columns, @class, offset);
91+}
searx/static/oscar/less/bootstrap/mixins/grid.lessnew file+122
@@ -0,0 +1,122 @@
1+// Grid system
2+//
3+// Generate semantic grid columns with these mixins.
4+
5+// Centered container element
6+.container-fixed(@gutter: @grid-gutter-width) {
7+ margin-right: auto;
8+ margin-left: auto;
9+ padding-left: (@gutter / 2);
10+ padding-right: (@gutter / 2);
11+ &:extend(.clearfix all);
12+}
13+
14+// Creates a wrapper for a series of columns
15+.make-row(@gutter: @grid-gutter-width) {
16+ margin-left: (@gutter / -2);
17+ margin-right: (@gutter / -2);
18+ &:extend(.clearfix all);
19+}
20+
21+// Generate the extra small columns
22+.make-xs-column(@columns; @gutter: @grid-gutter-width) {
23+ position: relative;
24+ float: left;
25+ width: percentage((@columns / @grid-columns));
26+ min-height: 1px;
27+ padding-left: (@gutter / 2);
28+ padding-right: (@gutter / 2);
29+}
30+.make-xs-column-offset(@columns) {
31+ margin-left: percentage((@columns / @grid-columns));
32+}
33+.make-xs-column-push(@columns) {
34+ left: percentage((@columns / @grid-columns));
35+}
36+.make-xs-column-pull(@columns) {
37+ right: percentage((@columns / @grid-columns));
38+}
39+
40+// Generate the small columns
41+.make-sm-column(@columns; @gutter: @grid-gutter-width) {
42+ position: relative;
43+ min-height: 1px;
44+ padding-left: (@gutter / 2);
45+ padding-right: (@gutter / 2);
46+
47+ @media (min-width: @screen-sm-min) {
48+ float: left;
49+ width: percentage((@columns / @grid-columns));
50+ }
51+}
52+.make-sm-column-offset(@columns) {
53+ @media (min-width: @screen-sm-min) {
54+ margin-left: percentage((@columns / @grid-columns));
55+ }
56+}
57+.make-sm-column-push(@columns) {
58+ @media (min-width: @screen-sm-min) {
59+ left: percentage((@columns / @grid-columns));
60+ }
61+}
62+.make-sm-column-pull(@columns) {
63+ @media (min-width: @screen-sm-min) {
64+ right: percentage((@columns / @grid-columns));
65+ }
66+}
67+
68+// Generate the medium columns
69+.make-md-column(@columns; @gutter: @grid-gutter-width) {
70+ position: relative;
71+ min-height: 1px;
72+ padding-left: (@gutter / 2);
73+ padding-right: (@gutter / 2);
74+
75+ @media (min-width: @screen-md-min) {
76+ float: left;
77+ width: percentage((@columns / @grid-columns));
78+ }
79+}
80+.make-md-column-offset(@columns) {
81+ @media (min-width: @screen-md-min) {
82+ margin-left: percentage((@columns / @grid-columns));
83+ }
84+}
85+.make-md-column-push(@columns) {
86+ @media (min-width: @screen-md-min) {
87+ left: percentage((@columns / @grid-columns));
88+ }
89+}
90+.make-md-column-pull(@columns) {
91+ @media (min-width: @screen-md-min) {
92+ right: percentage((@columns / @grid-columns));
93+ }
94+}
95+
96+// Generate the large columns
97+.make-lg-column(@columns; @gutter: @grid-gutter-width) {
98+ position: relative;
99+ min-height: 1px;
100+ padding-left: (@gutter / 2);
101+ padding-right: (@gutter / 2);
102+
103+ @media (min-width: @screen-lg-min) {
104+ float: left;
105+ width: percentage((@columns / @grid-columns));
106+ }
107+}
108+.make-lg-column-offset(@columns) {
109+ @media (min-width: @screen-lg-min) {
110+ margin-left: percentage((@columns / @grid-columns));
111+ }
112+}
113+.make-lg-column-push(@columns) {
114+ @media (min-width: @screen-lg-min) {
115+ left: percentage((@columns / @grid-columns));
116+ }
117+}
118+.make-lg-column-pull(@columns) {
119+ @media (min-width: @screen-lg-min) {
120+ right: percentage((@columns / @grid-columns));
121+ }
122+}
searx/static/oscar/less/bootstrap/mixins/hide-text.lessnew file+21
@@ -0,0 +1,21 @@
1+// CSS image replacement
2+//
3+// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for
4+// mixins being reused as classes with the same name, this doesn't hold up. As
5+// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.
6+//
7+// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
8+
9+// Deprecated as of v3.0.1 (will be removed in v4)
10+.hide-text() {
11+ font: ~"0/0" a;
12+ color: transparent;
13+ text-shadow: none;
14+ background-color: transparent;
15+ border: 0;
16+}
17+
18+// New mixin to use as of v3.0.1
19+.text-hide() {
20+ .hide-text();
21+}
searx/static/oscar/less/bootstrap/mixins/image.lessnew file+34
@@ -0,0 +1,34 @@
1+// Image Mixins
2+// - Responsive image
3+// - Retina image
4+
5+
6+// Responsive image
7+//
8+// Keep images from scaling beyond the width of their parents.
9+.img-responsive(@display: block) {
10+ display: @display;
11+ width: 100% \9; // Force IE10 and below to size SVG images correctly
12+ max-width: 100%; // Part 1: Set a maximum relative to the parent
13+ height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
14+}
15+
16+
17+// Retina image
18+//
19+// Short retina mixin for setting background-image and -size. Note that the
20+// spelling of `min--moz-device-pixel-ratio` is intentional.
21+.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
22+ background-image: url("@{file-1x}");
23+
24+ @media
25+ only screen and (-webkit-min-device-pixel-ratio: 2),
26+ only screen and ( min--moz-device-pixel-ratio: 2),
27+ only screen and ( -o-min-device-pixel-ratio: 2/1),
28+ only screen and ( min-device-pixel-ratio: 2),
29+ only screen and ( min-resolution: 192dpi),
30+ only screen and ( min-resolution: 2dppx) {
31+ background-image: url("@{file-2x}");
32+ background-size: @width-1x @height-1x;
33+ }
34+}
searx/static/oscar/less/bootstrap/mixins/labels.lessnew file+12
@@ -0,0 +1,12 @@
1+// Labels
2+
3+.label-variant(@color) {
4+ background-color: @color;
5+
6+ &[href] {
7+ &:hover,
8+ &:focus {
9+ background-color: darken(@color, 10%);
10+ }
11+ }
12+}
searx/static/oscar/less/bootstrap/mixins/list-group.lessnew file+29
@@ -0,0 +1,29 @@
1+// List Groups
2+
3+.list-group-item-variant(@state; @background; @color) {
4+ .list-group-item-@{state} {
5+ color: @color;
6+ background-color: @background;
7+
8+ a& {
9+ color: @color;
10+
11+ .list-group-item-heading {
12+ color: inherit;
13+ }
14+
15+ &:hover,
16+ &:focus {
17+ color: @color;
18+ background-color: darken(@background, 5%);
19+ }
20+ &.active,
21+ &.active:hover,
22+ &.active:focus {
23+ color: #fff;
24+ background-color: @color;
25+ border-color: @color;
26+ }
27+ }
28+ }
29+}
searx/static/oscar/less/bootstrap/mixins/nav-divider.lessnew file+10
@@ -0,0 +1,10 @@
1+// Horizontal dividers
2+//
3+// Dividers (basically an hr) within dropdowns and nav lists
4+
5+.nav-divider(@color: #e5e5e5) {
6+ height: 1px;
7+ margin: ((@line-height-computed / 2) - 1) 0;
8+ overflow: hidden;
9+ background-color: @color;
10+}
searx/static/oscar/less/bootstrap/mixins/nav-vertical-align.lessnew file+9
@@ -0,0 +1,9 @@
1+// Navbar vertical align
2+//
3+// Vertically center elements in the navbar.
4+// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
5+
6+.navbar-vertical-align(@element-height) {
7+ margin-top: ((@navbar-height - @element-height) / 2);
8+ margin-bottom: ((@navbar-height - @element-height) / 2);
9+}
searx/static/oscar/less/bootstrap/mixins/opacity.lessnew file+8
@@ -0,0 +1,8 @@
1+// Opacity
2+
3+.opacity(@opacity) {
4+ opacity: @opacity;
5+ // IE8 filter
6+ @opacity-ie: (@opacity * 100);
7+ filter: ~"alpha(opacity=@{opacity-ie})";
8+}
searx/static/oscar/less/bootstrap/mixins/pagination.lessnew file+23
@@ -0,0 +1,23 @@
1+// Pagination
2+
3+.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {
4+ > li {
5+ > a,
6+ > span {
7+ padding: @padding-vertical @padding-horizontal;
8+ font-size: @font-size;
9+ }
10+ &:first-child {
11+ > a,
12+ > span {
13+ .border-left-radius(@border-radius);
14+ }
15+ }
16+ &:last-child {
17+ > a,
18+ > span {
19+ .border-right-radius(@border-radius);
20+ }
21+ }
22+ }
23+}
searx/static/oscar/less/bootstrap/mixins/panels.lessnew file+24
@@ -0,0 +1,24 @@
1+// Panels
2+
3+.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {
4+ border-color: @border;
5+
6+ & > .panel-heading {
7+ color: @heading-text-color;
8+ background-color: @heading-bg-color;
9+ border-color: @heading-border;
10+
11+ + .panel-collapse > .panel-body {
12+ border-top-color: @border;
13+ }
14+ .badge {
15+ color: @heading-bg-color;
16+ background-color: @heading-text-color;
17+ }
18+ }
19+ & > .panel-footer {
20+ + .panel-collapse > .panel-body {
21+ border-bottom-color: @border;
22+ }
23+ }
24+}
searx/static/oscar/less/bootstrap/mixins/progress-bar.lessnew file+10
@@ -0,0 +1,10 @@
1+// Progress bars
2+
3+.progress-bar-variant(@color) {
4+ background-color: @color;
5+
6+ // Deprecated parent class requirement as of v3.2.0
7+ .progress-striped & {
8+ #gradient > .striped();
9+ }
10+}
searx/static/oscar/less/bootstrap/mixins/reset-filter.lessnew file+8
@@ -0,0 +1,8 @@
1+// Reset filters for IE
2+//
3+// When you need to remove a gradient background, do not forget to use this to reset
4+// the IE filter for IE9 and below.
5+
6+.reset-filter() {
7+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
8+}
searx/static/oscar/less/bootstrap/mixins/resize.lessnew file+6
@@ -0,0 +1,6 @@
1+// Resize anything
2+
3+.resizable(@direction) {
4+ resize: @direction; // Options: horizontal, vertical, both
5+ overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
6+}
searx/static/oscar/less/bootstrap/mixins/responsive-visibility.lessnew file+15
@@ -0,0 +1,15 @@
1+// Responsive utilities
2+
3+//
4+// More easily include all the states for responsive-utilities.less.
5+.responsive-visibility() {
6+ display: block !important;
7+ table& { display: table; }
8+ tr& { display: table-row !important; }
9+ th&,
10+ td& { display: table-cell !important; }
11+}
12+
13+.responsive-invisibility() {
14+ display: none !important;
15+}
searx/static/oscar/less/bootstrap/mixins/size.lessnew file+10
@@ -0,0 +1,10 @@
1+// Sizing shortcuts
2+
3+.size(@width; @height) {
4+ width: @width;
5+ height: @height;
6+}
7+
8+.square(@size) {
9+ .size(@size; @size);
10+}
searx/static/oscar/less/bootstrap/mixins/tab-focus.lessnew file+9
@@ -0,0 +1,9 @@
1+// WebKit-style focus
2+
3+.tab-focus() {
4+ // Default
5+ outline: thin dotted;
6+ // WebKit
7+ outline: 5px auto -webkit-focus-ring-color;
8+ outline-offset: -2px;
9+}
searx/static/oscar/less/bootstrap/mixins/table-row.lessnew file+28
@@ -0,0 +1,28 @@
1+// Tables
2+
3+.table-row-variant(@state; @background) {
4+ // Exact selectors below required to override `.table-striped` and prevent
5+ // inheritance to nested tables.
6+ .table > thead > tr,
7+ .table > tbody > tr,
8+ .table > tfoot > tr {
9+ > td.@{state},
10+ > th.@{state},
11+ &.@{state} > td,
12+ &.@{state} > th {
13+ background-color: @background;
14+ }
15+ }
16+
17+ // Hover states for `.table-hover`
18+ // Note: this is not available for cells or rows within `thead` or `tfoot`.
19+ .table-hover > tbody > tr {
20+ > td.@{state}:hover,
21+ > th.@{state}:hover,
22+ &.@{state}:hover > td,
23+ &:hover > .@{state},
24+ &.@{state}:hover > th {
25+ background-color: darken(@background, 5%);
26+ }
27+ }
28+}
searx/static/oscar/less/bootstrap/mixins/text-emphasis.lessnew file+8
@@ -0,0 +1,8 @@
1+// Typography
2+
3+.text-emphasis-variant(@color) {
4+ color: @color;
5+ a&:hover {
6+ color: darken(@color, 10%);
7+ }
8+}
searx/static/oscar/less/bootstrap/mixins/text-overflow.lessnew file+8
@@ -0,0 +1,8 @@
1+// Text overflow
2+// Requires inline-block or block for proper styling
3+
4+.text-overflow() {
5+ overflow: hidden;
6+ text-overflow: ellipsis;
7+ white-space: nowrap;
8+}
searx/static/oscar/less/bootstrap/mixins/vendor-prefixes.lessnew file+224
@@ -0,0 +1,224 @@
1+// Vendor Prefixes
2+//
3+// All vendor mixins are deprecated as of v3.2.0 due to the introduction of
4+// Autoprefixer in our Gruntfile. They will be removed in v4.
5+
6+// - Animations
7+// - Backface visibility
8+// - Box shadow
9+// - Box sizing
10+// - Content columns
11+// - Hyphens
12+// - Placeholder text
13+// - Transformations
14+// - Transitions
15+// - User Select
16+
17+
18+// Animations
19+.animation(@animation) {
20+ -webkit-animation: @animation;
21+ -o-animation: @animation;
22+ animation: @animation;
23+}
24+.animation-name(@name) {
25+ -webkit-animation-name: @name;
26+ animation-name: @name;
27+}
28+.animation-duration(@duration) {
29+ -webkit-animation-duration: @duration;
30+ animation-duration: @duration;
31+}
32+.animation-timing-function(@timing-function) {
33+ -webkit-animation-timing-function: @timing-function;
34+ animation-timing-function: @timing-function;
35+}
36+.animation-delay(@delay) {
37+ -webkit-animation-delay: @delay;
38+ animation-delay: @delay;
39+}
40+.animation-iteration-count(@iteration-count) {
41+ -webkit-animation-iteration-count: @iteration-count;
42+ animation-iteration-count: @iteration-count;
43+}
44+.animation-direction(@direction) {
45+ -webkit-animation-direction: @direction;
46+ animation-direction: @direction;
47+}
48+.animation-fill-mode(@fill-mode) {
49+ -webkit-animation-fill-mode: @fill-mode;
50+ animation-fill-mode: @fill-mode;
51+}
52+
53+// Backface visibility
54+// Prevent browsers from flickering when using CSS 3D transforms.
55+// Default value is `visible`, but can be changed to `hidden`
56+
57+.backface-visibility(@visibility){
58+ -webkit-backface-visibility: @visibility;
59+ -moz-backface-visibility: @visibility;
60+ backface-visibility: @visibility;
61+}
62+
63+// Drop shadows
64+//
65+// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
66+// supported browsers that have box shadow capabilities now support it.
67+
68+.box-shadow(@shadow) {
69+ -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
70+ box-shadow: @shadow;
71+}
72+
73+// Box sizing
74+.box-sizing(@boxmodel) {
75+ -webkit-box-sizing: @boxmodel;
76+ -moz-box-sizing: @boxmodel;
77+ box-sizing: @boxmodel;
78+}
79+
80+// CSS3 Content Columns
81+.content-columns(@column-count; @column-gap: @grid-gutter-width) {
82+ -webkit-column-count: @column-count;
83+ -moz-column-count: @column-count;
84+ column-count: @column-count;
85+ -webkit-column-gap: @column-gap;
86+ -moz-column-gap: @column-gap;
87+ column-gap: @column-gap;
88+}
89+
90+// Optional hyphenation
91+.hyphens(@mode: auto) {
92+ word-wrap: break-word;
93+ -webkit-hyphens: @mode;
94+ -moz-hyphens: @mode;
95+ -ms-hyphens: @mode; // IE10+
96+ -o-hyphens: @mode;
97+ hyphens: @mode;
98+}
99+
100+// Placeholder text
101+.placeholder(@color: @input-color-placeholder) {
102+ &::-moz-placeholder { color: @color; // Firefox
103+ opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
104+ &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
105+ &::-webkit-input-placeholder { color: @color; } // Safari and Chrome
106+}
107+
108+// Transformations
109+.scale(@ratio) {
110+ -webkit-transform: scale(@ratio);
111+ -ms-transform: scale(@ratio); // IE9 only
112+ -o-transform: scale(@ratio);
113+ transform: scale(@ratio);
114+}
115+.scale(@ratioX; @ratioY) {
116+ -webkit-transform: scale(@ratioX, @ratioY);
117+ -ms-transform: scale(@ratioX, @ratioY); // IE9 only
118+ -o-transform: scale(@ratioX, @ratioY);
119+ transform: scale(@ratioX, @ratioY);
120+}
121+.scaleX(@ratio) {
122+ -webkit-transform: scaleX(@ratio);
123+ -ms-transform: scaleX(@ratio); // IE9 only
124+ -o-transform: scaleX(@ratio);
125+ transform: scaleX(@ratio);
126+}
127+.scaleY(@ratio) {
128+ -webkit-transform: scaleY(@ratio);
129+ -ms-transform: scaleY(@ratio); // IE9 only
130+ -o-transform: scaleY(@ratio);
131+ transform: scaleY(@ratio);
132+}
133+.skew(@x; @y) {
134+ -webkit-transform: skewX(@x) skewY(@y);
135+ -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
136+ -o-transform: skewX(@x) skewY(@y);
137+ transform: skewX(@x) skewY(@y);
138+}
139+.translate(@x; @y) {
140+ -webkit-transform: translate(@x, @y);
141+ -ms-transform: translate(@x, @y); // IE9 only
142+ -o-transform: translate(@x, @y);
143+ transform: translate(@x, @y);
144+}
145+.translate3d(@x; @y; @z) {
146+ -webkit-transform: translate3d(@x, @y, @z);
147+ transform: translate3d(@x, @y, @z);
148+}
149+.rotate(@degrees) {
150+ -webkit-transform: rotate(@degrees);
151+ -ms-transform: rotate(@degrees); // IE9 only
152+ -o-transform: rotate(@degrees);
153+ transform: rotate(@degrees);
154+}
155+.rotateX(@degrees) {
156+ -webkit-transform: rotateX(@degrees);
157+ -ms-transform: rotateX(@degrees); // IE9 only
158+ -o-transform: rotateX(@degrees);
159+ transform: rotateX(@degrees);
160+}
161+.rotateY(@degrees) {
162+ -webkit-transform: rotateY(@degrees);
163+ -ms-transform: rotateY(@degrees); // IE9 only
164+ -o-transform: rotateY(@degrees);
165+ transform: rotateY(@degrees);
166+}
167+.perspective(@perspective) {
168+ -webkit-perspective: @perspective;
169+ -moz-perspective: @perspective;
170+ perspective: @perspective;
171+}
172+.perspective-origin(@perspective) {
173+ -webkit-perspective-origin: @perspective;
174+ -moz-perspective-origin: @perspective;
175+ perspective-origin: @perspective;
176+}
177+.transform-origin(@origin) {
178+ -webkit-transform-origin: @origin;
179+ -moz-transform-origin: @origin;
180+ -ms-transform-origin: @origin; // IE9 only
181+ transform-origin: @origin;
182+}
183+
184+
185+// Transitions
186+
187+.transition(@transition) {
188+ -webkit-transition: @transition;
189+ -o-transition: @transition;
190+ transition: @transition;
191+}
192+.transition-property(@transition-property) {
193+ -webkit-transition-property: @transition-property;
194+ transition-property: @transition-property;
195+}
196+.transition-delay(@transition-delay) {
197+ -webkit-transition-delay: @transition-delay;
198+ transition-delay: @transition-delay;
199+}
200+.transition-duration(@transition-duration) {
201+ -webkit-transition-duration: @transition-duration;
202+ transition-duration: @transition-duration;
203+}
204+.transition-timing-function(@timing-function) {
205+ -webkit-transition-timing-function: @timing-function;
206+ transition-timing-function: @timing-function;
207+}
208+.transition-transform(@transition) {
209+ -webkit-transition: -webkit-transform @transition;
210+ -moz-transition: -moz-transform @transition;
211+ -o-transition: -o-transform @transition;
212+ transition: transform @transition;
213+}
214+
215+
216+// User select
217+// For selecting text on the page
218+
219+.user-select(@select) {
220+ -webkit-user-select: @select;
221+ -moz-user-select: @select;
222+ -ms-user-select: @select; // IE10+
223+ user-select: @select;
224+}
searx/static/oscar/less/bootstrap/modals.lessnew file+150
@@ -0,0 +1,150 @@
1+//
2+// Modals
3+// --------------------------------------------------
4+
5+// .modal-open - body class for killing the scroll
6+// .modal - container to scroll within
7+// .modal-dialog - positioning shell for the actual modal
8+// .modal-content - actual modal w/ bg and corners and shit
9+
10+// Kill the scroll on the body
11+.modal-open {
12+ overflow: hidden;
13+}
14+
15+// Container that the modal scrolls within
16+.modal {
17+ display: none;
18+ overflow: hidden;
19+ position: fixed;
20+ top: 0;
21+ right: 0;
22+ bottom: 0;
23+ left: 0;
24+ z-index: @zindex-modal;
25+ -webkit-overflow-scrolling: touch;
26+
27+ // Prevent Chrome on Windows from adding a focus outline. For details, see
28+ // https://github.com/twbs/bootstrap/pull/10951.
29+ outline: 0;
30+
31+ // When fading in the modal, animate it to slide down
32+ &.fade .modal-dialog {
33+ .translate3d(0, -25%, 0);
34+ .transition-transform(~"0.3s ease-out");
35+ }
36+ &.in .modal-dialog { .translate3d(0, 0, 0) }
37+}
38+.modal-open .modal {
39+ overflow-x: hidden;
40+ overflow-y: auto;
41+}
42+
43+// Shell div to position the modal with bottom padding
44+.modal-dialog {
45+ position: relative;
46+ width: auto;
47+ margin: 10px;
48+}
49+
50+// Actual modal
51+.modal-content {
52+ position: relative;
53+ background-color: @modal-content-bg;
54+ border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
55+ border: 1px solid @modal-content-border-color;
56+ border-radius: @border-radius-large;
57+ .box-shadow(0 3px 9px rgba(0,0,0,.5));
58+ background-clip: padding-box;
59+ // Remove focus outline from opened modal
60+ outline: 0;
61+}
62+
63+// Modal background
64+.modal-backdrop {
65+ position: fixed;
66+ top: 0;
67+ right: 0;
68+ bottom: 0;
69+ left: 0;
70+ z-index: @zindex-modal-background;
71+ background-color: @modal-backdrop-bg;
72+ // Fade for backdrop
73+ &.fade { .opacity(0); }
74+ &.in { .opacity(@modal-backdrop-opacity); }
75+}
76+
77+// Modal header
78+// Top section of the modal w/ title and dismiss
79+.modal-header {
80+ padding: @modal-title-padding;
81+ border-bottom: 1px solid @modal-header-border-color;
82+ min-height: (@modal-title-padding + @modal-title-line-height);
83+}
84+// Close icon
85+.modal-header .close {
86+ margin-top: -2px;
87+}
88+
89+// Title text within header
90+.modal-title {
91+ margin: 0;
92+ line-height: @modal-title-line-height;
93+}
94+
95+// Modal body
96+// Where all modal content resides (sibling of .modal-header and .modal-footer)
97+.modal-body {
98+ position: relative;
99+ padding: @modal-inner-padding;
100+}
101+
102+// Footer (for actions)
103+.modal-footer {
104+ padding: @modal-inner-padding;
105+ text-align: right; // right align buttons
106+ border-top: 1px solid @modal-footer-border-color;
107+ &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons
108+
109+ // Properly space out buttons
110+ .btn + .btn {
111+ margin-left: 5px;
112+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
113+ }
114+ // but override that for button groups
115+ .btn-group .btn + .btn {
116+ margin-left: -1px;
117+ }
118+ // and override it for block buttons as well
119+ .btn-block + .btn-block {
120+ margin-left: 0;
121+ }
122+}
123+
124+// Measure scrollbar width for padding body during modal show/hide
125+.modal-scrollbar-measure {
126+ position: absolute;
127+ top: -9999px;
128+ width: 50px;
129+ height: 50px;
130+ overflow: scroll;
131+}
132+
133+// Scale up the modal
134+@media (min-width: @screen-sm-min) {
135+ // Automatically set modal's width for larger viewports
136+ .modal-dialog {
137+ width: @modal-md;
138+ margin: 30px auto;
139+ }
140+ .modal-content {
141+ .box-shadow(0 5px 15px rgba(0,0,0,.5));
142+ }
143+
144+ // Modal sizes
145+ .modal-sm { width: @modal-sm; }
146+}
147+
148+@media (min-width: @screen-md-min) {
149+ .modal-lg { width: @modal-lg; }
150+}
searx/static/oscar/less/bootstrap/navbar.lessnew file+655
@@ -0,0 +1,655 @@
1+//
2+// Navbars
3+// --------------------------------------------------
4+
5+
6+// Wrapper and base class
7+//
8+// Provide a static navbar from which we expand to create full-width, fixed, and
9+// other navbar variations.
10+
11+.navbar {
12+ position: relative;
13+ min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
14+ margin-bottom: @navbar-margin-bottom;
15+ border: 1px solid transparent;
16+
17+ // Prevent floats from breaking the navbar
18+ &:extend(.clearfix all);
19+
20+ @media (min-width: @grid-float-breakpoint) {
21+ border-radius: @navbar-border-radius;
22+ }
23+}
24+
25+
26+// Navbar heading
27+//
28+// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy
29+// styling of responsive aspects.
30+
31+.navbar-header {
32+ &:extend(.clearfix all);
33+
34+ @media (min-width: @grid-float-breakpoint) {
35+ float: left;
36+ }
37+}
38+
39+
40+// Navbar collapse (body)
41+//
42+// Group your navbar content into this for easy collapsing and expanding across
43+// various device sizes. By default, this content is collapsed when <768px, but
44+// will expand past that for a horizontal display.
45+//
46+// To start (on mobile devices) the navbar links, forms, and buttons are stacked
47+// vertically and include a `max-height` to overflow in case you have too much
48+// content for the user's viewport.
49+
50+.navbar-collapse {
51+ overflow-x: visible;
52+ padding-right: @navbar-padding-horizontal;
53+ padding-left: @navbar-padding-horizontal;
54+ border-top: 1px solid transparent;
55+ box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
56+ &:extend(.clearfix all);
57+ -webkit-overflow-scrolling: touch;
58+
59+ &.in {
60+ overflow-y: auto;
61+ }
62+
63+ @media (min-width: @grid-float-breakpoint) {
64+ width: auto;
65+ border-top: 0;
66+ box-shadow: none;
67+
68+ &.collapse {
69+ display: block !important;
70+ height: auto !important;
71+ padding-bottom: 0; // Override default setting
72+ overflow: visible !important;
73+ }
74+
75+ &.in {
76+ overflow-y: visible;
77+ }
78+
79+ // Undo the collapse side padding for navbars with containers to ensure
80+ // alignment of right-aligned contents.
81+ .navbar-fixed-top &,
82+ .navbar-static-top &,
83+ .navbar-fixed-bottom & {
84+ padding-left: 0;
85+ padding-right: 0;
86+ }
87+ }
88+}
89+
90+.navbar-fixed-top,
91+.navbar-fixed-bottom {
92+ .navbar-collapse {
93+ max-height: @navbar-collapse-max-height;
94+
95+ @media (max-width: @screen-xs-min) and (orientation: landscape) {
96+ max-height: 200px;
97+ }
98+ }
99+}
100+
101+
102+// Both navbar header and collapse
103+//
104+// When a container is present, change the behavior of the header and collapse.
105+
106+.container,
107+.container-fluid {
108+ > .navbar-header,
109+ > .navbar-collapse {
110+ margin-right: -@navbar-padding-horizontal;
111+ margin-left: -@navbar-padding-horizontal;
112+
113+ @media (min-width: @grid-float-breakpoint) {
114+ margin-right: 0;
115+ margin-left: 0;
116+ }
117+ }
118+}
119+
120+
121+//
122+// Navbar alignment options
123+//
124+// Display the navbar across the entirety of the page or fixed it to the top or
125+// bottom of the page.
126+
127+// Static top (unfixed, but 100% wide) navbar
128+.navbar-static-top {
129+ z-index: @zindex-navbar;
130+ border-width: 0 0 1px;
131+
132+ @media (min-width: @grid-float-breakpoint) {
133+ border-radius: 0;
134+ }
135+}
136+
137+// Fix the top/bottom navbars when screen real estate supports it
138+.navbar-fixed-top,
139+.navbar-fixed-bottom {
140+ position: fixed;
141+ right: 0;
142+ left: 0;
143+ z-index: @zindex-navbar-fixed;
144+ .translate3d(0, 0, 0);
145+
146+ // Undo the rounded corners
147+ @media (min-width: @grid-float-breakpoint) {
148+ border-radius: 0;
149+ }
150+}
151+.navbar-fixed-top {
152+ top: 0;
153+ border-width: 0 0 1px;
154+}
155+.navbar-fixed-bottom {
156+ bottom: 0;
157+ margin-bottom: 0; // override .navbar defaults
158+ border-width: 1px 0 0;
159+}
160+
161+
162+// Brand/project name
163+
164+.navbar-brand {
165+ float: left;
166+ padding: @navbar-padding-vertical @navbar-padding-horizontal;
167+ font-size: @font-size-large;
168+ line-height: @line-height-computed;
169+ height: @navbar-height;
170+
171+ &:hover,
172+ &:focus {
173+ text-decoration: none;
174+ }
175+
176+ @media (min-width: @grid-float-breakpoint) {
177+ .navbar > .container &,
178+ .navbar > .container-fluid & {
179+ margin-left: -@navbar-padding-horizontal;
180+ }
181+ }
182+}
183+
184+
185+// Navbar toggle
186+//
187+// Custom button for toggling the `.navbar-collapse`, powered by the collapse
188+// JavaScript plugin.
189+
190+.navbar-toggle {
191+ position: relative;
192+ float: right;
193+ margin-right: @navbar-padding-horizontal;
194+ padding: 9px 10px;
195+ .navbar-vertical-align(34px);
196+ background-color: transparent;
197+ background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
198+ border: 1px solid transparent;
199+ border-radius: @border-radius-base;
200+
201+ // We remove the `outline` here, but later compensate by attaching `:hover`
202+ // styles to `:focus`.
203+ &:focus {
204+ outline: 0;
205+ }
206+
207+ // Bars
208+ .icon-bar {
209+ display: block;
210+ width: 22px;
211+ height: 2px;
212+ border-radius: 1px;
213+ }
214+ .icon-bar + .icon-bar {
215+ margin-top: 4px;
216+ }
217+
218+ @media (min-width: @grid-float-breakpoint) {
219+ display: none;
220+ }
221+}
222+
223+
224+// Navbar nav links
225+//
226+// Builds on top of the `.nav` components with its own modifier class to make
227+// the nav the full height of the horizontal nav (above 768px).
228+
229+.navbar-nav {
230+ margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;
231+
232+ > li > a {
233+ padding-top: 10px;
234+ padding-bottom: 10px;
235+ line-height: @line-height-computed;
236+ }
237+
238+ @media (max-width: @grid-float-breakpoint-max) {
239+ // Dropdowns get custom display when collapsed
240+ .open .dropdown-menu {
241+ position: static;
242+ float: none;
243+ width: auto;
244+ margin-top: 0;
245+ background-color: transparent;
246+ border: 0;
247+ box-shadow: none;
248+ > li > a,
249+ .dropdown-header {
250+ padding: 5px 15px 5px 25px;
251+ }
252+ > li > a {
253+ line-height: @line-height-computed;
254+ &:hover,
255+ &:focus {
256+ background-image: none;
257+ }
258+ }
259+ }
260+ }
261+
262+ // Uncollapse the nav
263+ @media (min-width: @grid-float-breakpoint) {
264+ float: left;
265+ margin: 0;
266+
267+ > li {
268+ float: left;
269+ > a {
270+ padding-top: @navbar-padding-vertical;
271+ padding-bottom: @navbar-padding-vertical;
272+ }
273+ }
274+
275+ &.navbar-right:last-child {
276+ margin-right: -@navbar-padding-horizontal;
277+ }
278+ }
279+}
280+
281+
282+// Component alignment
283+//
284+// Repurpose the pull utilities as their own navbar utilities to avoid specificity
285+// issues with parents and chaining. Only do this when the navbar is uncollapsed
286+// though so that navbar contents properly stack and align in mobile.
287+
288+@media (min-width: @grid-float-breakpoint) {
289+ .navbar-left { .pull-left(); }
290+ .navbar-right { .pull-right(); }
291+}
292+
293+
294+// Navbar form
295+//
296+// Extension of the `.form-inline` with some extra flavor for optimum display in
297+// our navbars.
298+
299+.navbar-form {
300+ margin-left: -@navbar-padding-horizontal;
301+ margin-right: -@navbar-padding-horizontal;
302+ padding: 10px @navbar-padding-horizontal;
303+ border-top: 1px solid transparent;
304+ border-bottom: 1px solid transparent;
305+ @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
306+ .box-shadow(@shadow);
307+
308+ // Mixin behavior for optimum display
309+ .form-inline();
310+
311+ .form-group {
312+ @media (max-width: @grid-float-breakpoint-max) {
313+ margin-bottom: 5px;
314+ }
315+ }
316+
317+ // Vertically center in expanded, horizontal navbar
318+ .navbar-vertical-align(@input-height-base);
319+
320+ // Undo 100% width for pull classes
321+ @media (min-width: @grid-float-breakpoint) {
322+ width: auto;
323+ border: 0;
324+ margin-left: 0;
325+ margin-right: 0;
326+ padding-top: 0;
327+ padding-bottom: 0;
328+ .box-shadow(none);
329+
330+ // Outdent the form if last child to line up with content down the page
331+ &.navbar-right:last-child {
332+ margin-right: -@navbar-padding-horizontal;
333+ }
334+ }
335+}
336+
337+
338+// Dropdown menus
339+
340+// Menu position and menu carets
341+.navbar-nav > li > .dropdown-menu {
342+ margin-top: 0;
343+ .border-top-radius(0);
344+}
345+// Menu position and menu caret support for dropups via extra dropup class
346+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
347+ .border-bottom-radius(0);
348+}
349+
350+
351+// Buttons in navbars
352+//
353+// Vertically center a button within a navbar (when *not* in a form).
354+
355+.navbar-btn {
356+ .navbar-vertical-align(@input-height-base);
357+
358+ &.btn-sm {
359+ .navbar-vertical-align(@input-height-small);
360+ }
361+ &.btn-xs {
362+ .navbar-vertical-align(22);
363+ }
364+}
365+
366+
367+// Text in navbars
368+//
369+// Add a class to make any element properly align itself vertically within the navbars.
370+
371+.navbar-text {
372+ .navbar-vertical-align(@line-height-computed);
373+
374+ @media (min-width: @grid-float-breakpoint) {
375+ float: left;
376+ margin-left: @navbar-padding-horizontal;
377+ margin-right: @navbar-padding-horizontal;
378+
379+ // Outdent the form if last child to line up with content down the page
380+ &.navbar-right:last-child {
381+ margin-right: 0;
382+ }
383+ }
384+}
385+
386+// Alternate navbars
387+// --------------------------------------------------
388+
389+// Default navbar
390+.navbar-default {
391+ background-color: @navbar-default-bg;
392+ border-color: @navbar-default-border;
393+
394+ .navbar-brand {
395+ color: @navbar-default-brand-color;
396+ &:hover,
397+ &:focus {
398+ color: @navbar-default-brand-hover-color;
399+ background-color: @navbar-default-brand-hover-bg;
400+ }
401+ }
402+
403+ .navbar-text {
404+ color: @navbar-default-color;
405+ }
406+
407+ .navbar-nav {
408+ > li > a {
409+ color: @navbar-default-link-color;
410+
411+ &:hover,
412+ &:focus {
413+ color: @navbar-default-link-hover-color;
414+ background-color: @navbar-default-link-hover-bg;
415+ }
416+ }
417+ > .active > a {
418+ &,
419+ &:hover,
420+ &:focus {
421+ color: @navbar-default-link-active-color;
422+ background-color: @navbar-default-link-active-bg;
423+ }
424+ }
425+ > .disabled > a {
426+ &,
427+ &:hover,
428+ &:focus {
429+ color: @navbar-default-link-disabled-color;
430+ background-color: @navbar-default-link-disabled-bg;
431+ }
432+ }
433+ }
434+
435+ .navbar-toggle {
436+ border-color: @navbar-default-toggle-border-color;
437+ &:hover,
438+ &:focus {
439+ background-color: @navbar-default-toggle-hover-bg;
440+ }
441+ .icon-bar {
442+ background-color: @navbar-default-toggle-icon-bar-bg;
443+ }
444+ }
445+
446+ .navbar-collapse,
447+ .navbar-form {
448+ border-color: @navbar-default-border;
449+ }
450+
451+ // Dropdown menu items
452+ .navbar-nav {
453+ // Remove background color from open dropdown
454+ > .open > a {
455+ &,
456+ &:hover,
457+ &:focus {
458+ background-color: @navbar-default-link-active-bg;
459+ color: @navbar-default-link-active-color;
460+ }
461+ }
462+
463+ @media (max-width: @grid-float-breakpoint-max) {
464+ // Dropdowns get custom display when collapsed
465+ .open .dropdown-menu {
466+ > li > a {
467+ color: @navbar-default-link-color;
468+ &:hover,
469+ &:focus {
470+ color: @navbar-default-link-hover-color;
471+ background-color: @navbar-default-link-hover-bg;
472+ }
473+ }
474+ > .active > a {
475+ &,
476+ &:hover,
477+ &:focus {
478+ color: @navbar-default-link-active-color;
479+ background-color: @navbar-default-link-active-bg;
480+ }
481+ }
482+ > .disabled > a {
483+ &,
484+ &:hover,
485+ &:focus {
486+ color: @navbar-default-link-disabled-color;
487+ background-color: @navbar-default-link-disabled-bg;
488+ }
489+ }
490+ }
491+ }
492+ }
493+
494+
495+ // Links in navbars
496+ //
497+ // Add a class to ensure links outside the navbar nav are colored correctly.
498+
499+ .navbar-link {
500+ color: @navbar-default-link-color;
501+ &:hover {
502+ color: @navbar-default-link-hover-color;
503+ }
504+ }
505+
506+ .btn-link {
507+ color: @navbar-default-link-color;
508+ &:hover,
509+ &:focus {
510+ color: @navbar-default-link-hover-color;
511+ }
512+ &[disabled],
513+ fieldset[disabled] & {
514+ &:hover,
515+ &:focus {
516+ color: @navbar-default-link-disabled-color;
517+ }
518+ }
519+ }
520+}
521+
522+// Inverse navbar
523+
524+.navbar-inverse {
525+ background-color: @navbar-inverse-bg;
526+ border-color: @navbar-inverse-border;
527+
528+ .navbar-brand {
529+ color: @navbar-inverse-brand-color;
530+ &:hover,
531+ &:focus {
532+ color: @navbar-inverse-brand-hover-color;
533+ background-color: @navbar-inverse-brand-hover-bg;
534+ }
535+ }
536+
537+ .navbar-text {
538+ color: @navbar-inverse-color;
539+ }
540+
541+ .navbar-nav {
542+ > li > a {
543+ color: @navbar-inverse-link-color;
544+
545+ &:hover,
546+ &:focus {
547+ color: @navbar-inverse-link-hover-color;
548+ background-color: @navbar-inverse-link-hover-bg;
549+ }
550+ }
551+ > .active > a {
552+ &,
553+ &:hover,
554+ &:focus {
555+ color: @navbar-inverse-link-active-color;
556+ background-color: @navbar-inverse-link-active-bg;
557+ }
558+ }
559+ > .disabled > a {
560+ &,
561+ &:hover,
562+ &:focus {
563+ color: @navbar-inverse-link-disabled-color;
564+ background-color: @navbar-inverse-link-disabled-bg;
565+ }
566+ }
567+ }
568+
569+ // Darken the responsive nav toggle
570+ .navbar-toggle {
571+ border-color: @navbar-inverse-toggle-border-color;
572+ &:hover,
573+ &:focus {
574+ background-color: @navbar-inverse-toggle-hover-bg;
575+ }
576+ .icon-bar {
577+ background-color: @navbar-inverse-toggle-icon-bar-bg;
578+ }
579+ }
580+
581+ .navbar-collapse,
582+ .navbar-form {
583+ border-color: darken(@navbar-inverse-bg, 7%);
584+ }
585+
586+ // Dropdowns
587+ .navbar-nav {
588+ > .open > a {
589+ &,
590+ &:hover,
591+ &:focus {
592+ background-color: @navbar-inverse-link-active-bg;
593+ color: @navbar-inverse-link-active-color;
594+ }
595+ }
596+
597+ @media (max-width: @grid-float-breakpoint-max) {
598+ // Dropdowns get custom display
599+ .open .dropdown-menu {
600+ > .dropdown-header {
601+ border-color: @navbar-inverse-border;
602+ }
603+ .divider {
604+ background-color: @navbar-inverse-border;
605+ }
606+ > li > a {
607+ color: @navbar-inverse-link-color;
608+ &:hover,
609+ &:focus {
610+ color: @navbar-inverse-link-hover-color;
611+ background-color: @navbar-inverse-link-hover-bg;
612+ }
613+ }
614+ > .active > a {
615+ &,
616+ &:hover,
617+ &:focus {
618+ color: @navbar-inverse-link-active-color;
619+ background-color: @navbar-inverse-link-active-bg;
620+ }
621+ }
622+ > .disabled > a {
623+ &,
624+ &:hover,
625+ &:focus {
626+ color: @navbar-inverse-link-disabled-color;
627+ background-color: @navbar-inverse-link-disabled-bg;
628+ }
629+ }
630+ }
631+ }
632+ }
633+
634+ .navbar-link {
635+ color: @navbar-inverse-link-color;
636+ &:hover {
637+ color: @navbar-inverse-link-hover-color;
638+ }
639+ }
640+
641+ .btn-link {
642+ color: @navbar-inverse-link-color;
643+ &:hover,
644+ &:focus {
645+ color: @navbar-inverse-link-hover-color;
646+ }
647+ &[disabled],
648+ fieldset[disabled] & {
649+ &:hover,
650+ &:focus {
651+ color: @navbar-inverse-link-disabled-color;
652+ }
653+ }
654+ }
655+}
searx/static/oscar/less/bootstrap/navs.lessnew file+242
@@ -0,0 +1,242 @@
1+//
2+// Navs
3+// --------------------------------------------------
4+
5+
6+// Base class
7+// --------------------------------------------------
8+
9+.nav {
10+ margin-bottom: 0;
11+ padding-left: 0; // Override default ul/ol
12+ list-style: none;
13+ &:extend(.clearfix all);
14+
15+ > li {
16+ position: relative;
17+ display: block;
18+
19+ > a {
20+ position: relative;
21+ display: block;
22+ padding: @nav-link-padding;
23+ &:hover,
24+ &:focus {
25+ text-decoration: none;
26+ background-color: @nav-link-hover-bg;
27+ }
28+ }
29+
30+ // Disabled state sets text to gray and nukes hover/tab effects
31+ &.disabled > a {
32+ color: @nav-disabled-link-color;
33+
34+ &:hover,
35+ &:focus {
36+ color: @nav-disabled-link-hover-color;
37+ text-decoration: none;
38+ background-color: transparent;
39+ cursor: not-allowed;
40+ }
41+ }
42+ }
43+
44+ // Open dropdowns
45+ .open > a {
46+ &,
47+ &:hover,
48+ &:focus {
49+ background-color: @nav-link-hover-bg;
50+ border-color: @link-color;
51+ }
52+ }
53+
54+ // Nav dividers (deprecated with v3.0.1)
55+ //
56+ // This should have been removed in v3 with the dropping of `.nav-list`, but
57+ // we missed it. We don't currently support this anywhere, but in the interest
58+ // of maintaining backward compatibility in case you use it, it's deprecated.
59+ .nav-divider {
60+ .nav-divider();
61+ }
62+
63+ // Prevent IE8 from misplacing imgs
64+ //
65+ // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
66+ > li > a > img {
67+ max-width: none;
68+ }
69+}
70+
71+
72+// Tabs
73+// -------------------------
74+
75+// Give the tabs something to sit on
76+.nav-tabs {
77+ border-bottom: 1px solid @nav-tabs-border-color;
78+ > li {
79+ float: left;
80+ // Make the list-items overlay the bottom border
81+ margin-bottom: -1px;
82+
83+ // Actual tabs (as links)
84+ > a {
85+ margin-right: 2px;
86+ line-height: @line-height-base;
87+ border: 1px solid transparent;
88+ border-radius: @border-radius-base @border-radius-base 0 0;
89+ &:hover {
90+ border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
91+ }
92+ }
93+
94+ // Active state, and its :hover to override normal :hover
95+ &.active > a {
96+ &,
97+ &:hover,
98+ &:focus {
99+ color: @nav-tabs-active-link-hover-color;
100+ background-color: @nav-tabs-active-link-hover-bg;
101+ border: 1px solid @nav-tabs-active-link-hover-border-color;
102+ border-bottom-color: transparent;
103+ cursor: default;
104+ }
105+ }
106+ }
107+ // pulling this in mainly for less shorthand
108+ &.nav-justified {
109+ .nav-justified();
110+ .nav-tabs-justified();
111+ }
112+}
113+
114+
115+// Pills
116+// -------------------------
117+.nav-pills {
118+ > li {
119+ float: left;
120+
121+ // Links rendered as pills
122+ > a {
123+ border-radius: @nav-pills-border-radius;
124+ }
125+ + li {
126+ margin-left: 2px;
127+ }
128+
129+ // Active state
130+ &.active > a {
131+ &,
132+ &:hover,
133+ &:focus {
134+ color: @nav-pills-active-link-hover-color;
135+ background-color: @nav-pills-active-link-hover-bg;
136+ }
137+ }
138+ }
139+}
140+
141+
142+// Stacked pills
143+.nav-stacked {
144+ > li {
145+ float: none;
146+ + li {
147+ margin-top: 2px;
148+ margin-left: 0; // no need for this gap between nav items
149+ }
150+ }
151+}
152+
153+
154+// Nav variations
155+// --------------------------------------------------
156+
157+// Justified nav links
158+// -------------------------
159+
160+.nav-justified {
161+ width: 100%;
162+
163+ > li {
164+ float: none;
165+ > a {
166+ text-align: center;
167+ margin-bottom: 5px;
168+ }
169+ }
170+
171+ > .dropdown .dropdown-menu {
172+ top: auto;
173+ left: auto;
174+ }
175+
176+ @media (min-width: @screen-sm-min) {
177+ > li {
178+ display: table-cell;
179+ width: 1%;
180+ > a {
181+ margin-bottom: 0;
182+ }
183+ }
184+ }
185+}
186+
187+// Move borders to anchors instead of bottom of list
188+//
189+// Mixin for adding on top the shared `.nav-justified` styles for our tabs
190+.nav-tabs-justified {
191+ border-bottom: 0;
192+
193+ > li > a {
194+ // Override margin from .nav-tabs
195+ margin-right: 0;
196+ border-radius: @border-radius-base;
197+ }
198+
199+ > .active > a,
200+ > .active > a:hover,
201+ > .active > a:focus {
202+ border: 1px solid @nav-tabs-justified-link-border-color;
203+ }
204+
205+ @media (min-width: @screen-sm-min) {
206+ > li > a {
207+ border-bottom: 1px solid @nav-tabs-justified-link-border-color;
208+ border-radius: @border-radius-base @border-radius-base 0 0;
209+ }
210+ > .active > a,
211+ > .active > a:hover,
212+ > .active > a:focus {
213+ border-bottom-color: @nav-tabs-justified-active-link-border-color;
214+ }
215+ }
216+}
217+
218+
219+// Tabbable tabs
220+// -------------------------
221+
222+// Hide tabbable panes to start, show them when `.active`
223+.tab-content {
224+ > .tab-pane {
225+ display: none;
226+ }
227+ > .active {
228+ display: block;
229+ }
230+}
231+
232+
233+// Dropdowns
234+// -------------------------
235+
236+// Specific dropdowns
237+.nav-tabs .dropdown-menu {
238+ // make dropdown border overlap tab border
239+ margin-top: -1px;
240+ // Remove the top rounded corners here since there is a hard edge above the menu
241+ .border-top-radius(0);
242+}
searx/static/oscar/less/bootstrap/normalize.lessnew file+425
@@ -0,0 +1,425 @@
1+/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
2+
3+//
4+// 1. Set default font family to sans-serif.
5+// 2. Prevent iOS text size adjust after orientation change, without disabling
6+// user zoom.
7+//
8+
9+html {
10+ font-family: sans-serif; // 1
11+ -ms-text-size-adjust: 100%; // 2
12+ -webkit-text-size-adjust: 100%; // 2
13+}
14+
15+//
16+// Remove default margin.
17+//
18+
19+body {
20+ margin: 0;
21+}
22+
23+// HTML5 display definitions
24+// ==========================================================================
25+
26+//
27+// Correct `block` display not defined for any HTML5 element in IE 8/9.
28+// Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
29+// Correct `block` display not defined for `main` in IE 11.
30+//
31+
32+article,
33+aside,
34+details,
35+figcaption,
36+figure,
37+footer,
38+header,
39+hgroup,
40+main,
41+nav,
42+section,
43+summary {
44+ display: block;
45+}
46+
47+//
48+// 1. Correct `inline-block` display not defined in IE 8/9.
49+// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
50+//
51+
52+audio,
53+canvas,
54+progress,
55+video {
56+ display: inline-block; // 1
57+ vertical-align: baseline; // 2
58+}
59+
60+//
61+// Prevent modern browsers from displaying `audio` without controls.
62+// Remove excess height in iOS 5 devices.
63+//
64+
65+audio:not([controls]) {
66+ display: none;
67+ height: 0;
68+}
69+
70+//
71+// Address `[hidden]` styling not present in IE 8/9/10.
72+// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
73+//
74+
75+[hidden],
76+template {
77+ display: none;
78+}
79+
80+// Links
81+// ==========================================================================
82+
83+//
84+// Remove the gray background color from active links in IE 10.
85+//
86+
87+a {
88+ background: transparent;
89+}
90+
91+//
92+// Improve readability when focused and also mouse hovered in all browsers.
93+//
94+
95+a:active,
96+a:hover {
97+ outline: 0;
98+}
99+
100+// Text-level semantics
101+// ==========================================================================
102+
103+//
104+// Address styling not present in IE 8/9/10/11, Safari, and Chrome.
105+//
106+
107+abbr[title] {
108+ border-bottom: 1px dotted;
109+}
110+
111+//
112+// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
113+//
114+
115+b,
116+strong {
117+ font-weight: bold;
118+}
119+
120+//
121+// Address styling not present in Safari and Chrome.
122+//
123+
124+dfn {
125+ font-style: italic;
126+}
127+
128+//
129+// Address variable `h1` font-size and margin within `section` and `article`
130+// contexts in Firefox 4+, Safari, and Chrome.
131+//
132+
133+h1 {
134+ font-size: 2em;
135+ margin: 0.67em 0;
136+}
137+
138+//
139+// Address styling not present in IE 8/9.
140+//
141+
142+mark {
143+ background: #ff0;
144+ color: #000;
145+}
146+
147+//
148+// Address inconsistent and variable font size in all browsers.
149+//
150+
151+small {
152+ font-size: 80%;
153+}
154+
155+//
156+// Prevent `sub` and `sup` affecting `line-height` in all browsers.
157+//
158+
159+sub,
160+sup {
161+ font-size: 75%;
162+ line-height: 0;
163+ position: relative;
164+ vertical-align: baseline;
165+}
166+
167+sup {
168+ top: -0.5em;
169+}
170+
171+sub {
172+ bottom: -0.25em;
173+}
174+
175+// Embedded content
176+// ==========================================================================
177+
178+//
179+// Remove border when inside `a` element in IE 8/9/10.
180+//
181+
182+img {
183+ border: 0;
184+}
185+
186+//
187+// Correct overflow not hidden in IE 9/10/11.
188+//
189+
190+svg:not(:root) {
191+ overflow: hidden;
192+}
193+
194+// Grouping content
195+// ==========================================================================
196+
197+//
198+// Address margin not present in IE 8/9 and Safari.
199+//
200+
201+figure {
202+ margin: 1em 40px;
203+}
204+
205+//
206+// Address differences between Firefox and other browsers.
207+//
208+
209+hr {
210+ -moz-box-sizing: content-box;
211+ box-sizing: content-box;
212+ height: 0;
213+}
214+
215+//
216+// Contain overflow in all browsers.
217+//
218+
219+pre {
220+ overflow: auto;
221+}
222+
223+//
224+// Address odd `em`-unit font size rendering in all browsers.
225+//
226+
227+code,
228+kbd,
229+pre,
230+samp {
231+ font-family: monospace, monospace;
232+ font-size: 1em;
233+}
234+
235+// Forms
236+// ==========================================================================
237+
238+//
239+// Known limitation: by default, Chrome and Safari on OS X allow very limited
240+// styling of `select`, unless a `border` property is set.
241+//
242+
243+//
244+// 1. Correct color not being inherited.
245+// Known issue: affects color of disabled elements.
246+// 2. Correct font properties not being inherited.
247+// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
248+//
249+
250+button,
251+input,
252+optgroup,
253+select,
254+textarea {
255+ color: inherit; // 1
256+ font: inherit; // 2
257+ margin: 0; // 3
258+}
259+
260+//
261+// Address `overflow` set to `hidden` in IE 8/9/10/11.
262+//
263+
264+button {
265+ overflow: visible;
266+}
267+
268+//
269+// Address inconsistent `text-transform` inheritance for `button` and `select`.
270+// All other form control elements do not inherit `text-transform` values.
271+// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
272+// Correct `select` style inheritance in Firefox.
273+//
274+
275+button,
276+select {
277+ text-transform: none;
278+}
279+
280+//
281+// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
282+// and `video` controls.
283+// 2. Correct inability to style clickable `input` types in iOS.
284+// 3. Improve usability and consistency of cursor style between image-type
285+// `input` and others.
286+//
287+
288+button,
289+html input[type="button"], // 1
290+input[type="reset"],
291+input[type="submit"] {
292+ -webkit-appearance: button; // 2
293+ cursor: pointer; // 3
294+}
295+
296+//
297+// Re-set default cursor for disabled elements.
298+//
299+
300+button[disabled],
301+html input[disabled] {
302+ cursor: default;
303+}
304+
305+//
306+// Remove inner padding and border in Firefox 4+.
307+//
308+
309+button::-moz-focus-inner,
310+input::-moz-focus-inner {
311+ border: 0;
312+ padding: 0;
313+}
314+
315+//
316+// Address Firefox 4+ setting `line-height` on `input` using `!important` in
317+// the UA stylesheet.
318+//
319+
320+input {
321+ line-height: normal;
322+}
323+
324+//
325+// It's recommended that you don't attempt to style these elements.
326+// Firefox's implementation doesn't respect box-sizing, padding, or width.
327+//
328+// 1. Address box sizing set to `content-box` in IE 8/9/10.
329+// 2. Remove excess padding in IE 8/9/10.
330+//
331+
332+input[type="checkbox"],
333+input[type="radio"] {
334+ box-sizing: border-box; // 1
335+ padding: 0; // 2
336+}
337+
338+//
339+// Fix the cursor style for Chrome's increment/decrement buttons. For certain
340+// `font-size` values of the `input`, it causes the cursor style of the
341+// decrement button to change from `default` to `text`.
342+//
343+
344+input[type="number"]::-webkit-inner-spin-button,
345+input[type="number"]::-webkit-outer-spin-button {
346+ height: auto;
347+}
348+
349+//
350+// 1. Address `appearance` set to `searchfield` in Safari and Chrome.
351+// 2. Address `box-sizing` set to `border-box` in Safari and Chrome
352+// (include `-moz` to future-proof).
353+//
354+
355+input[type="search"] {
356+ -webkit-appearance: textfield; // 1
357+ -moz-box-sizing: content-box;
358+ -webkit-box-sizing: content-box; // 2
359+ box-sizing: content-box;
360+}
361+
362+//
363+// Remove inner padding and search cancel button in Safari and Chrome on OS X.
364+// Safari (but not Chrome) clips the cancel button when the search input has
365+// padding (and `textfield` appearance).
366+//
367+
368+input[type="search"]::-webkit-search-cancel-button,
369+input[type="search"]::-webkit-search-decoration {
370+ -webkit-appearance: none;
371+}
372+
373+//
374+// Define consistent border, margin, and padding.
375+//
376+
377+fieldset {
378+ border: 1px solid #c0c0c0;
379+ margin: 0 2px;
380+ padding: 0.35em 0.625em 0.75em;
381+}
382+
383+//
384+// 1. Correct `color` not being inherited in IE 8/9/10/11.
385+// 2. Remove padding so people aren't caught out if they zero out fieldsets.
386+//
387+
388+legend {
389+ border: 0; // 1
390+ padding: 0; // 2
391+}
392+
393+//
394+// Remove default vertical scrollbar in IE 8/9/10/11.
395+//
396+
397+textarea {
398+ overflow: auto;
399+}
400+
401+//
402+// Don't inherit the `font-weight` (applied by a rule above).
403+// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
404+//
405+
406+optgroup {
407+ font-weight: bold;
408+}
409+
410+// Tables
411+// ==========================================================================
412+
413+//
414+// Remove most spacing between table cells.
415+//
416+
417+table {
418+ border-collapse: collapse;
419+ border-spacing: 0;
420+}
421+
422+td,
423+th {
424+ padding: 0;
425+}
searx/static/oscar/less/bootstrap/pager.lessnew file+55
@@ -0,0 +1,55 @@
1+//
2+// Pager pagination
3+// --------------------------------------------------
4+
5+
6+.pager {
7+ padding-left: 0;
8+ margin: @line-height-computed 0;
9+ list-style: none;
10+ text-align: center;
11+ &:extend(.clearfix all);
12+ li {
13+ display: inline;
14+ > a,
15+ > span {
16+ display: inline-block;
17+ padding: 5px 14px;
18+ background-color: @pager-bg;
19+ border: 1px solid @pager-border;
20+ border-radius: @pager-border-radius;
21+ }
22+
23+ > a:hover,
24+ > a:focus {
25+ text-decoration: none;
26+ background-color: @pager-hover-bg;
27+ }
28+ }
29+
30+ .next {
31+ > a,
32+ > span {
33+ float: right;
34+ }
35+ }
36+
37+ .previous {
38+ > a,
39+ > span {
40+ float: left;
41+ }
42+ }
43+
44+ .disabled {
45+ > a,
46+ > a:hover,
47+ > a:focus,
48+ > span {
49+ color: @pager-disabled-color;
50+ background-color: @pager-bg;
51+ cursor: not-allowed;
52+ }
53+ }
54+
55+}
searx/static/oscar/less/bootstrap/pagination.lessnew file+88
@@ -0,0 +1,88 @@
1+//
2+// Pagination (multiple pages)
3+// --------------------------------------------------
4+.pagination {
5+ display: inline-block;
6+ padding-left: 0;
7+ margin: @line-height-computed 0;
8+ border-radius: @border-radius-base;
9+
10+ > li {
11+ display: inline; // Remove list-style and block-level defaults
12+ > a,
13+ > span {
14+ position: relative;
15+ float: left; // Collapse white-space
16+ padding: @padding-base-vertical @padding-base-horizontal;
17+ line-height: @line-height-base;
18+ text-decoration: none;
19+ color: @pagination-color;
20+ background-color: @pagination-bg;
21+ border: 1px solid @pagination-border;
22+ margin-left: -1px;
23+ }
24+ &:first-child {
25+ > a,
26+ > span {
27+ margin-left: 0;
28+ .border-left-radius(@border-radius-base);
29+ }
30+ }
31+ &:last-child {
32+ > a,
33+ > span {
34+ .border-right-radius(@border-radius-base);
35+ }
36+ }
37+ }
38+
39+ > li > a,
40+ > li > span {
41+ &:hover,
42+ &:focus {
43+ color: @pagination-hover-color;
44+ background-color: @pagination-hover-bg;
45+ border-color: @pagination-hover-border;
46+ }
47+ }
48+
49+ > .active > a,
50+ > .active > span {
51+ &,
52+ &:hover,
53+ &:focus {
54+ z-index: 2;
55+ color: @pagination-active-color;
56+ background-color: @pagination-active-bg;
57+ border-color: @pagination-active-border;
58+ cursor: default;
59+ }
60+ }
61+
62+ > .disabled {
63+ > span,
64+ > span:hover,
65+ > span:focus,
66+ > a,
67+ > a:hover,
68+ > a:focus {
69+ color: @pagination-disabled-color;
70+ background-color: @pagination-disabled-bg;
71+ border-color: @pagination-disabled-border;
72+ cursor: not-allowed;
73+ }
74+ }
75+}
76+
77+// Sizing
78+// --------------------------------------------------
79+
80+// Large
81+.pagination-lg {
82+ .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);
83+}
84+
85+// Small
86+.pagination-sm {
87+ .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);
88+}
searx/static/oscar/less/bootstrap/panels.lessnew file+243
@@ -0,0 +1,243 @@
1+//
2+// Panels
3+// --------------------------------------------------
4+
5+
6+// Base class
7+.panel {
8+ margin-bottom: @line-height-computed;
9+ background-color: @panel-bg;
10+ border: 1px solid transparent;
11+ border-radius: @panel-border-radius;
12+ .box-shadow(0 1px 1px rgba(0,0,0,.05));
13+}
14+
15+// Panel contents
16+.panel-body {
17+ padding: @panel-body-padding;
18+ &:extend(.clearfix all);
19+}
20+
21+// Optional heading
22+.panel-heading {
23+ padding: @panel-heading-padding;
24+ border-bottom: 1px solid transparent;
25+ .border-top-radius((@panel-border-radius - 1));
26+
27+ > .dropdown .dropdown-toggle {
28+ color: inherit;
29+ }
30+}
31+
32+// Within heading, strip any `h*` tag of its default margins for spacing.
33+.panel-title {
34+ margin-top: 0;
35+ margin-bottom: 0;
36+ font-size: ceil((@font-size-base * 1.125));
37+ color: inherit;
38+
39+ > a {
40+ color: inherit;
41+ }
42+}
43+
44+// Optional footer (stays gray in every modifier class)
45+.panel-footer {
46+ padding: @panel-footer-padding;
47+ background-color: @panel-footer-bg;
48+ border-top: 1px solid @panel-inner-border;
49+ .border-bottom-radius((@panel-border-radius - 1));
50+}
51+
52+
53+// List groups in panels
54+//
55+// By default, space out list group content from panel headings to account for
56+// any kind of custom content between the two.
57+
58+.panel {
59+ > .list-group {
60+ margin-bottom: 0;
61+
62+ .list-group-item {
63+ border-width: 1px 0;
64+ border-radius: 0;
65+ }
66+
67+ // Add border top radius for first one
68+ &:first-child {
69+ .list-group-item:first-child {
70+ border-top: 0;
71+ .border-top-radius((@panel-border-radius - 1));
72+ }
73+ }
74+ // Add border bottom radius for last one
75+ &:last-child {
76+ .list-group-item:last-child {
77+ border-bottom: 0;
78+ .border-bottom-radius((@panel-border-radius - 1));
79+ }
80+ }
81+ }
82+}
83+// Collapse space between when there's no additional content.
84+.panel-heading + .list-group {
85+ .list-group-item:first-child {
86+ border-top-width: 0;
87+ }
88+}
89+.list-group + .panel-footer {
90+ border-top-width: 0;
91+}
92+
93+// Tables in panels
94+//
95+// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and
96+// watch it go full width.
97+
98+.panel {
99+ > .table,
100+ > .table-responsive > .table,
101+ > .panel-collapse > .table {
102+ margin-bottom: 0;
103+ }
104+ // Add border top radius for first one
105+ > .table:first-child,
106+ > .table-responsive:first-child > .table:first-child {
107+ .border-top-radius((@panel-border-radius - 1));
108+
109+ > thead:first-child,
110+ > tbody:first-child {
111+ > tr:first-child {
112+ td:first-child,
113+ th:first-child {
114+ border-top-left-radius: (@panel-border-radius - 1);
115+ }
116+ td:last-child,
117+ th:last-child {
118+ border-top-right-radius: (@panel-border-radius - 1);
119+ }
120+ }
121+ }
122+ }
123+ // Add border bottom radius for last one
124+ > .table:last-child,
125+ > .table-responsive:last-child > .table:last-child {
126+ .border-bottom-radius((@panel-border-radius - 1));
127+
128+ > tbody:last-child,
129+ > tfoot:last-child {
130+ > tr:last-child {
131+ td:first-child,
132+ th:first-child {
133+ border-bottom-left-radius: (@panel-border-radius - 1);
134+ }
135+ td:last-child,
136+ th:last-child {
137+ border-bottom-right-radius: (@panel-border-radius - 1);
138+ }
139+ }
140+ }
141+ }
142+ > .panel-body + .table,
143+ > .panel-body + .table-responsive {
144+ border-top: 1px solid @table-border-color;
145+ }
146+ > .table > tbody:first-child > tr:first-child th,
147+ > .table > tbody:first-child > tr:first-child td {
148+ border-top: 0;
149+ }
150+ > .table-bordered,
151+ > .table-responsive > .table-bordered {
152+ border: 0;
153+ > thead,
154+ > tbody,
155+ > tfoot {
156+ > tr {
157+ > th:first-child,
158+ > td:first-child {
159+ border-left: 0;
160+ }
161+ > th:last-child,
162+ > td:last-child {
163+ border-right: 0;
164+ }
165+ }
166+ }
167+ > thead,
168+ > tbody {
169+ > tr:first-child {
170+ > td,
171+ > th {
172+ border-bottom: 0;
173+ }
174+ }
175+ }
176+ > tbody,
177+ > tfoot {
178+ > tr:last-child {
179+ > td,
180+ > th {
181+ border-bottom: 0;
182+ }
183+ }
184+ }
185+ }
186+ > .table-responsive {
187+ border: 0;
188+ margin-bottom: 0;
189+ }
190+}
191+
192+
193+// Collapsable panels (aka, accordion)
194+//
195+// Wrap a series of panels in `.panel-group` to turn them into an accordion with
196+// the help of our collapse JavaScript plugin.
197+
198+.panel-group {
199+ margin-bottom: @line-height-computed;
200+
201+ // Tighten up margin so it's only between panels
202+ .panel {
203+ margin-bottom: 0;
204+ border-radius: @panel-border-radius;
205+ + .panel {
206+ margin-top: 5px;
207+ }
208+ }
209+
210+ .panel-heading {
211+ border-bottom: 0;
212+ + .panel-collapse > .panel-body {
213+ border-top: 1px solid @panel-inner-border;
214+ }
215+ }
216+ .panel-footer {
217+ border-top: 0;
218+ + .panel-collapse .panel-body {
219+ border-bottom: 1px solid @panel-inner-border;
220+ }
221+ }
222+}
223+
224+
225+// Contextual variations
226+.panel-default {
227+ .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);
228+}
229+.panel-primary {
230+ .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);
231+}
232+.panel-success {
233+ .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);
234+}
235+.panel-info {
236+ .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
237+}
238+.panel-warning {
239+ .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);
240+}
241+.panel-danger {
242+ .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);
243+}
searx/static/oscar/less/bootstrap/popovers.lessnew file+133
@@ -0,0 +1,133 @@
1+//
2+// Popovers
3+// --------------------------------------------------
4+
5+
6+.popover {
7+ position: absolute;
8+ top: 0;
9+ left: 0;
10+ z-index: @zindex-popover;
11+ display: none;
12+ max-width: @popover-max-width;
13+ padding: 1px;
14+ text-align: left; // Reset given new insertion method
15+ background-color: @popover-bg;
16+ background-clip: padding-box;
17+ border: 1px solid @popover-fallback-border-color;
18+ border: 1px solid @popover-border-color;
19+ border-radius: @border-radius-large;
20+ .box-shadow(0 5px 10px rgba(0,0,0,.2));
21+
22+ // Overrides for proper insertion
23+ white-space: normal;
24+
25+ // Offset the popover to account for the popover arrow
26+ &.top { margin-top: -@popover-arrow-width; }
27+ &.right { margin-left: @popover-arrow-width; }
28+ &.bottom { margin-top: @popover-arrow-width; }
29+ &.left { margin-left: -@popover-arrow-width; }
30+}
31+
32+.popover-title {
33+ margin: 0; // reset heading margin
34+ padding: 8px 14px;
35+ font-size: @font-size-base;
36+ font-weight: normal;
37+ line-height: 18px;
38+ background-color: @popover-title-bg;
39+ border-bottom: 1px solid darken(@popover-title-bg, 5%);
40+ border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;
41+}
42+
43+.popover-content {
44+ padding: 9px 14px;
45+}
46+
47+// Arrows
48+//
49+// .arrow is outer, .arrow:after is inner
50+
51+.popover > .arrow {
52+ &,
53+ &:after {
54+ position: absolute;
55+ display: block;
56+ width: 0;
57+ height: 0;
58+ border-color: transparent;
59+ border-style: solid;
60+ }
61+}
62+.popover > .arrow {
63+ border-width: @popover-arrow-outer-width;
64+}
65+.popover > .arrow:after {
66+ border-width: @popover-arrow-width;
67+ content: "";
68+}
69+
70+.popover {
71+ &.top > .arrow {
72+ left: 50%;
73+ margin-left: -@popover-arrow-outer-width;
74+ border-bottom-width: 0;
75+ border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
76+ border-top-color: @popover-arrow-outer-color;
77+ bottom: -@popover-arrow-outer-width;
78+ &:after {
79+ content: " ";
80+ bottom: 1px;
81+ margin-left: -@popover-arrow-width;
82+ border-bottom-width: 0;
83+ border-top-color: @popover-arrow-color;
84+ }
85+ }
86+ &.right > .arrow {
87+ top: 50%;
88+ left: -@popover-arrow-outer-width;
89+ margin-top: -@popover-arrow-outer-width;
90+ border-left-width: 0;
91+ border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
92+ border-right-color: @popover-arrow-outer-color;
93+ &:after {
94+ content: " ";
95+ left: 1px;
96+ bottom: -@popover-arrow-width;
97+ border-left-width: 0;
98+ border-right-color: @popover-arrow-color;
99+ }
100+ }
101+ &.bottom > .arrow {
102+ left: 50%;
103+ margin-left: -@popover-arrow-outer-width;
104+ border-top-width: 0;
105+ border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
106+ border-bottom-color: @popover-arrow-outer-color;
107+ top: -@popover-arrow-outer-width;
108+ &:after {
109+ content: " ";
110+ top: 1px;
111+ margin-left: -@popover-arrow-width;
112+ border-top-width: 0;
113+ border-bottom-color: @popover-arrow-color;
114+ }
115+ }
116+
117+ &.left > .arrow {
118+ top: 50%;
119+ right: -@popover-arrow-outer-width;
120+ margin-top: -@popover-arrow-outer-width;
121+ border-right-width: 0;
122+ border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
123+ border-left-color: @popover-arrow-outer-color;
124+ &:after {
125+ content: " ";
126+ right: 1px;
127+ border-right-width: 0;
128+ border-left-color: @popover-arrow-color;
129+ bottom: -@popover-arrow-width;
130+ }
131+ }
132+
133+}
searx/static/oscar/less/bootstrap/print.lessnew file+101
@@ -0,0 +1,101 @@
1+//
2+// Basic print styles
3+// --------------------------------------------------
4+// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
5+
6+@media print {
7+
8+ * {
9+ text-shadow: none !important;
10+ color: #000 !important; // Black prints faster: h5bp.com/s
11+ background: transparent !important;
12+ box-shadow: none !important;
13+ }
14+
15+ a,
16+ a:visited {
17+ text-decoration: underline;
18+ }
19+
20+ a[href]:after {
21+ content: " (" attr(href) ")";
22+ }
23+
24+ abbr[title]:after {
25+ content: " (" attr(title) ")";
26+ }
27+
28+ // Don't show links for images, or javascript/internal links
29+ a[href^="javascript:"]:after,
30+ a[href^="#"]:after {
31+ content: "";
32+ }
33+
34+ pre,
35+ blockquote {
36+ border: 1px solid #999;
37+ page-break-inside: avoid;
38+ }
39+
40+ thead {
41+ display: table-header-group; // h5bp.com/t
42+ }
43+
44+ tr,
45+ img {
46+ page-break-inside: avoid;
47+ }
48+
49+ img {
50+ max-width: 100% !important;
51+ }
52+
53+ p,
54+ h2,
55+ h3 {
56+ orphans: 3;
57+ widows: 3;
58+ }
59+
60+ h2,
61+ h3 {
62+ page-break-after: avoid;
63+ }
64+
65+ // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
66+ // Once fixed, we can just straight up remove this.
67+ select {
68+ background: #fff !important;
69+ }
70+
71+ // Bootstrap components
72+ .navbar {
73+ display: none;
74+ }
75+ .table {
76+ td,
77+ th {
78+ background-color: #fff !important;
79+ }
80+ }
81+ .btn,
82+ .dropup > .btn {
83+ > .caret {
84+ border-top-color: #000 !important;
85+ }
86+ }
87+ .label {
88+ border: 1px solid #000;
89+ }
90+
91+ .table {
92+ border-collapse: collapse !important;
93+ }
94+ .table-bordered {
95+ th,
96+ td {
97+ border: 1px solid #ddd !important;
98+ }
99+ }
100+
101+}
searx/static/oscar/less/bootstrap/progress-bars.lessnew file+105
@@ -0,0 +1,105 @@
1+//
2+// Progress bars
3+// --------------------------------------------------
4+
5+
6+// Bar animations
7+// -------------------------
8+
9+// WebKit
10+@-webkit-keyframes progress-bar-stripes {
11+ from { background-position: 40px 0; }
12+ to { background-position: 0 0; }
13+}
14+
15+// Spec and IE10+
16+@keyframes progress-bar-stripes {
17+ from { background-position: 40px 0; }
18+ to { background-position: 0 0; }
19+}
20+
21+
22+
23+// Bar itself
24+// -------------------------
25+
26+// Outer container
27+.progress {
28+ overflow: hidden;
29+ height: @line-height-computed;
30+ margin-bottom: @line-height-computed;
31+ background-color: @progress-bg;
32+ border-radius: @border-radius-base;
33+ .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
34+}
35+
36+// Bar of progress
37+.progress-bar {
38+ float: left;
39+ width: 0%;
40+ height: 100%;
41+ font-size: @font-size-small;
42+ line-height: @line-height-computed;
43+ color: @progress-bar-color;
44+ text-align: center;
45+ background-color: @progress-bar-bg;
46+ .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
47+ .transition(width .6s ease);
48+}
49+
50+// Striped bars
51+//
52+// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the
53+// `.progress-bar-striped` class, which you just add to an existing
54+// `.progress-bar`.
55+.progress-striped .progress-bar,
56+.progress-bar-striped {
57+ #gradient > .striped();
58+ background-size: 40px 40px;
59+}
60+
61+// Call animation for the active one
62+//
63+// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the
64+// `.progress-bar.active` approach.
65+.progress.active .progress-bar,
66+.progress-bar.active {
67+ .animation(progress-bar-stripes 2s linear infinite);
68+}
69+
70+// Account for lower percentages
71+.progress-bar {
72+ &[aria-valuenow="1"],
73+ &[aria-valuenow="2"] {
74+ min-width: 30px;
75+ }
76+
77+ &[aria-valuenow="0"] {
78+ color: @gray-light;
79+ min-width: 30px;
80+ background-color: transparent;
81+ background-image: none;
82+ box-shadow: none;
83+ }
84+}
85+
86+
87+
88+// Variations
89+// -------------------------
90+
91+.progress-bar-success {
92+ .progress-bar-variant(@progress-bar-success-bg);
93+}
94+
95+.progress-bar-info {
96+ .progress-bar-variant(@progress-bar-info-bg);
97+}
98+
99+.progress-bar-warning {
100+ .progress-bar-variant(@progress-bar-warning-bg);
101+}
102+
103+.progress-bar-danger {
104+ .progress-bar-variant(@progress-bar-danger-bg);
105+}
searx/static/oscar/less/bootstrap/responsive-embed.lessnew file+34
@@ -0,0 +1,34 @@
1+// Embeds responsive
2+//
3+// Credit: Nicolas Gallagher and SUIT CSS.
4+
5+.embed-responsive {
6+ position: relative;
7+ display: block;
8+ height: 0;
9+ padding: 0;
10+ overflow: hidden;
11+
12+ .embed-responsive-item,
13+ iframe,
14+ embed,
15+ object {
16+ position: absolute;
17+ top: 0;
18+ left: 0;
19+ bottom: 0;
20+ height: 100%;
21+ width: 100%;
22+ border: 0;
23+ }
24+
25+ // Modifier class for 16:9 aspect ratio
26+ &.embed-responsive-16by9 {
27+ padding-bottom: 56.25%;
28+ }
29+
30+ // Modifier class for 4:3 aspect ratio
31+ &.embed-responsive-4by3 {
32+ padding-bottom: 75%;
33+ }
34+}
searx/static/oscar/less/bootstrap/responsive-utilities.lessnew file+194
@@ -0,0 +1,194 @@
1+//
2+// Responsive: Utility classes
3+// --------------------------------------------------
4+
5+
6+// IE10 in Windows (Phone) 8
7+//
8+// Support for responsive views via media queries is kind of borked in IE10, for
9+// Surface/desktop in split view and for Windows Phone 8. This particular fix
10+// must be accompanied by a snippet of JavaScript to sniff the user agent and
11+// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
12+// our Getting Started page for more information on this bug.
13+//
14+// For more information, see the following:
15+//
16+// Issue: https://github.com/twbs/bootstrap/issues/10497
17+// Docs: http://getbootstrap.com/getting-started/#support-ie10-width
18+// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
19+// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
20+
21+@-ms-viewport {
22+ width: device-width;
23+}
24+
25+
26+// Visibility utilities
27+// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0
28+.visible-xs,
29+.visible-sm,
30+.visible-md,
31+.visible-lg {
32+ .responsive-invisibility();
33+}
34+
35+.visible-xs-block,
36+.visible-xs-inline,
37+.visible-xs-inline-block,
38+.visible-sm-block,
39+.visible-sm-inline,
40+.visible-sm-inline-block,
41+.visible-md-block,
42+.visible-md-inline,
43+.visible-md-inline-block,
44+.visible-lg-block,
45+.visible-lg-inline,
46+.visible-lg-inline-block {
47+ display: none !important;
48+}
49+
50+.visible-xs {
51+ @media (max-width: @screen-xs-max) {
52+ .responsive-visibility();
53+ }
54+}
55+.visible-xs-block {
56+ @media (max-width: @screen-xs-max) {
57+ display: block !important;
58+ }
59+}
60+.visible-xs-inline {
61+ @media (max-width: @screen-xs-max) {
62+ display: inline !important;
63+ }
64+}
65+.visible-xs-inline-block {
66+ @media (max-width: @screen-xs-max) {
67+ display: inline-block !important;
68+ }
69+}
70+
71+.visible-sm {
72+ @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
73+ .responsive-visibility();
74+ }
75+}
76+.visible-sm-block {
77+ @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
78+ display: block !important;
79+ }
80+}
81+.visible-sm-inline {
82+ @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
83+ display: inline !important;
84+ }
85+}
86+.visible-sm-inline-block {
87+ @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
88+ display: inline-block !important;
89+ }
90+}
91+
92+.visible-md {
93+ @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
94+ .responsive-visibility();
95+ }
96+}
97+.visible-md-block {
98+ @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
99+ display: block !important;
100+ }
101+}
102+.visible-md-inline {
103+ @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
104+ display: inline !important;
105+ }
106+}
107+.visible-md-inline-block {
108+ @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
109+ display: inline-block !important;
110+ }
111+}
112+
113+.visible-lg {
114+ @media (min-width: @screen-lg-min) {
115+ .responsive-visibility();
116+ }
117+}
118+.visible-lg-block {
119+ @media (min-width: @screen-lg-min) {
120+ display: block !important;
121+ }
122+}
123+.visible-lg-inline {
124+ @media (min-width: @screen-lg-min) {
125+ display: inline !important;
126+ }
127+}
128+.visible-lg-inline-block {
129+ @media (min-width: @screen-lg-min) {
130+ display: inline-block !important;
131+ }
132+}
133+
134+.hidden-xs {
135+ @media (max-width: @screen-xs-max) {
136+ .responsive-invisibility();
137+ }
138+}
139+.hidden-sm {
140+ @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
141+ .responsive-invisibility();
142+ }
143+}
144+.hidden-md {
145+ @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
146+ .responsive-invisibility();
147+ }
148+}
149+.hidden-lg {
150+ @media (min-width: @screen-lg-min) {
151+ .responsive-invisibility();
152+ }
153+}
154+
155+
156+// Print utilities
157+//
158+// Media queries are placed on the inside to be mixin-friendly.
159+
160+// Note: Deprecated .visible-print as of v3.2.0
161+.visible-print {
162+ .responsive-invisibility();
163+
164+ @media print {
165+ .responsive-visibility();
166+ }
167+}
168+.visible-print-block {
169+ display: none !important;
170+
171+ @media print {
172+ display: block !important;
173+ }
174+}
175+.visible-print-inline {
176+ display: none !important;
177+
178+ @media print {
179+ display: inline !important;
180+ }
181+}
182+.visible-print-inline-block {
183+ display: none !important;
184+
185+ @media print {
186+ display: inline-block !important;
187+ }
188+}
189+
190+.hidden-print {
191+ @media print {
192+ .responsive-invisibility();
193+ }
194+}
searx/static/oscar/less/bootstrap/scaffolding.lessnew file+150
@@ -0,0 +1,150 @@
1+//
2+// Scaffolding
3+// --------------------------------------------------
4+
5+
6+// Reset the box-sizing
7+//
8+// Heads up! This reset may cause conflicts with some third-party widgets.
9+// For recommendations on resolving such conflicts, see
10+// http://getbootstrap.com/getting-started/#third-box-sizing
11+* {
12+ .box-sizing(border-box);
13+}
14+*:before,
15+*:after {
16+ .box-sizing(border-box);
17+}
18+
19+
20+// Body reset
21+
22+html {
23+ font-size: 10px;
24+ -webkit-tap-highlight-color: rgba(0,0,0,0);
25+}
26+
27+body {
28+ font-family: @font-family-base;
29+ font-size: @font-size-base;
30+ line-height: @line-height-base;
31+ color: @text-color;
32+ background-color: @body-bg;
33+}
34+
35+// Reset fonts for relevant elements
36+input,
37+button,
38+select,
39+textarea {
40+ font-family: inherit;
41+ font-size: inherit;
42+ line-height: inherit;
43+}
44+
45+
46+// Links
47+
48+a {
49+ color: @link-color;
50+ text-decoration: none;
51+
52+ &:hover,
53+ &:focus {
54+ color: @link-hover-color;
55+ text-decoration: underline;
56+ }
57+
58+ &:focus {
59+ .tab-focus();
60+ }
61+}
62+
63+
64+// Figures
65+//
66+// We reset this here because previously Normalize had no `figure` margins. This
67+// ensures we don't break anyone's use of the element.
68+
69+figure {
70+ margin: 0;
71+}
72+
73+
74+// Images
75+
76+img {
77+ vertical-align: middle;
78+}
79+
80+// Responsive images (ensure images don't scale beyond their parents)
81+.img-responsive {
82+ .img-responsive();
83+}
84+
85+// Rounded corners
86+.img-rounded {
87+ border-radius: @border-radius-large;
88+}
89+
90+// Image thumbnails
91+//
92+// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
93+.img-thumbnail {
94+ padding: @thumbnail-padding;
95+ line-height: @line-height-base;
96+ background-color: @thumbnail-bg;
97+ border: 1px solid @thumbnail-border;
98+ border-radius: @thumbnail-border-radius;
99+ .transition(all .2s ease-in-out);
100+
101+ // Keep them at most 100% wide
102+ .img-responsive(inline-block);
103+}
104+
105+// Perfect circle
106+.img-circle {
107+ border-radius: 50%; // set radius in percents
108+}
109+
110+
111+// Horizontal rules
112+
113+hr {
114+ margin-top: @line-height-computed;
115+ margin-bottom: @line-height-computed;
116+ border: 0;
117+ border-top: 1px solid @hr-border;
118+}
119+
120+
121+// Only display content to screen readers
122+//
123+// See: http://a11yproject.com/posts/how-to-hide-content/
124+
125+.sr-only {
126+ position: absolute;
127+ width: 1px;
128+ height: 1px;
129+ margin: -1px;
130+ padding: 0;
131+ overflow: hidden;
132+ clip: rect(0,0,0,0);
133+ border: 0;
134+}
135+
136+// Use in conjunction with .sr-only to only display content when it's focused.
137+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
138+// Credit: HTML5 Boilerplate
139+
140+.sr-only-focusable {
141+ &:active,
142+ &:focus {
143+ position: static;
144+ width: auto;
145+ height: auto;
146+ margin: 0;
147+ overflow: visible;
148+ clip: auto;
149+ }
150+}
searx/static/oscar/less/bootstrap/tables.lessnew file+233
@@ -0,0 +1,233 @@
1+//
2+// Tables
3+// --------------------------------------------------
4+
5+
6+table {
7+ background-color: @table-bg;
8+}
9+th {
10+ text-align: left;
11+}
12+
13+
14+// Baseline styles
15+
16+.table {
17+ width: 100%;
18+ max-width: 100%;
19+ margin-bottom: @line-height-computed;
20+ // Cells
21+ > thead,
22+ > tbody,
23+ > tfoot {
24+ > tr {
25+ > th,
26+ > td {
27+ padding: @table-cell-padding;
28+ line-height: @line-height-base;
29+ vertical-align: top;
30+ border-top: 1px solid @table-border-color;
31+ }
32+ }
33+ }
34+ // Bottom align for column headings
35+ > thead > tr > th {
36+ vertical-align: bottom;
37+ border-bottom: 2px solid @table-border-color;
38+ }
39+ // Remove top border from thead by default
40+ > caption + thead,
41+ > colgroup + thead,
42+ > thead:first-child {
43+ > tr:first-child {
44+ > th,
45+ > td {
46+ border-top: 0;
47+ }
48+ }
49+ }
50+ // Account for multiple tbody instances
51+ > tbody + tbody {
52+ border-top: 2px solid @table-border-color;
53+ }
54+
55+ // Nesting
56+ .table {
57+ background-color: @body-bg;
58+ }
59+}
60+
61+
62+// Condensed table w/ half padding
63+
64+.table-condensed {
65+ > thead,
66+ > tbody,
67+ > tfoot {
68+ > tr {
69+ > th,
70+ > td {
71+ padding: @table-condensed-cell-padding;
72+ }
73+ }
74+ }
75+}
76+
77+
78+// Bordered version
79+//
80+// Add borders all around the table and between all the columns.
81+
82+.table-bordered {
83+ border: 1px solid @table-border-color;
84+ > thead,
85+ > tbody,
86+ > tfoot {
87+ > tr {
88+ > th,
89+ > td {
90+ border: 1px solid @table-border-color;
91+ }
92+ }
93+ }
94+ > thead > tr {
95+ > th,
96+ > td {
97+ border-bottom-width: 2px;
98+ }
99+ }
100+}
101+
102+
103+// Zebra-striping
104+//
105+// Default zebra-stripe styles (alternating gray and transparent backgrounds)
106+
107+.table-striped {
108+ > tbody > tr:nth-child(odd) {
109+ > td,
110+ > th {
111+ background-color: @table-bg-accent;
112+ }
113+ }
114+}
115+
116+
117+// Hover effect
118+//
119+// Placed here since it has to come after the potential zebra striping
120+
121+.table-hover {
122+ > tbody > tr:hover {
123+ > td,
124+ > th {
125+ background-color: @table-bg-hover;
126+ }
127+ }
128+}
129+
130+
131+// Table cell sizing
132+//
133+// Reset default table behavior
134+
135+table col[class*="col-"] {
136+ position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
137+ float: none;
138+ display: table-column;
139+}
140+table {
141+ td,
142+ th {
143+ &[class*="col-"] {
144+ position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)
145+ float: none;
146+ display: table-cell;
147+ }
148+ }
149+}
150+
151+
152+// Table backgrounds
153+//
154+// Exact selectors below required to override `.table-striped` and prevent
155+// inheritance to nested tables.
156+
157+// Generate the contextual variants
158+.table-row-variant(active; @table-bg-active);
159+.table-row-variant(success; @state-success-bg);
160+.table-row-variant(info; @state-info-bg);
161+.table-row-variant(warning; @state-warning-bg);
162+.table-row-variant(danger; @state-danger-bg);
163+
164+
165+// Responsive tables
166+//
167+// Wrap your tables in `.table-responsive` and we'll make them mobile friendly
168+// by enabling horizontal scrolling. Only applies <768px. Everything above that
169+// will display normally.
170+
171+.table-responsive {
172+ @media screen and (max-width: @screen-xs-max) {
173+ width: 100%;
174+ margin-bottom: (@line-height-computed * 0.75);
175+ overflow-y: hidden;
176+ overflow-x: auto;
177+ -ms-overflow-style: -ms-autohiding-scrollbar;
178+ border: 1px solid @table-border-color;
179+ -webkit-overflow-scrolling: touch;
180+
181+ // Tighten up spacing
182+ > .table {
183+ margin-bottom: 0;
184+
185+ // Ensure the content doesn't wrap
186+ > thead,
187+ > tbody,
188+ > tfoot {
189+ > tr {
190+ > th,
191+ > td {
192+ white-space: nowrap;
193+ }
194+ }
195+ }
196+ }
197+
198+ // Special overrides for the bordered tables
199+ > .table-bordered {
200+ border: 0;
201+
202+ // Nuke the appropriate borders so that the parent can handle them
203+ > thead,
204+ > tbody,
205+ > tfoot {
206+ > tr {
207+ > th:first-child,
208+ > td:first-child {
209+ border-left: 0;
210+ }
211+ > th:last-child,
212+ > td:last-child {
213+ border-right: 0;
214+ }
215+ }
216+ }
217+
218+ // Only nuke the last row's bottom-border in `tbody` and `tfoot` since
219+ // chances are there will be only one `tr` in a `thead` and that would
220+ // remove the border altogether.
221+ > tbody,
222+ > tfoot {
223+ > tr:last-child {
224+ > th,
225+ > td {
226+ border-bottom: 0;
227+ }
228+ }
229+ }
230+
231+ }
232+ }
233+}
searx/static/oscar/less/bootstrap/theme.lessnew file+258
@@ -0,0 +1,258 @@
1+
2+//
3+// Load core variables and mixins
4+// --------------------------------------------------
5+
6+@import "variables.less";
7+@import "mixins.less";
8+
9+
10+
11+//
12+// Buttons
13+// --------------------------------------------------
14+
15+// Common styles
16+.btn-default,
17+.btn-primary,
18+.btn-success,
19+.btn-info,
20+.btn-warning,
21+.btn-danger {
22+ text-shadow: 0 -1px 0 rgba(0,0,0,.2);
23+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
24+ .box-shadow(@shadow);
25+
26+ // Reset the shadow
27+ &:active,
28+ &.active {
29+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
30+ }
31+}
32+
33+// Mixin for generating new styles
34+.btn-styles(@btn-color: #555) {
35+ #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
36+ .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners
37+ background-repeat: repeat-x;
38+ border-color: darken(@btn-color, 14%);
39+
40+ &:hover,
41+ &:focus {
42+ background-color: darken(@btn-color, 12%);
43+ background-position: 0 -15px;
44+ }
45+
46+ &:active,
47+ &.active {
48+ background-color: darken(@btn-color, 12%);
49+ border-color: darken(@btn-color, 14%);
50+ }
51+
52+ &:disabled,
53+ &[disabled] {
54+ background-color: darken(@btn-color, 12%);
55+ background-image: none;
56+ }
57+}
58+
59+// Common styles
60+.btn {
61+ // Remove the gradient for the pressed/active state
62+ &:active,
63+ &.active {
64+ background-image: none;
65+ }
66+}
67+
68+// Apply the mixin to the buttons
69+.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
70+.btn-primary { .btn-styles(@btn-primary-bg); }
71+.btn-success { .btn-styles(@btn-success-bg); }
72+.btn-info { .btn-styles(@btn-info-bg); }
73+.btn-warning { .btn-styles(@btn-warning-bg); }
74+.btn-danger { .btn-styles(@btn-danger-bg); }
75+
76+
77+
78+//
79+// Images
80+// --------------------------------------------------
81+
82+.thumbnail,
83+.img-thumbnail {
84+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
85+}
86+
87+
88+
89+//
90+// Dropdowns
91+// --------------------------------------------------
92+
93+.dropdown-menu > li > a:hover,
94+.dropdown-menu > li > a:focus {
95+ #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
96+ background-color: darken(@dropdown-link-hover-bg, 5%);
97+}
98+.dropdown-menu > .active > a,
99+.dropdown-menu > .active > a:hover,
100+.dropdown-menu > .active > a:focus {
101+ #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
102+ background-color: darken(@dropdown-link-active-bg, 5%);
103+}
104+
105+
106+
107+//
108+// Navbar
109+// --------------------------------------------------
110+
111+// Default navbar
112+.navbar-default {
113+ #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);
114+ .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
115+ border-radius: @navbar-border-radius;
116+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
117+ .box-shadow(@shadow);
118+
119+ .navbar-nav > .active > a {
120+ #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));
121+ .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
122+ }
123+}
124+.navbar-brand,
125+.navbar-nav > li > a {
126+ text-shadow: 0 1px 0 rgba(255,255,255,.25);
127+}
128+
129+// Inverted navbar
130+.navbar-inverse {
131+ #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
132+ .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
133+
134+ .navbar-nav > .active > a {
135+ #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));
136+ .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
137+ }
138+
139+ .navbar-brand,
140+ .navbar-nav > li > a {
141+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
142+ }
143+}
144+
145+// Undo rounded corners in static and fixed navbars
146+.navbar-static-top,
147+.navbar-fixed-top,
148+.navbar-fixed-bottom {
149+ border-radius: 0;
150+}
151+
152+
153+
154+//
155+// Alerts
156+// --------------------------------------------------
157+
158+// Common styles
159+.alert {
160+ text-shadow: 0 1px 0 rgba(255,255,255,.2);
161+ @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
162+ .box-shadow(@shadow);
163+}
164+
165+// Mixin for generating new styles
166+.alert-styles(@color) {
167+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
168+ border-color: darken(@color, 15%);
169+}
170+
171+// Apply the mixin to the alerts
172+.alert-success { .alert-styles(@alert-success-bg); }
173+.alert-info { .alert-styles(@alert-info-bg); }
174+.alert-warning { .alert-styles(@alert-warning-bg); }
175+.alert-danger { .alert-styles(@alert-danger-bg); }
176+
177+
178+
179+//
180+// Progress bars
181+// --------------------------------------------------
182+
183+// Give the progress background some depth
184+.progress {
185+ #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)
186+}
187+
188+// Mixin for generating new styles
189+.progress-bar-styles(@color) {
190+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
191+}
192+
193+// Apply the mixin to the progress bars
194+.progress-bar { .progress-bar-styles(@progress-bar-bg); }
195+.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }
196+.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }
197+.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }
198+.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }
199+
200+// Reset the striped class because our mixins don't do multiple gradients and
201+// the above custom styles override the new `.progress-bar-striped` in v3.2.0.
202+.progress-bar-striped {
203+ #gradient > .striped();
204+}
205+
206+
207+//
208+// List groups
209+// --------------------------------------------------
210+
211+.list-group {
212+ border-radius: @border-radius-base;
213+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
214+}
215+.list-group-item.active,
216+.list-group-item.active:hover,
217+.list-group-item.active:focus {
218+ text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
219+ #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
220+ border-color: darken(@list-group-active-border, 7.5%);
221+}
222+
223+
224+
225+//
226+// Panels
227+// --------------------------------------------------
228+
229+// Common styles
230+.panel {
231+ .box-shadow(0 1px 2px rgba(0,0,0,.05));
232+}
233+
234+// Mixin for generating new styles
235+.panel-heading-styles(@color) {
236+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
237+}
238+
239+// Apply the mixin to the panel headings only
240+.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }
241+.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }
242+.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }
243+.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }
244+.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }
245+.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }
246+
247+
248+
249+//
250+// Wells
251+// --------------------------------------------------
252+
253+.well {
254+ #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);
255+ border-color: darken(@well-bg, 10%);
256+ @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
257+ .box-shadow(@shadow);
258+}
searx/static/oscar/less/bootstrap/thumbnails.lessnew file+36
@@ -0,0 +1,36 @@
1+//
2+// Thumbnails
3+// --------------------------------------------------
4+
5+
6+// Mixin and adjust the regular image class
7+.thumbnail {
8+ display: block;
9+ padding: @thumbnail-padding;
10+ margin-bottom: @line-height-computed;
11+ line-height: @line-height-base;
12+ background-color: @thumbnail-bg;
13+ border: 1px solid @thumbnail-border;
14+ border-radius: @thumbnail-border-radius;
15+ .transition(all .2s ease-in-out);
16+
17+ > img,
18+ a > img {
19+ &:extend(.img-responsive);
20+ margin-left: auto;
21+ margin-right: auto;
22+ }
23+
24+ // Add a hover state for linked versions only
25+ a&:hover,
26+ a&:focus,
27+ a&.active {
28+ border-color: @link-color;
29+ }
30+
31+ // Image captions
32+ .caption {
33+ padding: @thumbnail-caption-padding;
34+ color: @thumbnail-caption-color;
35+ }
36+}
searx/static/oscar/less/bootstrap/tooltip.lessnew file+95
@@ -0,0 +1,95 @@
1+//
2+// Tooltips
3+// --------------------------------------------------
4+
5+
6+// Base class
7+.tooltip {
8+ position: absolute;
9+ z-index: @zindex-tooltip;
10+ display: block;
11+ visibility: visible;
12+ font-size: @font-size-small;
13+ line-height: 1.4;
14+ .opacity(0);
15+
16+ &.in { .opacity(@tooltip-opacity); }
17+ &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }
18+ &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }
19+ &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }
20+ &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }
21+}
22+
23+// Wrapper for the tooltip content
24+.tooltip-inner {
25+ max-width: @tooltip-max-width;
26+ padding: 3px 8px;
27+ color: @tooltip-color;
28+ text-align: center;
29+ text-decoration: none;
30+ background-color: @tooltip-bg;
31+ border-radius: @border-radius-base;
32+}
33+
34+// Arrows
35+.tooltip-arrow {
36+ position: absolute;
37+ width: 0;
38+ height: 0;
39+ border-color: transparent;
40+ border-style: solid;
41+}
42+.tooltip {
43+ &.top .tooltip-arrow {
44+ bottom: 0;
45+ left: 50%;
46+ margin-left: -@tooltip-arrow-width;
47+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
48+ border-top-color: @tooltip-arrow-color;
49+ }
50+ &.top-left .tooltip-arrow {
51+ bottom: 0;
52+ left: @tooltip-arrow-width;
53+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
54+ border-top-color: @tooltip-arrow-color;
55+ }
56+ &.top-right .tooltip-arrow {
57+ bottom: 0;
58+ right: @tooltip-arrow-width;
59+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
60+ border-top-color: @tooltip-arrow-color;
61+ }
62+ &.right .tooltip-arrow {
63+ top: 50%;
64+ left: 0;
65+ margin-top: -@tooltip-arrow-width;
66+ border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
67+ border-right-color: @tooltip-arrow-color;
68+ }
69+ &.left .tooltip-arrow {
70+ top: 50%;
71+ right: 0;
72+ margin-top: -@tooltip-arrow-width;
73+ border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
74+ border-left-color: @tooltip-arrow-color;
75+ }
76+ &.bottom .tooltip-arrow {
77+ top: 0;
78+ left: 50%;
79+ margin-left: -@tooltip-arrow-width;
80+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
81+ border-bottom-color: @tooltip-arrow-color;
82+ }
83+ &.bottom-left .tooltip-arrow {
84+ top: 0;
85+ left: @tooltip-arrow-width;
86+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
87+ border-bottom-color: @tooltip-arrow-color;
88+ }
89+ &.bottom-right .tooltip-arrow {
90+ top: 0;
91+ right: @tooltip-arrow-width;
92+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
93+ border-bottom-color: @tooltip-arrow-color;
94+ }
95+}
searx/static/oscar/less/bootstrap/type.lessnew file+313
@@ -0,0 +1,313 @@
1+//
2+// Typography
3+// --------------------------------------------------
4+
5+
6+// Headings
7+// -------------------------
8+
9+h1, h2, h3, h4, h5, h6,
10+.h1, .h2, .h3, .h4, .h5, .h6 {
11+ font-family: @headings-font-family;
12+ font-weight: @headings-font-weight;
13+ line-height: @headings-line-height;
14+ color: @headings-color;
15+
16+ small,
17+ .small {
18+ font-weight: normal;
19+ line-height: 1;
20+ color: @headings-small-color;
21+ }
22+}
23+
24+h1, .h1,
25+h2, .h2,
26+h3, .h3 {
27+ margin-top: @line-height-computed;
28+ margin-bottom: (@line-height-computed / 2);
29+
30+ small,
31+ .small {
32+ font-size: 65%;
33+ }
34+}
35+h4, .h4,
36+h5, .h5,
37+h6, .h6 {
38+ margin-top: (@line-height-computed / 2);
39+ margin-bottom: (@line-height-computed / 2);
40+
41+ small,
42+ .small {
43+ font-size: 75%;
44+ }
45+}
46+
47+h1, .h1 { font-size: @font-size-h1; }
48+h2, .h2 { font-size: @font-size-h2; }
49+h3, .h3 { font-size: @font-size-h3; }
50+h4, .h4 { font-size: @font-size-h4; }
51+h5, .h5 { font-size: @font-size-h5; }
52+h6, .h6 { font-size: @font-size-h6; }
53+
54+
55+// Body text
56+// -------------------------
57+
58+p {
59+ margin: 0 0 (@line-height-computed / 2);
60+}
61+
62+.lead {
63+ margin-bottom: @line-height-computed;
64+ font-size: floor((@font-size-base * 1.15));
65+ font-weight: 300;
66+ line-height: 1.4;
67+
68+ @media (min-width: @screen-sm-min) {
69+ font-size: (@font-size-base * 1.5);
70+ }
71+}
72+
73+
74+// Emphasis & misc
75+// -------------------------
76+
77+// Ex: (12px small font / 14px base font) * 100% = about 85%
78+small,
79+.small {
80+ font-size: floor((100% * @font-size-small / @font-size-base));
81+}
82+
83+// Undo browser default styling
84+cite {
85+ font-style: normal;
86+}
87+
88+mark,
89+.mark {
90+ background-color: @state-warning-bg;
91+ padding: .2em;
92+}
93+
94+// Alignment
95+.text-left { text-align: left; }
96+.text-right { text-align: right; }
97+.text-center { text-align: center; }
98+.text-justify { text-align: justify; }
99+.text-nowrap { white-space: nowrap; }
100+
101+// Transformation
102+.text-lowercase { text-transform: lowercase; }
103+.text-uppercase { text-transform: uppercase; }
104+.text-capitalize { text-transform: capitalize; }
105+
106+// Contextual colors
107+.text-muted {
108+ color: @text-muted;
109+}
110+.text-primary {
111+ .text-emphasis-variant(@brand-primary);
112+}
113+.text-success {
114+ .text-emphasis-variant(@state-success-text);
115+}
116+.text-info {
117+ .text-emphasis-variant(@state-info-text);
118+}
119+.text-warning {
120+ .text-emphasis-variant(@state-warning-text);
121+}
122+.text-danger {
123+ .text-emphasis-variant(@state-danger-text);
124+}
125+
126+// Contextual backgrounds
127+// For now we'll leave these alongside the text classes until v4 when we can
128+// safely shift things around (per SemVer rules).
129+.bg-primary {
130+ // Given the contrast here, this is the only class to have its color inverted
131+ // automatically.
132+ color: #fff;
133+ .bg-variant(@brand-primary);
134+}
135+.bg-success {
136+ .bg-variant(@state-success-bg);
137+}
138+.bg-info {
139+ .bg-variant(@state-info-bg);
140+}
141+.bg-warning {
142+ .bg-variant(@state-warning-bg);
143+}
144+.bg-danger {
145+ .bg-variant(@state-danger-bg);
146+}
147+
148+
149+// Page header
150+// -------------------------
151+
152+.page-header {
153+ padding-bottom: ((@line-height-computed / 2) - 1);
154+ margin: (@line-height-computed * 2) 0 @line-height-computed;
155+ border-bottom: 1px solid @page-header-border-color;
156+}
157+
158+
159+// Lists
160+// -------------------------
161+
162+// Unordered and Ordered lists
163+ul,
164+ol {
165+ margin-top: 0;
166+ margin-bottom: (@line-height-computed / 2);
167+ ul,
168+ ol {
169+ margin-bottom: 0;
170+ }
171+}
172+
173+// List options
174+
175+// Unstyled keeps list items block level, just removes default browser padding and list-style
176+.list-unstyled {
177+ padding-left: 0;
178+ list-style: none;
179+}
180+
181+// Inline turns list items into inline-block
182+.list-inline {
183+ .list-unstyled();
184+ margin-left: -5px;
185+
186+ > li {
187+ display: inline-block;
188+ padding-left: 5px;
189+ padding-right: 5px;
190+ }
191+}
192+
193+// Description Lists
194+dl {
195+ margin-top: 0; // Remove browser default
196+ margin-bottom: @line-height-computed;
197+}
198+dt,
199+dd {
200+ line-height: @line-height-base;
201+}
202+dt {
203+ font-weight: bold;
204+}
205+dd {
206+ margin-left: 0; // Undo browser default
207+}
208+
209+// Horizontal description lists
210+//
211+// Defaults to being stacked without any of the below styles applied, until the
212+// grid breakpoint is reached (default of ~768px).
213+
214+.dl-horizontal {
215+ dd {
216+ &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
217+ }
218+
219+ @media (min-width: @grid-float-breakpoint) {
220+ dt {
221+ float: left;
222+ width: (@dl-horizontal-offset - 20);
223+ clear: left;
224+ text-align: right;
225+ .text-overflow();
226+ }
227+ dd {
228+ margin-left: @dl-horizontal-offset;
229+ }
230+ }
231+}
232+
233+
234+// Misc
235+// -------------------------
236+
237+// Abbreviations and acronyms
238+abbr[title],
239+// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
240+abbr[data-original-title] {
241+ cursor: help;
242+ border-bottom: 1px dotted @abbr-border-color;
243+}
244+.initialism {
245+ font-size: 90%;
246+ text-transform: uppercase;
247+}
248+
249+// Blockquotes
250+blockquote {
251+ padding: (@line-height-computed / 2) @line-height-computed;
252+ margin: 0 0 @line-height-computed;
253+ font-size: @blockquote-font-size;
254+ border-left: 5px solid @blockquote-border-color;
255+
256+ p,
257+ ul,
258+ ol {
259+ &:last-child {
260+ margin-bottom: 0;
261+ }
262+ }
263+
264+ // Note: Deprecated small and .small as of v3.1.0
265+ // Context: https://github.com/twbs/bootstrap/issues/11660
266+ footer,
267+ small,
268+ .small {
269+ display: block;
270+ font-size: 80%; // back to default font-size
271+ line-height: @line-height-base;
272+ color: @blockquote-small-color;
273+
274+ &:before {
275+ content: '\2014 \00A0'; // em dash, nbsp
276+ }
277+ }
278+}
279+
280+// Opposite alignment of blockquote
281+//
282+// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.
283+.blockquote-reverse,
284+blockquote.pull-right {
285+ padding-right: 15px;
286+ padding-left: 0;
287+ border-right: 5px solid @blockquote-border-color;
288+ border-left: 0;
289+ text-align: right;
290+
291+ // Account for citation
292+ footer,
293+ small,
294+ .small {
295+ &:before { content: ''; }
296+ &:after {
297+ content: '\00A0 \2014'; // nbsp, em dash
298+ }
299+ }
300+}
301+
302+// Quotes
303+blockquote:before,
304+blockquote:after {
305+ content: "";
306+}
307+
308+// Addresses
309+address {
310+ margin-bottom: @line-height-computed;
311+ font-style: normal;
312+ line-height: @line-height-base;
313+}
searx/static/oscar/less/bootstrap/typeahead.lessnew file+153
@@ -0,0 +1,153 @@
1+/*
2+ * typehead.js-bootstrap3.less
3+ * @version 0.2.3
4+ * https://github.com/hyspace/typeahead.js-bootstrap3.less
5+ *
6+ * Licensed under the MIT license:
7+ * http://www.opensource.org/licenses/MIT
8+ */
9+
10+//custom mixin for .form-control-validation
11+.typeahead-form-control(@border-color: #ccc;) {
12+ border-color: @border-color;
13+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
14+ &:focus {
15+ border-color: darken(@border-color, 10%);
16+ @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
17+ .box-shadow(@shadow);
18+ }
19+}
20+
21+//main styles for control
22+.tt-input,
23+.tt-hint {
24+ .twitter-typeahead &{
25+ //validation states
26+ .has-warning &{
27+ .typeahead-form-control(@state-warning-text);
28+ }
29+ .has-error &{
30+ .typeahead-form-control(@state-danger-text);
31+ }
32+ .has-success &{
33+ .typeahead-form-control(@state-success-text);
34+ }
35+ }
36+
37+ //border
38+ .input-group .twitter-typeahead:first-child &{
39+ .border-left-radius(@border-radius-base);
40+ }
41+ .input-group .twitter-typeahead:last-child &{
42+ .border-right-radius(@border-radius-base);
43+ }
44+
45+ //sizing - small:size and border
46+ .input-group.input-group-sm .twitter-typeahead &{
47+ .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
48+ }
49+ .input-group.input-group-sm .twitter-typeahead:not(:first-child):not(:last-child) &{
50+ border-radius: 0;
51+ }
52+ .input-group.input-group-sm .twitter-typeahead:first-child &{
53+ .border-left-radius(@border-radius-small);
54+ .border-right-radius(0);
55+ }
56+ .input-group.input-group-sm .twitter-typeahead:last-child &{
57+ .border-left-radius(0);
58+ .border-right-radius(@border-radius-small);
59+ }
60+
61+ //sizing - large:size and border
62+ .input-group.input-group-lg .twitter-typeahead &{
63+ .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
64+ }
65+ .input-group.input-group-lg .twitter-typeahead:not(:first-child):not(:last-child) &{
66+ border-radius: 0;
67+ }
68+ .input-group.input-group-lg .twitter-typeahead:first-child &{
69+ .border-left-radius(@border-radius-large);
70+ .border-right-radius(0);
71+ }
72+ .input-group.input-group-lg .twitter-typeahead:last-child &{
73+ .border-left-radius(0);
74+ .border-right-radius(@border-radius-large);
75+ }
76+}
77+
78+//for wrapper
79+.twitter-typeahead {
80+ width: 100%;
81+ .input-group &{
82+ //overwrite `display:inline-block` style
83+ display: table-cell!important;
84+ float: left;
85+ }
86+}
87+
88+//particular style for each other
89+.twitter-typeahead .tt-hint {
90+ color: @text-muted;//color - hint
91+}
92+.twitter-typeahead .tt-input {
93+ z-index: 2;
94+ //disabled status
95+ //overwrite inline styles of .tt-query
96+ &[disabled],
97+ &[readonly],
98+ fieldset[disabled] & {
99+ cursor: not-allowed;
100+ //overwirte inline style
101+ background-color: @input-bg-disabled!important;
102+ }
103+}
104+
105+//dropdown styles
106+.tt-dropdown-menu {
107+ //dropdown menu
108+ position: absolute;
109+ top: 100%;
110+ left: 0;
111+ z-index: @zindex-dropdown;
112+ min-width: 160px;
113+ width: 100%;
114+ padding: 5px 0;
115+ margin: 2px 0 0;
116+ list-style: none;
117+ font-size: @font-size-base;
118+ background-color: @dropdown-bg;
119+ border: 1px solid @dropdown-fallback-border;
120+ border: 1px solid @dropdown-border;
121+ border-radius: @border-radius-base;
122+ .box-shadow(0 6px 12px rgba(0,0,0,.175));
123+ background-clip: padding-box;
124+ *border-right-width: 2px;
125+ *border-bottom-width: 2px;
126+
127+ .tt-suggestion {
128+ //item
129+ display: block;
130+ padding: 3px 20px;
131+ clear: both;
132+ font-weight: normal;
133+ line-height: @line-height-base;
134+ color: @dropdown-link-color;
135+ white-space: nowrap;
136+ text-align: left;
137+ cursor: pointer !important;
138+ &.tt-cursor {
139+ //item selected
140+ text-decoration: none;
141+ outline: 0;
142+ background-color: @dropdown-link-hover-bg;
143+ color: @dropdown-link-hover-color;
144+ a {
145+ //link in item selected
146+ color: @dropdown-link-hover-color;
147+ }
148+ }
149+ p {
150+ margin: 0;
151+ }
152+ }
153+}
searx/static/oscar/less/bootstrap/utilities.lessnew file+57
@@ -0,0 +1,57 @@
1+//
2+// Utility classes
3+// --------------------------------------------------
4+
5+
6+// Floats
7+// -------------------------
8+
9+.clearfix {
10+ .clearfix();
11+}
12+.center-block {
13+ .center-block();
14+}
15+.pull-right {
16+ float: right !important;
17+}
18+.pull-left {
19+ float: left !important;
20+}
21+
22+
23+// Toggling content
24+// -------------------------
25+
26+// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
27+.hide {
28+ display: none !important;
29+}
30+.show {
31+ display: block !important;
32+}
33+.invisible {
34+ visibility: hidden;
35+}
36+.text-hide {
37+ .text-hide();
38+}
39+
40+
41+// Hide from screenreaders and browsers
42+//
43+// Credit: HTML5 Boilerplate
44+
45+.hidden {
46+ display: none !important;
47+ visibility: hidden !important;
48+}
49+
50+
51+// For Affix plugin
52+// -------------------------
53+
54+.affix {
55+ position: fixed;
56+ .translate3d(0, 0, 0);
57+}
searx/static/oscar/less/bootstrap/variables.lessnew file+846
@@ -0,0 +1,846 @@
1+//
2+// Variables
3+// --------------------------------------------------
4+
5+
6+//== Colors
7+//
8+//## Gray and brand colors for use across Bootstrap.
9+
10+@gray-darker: lighten(#000, 13.5%); // #222
11+@gray-dark: lighten(#000, 20%); // #333
12+@gray: lighten(#000, 33.5%); // #555
13+@gray-light: lighten(#000, 46.7%); // #777
14+@gray-lighter: lighten(#000, 93.5%); // #eee
15+
16+@brand-primary: #428bca;
17+@brand-success: #5cb85c;
18+@brand-info: #5bc0de;
19+@brand-warning: #f0ad4e;
20+@brand-danger: #d9534f;
21+
22+
23+//== Scaffolding
24+//
25+//## Settings for some of the most global styles.
26+
27+//** Background color for `<body>`.
28+@body-bg: #fff;
29+//** Global text color on `<body>`.
30+@text-color: @gray-dark;
31+
32+//** Global textual link color.
33+@link-color: @brand-primary;
34+//** Link hover color set via `darken()` function.
35+@link-hover-color: darken(@link-color, 15%);
36+
37+
38+//== Typography
39+//
40+//## Font, line-height, and color for body text, headings, and more.
41+
42+@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
43+@font-family-serif: Georgia, "Times New Roman", Times, serif;
44+//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.
45+@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
46+@font-family-base: @font-family-sans-serif;
47+
48+@font-size-base: 14px;
49+@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
50+@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
51+
52+@font-size-h1: floor((@font-size-base * 2.6)); // ~36px
53+@font-size-h2: floor((@font-size-base * 2.15)); // ~30px
54+@font-size-h3: ceil((@font-size-base * 1.7)); // ~24px
55+@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px
56+@font-size-h5: @font-size-base;
57+@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
58+
59+//** Unit-less `line-height` for use in components like buttons.
60+@line-height-base: 1.428571429; // 20/14
61+//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
62+@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
63+
64+//** By default, this inherits from the `<body>`.
65+@headings-font-family: inherit;
66+@headings-font-weight: 500;
67+@headings-line-height: 1.1;
68+@headings-color: inherit;
69+
70+
71+//== Iconography
72+//
73+//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
74+
75+//** Load fonts from this directory.
76+@icon-font-path: "../fonts/";
77+//** File name for all font files.
78+@icon-font-name: "glyphicons-halflings-regular";
79+//** Element ID within SVG icon file.
80+@icon-font-svg-id: "glyphicons_halflingsregular";
81+
82+
83+//== Components
84+//
85+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
86+
87+@padding-base-vertical: 6px;
88+@padding-base-horizontal: 12px;
89+
90+@padding-large-vertical: 10px;
91+@padding-large-horizontal: 16px;
92+
93+@padding-small-vertical: 5px;
94+@padding-small-horizontal: 10px;
95+
96+@padding-xs-vertical: 1px;
97+@padding-xs-horizontal: 5px;
98+
99+@line-height-large: 1.33;
100+@line-height-small: 1.5;
101+
102+@border-radius-base: 4px;
103+@border-radius-large: 6px;
104+@border-radius-small: 3px;
105+
106+//** Global color for active items (e.g., navs or dropdowns).
107+@component-active-color: #fff;
108+//** Global background color for active items (e.g., navs or dropdowns).
109+@component-active-bg: @brand-primary;
110+
111+//** Width of the `border` for generating carets that indicator dropdowns.
112+@caret-width-base: 4px;
113+//** Carets increase slightly in size for larger components.
114+@caret-width-large: 5px;
115+
116+
117+//== Tables
118+//
119+//## Customizes the `.table` component with basic values, each used across all table variations.
120+
121+//** Padding for `<th>`s and `<td>`s.
122+@table-cell-padding: 8px;
123+//** Padding for cells in `.table-condensed`.
124+@table-condensed-cell-padding: 5px;
125+
126+//** Default background color used for all tables.
127+@table-bg: transparent;
128+//** Background color used for `.table-striped`.
129+@table-bg-accent: #f9f9f9;
130+//** Background color used for `.table-hover`.
131+@table-bg-hover: #f5f5f5;
132+@table-bg-active: @table-bg-hover;
133+
134+//** Border color for table and cell borders.
135+@table-border-color: #ddd;
136+
137+
138+//== Buttons
139+//
140+//## For each of Bootstrap's buttons, define text, background and border color.
141+
142+@btn-font-weight: normal;
143+
144+@btn-default-color: #333;
145+@btn-default-bg: #fff;
146+@btn-default-border: #ccc;
147+
148+@btn-primary-color: #fff;
149+@btn-primary-bg: @brand-primary;
150+@btn-primary-border: darken(@btn-primary-bg, 5%);
151+
152+@btn-success-color: #fff;
153+@btn-success-bg: @brand-success;
154+@btn-success-border: darken(@btn-success-bg, 5%);
155+
156+@btn-info-color: #fff;
157+@btn-info-bg: @brand-info;
158+@btn-info-border: darken(@btn-info-bg, 5%);
159+
160+@btn-warning-color: #fff;
161+@btn-warning-bg: @brand-warning;
162+@btn-warning-border: darken(@btn-warning-bg, 5%);
163+
164+@btn-danger-color: #fff;
165+@btn-danger-bg: @brand-danger;
166+@btn-danger-border: darken(@btn-danger-bg, 5%);
167+
168+@btn-link-disabled-color: @gray-light;
169+
170+
171+//== Forms
172+//
173+//##
174+
175+//** `<input>` background color
176+@input-bg: #fff;
177+//** `<input disabled>` background color
178+@input-bg-disabled: @gray-lighter;
179+
180+//** Text color for `<input>`s
181+@input-color: @gray;
182+//** `<input>` border color
183+@input-border: #ccc;
184+//** `<input>` border radius
185+@input-border-radius: @border-radius-base;
186+//** Border color for inputs on focus
187+@input-border-focus: #66afe9;
188+
189+//** Placeholder text color
190+@input-color-placeholder: @gray-light;
191+
192+//** Default `.form-control` height
193+@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
194+//** Large `.form-control` height
195+@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
196+//** Small `.form-control` height
197+@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
198+
199+@legend-color: @gray-dark;
200+@legend-border-color: #e5e5e5;
201+
202+//** Background color for textual input addons
203+@input-group-addon-bg: @gray-lighter;
204+//** Border color for textual input addons
205+@input-group-addon-border-color: @input-border;
206+
207+
208+//== Dropdowns
209+//
210+//## Dropdown menu container and contents.
211+
212+//** Background for the dropdown menu.
213+@dropdown-bg: #fff;
214+//** Dropdown menu `border-color`.
215+@dropdown-border: rgba(0,0,0,.15);
216+//** Dropdown menu `border-color` **for IE8**.
217+@dropdown-fallback-border: #ccc;
218+//** Divider color for between dropdown items.
219+@dropdown-divider-bg: #e5e5e5;
220+
221+//** Dropdown link text color.
222+@dropdown-link-color: @gray-dark;
223+//** Hover color for dropdown links.
224+@dropdown-link-hover-color: darken(@gray-dark, 5%);
225+//** Hover background for dropdown links.
226+@dropdown-link-hover-bg: #f5f5f5;
227+
228+//** Active dropdown menu item text color.
229+@dropdown-link-active-color: @component-active-color;
230+//** Active dropdown menu item background color.
231+@dropdown-link-active-bg: @component-active-bg;
232+
233+//** Disabled dropdown menu item background color.
234+@dropdown-link-disabled-color: @gray-light;
235+
236+//** Text color for headers within dropdown menus.
237+@dropdown-header-color: @gray-light;
238+
239+//** Deprecated `@dropdown-caret-color` as of v3.1.0
240+@dropdown-caret-color: #000;
241+
242+
243+//-- Z-index master list
244+//
245+// Warning: Avoid customizing these values. They're used for a bird's eye view
246+// of components dependent on the z-axis and are designed to all work together.
247+//
248+// Note: These variables are not generated into the Customizer.
249+
250+@zindex-navbar: 1000;
251+@zindex-dropdown: 1000;
252+@zindex-popover: 1060;
253+@zindex-tooltip: 1070;
254+@zindex-navbar-fixed: 1030;
255+@zindex-modal-background: 1040;
256+@zindex-modal: 1050;
257+
258+
259+//== Media queries breakpoints
260+//
261+//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
262+
263+// Extra small screen / phone
264+//** Deprecated `@screen-xs` as of v3.0.1
265+@screen-xs: 480px;
266+//** Deprecated `@screen-xs-min` as of v3.2.0
267+@screen-xs-min: @screen-xs;
268+//** Deprecated `@screen-phone` as of v3.0.1
269+@screen-phone: @screen-xs-min;
270+
271+// Small screen / tablet
272+//** Deprecated `@screen-sm` as of v3.0.1
273+@screen-sm: 768px;
274+@screen-sm-min: @screen-sm;
275+//** Deprecated `@screen-tablet` as of v3.0.1
276+@screen-tablet: @screen-sm-min;
277+
278+// Medium screen / desktop
279+//** Deprecated `@screen-md` as of v3.0.1
280+@screen-md: 992px;
281+@screen-md-min: @screen-md;
282+//** Deprecated `@screen-desktop` as of v3.0.1
283+@screen-desktop: @screen-md-min;
284+
285+// Large screen / wide desktop
286+//** Deprecated `@screen-lg` as of v3.0.1
287+@screen-lg: 1200px;
288+@screen-lg-min: @screen-lg;
289+//** Deprecated `@screen-lg-desktop` as of v3.0.1
290+@screen-lg-desktop: @screen-lg-min;
291+
292+// So media queries don't overlap when required, provide a maximum
293+@screen-xs-max: (@screen-sm-min - 1);
294+@screen-sm-max: (@screen-md-min - 1);
295+@screen-md-max: (@screen-lg-min - 1);
296+
297+
298+//== Grid system
299+//
300+//## Define your custom responsive grid.
301+
302+//** Number of columns in the grid.
303+@grid-columns: 12;
304+//** Padding between columns. Gets divided in half for the left and right.
305+@grid-gutter-width: 30px;
306+// Navbar collapse
307+//** Point at which the navbar becomes uncollapsed.
308+@grid-float-breakpoint: @screen-sm-min;
309+//** Point at which the navbar begins collapsing.
310+@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
311+
312+
313+//== Container sizes
314+//
315+//## Define the maximum width of `.container` for different screen sizes.
316+
317+// Small screen / tablet
318+@container-tablet: ((720px + @grid-gutter-width));
319+//** For `@screen-sm-min` and up.
320+@container-sm: @container-tablet;
321+
322+// Medium screen / desktop
323+@container-desktop: ((940px + @grid-gutter-width));
324+//** For `@screen-md-min` and up.
325+@container-md: @container-desktop;
326+
327+// Large screen / wide desktop
328+@container-large-desktop: ((1140px + @grid-gutter-width));
329+//** For `@screen-lg-min` and up.
330+@container-lg: @container-large-desktop;
331+
332+
333+//== Navbar
334+//
335+//##
336+
337+// Basics of a navbar
338+@navbar-height: 50px;
339+@navbar-margin-bottom: @line-height-computed;
340+@navbar-border-radius: @border-radius-base;
341+@navbar-padding-horizontal: floor((@grid-gutter-width / 2));
342+@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
343+@navbar-collapse-max-height: 340px;
344+
345+@navbar-default-color: #777;
346+@navbar-default-bg: #f8f8f8;
347+@navbar-default-border: darken(@navbar-default-bg, 6.5%);
348+
349+// Navbar links
350+@navbar-default-link-color: #777;
351+@navbar-default-link-hover-color: #333;
352+@navbar-default-link-hover-bg: transparent;
353+@navbar-default-link-active-color: #555;
354+@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%);
355+@navbar-default-link-disabled-color: #ccc;
356+@navbar-default-link-disabled-bg: transparent;
357+
358+// Navbar brand label
359+@navbar-default-brand-color: @navbar-default-link-color;
360+@navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%);
361+@navbar-default-brand-hover-bg: transparent;
362+
363+// Navbar toggle
364+@navbar-default-toggle-hover-bg: #ddd;
365+@navbar-default-toggle-icon-bar-bg: #888;
366+@navbar-default-toggle-border-color: #ddd;
367+
368+
369+// Inverted navbar
370+// Reset inverted navbar basics
371+@navbar-inverse-color: @gray-light;
372+@navbar-inverse-bg: #222;
373+@navbar-inverse-border: darken(@navbar-inverse-bg, 10%);
374+
375+// Inverted navbar links
376+@navbar-inverse-link-color: @gray-light;
377+@navbar-inverse-link-hover-color: #fff;
378+@navbar-inverse-link-hover-bg: transparent;
379+@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color;
380+@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%);
381+@navbar-inverse-link-disabled-color: #444;
382+@navbar-inverse-link-disabled-bg: transparent;
383+
384+// Inverted navbar brand label
385+@navbar-inverse-brand-color: @navbar-inverse-link-color;
386+@navbar-inverse-brand-hover-color: #fff;
387+@navbar-inverse-brand-hover-bg: transparent;
388+
389+// Inverted navbar toggle
390+@navbar-inverse-toggle-hover-bg: #333;
391+@navbar-inverse-toggle-icon-bar-bg: #fff;
392+@navbar-inverse-toggle-border-color: #333;
393+
394+
395+//== Navs
396+//
397+//##
398+
399+//=== Shared nav styles
400+@nav-link-padding: 10px 15px;
401+@nav-link-hover-bg: @gray-lighter;
402+
403+@nav-disabled-link-color: @gray-light;
404+@nav-disabled-link-hover-color: @gray-light;
405+
406+@nav-open-link-hover-color: #fff;
407+
408+//== Tabs
409+@nav-tabs-border-color: #ddd;
410+
411+@nav-tabs-link-hover-border-color: @gray-lighter;
412+
413+@nav-tabs-active-link-hover-bg: @body-bg;
414+@nav-tabs-active-link-hover-color: @gray;
415+@nav-tabs-active-link-hover-border-color: #ddd;
416+
417+@nav-tabs-justified-link-border-color: #ddd;
418+@nav-tabs-justified-active-link-border-color: @body-bg;
419+
420+//== Pills
421+@nav-pills-border-radius: @border-radius-base;
422+@nav-pills-active-link-hover-bg: @component-active-bg;
423+@nav-pills-active-link-hover-color: @component-active-color;
424+
425+
426+//== Pagination
427+//
428+//##
429+
430+@pagination-color: @link-color;
431+@pagination-bg: #fff;
432+@pagination-border: #ddd;
433+
434+@pagination-hover-color: @link-hover-color;
435+@pagination-hover-bg: @gray-lighter;
436+@pagination-hover-border: #ddd;
437+
438+@pagination-active-color: #fff;
439+@pagination-active-bg: @brand-primary;
440+@pagination-active-border: @brand-primary;
441+
442+@pagination-disabled-color: @gray-light;
443+@pagination-disabled-bg: #fff;
444+@pagination-disabled-border: #ddd;
445+
446+
447+//== Pager
448+//
449+//##
450+
451+@pager-bg: @pagination-bg;
452+@pager-border: @pagination-border;
453+@pager-border-radius: 15px;
454+
455+@pager-hover-bg: @pagination-hover-bg;
456+
457+@pager-active-bg: @pagination-active-bg;
458+@pager-active-color: @pagination-active-color;
459+
460+@pager-disabled-color: @pagination-disabled-color;
461+
462+
463+//== Jumbotron
464+//
465+//##
466+
467+@jumbotron-padding: 30px;
468+@jumbotron-color: inherit;
469+@jumbotron-bg: @gray-lighter;
470+@jumbotron-heading-color: inherit;
471+@jumbotron-font-size: ceil((@font-size-base * 1.5));
472+
473+
474+//== Form states and alerts
475+//
476+//## Define colors for form feedback states and, by default, alerts.
477+
478+@state-success-text: #3c763d;
479+@state-success-bg: #dff0d8;
480+@state-success-border: darken(spin(@state-success-bg, -10), 5%);
481+
482+@state-info-text: #31708f;
483+@state-info-bg: #d9edf7;
484+@state-info-border: darken(spin(@state-info-bg, -10), 7%);
485+
486+@state-warning-text: #8a6d3b;
487+@state-warning-bg: #fcf8e3;
488+@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
489+
490+@state-danger-text: #a94442;
491+@state-danger-bg: #f2dede;
492+@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
493+
494+
495+//== Tooltips
496+//
497+//##
498+
499+//** Tooltip max width
500+@tooltip-max-width: 200px;
501+//** Tooltip text color
502+@tooltip-color: #fff;
503+//** Tooltip background color
504+@tooltip-bg: #000;
505+@tooltip-opacity: .9;
506+
507+//** Tooltip arrow width
508+@tooltip-arrow-width: 5px;
509+//** Tooltip arrow color
510+@tooltip-arrow-color: @tooltip-bg;
511+
512+
513+//== Popovers
514+//
515+//##
516+
517+//** Popover body background color
518+@popover-bg: #fff;
519+//** Popover maximum width
520+@popover-max-width: 276px;
521+//** Popover border color
522+@popover-border-color: rgba(0,0,0,.2);
523+//** Popover fallback border color
524+@popover-fallback-border-color: #ccc;
525+
526+//** Popover title background color
527+@popover-title-bg: darken(@popover-bg, 3%);
528+
529+//** Popover arrow width
530+@popover-arrow-width: 10px;
531+//** Popover arrow color
532+@popover-arrow-color: #fff;
533+
534+//** Popover outer arrow width
535+@popover-arrow-outer-width: (@popover-arrow-width + 1);
536+//** Popover outer arrow color
537+@popover-arrow-outer-color: fadein(@popover-border-color, 5%);
538+//** Popover outer arrow fallback color
539+@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
540+
541+
542+//== Labels
543+//
544+//##
545+
546+//** Default label background color
547+@label-default-bg: @gray-light;
548+//** Primary label background color
549+@label-primary-bg: @brand-primary;
550+//** Success label background color
551+@label-success-bg: @brand-success;
552+//** Info label background color
553+@label-info-bg: @brand-info;
554+//** Warning label background color
555+@label-warning-bg: @brand-warning;
556+//** Danger label background color
557+@label-danger-bg: @brand-danger;
558+
559+//** Default label text color
560+@label-color: #fff;
561+//** Default text color of a linked label
562+@label-link-hover-color: #fff;
563+
564+
565+//== Modals
566+//
567+//##
568+
569+//** Padding applied to the modal body
570+@modal-inner-padding: 15px;
571+
572+//** Padding applied to the modal title
573+@modal-title-padding: 15px;
574+//** Modal title line-height
575+@modal-title-line-height: @line-height-base;
576+
577+//** Background color of modal content area
578+@modal-content-bg: #fff;
579+//** Modal content border color
580+@modal-content-border-color: rgba(0,0,0,.2);
581+//** Modal content border color **for IE8**
582+@modal-content-fallback-border-color: #999;
583+
584+//** Modal backdrop background color
585+@modal-backdrop-bg: #000;
586+//** Modal backdrop opacity
587+@modal-backdrop-opacity: .5;
588+//** Modal header border color
589+@modal-header-border-color: #e5e5e5;
590+//** Modal footer border color
591+@modal-footer-border-color: @modal-header-border-color;
592+
593+@modal-lg: 900px;
594+@modal-md: 600px;
595+@modal-sm: 300px;
596+
597+
598+//== Alerts
599+//
600+//## Define alert colors, border radius, and padding.
601+
602+@alert-padding: 15px;
603+@alert-border-radius: @border-radius-base;
604+@alert-link-font-weight: bold;
605+
606+@alert-success-bg: @state-success-bg;
607+@alert-success-text: @state-success-text;
608+@alert-success-border: @state-success-border;
609+
610+@alert-info-bg: @state-info-bg;
611+@alert-info-text: @state-info-text;
612+@alert-info-border: @state-info-border;
613+
614+@alert-warning-bg: @state-warning-bg;
615+@alert-warning-text: @state-warning-text;
616+@alert-warning-border: @state-warning-border;
617+
618+@alert-danger-bg: @state-danger-bg;
619+@alert-danger-text: @state-danger-text;
620+@alert-danger-border: @state-danger-border;
621+
622+
623+//== Progress bars
624+//
625+//##
626+
627+//** Background color of the whole progress component
628+@progress-bg: #f5f5f5;
629+//** Progress bar text color
630+@progress-bar-color: #fff;
631+
632+//** Default progress bar color
633+@progress-bar-bg: @brand-primary;
634+//** Success progress bar color
635+@progress-bar-success-bg: @brand-success;
636+//** Warning progress bar color
637+@progress-bar-warning-bg: @brand-warning;
638+//** Danger progress bar color
639+@progress-bar-danger-bg: @brand-danger;
640+//** Info progress bar color
641+@progress-bar-info-bg: @brand-info;
642+
643+
644+//== List group
645+//
646+//##
647+
648+//** Background color on `.list-group-item`
649+@list-group-bg: #fff;
650+//** `.list-group-item` border color
651+@list-group-border: #ddd;
652+//** List group border radius
653+@list-group-border-radius: @border-radius-base;
654+
655+//** Background color of single list items on hover
656+@list-group-hover-bg: #f5f5f5;
657+//** Text color of active list items
658+@list-group-active-color: @component-active-color;
659+//** Background color of active list items
660+@list-group-active-bg: @component-active-bg;
661+//** Border color of active list elements
662+@list-group-active-border: @list-group-active-bg;
663+//** Text color for content within active list items
664+@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
665+
666+//** Text color of disabled list items
667+@list-group-disabled-color: @gray-light;
668+//** Background color of disabled list items
669+@list-group-disabled-bg: @gray-lighter;
670+//** Text color for content within disabled list items
671+@list-group-disabled-text-color: @list-group-disabled-color;
672+
673+@list-group-link-color: #555;
674+@list-group-link-hover-color: @list-group-link-color;
675+@list-group-link-heading-color: #333;
676+
677+
678+//== Panels
679+//
680+//##
681+
682+@panel-bg: #fff;
683+@panel-body-padding: 15px;
684+@panel-heading-padding: 10px 15px;
685+@panel-footer-padding: @panel-heading-padding;
686+@panel-border-radius: @border-radius-base;
687+
688+//** Border color for elements within panels
689+@panel-inner-border: #ddd;
690+@panel-footer-bg: #f5f5f5;
691+
692+@panel-default-text: @gray-dark;
693+@panel-default-border: #ddd;
694+@panel-default-heading-bg: #f5f5f5;
695+
696+@panel-primary-text: #fff;
697+@panel-primary-border: @brand-primary;
698+@panel-primary-heading-bg: @brand-primary;
699+
700+@panel-success-text: @state-success-text;
701+@panel-success-border: @state-success-border;
702+@panel-success-heading-bg: @state-success-bg;
703+
704+@panel-info-text: @state-info-text;
705+@panel-info-border: @state-info-border;
706+@panel-info-heading-bg: @state-info-bg;
707+
708+@panel-warning-text: @state-warning-text;
709+@panel-warning-border: @state-warning-border;
710+@panel-warning-heading-bg: @state-warning-bg;
711+
712+@panel-danger-text: @state-danger-text;
713+@panel-danger-border: @state-danger-border;
714+@panel-danger-heading-bg: @state-danger-bg;
715+
716+
717+//== Thumbnails
718+//
719+//##
720+
721+//** Padding around the thumbnail image
722+@thumbnail-padding: 4px;
723+//** Thumbnail background color
724+@thumbnail-bg: @body-bg;
725+//** Thumbnail border color
726+@thumbnail-border: #ddd;
727+//** Thumbnail border radius
728+@thumbnail-border-radius: @border-radius-base;
729+
730+//** Custom text color for thumbnail captions
731+@thumbnail-caption-color: @text-color;
732+//** Padding around the thumbnail caption
733+@thumbnail-caption-padding: 9px;
734+
735+
736+//== Wells
737+//
738+//##
739+
740+@well-bg: #f5f5f5;
741+@well-border: darken(@well-bg, 7%);
742+
743+
744+//== Badges
745+//
746+//##
747+
748+@badge-color: #fff;
749+//** Linked badge text color on hover
750+@badge-link-hover-color: #fff;
751+@badge-bg: @gray-light;
752+
753+//** Badge text color in active nav link
754+@badge-active-color: @link-color;
755+//** Badge background color in active nav link
756+@badge-active-bg: #fff;
757+
758+@badge-font-weight: bold;
759+@badge-line-height: 1;
760+@badge-border-radius: 10px;
761+
762+
763+//== Breadcrumbs
764+//
765+//##
766+
767+@breadcrumb-padding-vertical: 8px;
768+@breadcrumb-padding-horizontal: 15px;
769+//** Breadcrumb background color
770+@breadcrumb-bg: #f5f5f5;
771+//** Breadcrumb text color
772+@breadcrumb-color: #ccc;
773+//** Text color of current page in the breadcrumb
774+@breadcrumb-active-color: @gray-light;
775+//** Textual separator for between breadcrumb elements
776+@breadcrumb-separator: "/";
777+
778+
779+//== Carousel
780+//
781+//##
782+
783+@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
784+
785+@carousel-control-color: #fff;
786+@carousel-control-width: 15%;
787+@carousel-control-opacity: .5;
788+@carousel-control-font-size: 20px;
789+
790+@carousel-indicator-active-bg: #fff;
791+@carousel-indicator-border-color: #fff;
792+
793+@carousel-caption-color: #fff;
794+
795+
796+//== Close
797+//
798+//##
799+
800+@close-font-weight: bold;
801+@close-color: #000;
802+@close-text-shadow: 0 1px 0 #fff;
803+
804+
805+//== Code
806+//
807+//##
808+
809+@code-color: #c7254e;
810+@code-bg: #f9f2f4;
811+
812+@kbd-color: #fff;
813+@kbd-bg: #333;
814+
815+@pre-bg: #f5f5f5;
816+@pre-color: @gray-dark;
817+@pre-border-color: #ccc;
818+@pre-scrollable-max-height: 340px;
819+
820+
821+//== Type
822+//
823+//##
824+
825+//** Horizontal offset for forms and lists.
826+@component-offset-horizontal: 180px;
827+//** Text muted color
828+@text-muted: @gray-light;
829+//** Abbreviations and acronyms border color
830+@abbr-border-color: @gray-light;
831+//** Headings small color
832+@headings-small-color: @gray-light;
833+//** Blockquote small color
834+@blockquote-small-color: @gray-light;
835+//** Blockquote font size
836+@blockquote-font-size: (@font-size-base * 1.25);
837+//** Blockquote border color
838+@blockquote-border-color: @gray-lighter;
839+//** Page header border color
840+@page-header-border-color: @gray-lighter;
841+//** Width of horizontal description list titles
842+@dl-horizontal-offset: @component-offset-horizontal;
843+//** Horizontal line color.
844+@hr-border: @gray-lighter;
845+
846+
searx/static/oscar/less/bootstrap/wells.lessnew file+29
@@ -0,0 +1,29 @@
1+//
2+// Wells
3+// --------------------------------------------------
4+
5+
6+// Base class
7+.well {
8+ min-height: 20px;
9+ padding: 19px;
10+ margin-bottom: 20px;
11+ background-color: @well-bg;
12+ border: 1px solid @well-border;
13+ border-radius: @border-radius-base;
14+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
15+ blockquote {
16+ border-color: #ddd;
17+ border-color: rgba(0,0,0,.15);
18+ }
19+}
20+
21+// Sizes
22+.well-lg {
23+ padding: 24px;
24+ border-radius: @border-radius-large;
25+}
26+.well-sm {
27+ padding: 9px;
28+ border-radius: @border-radius-small;
29+}
searx/static/oscar/less/oscar/checkbox.lessnew file+9
@@ -0,0 +1,9 @@
1+// Hide element if checkbox is checked
2+input[type=checkbox]:checked ~ .label_hide_if_checked {
3+ display:none;
4+}
5+
6+// Hide element if checkbox is not checked
7+input[type=checkbox]:not(:checked) ~ .label_hide_if_not_checked {
8+ display:none;
9+}
searx/static/oscar/less/oscar/cursor.lessnew file+4
@@ -0,0 +1,4 @@
1+// display cursor
2+.cursor-text {
3+ cursor: text !important;
4+}
searx/static/oscar/less/oscar/footer.lessnew file+19
@@ -0,0 +1,19 @@
1+// Sticky footer styles
2+
3+html {
4+ position: relative;
5+ min-height: 100%;
6+}
7+
8+body {
9+ /* Margin bottom by footer height */
10+ margin-bottom: 80px;
11+}
12+
13+.footer {
14+ position: absolute;
15+ bottom: 0;
16+ width: 100%;
17+ /* Set the fixed height of the footer here */
18+ height: 60px;
19+}
searx/static/oscar/less/oscar/infobox.lessnew file+9
@@ -0,0 +1,9 @@
1+.infobox {
2+ .infobox_part {
3+ margin-bottom: 20px;
4+ }
5+
6+ .infobox_part:last-child {
7+ margin-bottom: 0;
8+ }
9+}
searx/static/oscar/less/oscar/oscar.lessnew file+11
@@ -0,0 +1,11 @@
1+@import "footer.less";
2+
3+@import "checkbox.less";
4+
5+@import "results.less";
6+
7+@import "infobox.less";
8+
9+@import "search.less";
10+
11+@import "cursor.less";
searx/static/oscar/less/oscar/results.lessnew file+41
@@ -0,0 +1,41 @@
1+// default formating of results
2+.result-default {
3+ clear: both;
4+}
5+
6+// image formating of results
7+.result-images {
8+ float: left !important;
9+}
10+
11+.img-thumbnail {
12+ margin: 5px;
13+ max-height: 128px;
14+ min-height: 128px;
15+}
16+
17+// video formating of results
18+.result-videos {
19+ clear: both;
20+}
21+
22+// torrent formating of results
23+.result-torrents {
24+ clear: both;
25+}
26+
27+// suggestion
28+.suggestion_item {
29+ margin: 2px 5px;
30+}
31+
32+// download result
33+.result_download {
34+ margin-right: 5px;
35+}
36+
37+// page forward, backward
38+#pagination {
39+ margin-top: 30px;
40+ padding-bottom: 50px;
41+}
searx/static/oscar/less/oscar/search.lessnew file+4
@@ -0,0 +1,4 @@
1+.search_categories {
2+ margin:10px 0;
3+ text-transform: capitalize;
4+}
searx/templates/oscar/about.htmlnew file+67
@@ -0,0 +1,67 @@
1+{% extends "oscar/base.html" %}
2+{% block site_alert_warning_nojs %} {% endblock %}
3+{% block title %}{{ _('about') }} - {% endblock %}
4+{% block content %}
5+<div>
6+ <h1>About <a href="{{ url_for('index') }}">searx</a></h1>
7+
8+ <p>Searx is a <a href="https://en.wikipedia.org/wiki/Metasearch_engine">metasearch engine</a>, aggregating the results of other <a href="{{ url_for('preferences') }}">search engines</a> while not storing information about its users.
9+ </p>
10+ <h2>Why use Searx?</h2>
11+ <ul>
12+ <li>Searx may not offer you as personalised results as Google, but it doesn't generate a profile about you</li>
13+ <li>Searx doesn't care about what you search for, never shares anything with a third party, and it can't be used to compromise you</li>
14+ <li>Searx is free software, the code is 100% open and you can help to make it better. See more on <a href="https://github.com/asciimoo/searx">github</a></li>
15+ </ul>
16+ <p>If you do care about privacy, want to be a conscious user, or otherwise believe
17+ in digital freedom, make Searx your default search engine or run it on your own server</p>
18+
19+<h2>Technical details - How does it work?</h2>
20+
21+<p>Searx is a <a href="https://en.wikipedia.org/wiki/Metasearch_engine">metasearch engine</a>,
22+inspired by the <a href="http://seeks-project.info/">seeks project</a>.<br />
23+It provides basic privacy by mixing your queries with searches on other platforms without storing search data. Queries are made using a POST request on every browser (except chrome*). Therefore they show up in neither our logs, nor your url history. In case of Chrome* users there is an exception, Searx uses the search bar to perform GET requests.<br />
24+Searx can be added to your browser's search bar; moreover, it can be set as the default search engine.
25+</p>
26+
27+<h2>How can I make it my own?</h2>
28+
29+<p>Searx appreciates your concern regarding logs, so take the <a href="https://github.com/asciimoo/searx">code</a> and run it yourself! <br />Add your Searx to this <a href="https://github.com/asciimoo/searx/wiki/Searx-instances">list</a> to help other people reclaim their privacy and make the Internet freer!
30+<br />The more decentralized the Internet, is the more freedom we have!</p>
31+
32+
33+<h2>More about searx</h2>
34+
35+<ul>
36+ <li><a href="https://github.com/asciimoo/searx">github</a></li>
37+ <li><a href="https://www.ohloh.net/p/searx/">ohloh</a></li>
38+ <li><a href="https://twitter.com/Searx_engine">twitter</a></li>
39+ <li>IRC: #searx @ freenode (<a href="https://kiwiirc.com/client/irc.freenode.com/searx">webclient</a>)</li>
40+ <li><a href="https://www.transifex.com/projects/p/searx/">transifex</a></li>
41+</ul>
42+
43+
44+<hr />
45+
46+<h2 id="faq">FAQ</h2>
47+
48+<h3>How to add to firefox?</h3>
49+<p><a href="#" onclick="window.external.AddSearchProvider(window.location.protocol + '//' + window.location.host + '{{ url_for('opensearch') }}');">Install</a> searx as a search engine on any version of Firefox! (javascript required)</p>
50+
51+<h2 id="dev_faq">Developer FAQ</h2>
52+
53+<h3>New engines?</h3>
54+<ul>
55+ <li>Edit your <a href="https://raw.github.com/asciimoo/searx/master/searx/settings.yml">settings.yml</a></li>
56+ <li>Create your custom engine module, check the <a href="https://github.com/asciimoo/searx/blob/master/examples/basic_engine.py">example engine</a></li>
57+</ul>
58+<p>Don't forget to restart searx after config edit!</p>
59+
60+<h3>Installation/WSGI support?</h3>
61+<p>See the <a href="https://github.com/asciimoo/searx/wiki/Installation">installation and setup</a> wiki page</p>
62+
63+<h3>How to debug engines?</h3>
64+<p><a href="{{ url_for('stats') }}">Stats page</a> contains some useful data about the engines used.</p>
65+
66+</div>
67+{% endblock %}
searx/templates/oscar/base.htmlnew file+75
@@ -0,0 +1,75 @@
1+<!DOCTYPE html>
2+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
3+<head>
4+ <meta charset="UTF-8" />
5+ <meta name="description" content="Searx - a privacy-respecting, hackable metasearch engine" />
6+ <meta name="keywords" content="searx, search, search engine, metasearch, meta search" />
7+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
8+ <meta name="viewport" content="width=device-width, initial-scale=1 , maximum-scale=1.0, user-scalable=1" />
9+ <title>{% block title %}{% endblock %}searx</title>
10+
11+ <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}" type="text/css" />
12+ <link rel="stylesheet" href="{{ url_for('static', filename='css/oscar.min.css') }}" type="text/css" />
13+
14+ <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
15+ <!--[if lt IE 9]>
16+ <script src="{{ url_for('static', filename='js/html5shiv.min.js') }}"></script>
17+ <script src="{{ url_for('static', filename='js/respond.min.js') }}"></script>
18+ <![endif]-->
19+
20+ <link rel="shortcut icon" href="{{ url_for('static', filename='img/favicon.png') }}" />
21+
22+ {% block styles %}
23+ {% endblock %}
24+ {% block head %}
25+ {% endblock %}
26+
27+ <link title="searx" type="application/opensearchdescription+xml" rel="search" href="{{ url_for('opensearch') }}"/>
28+
29+ <script type="text/javascript">
30+ searx = {};
31+ searx.method = "{{ method or 'POST' }}";
32+ searx.autocompleter = {% if autocomplete %}true{% else %}false{% endif %};
33+ </script>
34+ <noscript>
35+ <style type="text/css">
36+ .tab-content > .active_if_nojs {display: block;}
37+ .hide_if_nojs {display: none !important;overflow:none !important;}
38+ </style>
39+ </noscript>
40+</head>
41+<body>
42+ <div class="container">
43+ {% include 'oscar/navbar.html' %}
44+
45+ {% block site_alert_error %}
46+ {% endblock %}
47+ {% block site_alert_warning %}
48+ {% endblock %}
49+ {% block site_alert_warning_nojs %}
50+ <noscript>
51+ {% include 'oscar/messages/js_disabled.html' %}
52+ </noscript>
53+ {% endblock %}
54+ {% block site_alert_info %}
55+ {% endblock %}
56+ {% block site_alert_success %}
57+ {% endblock %}
58+
59+ {% block content %}
60+ {% endblock %}
61+
62+ </div>
63+ <div class="footer">
64+ <div class="container">
65+ {% block footer %}
66+ {% endblock %}
67+ <p class="text-muted">{{ _('Powered by') }} <a href="https://github.com/asciimoo/searx">Searx</a> - {{ _('a privacy-respecting, hackable metasearch engine') }}</p>
68+ </div>
69+ </div>
70+ <script src="{{ url_for('static', filename='js/jquery-1.11.1.min.js') }}"></script>
71+ <script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
72+ {% if autocomplete %}<script src="{{ url_for('static', filename='js/typeahead.bundle.min.js') }}"></script>{% endif %}
73+ <script src="{{ url_for('static', filename='js/scripts.js') }}"></script>
74+</body>
75+</html>
searx/templates/oscar/categories.htmlnew file+6
@@ -0,0 +1,6 @@
1+<div id="categories" class="btn-group btn-toggle" data-toggle="buttons">
2+{% for category in categories %}
3+ <label class="btn btn-sm {% if category in selected_categories %}btn-primary active{% else %}btn-default{% endif %}" data-btn-class="primary">
4+ <input class="hidden" type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} />{{ _(category) }}</label>
5+{% endfor %}
6+</div>
searx/templates/oscar/index.htmlnew file+15
@@ -0,0 +1,15 @@
1+{% extends "oscar/base.html" %}
2+{% block content %}
3+<div class="container-fluid">
4+ <div class="row">
5+ <div class="text-center col-sm-12 col-md-12">
6+ <h1 class="text-hide center-block"><img class="center-block img-responsive" src="{{ url_for('static', filename='img/searx_logo.png') }}" alt="searx logo"/>searx</h1>
7+ </div>
8+ </div>
9+ <div class="row">
10+ <div class="text-center col-sm-12 col-md-12">
11+ {% include 'oscar/search_full.html' %}
12+ </div>
13+ </div>
14+</div>
15+{% endblock %}
searx/templates/oscar/infobox.htmlnew file+28
@@ -0,0 +1,28 @@
1+<div class="panel panel-default infobox">
2+ <div class="panel-heading">
3+ <h4 class="panel-title">{{ infobox.infobox }}</h4>
4+ </div>
5+ <div class="panel-body">
6+ {% if infobox.img_src %}<img class="img-responsive center-block infobox_part" src="{{ infobox.img_src }}" />{% endif %}
7+ {% if infobox.content %}<p class="infobox_part">{{ infobox.content }}</p>{% endif %}
8+
9+ {% if infobox.attributes %}
10+ <table class="table table-striped infobox_part">
11+ {% for attribute in infobox.attributes %}
12+ <tr>
13+ <td>{{ attribute.label }}</td>
14+ <td>{{ attribute.value }}</td>
15+ </tr>
16+ {% endfor %}
17+ </table>
18+ {% endif %}
19+
20+ {% if infobox.urls %}
21+ <div class="infobox_part">
22+ {% for url in infobox.urls %}
23+ <p class="btn btn-default btn-xs"><a href="{{ url.url }}">{{ url.title }}</a></p>
24+ {% endfor %}
25+ </div>
26+ {% endif %}
27+ </div>
28+</div>
searx/templates/oscar/macros.htmlnew file+3
@@ -0,0 +1,3 @@
1+{% macro icon(action) -%}
2+ <span class="glyphicon glyphicon-{{ action }}"></span>
3+{%- endmacro %}
searx/templates/oscar/messages/first_time.htmlnew file+8
@@ -0,0 +1,8 @@
1+<div class="alert alert-info fade in" role="alert">
2+ <button class="close" data-dismiss="alert" type="button">
3+ <span aria-hidden="true">×</span>
4+ <span class="sr-only">{{ _('Close') }}</span>
5+ </button>
6+ <strong class="lead">{{ icon('info-sign') }} {{ _('Heads up!') }}</strong>
7+ {{ _('It look like you are using searx first time.') }}
8+</div>
searx/templates/oscar/messages/js_disabled.htmlnew file+4
@@ -0,0 +1,4 @@
1+<div class="alert alert-warning" role="alert">
2+ <strong class="lead">{{ _('Warning!') }}</strong>
3+ {{ _('Please enable JavaScript to use full functionality of this site.') }}
4+</div>
searx/templates/oscar/messages/no_data_available.htmlnew file+5
@@ -0,0 +1,5 @@
1+{% from 'oscar/macros.html' import icon %}
2+<div class="alert alert-info fade in" role="alert">
3+ <strong class="lead">{{ icon('info-sign') }} {{ _('Heads up!') }}</strong>
4+ {{ _('There is currently no data available. ') }}
5+</div>
searx/templates/oscar/messages/no_results.htmlnew file+9
@@ -0,0 +1,9 @@
1+{% from 'oscar/macros.html' import icon %}
2+<div class="alert alert-info fade in" role="alert">
3+ <button class="close" data-dismiss="alert" type="button">
4+ <span aria-hidden="true">×</span>
5+ <span class="sr-only">{{ _('Close') }}</span>
6+ </button>
7+ <strong class="lead">{{ icon('info-sign') }} {{ _('Sorry!') }}</strong>
8+ {{ _('we didn\'t find any results. Please use another query or search in more categories.') }}
9+</div>
searx/templates/oscar/messages/save_settings_successfull.htmlnew file+9
@@ -0,0 +1,9 @@
1+{% from 'oscar/macros.html' import icon %}
2+<div class="alert alert-success fade in" role="alert">
3+ <button class="close" data-dismiss="alert" type="button">
4+ <span aria-hidden="true">×</span>
5+ <span class="sr-only">{{ _('Close') }}</span>
6+ </button>
7+ <strong class="lead">{{ icon('ok-sign') }} {{ _('Well done!') }}</strong>
8+ {{ _('Settings saved successfully.') }}
9+</div>
searx/templates/oscar/messages/unknow_error.htmlnew file+9
@@ -0,0 +1,9 @@
1+{% from 'oscar/macros.html' import icon %}
2+<div class="alert alert-danger fade in" role="alert">
3+ <button class="close" data-dismiss="alert" type="button">
4+ <span aria-hidden="true">×</span>
5+ <span class="sr-only">{{ _('Close') }}</span>
6+ </button>
7+ <strong class="lead">{{ icon('exclamation-sign') }} {{ _('Oh snap!') }}</strong>
8+ {{ _('Something went wrong.') }}
9+</div>
searx/templates/oscar/navbar.htmlnew file+21
@@ -0,0 +1,21 @@
1+<!-- Static navbar -->
2+<div class="navbar navbar-default" role="navigation">
3+ <div class="container-fluid">
4+ <div class="navbar-header">
5+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
6+ <span class="sr-only">{{ _('Toggle navigation') }}</span>
7+ <span class="icon-bar"></span>
8+ <span class="icon-bar"></span>
9+ <span class="icon-bar"></span>
10+ </button>
11+ <a class="navbar-brand" href="{{ url_for('index') }}">searx</a>
12+ </div>
13+ <div class="navbar-collapse collapse">
14+ <ul class="nav navbar-nav navbar-right"> <!-- results.html -->
15+ <li{% if template_name == 'index.html' %} class="active"{% endif %}><a href="{{ url_for('index') }}" class="hmarg">{{ _('home') }}</a></li>
16+ <li{% if template_name == 'about.html' %} class="active"{% endif %}><a href="{{ url_for('about') }}" class="hmarg">{{ _('about') }}</a></li>
17+ <li{% if template_name == 'preferences.html' %} class="active"{% endif %}><a href="{{ url_for('preferences') }}" class="hmarg">{{ _('preferences') }}</a></li>
18+ </ul>
19+ </div><!--/.nav-collapse -->
20+ </div><!--/.container-fluid -->
21+</div>
searx/templates/oscar/opensearch.xmlnew file+27
@@ -0,0 +1,27 @@
1+<?xml version="1.0" encoding="utf-8"?>
2+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
3+ <ShortName>searx</ShortName>
4+ <Description>Search searx</Description>
5+ <InputEncoding>UTF-8</InputEncoding>
6+ <LongName>searx metasearch</LongName>
7+ {% if opensearch_method == 'get' %}
8+ <Url type="text/html" method="get" template="{{ host }}search?q={searchTerms}"/>
9+ {% if autocomplete %}
10+ <Url type="application/x-suggestions+json" method="get" template="{{ host }}autocompleter">
11+ <Param name="format" value="x-suggestions" />
12+ <Param name="q" value="{searchTerms}" />
13+ </Url>
14+ {% endif %}
15+ {% else %}
16+ <Url type="text/html" method="post" template="{{ host }}">
17+ <Param name="q" value="{searchTerms}" />
18+ </Url>
19+ {% if autocomplete %}
20+ <!-- TODO, POST REQUEST doesn't work -->
21+ <Url type="application/x-suggestions+json" method="get" template="{{ host }}autocompleter">
22+ <Param name="format" value="x-suggestions" />
23+ <Param name="q" value="{searchTerms}" />
24+ </Url>
25+ {% endif %}
26+ {% endif %}
27+</OpenSearchDescription>
searx/templates/oscar/opensearch_response_rss.xmlnew file+23
@@ -0,0 +1,23 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<rss version="2.0"
3+ xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
4+ xmlns:atom="http://www.w3.org/2005/Atom">
5+ <channel>
6+ <title>Searx search: {{ q }}</title>
7+ <link>{{ base_url }}?q={{ q }}</link>
8+ <description>Search results for "{{ q }}" - searx</description>
9+ <opensearch:totalResults>{{ number_of_results }}</opensearch:totalResults>
10+ <opensearch:startIndex>1</opensearch:startIndex>
11+ <opensearch:itemsPerPage>{{ number_of_results }}</opensearch:itemsPerPage>
12+ <atom:link rel="search" type="application/opensearchdescription+xml" href="{{ base_url }}opensearch.xml"/>
13+ <opensearch:Query role="request" searchTerms="{{ q }}" startPage="1" />
14+ {% for r in results %}
15+ <item>
16+ <title>{{ r.title }}</title>
17+ <link>{{ r.url }}</link>
18+ <description>{{ r.content }}</description>
19+ {% if r.pubdate %}<pubDate>{{ r.pubdate }}</pubDate>{% endif %}
20+ </item>
21+ {% endfor %}
22+ </channel>
23+</rss>
searx/templates/oscar/preferences.htmlnew file+141
@@ -0,0 +1,141 @@
1+{% extends "oscar/base.html" %}
2+{% block title %}{{ _('preferences') }} - {% endblock %}
3+{% block content %}
4+<div>
5+
6+ <h1>{{ _('Preferences') }}</h1>
7+ <form method="post" action="{{ url_for('preferences') }}" id="search_form">
8+
9+ <!-- Nav tabs -->
10+ <ul class="nav nav-tabs hide_if_nojs" role="tablist" style="margin-bottom:20px;">
11+ <li class="active"><a href="#tab_general" role="tab" data-toggle="tab">{{ _('General') }}</a></li>
12+ <li><a href="#tab_engine" role="tab" data-toggle="tab">{{ _('Engines') }}</a></li>
13+ </ul>
14+
15+ <!-- Tab panes -->
16+ <noscript>
17+ <h3>{{ _('General') }}</h3>
18+ </noscript>
19+ <div class="tab-content">
20+ <div class="tab-pane active" id="tab_general">
21+ <fieldset>
22+ <div class="container-fluid">
23+ <div class="row form-group">
24+ <label class="col-sm-3 col-md-2">{{ _('Default categories') }}</label>
25+ <div class="col-sm-11 col-md-10">
26+ {% include 'oscar/categories.html' %}
27+ </div>
28+ </div>
29+ <div class="row form-group">
30+ <label class="col-sm-3 col-md-2">{{ _('Search language') }}</label>
31+ <div class="col-sm-4 col-md-4">
32+ <select class="form-control" name='language'>
33+ <option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Automatic') }}</option>
34+ {% for lang_id,lang_name,country_name in language_codes %}
35+ <option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>{{ lang_name }} ({{ country_name }}) - {{ lang_id }}</option>
36+ {% endfor %}
37+ </select>
38+ </div>
39+ <span class="col-sm-5 col-md-6 help-block">{{ _('What language do you prefer for search?') }}</span>
40+ </div>
41+ <div class="row form-group">
42+ <label class="col-sm-3 col-md-2">{{ _('Interface language') }}</label>
43+ <div class="col-sm-4 col-md-4">
44+ <select class="form-control" name='locale'>
45+ {% for locale_id,locale_name in locales.items() %}
46+ <option value="{{ locale_id }}" {% if locale_id == current_locale %}selected="selected"{% endif %}>{{ locale_name }}</option>
47+ {% endfor %}
48+ </select>
49+ </div>
50+ <span class="col-sm-5 col-md-6 help-block">{{ _('Change the language of the layout') }}</span>
51+ </div>
52+ <div class="row form-group">
53+ <label class="col-sm-3 col-md-2">{{ _('Autocomplete') }}</label>
54+ <div class="col-sm-4 col-md-4">
55+
56+ <select class="form-control" name="autocomplete">
57+ <option value=""> - </option>
58+ {% for backend in autocomplete_backends %}
59+ <option value="{{ backend }}" {% if backend == autocomplete %}selected="selected"{% endif %}>{{ backend }}</option>
60+ {% endfor %}
61+ </select>
62+ </div>
63+ <span class="col-sm-5 col-md-6 help-block">{{ _('Find stuff as you type') }}</span>
64+ </div>
65+ <div class="row form-group">
66+ <label class="col-sm-3 col-md-2">{{ _('Method') }}</label>
67+ <div class="col-sm-4 col-md-4">
68+ <select class="form-control" name='method'>
69+ <option value="POST" {% if method == 'POST' %}selected="selected"{% endif %}>POST</option>
70+ <option value="GET" {% if method == 'GET' %}selected="selected"{% endif %}>GET</option>
71+ </select>
72+ </div>
73+ <span class="col-sm-5 col-md-6 help-block">{{ _('Change how forms are submited, <a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods" rel="external">learn more about request methods</a>') }}</span>
74+ </div>
75+ <div class="row form-group">
76+ <label class="col-sm-3 col-md-2">{{ _('Themes') }}</label>
77+ <div class="col-sm-4 col-md-4">
78+ <select class="form-control" name="theme">
79+ {% for name in themes %}
80+ <option value="{{ name }}" {% if name == theme %}selected="selected"{% endif %}>{{ name }}</option>
81+ {% endfor %}
82+ </select>
83+ </div>
84+ <span class="col-sm-5 col-md-6 help-block">{{ _('Change searx layout') }}</span>
85+ </div>
86+ </div>
87+ </fieldset>
88+ </div>
89+ <div class="tab-pane active_if_nojs" id="tab_engine">
90+
91+ <!-- Nav tabs -->
92+ <ul class="nav nav-tabs hide_if_nojs" role="tablist" style="margin-bottom:20px;">
93+ {% for (categ,search_engines) in categs %}
94+ <li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '_') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
95+ {% endfor %}
96+ </ul>
97+
98+ <noscript>
99+ <h3>{{ _('Engines') }}</h3>
100+ </noscript>
101+
102+ <!-- Tab panes -->
103+ <div class="tab-content">
104+ {% for (categ,search_engines) in categs %}
105+ <noscript><label>{{ _(categ) }}</label>
106+ </noscript>
107+ <div class="tab-pane{% if loop.first %} active{% endif %} active_if_nojs" id="tab_engine_{{ categ|replace(' ', '_') }}">
108+ <div class="container-fluid">
109+ <fieldset>
110+ {% for search_engine in search_engines %}
111+ {% if not search_engine.private %}
112+ <div class="row">
113+ <div class="col-xs-6 col-sm-4 col-md-4">{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})</div>
114+ <div class="col-xs-6 col-sm-4 col-md-4">
115+ <div class="checkbox">
116+ <input class="hidden" type="checkbox" id="engine_{{ categ }}_{{ search_engine.name|replace(' ', '_') }}" name="engine_{{ search_engine.name }}"{% if search_engine.name in blocked_engines %} checked="checked"{% endif %} />
117+ <label class="btn btn-success label_hide_if_checked" for="engine_{{ categ }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Block') }}</label>
118+ <label class="btn btn-danger label_hide_if_not_checked" for="engine_{{ categ }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
119+ </div>
120+ </div>
121+ </div>
122+ {% endif %}
123+ {% endfor %}
124+ </fieldset>
125+ </div>
126+ </div>
127+ {% endfor %}
128+ </div>
129+ </div>
130+ </div>
131+
132+ <p class="text-muted" style="margin:20px 0;">{{ _('These settings are stored in your cookies, this allows us not to store this data about you.') }}
133+ <br />
134+ {{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }}
135+ </p>
136+
137+ <input type="submit" class="btn btn-primary" value="{{ _('save') }}" />
138+ <a href="{{ url_for('index') }}"><div class="btn btn-default">{{ _('back') }}</div></a>
139+ </form>
140+</div>
141+{% endblock %}
searx/templates/oscar/result_templates/default.htmlnew file+8
@@ -0,0 +1,8 @@
1+<h3>{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3>
2+
3+{% if result.publishedDate %}<time class="text-muted" datetime="{{ result.publishedDate }}" pubdate>{{ result.publishedDate }}</time>{% endif %}
4+
5+{% if result.content %}<p>{{ result.content|safe }}</p>{% endif %}
6+
7+<span class="label label-default pull-right">{{ result.engine }}</span>
8+<p class="text-muted">{{ result.pretty_url }}</p>
searx/templates/oscar/result_templates/images.htmlnew file+25
@@ -0,0 +1,25 @@
1+<a href="{{ result.img_src }}" data-toggle="modal" data-target="#modal-{{ index }}">
2+ <img src="{{ result.img_src }}" alt="{{ result.title|e }}" class="img-thumbnail">
3+</a>
4+
5+<div class="modal fade" id="modal-{{ index }}" tabindex="-1" role="dialog" aria-hidden="true">
6+ <div class="modal-dialog">
7+ <div class="modal-content">
8+ <div class="modal-header">
9+ <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
10+ <h4 class="modal-title">{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" /> {% endif %}{{ result.title|striptags }}</h4>
11+ </div>
12+ <div class="modal-body">
13+ <img class="img-responsive center-block" src="{{ result.img_src }}" alt="{{ result.title }}">
14+ {% if result.content %}<p>{{ result.content|safe }}</p>{% endif %}
15+ </div>
16+ <div class="modal-footer">
17+ <span class="label label-default pull-right">{{ result.engine }}</span>
18+ <p class="text-muted pull-left">{{ result.pretty_url }}</p>
19+ <div class="clearfix"></div>
20+ <a href="{{ result.img_src }}" class="btn btn-default">{{ _('Get image') }}</a>
21+ <a href="{{ result.url }}" class="btn btn-default">{{ _('View source') }}</a>
22+ </div>
23+ </div>
24+ </div>
25+</div>
searx/templates/oscar/result_templates/torrent.htmlnew file+14
@@ -0,0 +1,14 @@
1+{% from 'oscar/macros.html' import icon %}
2+
3+<h3>{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3>
4+
5+{% if result.publishedDate %}<time class="text-muted" datetime="{{ result.publishedDate }}" pubdate>{{ result.publishedDate }}</time>{% endif %}
6+
7+<p>{{ icon('transfer') }} {{ _('Seeder') }} <span class="badge">{{ result.seed }}</span>, {{ _('Leecher') }} <span class="badge">{{ result.leech }}</span></p>
8+
9+<p><a href="{{ result.magnetlink }}" class="magnetlink">{{ icon('magnet') }} magnet link</a></p>
10+
11+{% if result.content %}<p>{{ result.content|safe }}</p>{% endif %}
12+
13+<span class="label label-default pull-right">{{ result.engine }}</span>
14+<p class="text-muted">{{ result.pretty_url }}</p>
searx/templates/oscar/result_templates/videos.htmlnew file+13
@@ -0,0 +1,13 @@
1+<h3>{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3>
2+
3+{% if result.publishedDate %}<time class="text-muted" datetime="{{ result.publishedDate }}" pubdate>{{ result.publishedDate }}</time>{% endif %}
4+
5+<div class="container-fluid">
6+ <div class="row">
7+ <img class="thumbnail col-xs-6 col-sm-4 col-md-4" src="{{ result.thumbnail|safe }}" />
8+ {% if result.content %}<p class="col-xs-12 col-sm-8 col-md-8">{{ result.content|safe }}</p>{% endif %}
9+ </div>
10+</div>
11+
12+<span class="label label-default pull-right">{{ result.engine }}</span>
13+<p class="text-muted">{{ result.pretty_url }}</p>
searx/templates/oscar/results.htmlnew file+106
@@ -0,0 +1,106 @@
1+{% extends "oscar/base.html" %}
2+{% block title %}{{ q }} - {% endblock %}
3+{% block content %}
4+ <div class="row">
5+ <div class="col-sm-8" id="main_results">
6+ <h1 class="sr-only">{{ _('Search results') }}</h1>
7+ {% include 'oscar/search.html' %}
8+
9+ {% if answers %}
10+ {% for answer in answers %}
11+ <div class="result well">
12+ <span>{{ answer }}</span>
13+ </div>
14+ {% endfor %}
15+ {% endif %}
16+
17+ {% for result in results %}
18+ <div class="result {% if result['template'] %}result-{{ result.template|replace('.html', '') }}{% else %}result-default{% endif %}">
19+ {% set index = loop.index %}
20+ {% if result.template %}{% include 'oscar/result_templates/'+result['template'] %}{% else %}{% include 'oscar/result_templates/default.html' %}{% endif %}
21+ </div>
22+ {% endfor %}
23+
24+ {% if not results %}
25+ {% include 'oscar/messages/no_results.html' %}
26+ {% endif %}
27+
28+ <div class="clearfix"></div>
29+
30+ {% if paging %}
31+ <div id="pagination">
32+ <div class="pull-left">
33+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
34+ <input type="hidden" name="q" value="{{ q }}" />
35+ {% for category in selected_categories %}<input type="hidden" name="category_{{ category }}" value="1"/>{% endfor %}
36+ <input type="hidden" name="pageno" value="{{ pageno-1 }}" />
37+ <button type="submit" class="btn btn-default" {% if pageno == 1 %}disabled{% endif %}><span class="glyphicon glyphicon-backward"></span> {{ _('previous page') }}</button>
38+ </form>
39+ </div>
40+ <div class="pull-right">
41+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="pull-left">
42+ {% for category in selected_categories %}<input type="hidden" name="category_{{ category }}" value="1"/>{% endfor %}
43+ <input type="hidden" name="q" value="{{ q }}" />
44+ <input type="hidden" name="pageno" value="{{ pageno+1 }}" />
45+ <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-forward"></span> {{ _('next page') }}</button>
46+ </form>
47+ </div>
48+ </div><!-- /#pagination -->
49+ <div class="clearfix"></div>
50+ {% endif %}
51+ </div><!-- /#main_results -->
52+
53+ <div class="col-sm-4" id="sidebar_results">
54+
55+ {% if suggestions %}
56+ <div class="panel panel-default">
57+ <div class="panel-heading">
58+ <h4 class="panel-title">{{ _('Suggestions') }}</h4>
59+ </div>
60+ <div class="panel-body">
61+ {% for suggestion in suggestions %}
62+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" role="navigation" class="form-inline pull-left suggestion_item">
63+ <input type="hidden" name="q" value="{{ suggestion }}">
64+ <button type="submit" class="btn btn-default btn-xs">{{ suggestion }}</button>
65+ </form>
66+ {% endfor %}
67+ </div>
68+ </div>
69+ {% endif %}
70+
71+ <div class="panel panel-default">
72+ <div class="panel-heading">
73+ <h4 class="panel-title">{{ _('Links') }}</h4>
74+ </div>
75+ <div class="panel-body">
76+ <form role="form">
77+ <div class="form-group">
78+ <label for="search_url">{{ _('Search URL') }}</label>
79+ <input type="url" class="form-control select-all-on-click cursor-text" name="search_url" value="{{ base_url }}?q={{ q|urlencode }}&pageno={{ pageno }}{% if selected_categories %}&category_{{ selected_categories|join("&category_") }}{% endif %}" readonly>
80+ </div>
81+ </form>
82+
83+ <label>{{ _('Download results') }}</label>
84+ <div class="clearfix"></div>
85+ {% for output_type in ('csv', 'json', 'rss') %}
86+ <form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" class="form-inline pull-left result_download">
87+ <input type="hidden" name="q" value="{{ q }}">
88+ <input type="hidden" name="format" value="{{ output_type }}">
89+ {% for category in selected_categories %}<input type="hidden" name="category_{{ category }}" value="1">{% endfor %}
90+ <input type="hidden" name="pageno" value="{{ pageno }}">
91+ <button type="submit" class="btn btn-default">{{ output_type }}</button>
92+ </form>
93+ {% endfor %}
94+ <div class="clearfix"></div>
95+ </div>
96+ </div>
97+
98+ {% if infoboxes %}
99+ {% for infobox in infoboxes %}
100+ {% include 'oscar/infobox.html' %}
101+ {% endfor %}
102+ {% endif %}
103+
104+ </div><!-- /#sidebar_results -->
105+ </div>
106+{% endblock %}
searx/templates/oscar/search.htmlnew file+12
@@ -0,0 +1,12 @@
1+{% from 'oscar/macros.html' import icon %}
2+<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form" role="search">
3+ <div class="input-group col-sm-12">
4+ <input type="search" name="q" class="form-control" id="q" placeholder="{{ _('Search for...') }}" autocomplete="off" value="{{ q }}">
5+ <span class="input-group-btn">
6+ <button type="submit" class="btn btn-default">{{ icon('search') }}<span class="sr-only">{{ _('Start search') }}</span></button>
7+ </span>
8+ </div>
9+ <div class="search_categories">
10+ {% include 'oscar/categories.html' %}
11+ </div><!-- / #search_categories -->
12+</form><!-- / #search_form_full -->
searx/templates/oscar/search_full.htmlnew file+17
@@ -0,0 +1,17 @@
1+{% from 'oscar/macros.html' import icon %}
2+
3+<form method="{{ method or 'POST' }}" action="{{ url_for('index') }}" id="search_form" role="search">
4+ <div class="input-group col-md-8 col-md-offset-2">
5+ <input type="search" name="q" class="form-control input-lg" id="q" placeholder="{{ _('Search for...') }}" autocomplete="off" value="{{ q }}">
6+ <span class="input-group-btn">
7+ <button type="submit" class="btn btn-default input-lg">{{ icon('search') }}<span class="sr-only">{{ _('Start search') }}</span></button>
8+ </span>
9+ </div>
10+
11+ <button type="button" class="btn btn-link btn-collapse center-block collapsed" data-toggle="collapse" data-target="#search_categories" data-btn-text-collapsed="{{ _('Show search filters') }}" data-btn-text-not-collapsed="{{ _('Hide search filters') }}">{{ _('Show search filters') }}</button>
12+ <div class="row collapse" id="search_categories">
13+ <div class="col-md-12 text-center">
14+ {% include 'oscar/categories.html' %}
15+ </div>
16+ </div><!-- / #search_categories -->
17+</form><!-- / #search_form_full -->
searx/templates/oscar/stats.htmlnew file+33
@@ -0,0 +1,33 @@
1+{% extends "oscar/base.html" %}
2+{% block title %}{{ _('stats') }} - {% endblock %}
3+{% block content %}
4+<div class="container-fluid">
5+ <h1>{{ _('Engine stats') }}</h1>
6+ <div class="row">
7+ {% for stat_name,stat_category in stats %}
8+ <div class="col-xs-12 col-sm-12 col-md-6">
9+ <h3>{{ stat_name }}</h3>
10+ <div class="container-fluid">
11+ {% for engine in stat_category %}
12+ <div class="row">
13+ <div class="col-sm-4 col-md-4">{{ engine.name }}</div>
14+ <div class="col-sm-8 col-md-8">
15+ <div class="progress">
16+ <div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="{{ '%i'|format(engine.avg) }}" aria-valuemin="0" aria-valuemax="100" style="width: {{ engine.percentage }}%;">
17+ {{ '%.02f'|format(engine.avg) }}
18+ </div>
19+ </div>
20+ </div>
21+ </div>
22+ {% endfor %}
23+ {% if not stat_category %}
24+ <div class="col-sm-12 col-md-12">
25+ {% include 'oscar/messages/no_data_available.html' %}
26+ </div>
27+ {% endif %}
28+ </div>
29+ </div>
30+ {% endfor %}
31+ </div>
32+</div>
33+{% endblock %}
searx/translations/de/LC_MESSAGES/messages.mo

Binary file not shown.

searx/translations/de/LC_MESSAGES/messages.po+199−25
@@ -1,99 +1,110 @@
1−# English translations for PROJECT.
1+# English translations for .
22# Copyright (C) 2014 ORGANIZATION
3−# This file is distributed under the same license as the PROJECT project.
4−#
3+# This file is distributed under the same license as the project.
4+#
55# Translators:
66# pointhi, 2014
77# stf <stefan.marsiske@gmail.com>, 2014
88# rike, 2014
99msgid ""
1010msgstr ""
11−"Project-Id-Version: searx\n"
11+"Project-Id-Version: searx\n"
1212"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
13−"POT-Creation-Date: 2014-09-07 21:47+0200\n"
14−"PO-Revision-Date: 2014-09-08 07:00+0000\n"
13+"POT-Creation-Date: 2014-11-01 21:11+0100\n"
14+"PO-Revision-Date: 2014-03-15 18:40+0000\n"
1515"Last-Translator: pointhi\n"
16−"Language-Team: German (http://www.transifex.com/projects/p/searx/language/de/)\n"
16+"Language-Team: German "
17+"(http://www.transifex.com/projects/p/searx/language/de/)\n"
18+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
1719"MIME-Version: 1.0\n"
18−"Content-Type: text/plain; charset=UTF-8\n"
20+"Content-Type: text/plain; charset=utf-8\n"
1921"Content-Transfer-Encoding: 8bit\n"
2022"Generated-By: Babel 1.3\n"
21−"Language: de\n"
22−"Plural-Forms: nplurals=2; plural=(n != 1);\n"
2323
24−#: searx/webapp.py:250
24+#: searx/webapp.py:305
2525msgid "{minutes} minute(s) ago"
2626msgstr "vor {minutes} Minute(n)"
2727
28−#: searx/webapp.py:252
28+#: searx/webapp.py:307
2929msgid "{hours} hour(s), {minutes} minute(s) ago"
3030msgstr "vor {hours} Stunde(n), {minutes} Minute(n)"
3131
32−#: searx/engines/__init__.py:164
32+#: searx/engines/__init__.py:177
3333msgid "Page loads (sec)"
3434msgstr "Ladezeit (sek)"
3535
36−#: searx/engines/__init__.py:168
36+#: searx/engines/__init__.py:181
3737msgid "Number of results"
3838msgstr "Trefferanzahl"
3939
40−#: searx/engines/__init__.py:172
40+#: searx/engines/__init__.py:185
4141msgid "Scores"
4242msgstr "Punkte"
4343
44−#: searx/engines/__init__.py:176
44+#: searx/engines/__init__.py:189
4545msgid "Scores per result"
4646msgstr "Punkte pro Treffer"
4747
48−#: searx/engines/__init__.py:180
48+#: searx/engines/__init__.py:193
4949msgid "Errors"
5050msgstr "Fehler"
5151
5252#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:8
53+#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16
5354msgid "about"
5455msgstr "Über uns"
5556
5657#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:9
58+#: searx/templates/oscar/navbar.html:17
59+#: searx/templates/oscar/preferences.html:2
5760msgid "preferences"
5861msgstr "Einstellungen"
5962
6063#: searx/templates/courgette/preferences.html:5
6164#: searx/templates/default/preferences.html:5
65+#: searx/templates/oscar/preferences.html:6
6266msgid "Preferences"
6367msgstr "Einstellungen"
6468
6569#: searx/templates/courgette/preferences.html:9
6670#: searx/templates/default/preferences.html:9
71+#: searx/templates/oscar/preferences.html:21
6772msgid "Default categories"
6873msgstr "Standardkategorien"
6974
7075#: searx/templates/courgette/preferences.html:15
7176#: searx/templates/default/preferences.html:15
77+#: searx/templates/oscar/preferences.html:27
7278msgid "Search language"
7379msgstr "Suchsprache"
7480
7581#: searx/templates/courgette/preferences.html:18
7682#: searx/templates/default/preferences.html:18
83+#: searx/templates/oscar/preferences.html:30
7784msgid "Automatic"
7885msgstr "Automatisch"
7986
8087#: searx/templates/courgette/preferences.html:26
8188#: searx/templates/default/preferences.html:26
89+#: searx/templates/oscar/preferences.html:39
8290msgid "Interface language"
8391msgstr "Oberflächensprache"
8492
8593#: searx/templates/courgette/preferences.html:36
8694#: searx/templates/default/preferences.html:36
95+#: searx/templates/oscar/preferences.html:50
8796msgid "Autocomplete"
8897msgstr "Autovervollständigung"
8998
9099#: searx/templates/courgette/preferences.html:47
91100#: searx/templates/default/preferences.html:47
101+#: searx/templates/oscar/preferences.html:63
92102msgid "Method"
93103msgstr "Methode"
94104
95105#: searx/templates/courgette/preferences.html:56
96106#: searx/templates/default/preferences.html:56
107+#: searx/templates/oscar/preferences.html:73
97108msgid "Themes"
98109msgstr "Designs"
99110
@@ -116,6 +127,7 @@ msgstr "Kategorie"
116127#: searx/templates/courgette/preferences.html:83
117128#: searx/templates/default/preferences.html:72
118129#: searx/templates/default/preferences.html:83
130+#: searx/templates/oscar/preferences.html:110
119131msgid "Allow"
120132msgstr "Erlauben"
121133
@@ -123,67 +135,228 @@ msgstr "Erlauben"
123135#: searx/templates/courgette/preferences.html:84
124136#: searx/templates/default/preferences.html:72
125137#: searx/templates/default/preferences.html:84
138+#: searx/templates/oscar/preferences.html:109
126139msgid "Block"
127140msgstr "Blockieren"
128141
129142#: searx/templates/courgette/preferences.html:92
130143#: searx/templates/default/preferences.html:92
144+#: searx/templates/oscar/preferences.html:124
131145msgid ""
132−"These settings are stored in your cookies, this allows us not to store this "
133−"data about you."
134−msgstr "Diese Informationen werden in Cookies auf Ihrem Rechner gespeichert, damit wir keine Ihrer persönlichen Daten speichern müssen."
146+"These settings are stored in your cookies, this allows us not to store "
147+"this data about you."
148+msgstr ""
149+"Diese Informationen werden in Cookies auf Ihrem Rechner gespeichert, "
150+"damit wir keine Ihrer persönlichen Daten speichern müssen."
135151
136152#: searx/templates/courgette/preferences.html:94
137153#: searx/templates/default/preferences.html:94
154+#: searx/templates/oscar/preferences.html:126
138155msgid ""
139156"These cookies serve your sole convenience, we don't use these cookies to "
140157"track you."
141−msgstr "Diese Cookies dienen einzig Ihrem Komfort, wir verwenden sie nicht, um Sie zu überwachen."
158+msgstr ""
159+"Diese Cookies dienen einzig Ihrem Komfort, wir verwenden sie nicht, um "
160+"Sie zu überwachen."
142161
143162#: searx/templates/courgette/preferences.html:97
144163#: searx/templates/default/preferences.html:97
164+#: searx/templates/oscar/preferences.html:129
145165msgid "save"
146166msgstr "Speichern"
147167
148168#: searx/templates/courgette/preferences.html:98
149169#: searx/templates/default/preferences.html:98
170+#: searx/templates/oscar/preferences.html:130
150171msgid "back"
151172msgstr "Zurück"
152173
153174#: searx/templates/courgette/results.html:12
154175#: searx/templates/default/results.html:12
176+#: searx/templates/oscar/results.html:78
155177msgid "Search URL"
156178msgstr "Such-URL"
157179
158180#: searx/templates/courgette/results.html:16
159181#: searx/templates/default/results.html:16
182+#: searx/templates/oscar/results.html:83
160183msgid "Download results"
161184msgstr "Ergebnisse herunterladen"
162185
163186#: searx/templates/courgette/results.html:34
164−#: searx/templates/default/results.html:34
187+#: searx/templates/default/results.html:42
188+#: searx/templates/oscar/results.html:58
165189msgid "Suggestions"
166190msgstr "Vorschläge"
167191
168192#: searx/templates/courgette/results.html:62
169−#: searx/templates/default/results.html:62
193+#: searx/templates/default/results.html:78
194+#: searx/templates/oscar/results.html:37
170195msgid "previous page"
171196msgstr "vorherige Seite"
172197
173198#: searx/templates/courgette/results.html:73
174−#: searx/templates/default/results.html:73
199+#: searx/templates/default/results.html:89
200+#: searx/templates/oscar/results.html:45
175201msgid "next page"
176202msgstr "nächste Seite"
177203
178204#: searx/templates/courgette/search.html:3
179−#: searx/templates/default/search.html:3
205+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
206+#: searx/templates/oscar/search_full.html:5
180207msgid "Search for..."
181208msgstr "Suche nach..."
182209
183210#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
211+#: searx/templates/oscar/stats.html:5
184212msgid "Engine stats"
185213msgstr "Suchmaschinenstatistik"
186214
215+#: searx/templates/default/results.html:34
216+msgid "Answers"
217+msgstr ""
218+
219+#: searx/templates/oscar/base.html:61
220+msgid "Powered by"
221+msgstr ""
222+
223+#: searx/templates/oscar/base.html:61
224+msgid "a privacy-respecting, hackable metasearch engine"
225+msgstr ""
226+
227+#: searx/templates/oscar/navbar.html:6
228+msgid "Toggle navigation"
229+msgstr ""
230+
231+#: searx/templates/oscar/navbar.html:15
232+msgid "home"
233+msgstr ""
234+
235+#: searx/templates/oscar/preferences.html:11
236+msgid "General"
237+msgstr "Allgemein"
238+
239+#: searx/templates/oscar/preferences.html:12
240+msgid "Engines"
241+msgstr ""
242+
243+#: searx/templates/oscar/preferences.html:36
244+msgid "What language do you prefer for search?"
245+msgstr ""
246+
247+#: searx/templates/oscar/preferences.html:47
248+msgid "Change the language of the layout"
249+msgstr ""
250+
251+#: searx/templates/oscar/preferences.html:60
252+msgid "Find stuff as you type"
253+msgstr ""
254+
255+#: searx/templates/oscar/preferences.html:70
256+msgid ""
257+"Change how forms are submited, <a "
258+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
259+" rel=\"external\">learn more about request methods</a>"
260+msgstr ""
261+
262+#: searx/templates/oscar/preferences.html:81
263+msgid "Change searx layout"
264+msgstr ""
265+
266+#: searx/templates/oscar/results.html:6
267+msgid "Search results"
268+msgstr ""
269+
270+#: searx/templates/oscar/results.html:73
271+msgid "Links"
272+msgstr ""
273+
274+#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7
275+msgid "Start search"
276+msgstr ""
277+
278+#: searx/templates/oscar/search_full.html:11
279+msgid "Show search filters"
280+msgstr ""
281+
282+#: searx/templates/oscar/search_full.html:11
283+msgid "Hide search filters"
284+msgstr ""
285+
286+#: searx/templates/oscar/stats.html:2
287+msgid "stats"
288+msgstr ""
289+
290+#: searx/templates/oscar/messages/first_time.html:4
291+#: searx/templates/oscar/messages/no_results.html:5
292+#: searx/templates/oscar/messages/save_settings_successfull.html:5
293+#: searx/templates/oscar/messages/unknow_error.html:5
294+msgid "Close"
295+msgstr ""
296+
297+#: searx/templates/oscar/messages/first_time.html:6
298+#: searx/templates/oscar/messages/no_data_available.html:3
299+msgid "Heads up!"
300+msgstr ""
301+
302+#: searx/templates/oscar/messages/first_time.html:7
303+msgid "It look like you are using searx first time."
304+msgstr ""
305+
306+#: searx/templates/oscar/messages/js_disabled.html:2
307+msgid "Warning!"
308+msgstr ""
309+
310+#: searx/templates/oscar/messages/js_disabled.html:3
311+msgid "Please enable JavaScript to use full functionality of this site."
312+msgstr ""
313+
314+#: searx/templates/oscar/messages/no_data_available.html:4
315+msgid "There is currently no data available. "
316+msgstr ""
317+
318+#: searx/templates/oscar/messages/no_results.html:7
319+msgid "Sorry!"
320+msgstr ""
321+
322+#: searx/templates/oscar/messages/no_results.html:8
323+msgid ""
324+"we didn't find any results. Please use another query or search in more "
325+"categories."
326+msgstr ""
327+
328+#: searx/templates/oscar/messages/save_settings_successfull.html:7
329+msgid "Well done!"
330+msgstr ""
331+
332+#: searx/templates/oscar/messages/save_settings_successfull.html:8
333+msgid "Settings saved successfully."
334+msgstr ""
335+
336+#: searx/templates/oscar/messages/unknow_error.html:7
337+msgid "Oh snap!"
338+msgstr ""
339+
340+#: searx/templates/oscar/messages/unknow_error.html:8
341+msgid "Something went wrong."
342+msgstr ""
343+
344+#: searx/templates/oscar/result_templates/images.html:20
345+msgid "Get image"
346+msgstr ""
347+
348+#: searx/templates/oscar/result_templates/images.html:21
349+msgid "View source"
350+msgstr ""
351+
352+#: searx/templates/oscar/result_templates/torrent.html:7
353+msgid "Seeder"
354+msgstr ""
355+
356+#: searx/templates/oscar/result_templates/torrent.html:7
357+msgid "Leecher"
358+msgstr ""
359+
187360# categories - manually added
188361# TODO - automatically add
189362msgid "files"
@@ -212,3 +385,4 @@ msgstr "Neuigkeiten"
212385
213386msgid "map"
214387msgstr "Karte"
388+
searx/translations/en/LC_MESSAGES/messages.mo

Binary file not shown.

searx/translations/en/LC_MESSAGES/messages.po+183−26
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: PROJECT VERSION\n"
99"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10−"POT-Creation-Date: 2014-10-01 19:24+0200\n"
10+"POT-Creation-Date: 2014-11-01 21:11+0100\n"
1111"PO-Revision-Date: 2014-01-30 15:22+0100\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: en <LL@li.org>\n"
@@ -17,79 +17,90 @@ msgstr ""
1717"Content-Transfer-Encoding: 8bit\n"
1818"Generated-By: Babel 1.3\n"
1919
20−#: searx/webapp.py:251
20+#: searx/webapp.py:305
2121msgid "{minutes} minute(s) ago"
2222msgstr ""
2323
24−#: searx/webapp.py:253
24+#: searx/webapp.py:307
2525msgid "{hours} hour(s), {minutes} minute(s) ago"
2626msgstr ""
2727
28−#: searx/engines/__init__.py:176
28+#: searx/engines/__init__.py:177
2929msgid "Page loads (sec)"
3030msgstr ""
3131
32−#: searx/engines/__init__.py:180
32+#: searx/engines/__init__.py:181
3333msgid "Number of results"
3434msgstr ""
3535
36−#: searx/engines/__init__.py:184
36+#: searx/engines/__init__.py:185
3737msgid "Scores"
3838msgstr ""
3939
40−#: searx/engines/__init__.py:188
40+#: searx/engines/__init__.py:189
4141msgid "Scores per result"
4242msgstr ""
4343
44−#: searx/engines/__init__.py:192
44+#: searx/engines/__init__.py:193
4545msgid "Errors"
4646msgstr ""
4747
4848#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:8
49+#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16
4950msgid "about"
5051msgstr ""
5152
5253#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:9
54+#: searx/templates/oscar/navbar.html:17
55+#: searx/templates/oscar/preferences.html:2
5356msgid "preferences"
5457msgstr ""
5558
5659#: searx/templates/courgette/preferences.html:5
5760#: searx/templates/default/preferences.html:5
61+#: searx/templates/oscar/preferences.html:6
5862msgid "Preferences"
5963msgstr ""
6064
6165#: searx/templates/courgette/preferences.html:9
6266#: searx/templates/default/preferences.html:9
67+#: searx/templates/oscar/preferences.html:21
6368msgid "Default categories"
6469msgstr ""
6570
6671#: searx/templates/courgette/preferences.html:15
6772#: searx/templates/default/preferences.html:15
73+#: searx/templates/oscar/preferences.html:27
6874msgid "Search language"
6975msgstr ""
7076
7177#: searx/templates/courgette/preferences.html:18
7278#: searx/templates/default/preferences.html:18
79+#: searx/templates/oscar/preferences.html:30
7380msgid "Automatic"
7481msgstr ""
7582
7683#: searx/templates/courgette/preferences.html:26
7784#: searx/templates/default/preferences.html:26
85+#: searx/templates/oscar/preferences.html:39
7886msgid "Interface language"
7987msgstr ""
8088
8189#: searx/templates/courgette/preferences.html:36
8290#: searx/templates/default/preferences.html:36
91+#: searx/templates/oscar/preferences.html:50
8392msgid "Autocomplete"
8493msgstr ""
8594
8695#: searx/templates/courgette/preferences.html:47
8796#: searx/templates/default/preferences.html:47
97+#: searx/templates/oscar/preferences.html:63
8898msgid "Method"
8999msgstr ""
90100
91101#: searx/templates/courgette/preferences.html:56
92102#: searx/templates/default/preferences.html:56
103+#: searx/templates/oscar/preferences.html:73
93104msgid "Themes"
94105msgstr ""
95106
@@ -110,86 +121,232 @@ msgstr ""
110121
111122#: searx/templates/courgette/preferences.html:72
112123#: searx/templates/courgette/preferences.html:83
113−#: searx/templates/default/preferences.html:73
114−#: searx/templates/default/preferences.html:85
124+#: searx/templates/default/preferences.html:72
125+#: searx/templates/default/preferences.html:83
126+#: searx/templates/oscar/preferences.html:110
115127msgid "Allow"
116128msgstr ""
117129
118130#: searx/templates/courgette/preferences.html:72
119131#: searx/templates/courgette/preferences.html:84
120−#: searx/templates/default/preferences.html:73
121−#: searx/templates/default/preferences.html:86
132+#: searx/templates/default/preferences.html:72
133+#: searx/templates/default/preferences.html:84
134+#: searx/templates/oscar/preferences.html:109
122135msgid "Block"
123136msgstr ""
124137
125138#: searx/templates/courgette/preferences.html:92
126−#: searx/templates/default/preferences.html:94
139+#: searx/templates/default/preferences.html:92
140+#: searx/templates/oscar/preferences.html:124
127141msgid ""
128142"These settings are stored in your cookies, this allows us not to store "
129143"this data about you."
130144msgstr ""
131145
132146#: searx/templates/courgette/preferences.html:94
133−#: searx/templates/default/preferences.html:96
147+#: searx/templates/default/preferences.html:94
148+#: searx/templates/oscar/preferences.html:126
134149msgid ""
135150"These cookies serve your sole convenience, we don't use these cookies to "
136151"track you."
137152msgstr ""
138153
139154#: searx/templates/courgette/preferences.html:97
140−#: searx/templates/default/preferences.html:99
155+#: searx/templates/default/preferences.html:97
156+#: searx/templates/oscar/preferences.html:129
141157msgid "save"
142158msgstr ""
143159
144160#: searx/templates/courgette/preferences.html:98
145−#: searx/templates/default/preferences.html:100
161+#: searx/templates/default/preferences.html:98
162+#: searx/templates/oscar/preferences.html:130
146163msgid "back"
147164msgstr ""
148165
149166#: searx/templates/courgette/results.html:12
150167#: searx/templates/default/results.html:12
168+#: searx/templates/oscar/results.html:78
151169msgid "Search URL"
152170msgstr ""
153171
154172#: searx/templates/courgette/results.html:16
155173#: searx/templates/default/results.html:16
174+#: searx/templates/oscar/results.html:83
156175msgid "Download results"
157176msgstr ""
158177
159178#: searx/templates/courgette/results.html:34
160−#: searx/templates/default/results.html:34
179+#: searx/templates/default/results.html:42
180+#: searx/templates/oscar/results.html:58
161181msgid "Suggestions"
162182msgstr ""
163183
164184#: searx/templates/courgette/results.html:62
165−#: searx/templates/default/results.html:62
185+#: searx/templates/default/results.html:78
186+#: searx/templates/oscar/results.html:37
166187msgid "previous page"
167188msgstr ""
168189
169190#: searx/templates/courgette/results.html:73
170−#: searx/templates/default/results.html:73
191+#: searx/templates/default/results.html:89
192+#: searx/templates/oscar/results.html:45
171193msgid "next page"
172194msgstr ""
173195
174196#: searx/templates/courgette/search.html:3
175−#: searx/templates/default/search.html:3
197+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
198+#: searx/templates/oscar/search_full.html:5
176199msgid "Search for..."
177200msgstr ""
178201
179202#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
203+#: searx/templates/oscar/stats.html:5
180204msgid "Engine stats"
181205msgstr ""
182206
183−#: searx/templates/default/preferences.html:72
184−msgid "Localization"
207+#: searx/templates/default/results.html:34
208+msgid "Answers"
209+msgstr ""
210+
211+#: searx/templates/oscar/base.html:61
212+msgid "Powered by"
213+msgstr ""
214+
215+#: searx/templates/oscar/base.html:61
216+msgid "a privacy-respecting, hackable metasearch engine"
217+msgstr ""
218+
219+#: searx/templates/oscar/navbar.html:6
220+msgid "Toggle navigation"
221+msgstr ""
222+
223+#: searx/templates/oscar/navbar.html:15
224+msgid "home"
225+msgstr ""
226+
227+#: searx/templates/oscar/preferences.html:11
228+msgid "General"
229+msgstr ""
230+
231+#: searx/templates/oscar/preferences.html:12
232+msgid "Engines"
233+msgstr ""
234+
235+#: searx/templates/oscar/preferences.html:36
236+msgid "What language do you prefer for search?"
237+msgstr ""
238+
239+#: searx/templates/oscar/preferences.html:47
240+msgid "Change the language of the layout"
241+msgstr ""
242+
243+#: searx/templates/oscar/preferences.html:60
244+msgid "Find stuff as you type"
245+msgstr ""
246+
247+#: searx/templates/oscar/preferences.html:70
248+msgid ""
249+"Change how forms are submited, <a "
250+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
251+" rel=\"external\">learn more about request methods</a>"
252+msgstr ""
253+
254+#: searx/templates/oscar/preferences.html:81
255+msgid "Change searx layout"
256+msgstr ""
257+
258+#: searx/templates/oscar/results.html:6
259+msgid "Search results"
260+msgstr ""
261+
262+#: searx/templates/oscar/results.html:73
263+msgid "Links"
264+msgstr ""
265+
266+#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7
267+msgid "Start search"
268+msgstr ""
269+
270+#: searx/templates/oscar/search_full.html:11
271+msgid "Show search filters"
272+msgstr ""
273+
274+#: searx/templates/oscar/search_full.html:11
275+msgid "Hide search filters"
276+msgstr ""
277+
278+#: searx/templates/oscar/stats.html:2
279+msgid "stats"
280+msgstr ""
281+
282+#: searx/templates/oscar/messages/first_time.html:4
283+#: searx/templates/oscar/messages/no_results.html:5
284+#: searx/templates/oscar/messages/save_settings_successfull.html:5
285+#: searx/templates/oscar/messages/unknow_error.html:5
286+msgid "Close"
287+msgstr ""
288+
289+#: searx/templates/oscar/messages/first_time.html:6
290+#: searx/templates/oscar/messages/no_data_available.html:3
291+msgid "Heads up!"
292+msgstr ""
293+
294+#: searx/templates/oscar/messages/first_time.html:7
295+msgid "It look like you are using searx first time."
296+msgstr ""
297+
298+#: searx/templates/oscar/messages/js_disabled.html:2
299+msgid "Warning!"
300+msgstr ""
301+
302+#: searx/templates/oscar/messages/js_disabled.html:3
303+msgid "Please enable JavaScript to use full functionality of this site."
304+msgstr ""
305+
306+#: searx/templates/oscar/messages/no_data_available.html:4
307+msgid "There is currently no data available. "
308+msgstr ""
309+
310+#: searx/templates/oscar/messages/no_results.html:7
311+msgid "Sorry!"
312+msgstr ""
313+
314+#: searx/templates/oscar/messages/no_results.html:8
315+msgid ""
316+"we didn't find any results. Please use another query or search in more "
317+"categories."
318+msgstr ""
319+
320+#: searx/templates/oscar/messages/save_settings_successfull.html:7
321+msgid "Well done!"
322+msgstr ""
323+
324+#: searx/templates/oscar/messages/save_settings_successfull.html:8
325+msgid "Settings saved successfully."
326+msgstr ""
327+
328+#: searx/templates/oscar/messages/unknow_error.html:7
329+msgid "Oh snap!"
330+msgstr ""
331+
332+#: searx/templates/oscar/messages/unknow_error.html:8
333+msgid "Something went wrong."
334+msgstr ""
335+
336+#: searx/templates/oscar/result_templates/images.html:20
337+msgid "Get image"
338+msgstr ""
339+
340+#: searx/templates/oscar/result_templates/images.html:21
341+msgid "View source"
185342msgstr ""
186343
187−#: searx/templates/default/preferences.html:82
188−msgid "Yes"
344+#: searx/templates/oscar/result_templates/torrent.html:7
345+msgid "Seeder"
189346msgstr ""
190347
191−#: searx/templates/default/preferences.html:82
192−msgid "No"
348+#: searx/templates/oscar/result_templates/torrent.html:7
349+msgid "Leecher"
193350msgstr ""
194351
195352# categories - manually added
searx/translations/es/LC_MESSAGES/messages.mo

Binary file not shown.

searx/translations/es/LC_MESSAGES/messages.po+201−27
@@ -1,99 +1,110 @@
1−# English translations for PROJECT.
1+# English translations for .
22# Copyright (C) 2014 ORGANIZATION
3−# This file is distributed under the same license as the PROJECT project.
4−#
3+# This file is distributed under the same license as the project.
4+#
55# Translators:
66# Alejandro León Aznar, 2014
77msgid ""
88msgstr ""
9−"Project-Id-Version: searx\n"
9+"Project-Id-Version: searx\n"
1010"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11−"POT-Creation-Date: 2014-09-07 21:47+0200\n"
11+"POT-Creation-Date: 2014-11-01 21:11+0100\n"
1212"PO-Revision-Date: 2014-09-08 11:01+0000\n"
1313"Last-Translator: Alejandro León Aznar\n"
14−"Language-Team: Spanish (http://www.transifex.com/projects/p/searx/language/es/)\n"
14+"Language-Team: Spanish "
15+"(http://www.transifex.com/projects/p/searx/language/es/)\n"
16+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
1517"MIME-Version: 1.0\n"
16−"Content-Type: text/plain; charset=UTF-8\n"
18+"Content-Type: text/plain; charset=utf-8\n"
1719"Content-Transfer-Encoding: 8bit\n"
1820"Generated-By: Babel 1.3\n"
19−"Language: es\n"
20−"Plural-Forms: nplurals=2; plural=(n != 1);\n"
2121
22−#: searx/webapp.py:250
22+#: searx/webapp.py:305
2323msgid "{minutes} minute(s) ago"
2424msgstr "hace {minutes} minuto(s)"
2525
26−#: searx/webapp.py:252
26+#: searx/webapp.py:307
2727msgid "{hours} hour(s), {minutes} minute(s) ago"
2828msgstr "hace {hours} hora(s) y {minutes} minuto(s)"
2929
30−#: searx/engines/__init__.py:164
30+#: searx/engines/__init__.py:177
3131msgid "Page loads (sec)"
3232msgstr "Tiempo de carga (segundos)"
3333
34−#: searx/engines/__init__.py:168
34+#: searx/engines/__init__.py:181
3535msgid "Number of results"
3636msgstr "Número de resultados"
3737
38−#: searx/engines/__init__.py:172
38+#: searx/engines/__init__.py:185
3939msgid "Scores"
4040msgstr "Puntuaciones"
4141
42−#: searx/engines/__init__.py:176
42+#: searx/engines/__init__.py:189
4343msgid "Scores per result"
4444msgstr "Puntuaciones por resultado"
4545
46−#: searx/engines/__init__.py:180
46+#: searx/engines/__init__.py:193
4747msgid "Errors"
4848msgstr "Errores"
4949
5050#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:8
51+#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16
5152msgid "about"
5253msgstr "acerca de"
5354
5455#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:9
56+#: searx/templates/oscar/navbar.html:17
57+#: searx/templates/oscar/preferences.html:2
5558msgid "preferences"
5659msgstr "preferencias"
5760
5861#: searx/templates/courgette/preferences.html:5
5962#: searx/templates/default/preferences.html:5
63+#: searx/templates/oscar/preferences.html:6
6064msgid "Preferences"
6165msgstr "Preferencias"
6266
6367#: searx/templates/courgette/preferences.html:9
6468#: searx/templates/default/preferences.html:9
69+#: searx/templates/oscar/preferences.html:21
6570msgid "Default categories"
6671msgstr "Categorías predeterminadas"
6772
6873#: searx/templates/courgette/preferences.html:15
6974#: searx/templates/default/preferences.html:15
75+#: searx/templates/oscar/preferences.html:27
7076msgid "Search language"
7177msgstr "Buscar idioma"
7278
7379#: searx/templates/courgette/preferences.html:18
7480#: searx/templates/default/preferences.html:18
81+#: searx/templates/oscar/preferences.html:30
7582msgid "Automatic"
7683msgstr "Automático"
7784
7885#: searx/templates/courgette/preferences.html:26
7986#: searx/templates/default/preferences.html:26
87+#: searx/templates/oscar/preferences.html:39
8088msgid "Interface language"
8189msgstr "Idioma de la interfaz"
8290
8391#: searx/templates/courgette/preferences.html:36
8492#: searx/templates/default/preferences.html:36
93+#: searx/templates/oscar/preferences.html:50
8594msgid "Autocomplete"
86−msgstr "Autocompletar"
95+msgstr ""
8796
8897#: searx/templates/courgette/preferences.html:47
8998#: searx/templates/default/preferences.html:47
99+#: searx/templates/oscar/preferences.html:63
90100msgid "Method"
91−msgstr "Método"
101+msgstr ""
92102
93103#: searx/templates/courgette/preferences.html:56
94104#: searx/templates/default/preferences.html:56
105+#: searx/templates/oscar/preferences.html:73
95106msgid "Themes"
96−msgstr "Temas"
107+msgstr ""
97108
98109#: searx/templates/courgette/preferences.html:66
99110#: searx/templates/default/preferences.html:66
@@ -114,6 +125,7 @@ msgstr "Categoría"
114125#: searx/templates/courgette/preferences.html:83
115126#: searx/templates/default/preferences.html:72
116127#: searx/templates/default/preferences.html:83
128+#: searx/templates/oscar/preferences.html:110
117129msgid "Allow"
118130msgstr "Permitir"
119131
@@ -121,67 +133,228 @@ msgstr "Permitir"
121133#: searx/templates/courgette/preferences.html:84
122134#: searx/templates/default/preferences.html:72
123135#: searx/templates/default/preferences.html:84
136+#: searx/templates/oscar/preferences.html:109
124137msgid "Block"
125138msgstr "Bloquear"
126139
127140#: searx/templates/courgette/preferences.html:92
128141#: searx/templates/default/preferences.html:92
142+#: searx/templates/oscar/preferences.html:124
129143msgid ""
130−"These settings are stored in your cookies, this allows us not to store this "
131−"data about you."
132−msgstr "Esta configuración se guarda en sus cookies, lo que nos permite no almacenar dicha información sobre usted."
144+"These settings are stored in your cookies, this allows us not to store "
145+"this data about you."
146+msgstr ""
147+"Esta configuración se guarda en sus cookies, lo que nos permite no "
148+"almacenar dicha información sobre usted."
133149
134150#: searx/templates/courgette/preferences.html:94
135151#: searx/templates/default/preferences.html:94
152+#: searx/templates/oscar/preferences.html:126
136153msgid ""
137154"These cookies serve your sole convenience, we don't use these cookies to "
138155"track you."
139−msgstr "Estas cookies son para su propia comodidad, no las utilizamos para rastrearle."
156+msgstr ""
157+"Estas cookies son para su propia comodidad, no las utilizamos para "
158+"rastrearle."
140159
141160#: searx/templates/courgette/preferences.html:97
142161#: searx/templates/default/preferences.html:97
162+#: searx/templates/oscar/preferences.html:129
143163msgid "save"
144164msgstr "Guardar"
145165
146166#: searx/templates/courgette/preferences.html:98
147167#: searx/templates/default/preferences.html:98
168+#: searx/templates/oscar/preferences.html:130
148169msgid "back"
149170msgstr "Atrás"
150171
151172#: searx/templates/courgette/results.html:12
152173#: searx/templates/default/results.html:12
174+#: searx/templates/oscar/results.html:78
153175msgid "Search URL"
154176msgstr "Buscar URL"
155177
156178#: searx/templates/courgette/results.html:16
157179#: searx/templates/default/results.html:16
180+#: searx/templates/oscar/results.html:83
158181msgid "Download results"
159182msgstr "Descargar resultados"
160183
161184#: searx/templates/courgette/results.html:34
162−#: searx/templates/default/results.html:34
185+#: searx/templates/default/results.html:42
186+#: searx/templates/oscar/results.html:58
163187msgid "Suggestions"
164188msgstr "Sugerencias"
165189
166190#: searx/templates/courgette/results.html:62
167−#: searx/templates/default/results.html:62
191+#: searx/templates/default/results.html:78
192+#: searx/templates/oscar/results.html:37
168193msgid "previous page"
169194msgstr "Página anterior"
170195
171196#: searx/templates/courgette/results.html:73
172−#: searx/templates/default/results.html:73
197+#: searx/templates/default/results.html:89
198+#: searx/templates/oscar/results.html:45
173199msgid "next page"
174200msgstr "Página siguiente"
175201
176202#: searx/templates/courgette/search.html:3
177−#: searx/templates/default/search.html:3
203+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
204+#: searx/templates/oscar/search_full.html:5
178205msgid "Search for..."
179206msgstr "Buscar..."
180207
181208#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
209+#: searx/templates/oscar/stats.html:5
182210msgid "Engine stats"
183211msgstr "Estadísticas del motor de búsqueda"
184212
213+#: searx/templates/default/results.html:34
214+msgid "Answers"
215+msgstr ""
216+
217+#: searx/templates/oscar/base.html:61
218+msgid "Powered by"
219+msgstr ""
220+
221+#: searx/templates/oscar/base.html:61
222+msgid "a privacy-respecting, hackable metasearch engine"
223+msgstr ""
224+
225+#: searx/templates/oscar/navbar.html:6
226+msgid "Toggle navigation"
227+msgstr ""
228+
229+#: searx/templates/oscar/navbar.html:15
230+msgid "home"
231+msgstr ""
232+
233+#: searx/templates/oscar/preferences.html:11
234+msgid "General"
235+msgstr ""
236+
237+#: searx/templates/oscar/preferences.html:12
238+msgid "Engines"
239+msgstr ""
240+
241+#: searx/templates/oscar/preferences.html:36
242+msgid "What language do you prefer for search?"
243+msgstr ""
244+
245+#: searx/templates/oscar/preferences.html:47
246+msgid "Change the language of the layout"
247+msgstr ""
248+
249+#: searx/templates/oscar/preferences.html:60
250+msgid "Find stuff as you type"
251+msgstr ""
252+
253+#: searx/templates/oscar/preferences.html:70
254+msgid ""
255+"Change how forms are submited, <a "
256+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
257+" rel=\"external\">learn more about request methods</a>"
258+msgstr ""
259+
260+#: searx/templates/oscar/preferences.html:81
261+msgid "Change searx layout"
262+msgstr ""
263+
264+#: searx/templates/oscar/results.html:6
265+msgid "Search results"
266+msgstr ""
267+
268+#: searx/templates/oscar/results.html:73
269+msgid "Links"
270+msgstr ""
271+
272+#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7
273+msgid "Start search"
274+msgstr ""
275+
276+#: searx/templates/oscar/search_full.html:11
277+msgid "Show search filters"
278+msgstr ""
279+
280+#: searx/templates/oscar/search_full.html:11
281+msgid "Hide search filters"
282+msgstr ""
283+
284+#: searx/templates/oscar/stats.html:2
285+msgid "stats"
286+msgstr ""
287+
288+#: searx/templates/oscar/messages/first_time.html:4
289+#: searx/templates/oscar/messages/no_results.html:5
290+#: searx/templates/oscar/messages/save_settings_successfull.html:5
291+#: searx/templates/oscar/messages/unknow_error.html:5
292+msgid "Close"
293+msgstr ""
294+
295+#: searx/templates/oscar/messages/first_time.html:6
296+#: searx/templates/oscar/messages/no_data_available.html:3
297+msgid "Heads up!"
298+msgstr ""
299+
300+#: searx/templates/oscar/messages/first_time.html:7
301+msgid "It look like you are using searx first time."
302+msgstr ""
303+
304+#: searx/templates/oscar/messages/js_disabled.html:2
305+msgid "Warning!"
306+msgstr ""
307+
308+#: searx/templates/oscar/messages/js_disabled.html:3
309+msgid "Please enable JavaScript to use full functionality of this site."
310+msgstr ""
311+
312+#: searx/templates/oscar/messages/no_data_available.html:4
313+msgid "There is currently no data available. "
314+msgstr ""
315+
316+#: searx/templates/oscar/messages/no_results.html:7
317+msgid "Sorry!"
318+msgstr ""
319+
320+#: searx/templates/oscar/messages/no_results.html:8
321+msgid ""
322+"we didn't find any results. Please use another query or search in more "
323+"categories."
324+msgstr ""
325+
326+#: searx/templates/oscar/messages/save_settings_successfull.html:7
327+msgid "Well done!"
328+msgstr ""
329+
330+#: searx/templates/oscar/messages/save_settings_successfull.html:8
331+msgid "Settings saved successfully."
332+msgstr ""
333+
334+#: searx/templates/oscar/messages/unknow_error.html:7
335+msgid "Oh snap!"
336+msgstr ""
337+
338+#: searx/templates/oscar/messages/unknow_error.html:8
339+msgid "Something went wrong."
340+msgstr ""
341+
342+#: searx/templates/oscar/result_templates/images.html:20
343+msgid "Get image"
344+msgstr ""
345+
346+#: searx/templates/oscar/result_templates/images.html:21
347+msgid "View source"
348+msgstr ""
349+
350+#: searx/templates/oscar/result_templates/torrent.html:7
351+msgid "Seeder"
352+msgstr ""
353+
354+#: searx/templates/oscar/result_templates/torrent.html:7
355+msgid "Leecher"
356+msgstr ""
357+
185358# categories - manually added
186359# TODO - automatically add
187360msgid "files"
@@ -210,3 +383,4 @@ msgstr "noticias"
210383
211384msgid "map"
212385msgstr "mapa"
386+
searx/translations/fr/LC_MESSAGES/messages.mo

Binary file not shown.

searx/translations/fr/LC_MESSAGES/messages.po+198−24
@@ -1,99 +1,110 @@
1−# English translations for PROJECT.
1+# English translations for .
22# Copyright (C) 2014 ORGANIZATION
3−# This file is distributed under the same license as the PROJECT project.
4−#
3+# This file is distributed under the same license as the project.
4+#
55# Translators:
66# Benjamin Sonntag <benjamin@sonntag.fr>, 2014
77# FIRST AUTHOR <EMAIL@ADDRESS>, 2014
88# rike, 2014
99msgid ""
1010msgstr ""
11−"Project-Id-Version: searx\n"
11+"Project-Id-Version: searx\n"
1212"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
13−"POT-Creation-Date: 2014-09-07 21:47+0200\n"
13+"POT-Creation-Date: 2014-11-01 21:11+0100\n"
1414"PO-Revision-Date: 2014-09-07 21:24+0000\n"
1515"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
16−"Language-Team: French (http://www.transifex.com/projects/p/searx/language/fr/)\n"
16+"Language-Team: French "
17+"(http://www.transifex.com/projects/p/searx/language/fr/)\n"
18+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
1719"MIME-Version: 1.0\n"
18−"Content-Type: text/plain; charset=UTF-8\n"
20+"Content-Type: text/plain; charset=utf-8\n"
1921"Content-Transfer-Encoding: 8bit\n"
2022"Generated-By: Babel 1.3\n"
21−"Language: fr\n"
22−"Plural-Forms: nplurals=2; plural=(n > 1);\n"
2323
24−#: searx/webapp.py:250
24+#: searx/webapp.py:305
2525msgid "{minutes} minute(s) ago"
2626msgstr "il y a {minutes} minute(s)"
2727
28−#: searx/webapp.py:252
28+#: searx/webapp.py:307
2929msgid "{hours} hour(s), {minutes} minute(s) ago"
3030msgstr "il y a {hours} heure(s), {minutes} minute(s)"
3131
32−#: searx/engines/__init__.py:164
32+#: searx/engines/__init__.py:177
3333msgid "Page loads (sec)"
3434msgstr "Chargement de la page (sec)"
3535
36−#: searx/engines/__init__.py:168
36+#: searx/engines/__init__.py:181
3737msgid "Number of results"
3838msgstr "Nombre de résultats"
3939
40−#: searx/engines/__init__.py:172
40+#: searx/engines/__init__.py:185
4141msgid "Scores"
4242msgstr "Score"
4343
44−#: searx/engines/__init__.py:176
44+#: searx/engines/__init__.py:189
4545msgid "Scores per result"
4646msgstr "Score par résultat"
4747
48−#: searx/engines/__init__.py:180
48+#: searx/engines/__init__.py:193
4949msgid "Errors"
5050msgstr "Erreurs"
5151
5252#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:8
53+#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16
5354msgid "about"
5455msgstr "À propos"
5556
5657#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:9
58+#: searx/templates/oscar/navbar.html:17
59+#: searx/templates/oscar/preferences.html:2
5760msgid "preferences"
5861msgstr "préférences"
5962
6063#: searx/templates/courgette/preferences.html:5
6164#: searx/templates/default/preferences.html:5
65+#: searx/templates/oscar/preferences.html:6
6266msgid "Preferences"
6367msgstr "Préférences"
6468
6569#: searx/templates/courgette/preferences.html:9
6670#: searx/templates/default/preferences.html:9
71+#: searx/templates/oscar/preferences.html:21
6772msgid "Default categories"
6873msgstr "Catégories par défaut"
6974
7075#: searx/templates/courgette/preferences.html:15
7176#: searx/templates/default/preferences.html:15
77+#: searx/templates/oscar/preferences.html:27
7278msgid "Search language"
7379msgstr "Langue de recherche"
7480
7581#: searx/templates/courgette/preferences.html:18
7682#: searx/templates/default/preferences.html:18
83+#: searx/templates/oscar/preferences.html:30
7784msgid "Automatic"
7885msgstr "Automatique"
7986
8087#: searx/templates/courgette/preferences.html:26
8188#: searx/templates/default/preferences.html:26
89+#: searx/templates/oscar/preferences.html:39
8290msgid "Interface language"
8391msgstr "Langue de l'interface"
8492
8593#: searx/templates/courgette/preferences.html:36
8694#: searx/templates/default/preferences.html:36
95+#: searx/templates/oscar/preferences.html:50
8796msgid "Autocomplete"
8897msgstr ""
8998
9099#: searx/templates/courgette/preferences.html:47
91100#: searx/templates/default/preferences.html:47
101+#: searx/templates/oscar/preferences.html:63
92102msgid "Method"
93103msgstr ""
94104
95105#: searx/templates/courgette/preferences.html:56
96106#: searx/templates/default/preferences.html:56
107+#: searx/templates/oscar/preferences.html:73
97108msgid "Themes"
98109msgstr ""
99110
@@ -116,6 +127,7 @@ msgstr "Catégorie"
116127#: searx/templates/courgette/preferences.html:83
117128#: searx/templates/default/preferences.html:72
118129#: searx/templates/default/preferences.html:83
130+#: searx/templates/oscar/preferences.html:110
119131msgid "Allow"
120132msgstr "Autoriser"
121133
@@ -123,67 +135,228 @@ msgstr "Autoriser"
123135#: searx/templates/courgette/preferences.html:84
124136#: searx/templates/default/preferences.html:72
125137#: searx/templates/default/preferences.html:84
138+#: searx/templates/oscar/preferences.html:109
126139msgid "Block"
127140msgstr "Bloquer"
128141
129142#: searx/templates/courgette/preferences.html:92
130143#: searx/templates/default/preferences.html:92
144+#: searx/templates/oscar/preferences.html:124
131145msgid ""
132−"These settings are stored in your cookies, this allows us not to store this "
133−"data about you."
134−msgstr "Ces paramètres sont stockés dans vos cookies ; ceci nous permet de ne pas collecter vos données."
146+"These settings are stored in your cookies, this allows us not to store "
147+"this data about you."
148+msgstr ""
149+"Ces paramètres sont stockés dans vos cookies ; ceci nous permet de ne pas"
150+" collecter vos données."
135151
136152#: searx/templates/courgette/preferences.html:94
137153#: searx/templates/default/preferences.html:94
154+#: searx/templates/oscar/preferences.html:126
138155msgid ""
139156"These cookies serve your sole convenience, we don't use these cookies to "
140157"track you."
141−msgstr "Ces cookies existent pour votre confort d'utilisation, nous ne les utilisons pas pour vous espionner."
158+msgstr ""
159+"Ces cookies existent pour votre confort d'utilisation, nous ne les "
160+"utilisons pas pour vous espionner."
142161
143162#: searx/templates/courgette/preferences.html:97
144163#: searx/templates/default/preferences.html:97
164+#: searx/templates/oscar/preferences.html:129
145165msgid "save"
146166msgstr "enregistrer"
147167
148168#: searx/templates/courgette/preferences.html:98
149169#: searx/templates/default/preferences.html:98
170+#: searx/templates/oscar/preferences.html:130
150171msgid "back"
151172msgstr "retour"
152173
153174#: searx/templates/courgette/results.html:12
154175#: searx/templates/default/results.html:12
176+#: searx/templates/oscar/results.html:78
155177msgid "Search URL"
156178msgstr "URL de recherche"
157179
158180#: searx/templates/courgette/results.html:16
159181#: searx/templates/default/results.html:16
182+#: searx/templates/oscar/results.html:83
160183msgid "Download results"
161184msgstr "Télécharger les résultats"
162185
163186#: searx/templates/courgette/results.html:34
164−#: searx/templates/default/results.html:34
187+#: searx/templates/default/results.html:42
188+#: searx/templates/oscar/results.html:58
165189msgid "Suggestions"
166190msgstr "Suggestions"
167191
168192#: searx/templates/courgette/results.html:62
169−#: searx/templates/default/results.html:62
193+#: searx/templates/default/results.html:78
194+#: searx/templates/oscar/results.html:37
170195msgid "previous page"
171196msgstr "page précédente"
172197
173198#: searx/templates/courgette/results.html:73
174−#: searx/templates/default/results.html:73
199+#: searx/templates/default/results.html:89
200+#: searx/templates/oscar/results.html:45
175201msgid "next page"
176202msgstr "page suivante"
177203
178204#: searx/templates/courgette/search.html:3
179−#: searx/templates/default/search.html:3
205+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
206+#: searx/templates/oscar/search_full.html:5
180207msgid "Search for..."
181208msgstr "Rechercher..."
182209
183210#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
211+#: searx/templates/oscar/stats.html:5
184212msgid "Engine stats"
185213msgstr "Statistiques du moteur"
186214
215+#: searx/templates/default/results.html:34
216+msgid "Answers"
217+msgstr ""
218+
219+#: searx/templates/oscar/base.html:61
220+msgid "Powered by"
221+msgstr ""
222+
223+#: searx/templates/oscar/base.html:61
224+msgid "a privacy-respecting, hackable metasearch engine"
225+msgstr ""
226+
227+#: searx/templates/oscar/navbar.html:6
228+msgid "Toggle navigation"
229+msgstr ""
230+
231+#: searx/templates/oscar/navbar.html:15
232+msgid "home"
233+msgstr ""
234+
235+#: searx/templates/oscar/preferences.html:11
236+msgid "General"
237+msgstr ""
238+
239+#: searx/templates/oscar/preferences.html:12
240+msgid "Engines"
241+msgstr ""
242+
243+#: searx/templates/oscar/preferences.html:36
244+msgid "What language do you prefer for search?"
245+msgstr ""
246+
247+#: searx/templates/oscar/preferences.html:47
248+msgid "Change the language of the layout"
249+msgstr ""
250+
251+#: searx/templates/oscar/preferences.html:60
252+msgid "Find stuff as you type"
253+msgstr ""
254+
255+#: searx/templates/oscar/preferences.html:70
256+msgid ""
257+"Change how forms are submited, <a "
258+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
259+" rel=\"external\">learn more about request methods</a>"
260+msgstr ""
261+
262+#: searx/templates/oscar/preferences.html:81
263+msgid "Change searx layout"
264+msgstr ""
265+
266+#: searx/templates/oscar/results.html:6
267+msgid "Search results"
268+msgstr ""
269+
270+#: searx/templates/oscar/results.html:73
271+msgid "Links"
272+msgstr ""
273+
274+#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7
275+msgid "Start search"
276+msgstr ""
277+
278+#: searx/templates/oscar/search_full.html:11
279+msgid "Show search filters"
280+msgstr ""
281+
282+#: searx/templates/oscar/search_full.html:11
283+msgid "Hide search filters"
284+msgstr ""
285+
286+#: searx/templates/oscar/stats.html:2
287+msgid "stats"
288+msgstr ""
289+
290+#: searx/templates/oscar/messages/first_time.html:4
291+#: searx/templates/oscar/messages/no_results.html:5
292+#: searx/templates/oscar/messages/save_settings_successfull.html:5
293+#: searx/templates/oscar/messages/unknow_error.html:5
294+msgid "Close"
295+msgstr ""
296+
297+#: searx/templates/oscar/messages/first_time.html:6
298+#: searx/templates/oscar/messages/no_data_available.html:3
299+msgid "Heads up!"
300+msgstr ""
301+
302+#: searx/templates/oscar/messages/first_time.html:7
303+msgid "It look like you are using searx first time."
304+msgstr ""
305+
306+#: searx/templates/oscar/messages/js_disabled.html:2
307+msgid "Warning!"
308+msgstr ""
309+
310+#: searx/templates/oscar/messages/js_disabled.html:3
311+msgid "Please enable JavaScript to use full functionality of this site."
312+msgstr ""
313+
314+#: searx/templates/oscar/messages/no_data_available.html:4
315+msgid "There is currently no data available. "
316+msgstr ""
317+
318+#: searx/templates/oscar/messages/no_results.html:7
319+msgid "Sorry!"
320+msgstr ""
321+
322+#: searx/templates/oscar/messages/no_results.html:8
323+msgid ""
324+"we didn't find any results. Please use another query or search in more "
325+"categories."
326+msgstr ""
327+
328+#: searx/templates/oscar/messages/save_settings_successfull.html:7
329+msgid "Well done!"
330+msgstr ""
331+
332+#: searx/templates/oscar/messages/save_settings_successfull.html:8
333+msgid "Settings saved successfully."
334+msgstr ""
335+
336+#: searx/templates/oscar/messages/unknow_error.html:7
337+msgid "Oh snap!"
338+msgstr ""
339+
340+#: searx/templates/oscar/messages/unknow_error.html:8
341+msgid "Something went wrong."
342+msgstr ""
343+
344+#: searx/templates/oscar/result_templates/images.html:20
345+msgid "Get image"
346+msgstr ""
347+
348+#: searx/templates/oscar/result_templates/images.html:21
349+msgid "View source"
350+msgstr ""
351+
352+#: searx/templates/oscar/result_templates/torrent.html:7
353+msgid "Seeder"
354+msgstr ""
355+
356+#: searx/templates/oscar/result_templates/torrent.html:7
357+msgid "Leecher"
358+msgstr ""
359+
187360# categories - manually added
188361# TODO - automatically add
189362msgid "files"
@@ -212,3 +385,4 @@ msgstr "actus"
212385
213386msgid "map"
214387msgstr ""
388+
searx/translations/hu/LC_MESSAGES/messages.mo

Binary file not shown.

searx/translations/hu/LC_MESSAGES/messages.po+198−26
@@ -1,100 +1,111 @@
1−# English translations for PROJECT.
1+# English translations for .
22# Copyright (C) 2014 ORGANIZATION
3−# This file is distributed under the same license as the PROJECT project.
4−#
3+# This file is distributed under the same license as the project.
4+#
55# Translators:
66# Adam Tauber <asciimoo@gmail.com>, 2014
77# FIRST AUTHOR <EMAIL@ADDRESS>, 2014
88msgid ""
99msgstr ""
10−"Project-Id-Version: searx\n"
10+"Project-Id-Version: searx\n"
1111"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
12−"POT-Creation-Date: 2014-09-07 21:47+0200\n"
12+"POT-Creation-Date: 2014-11-01 21:11+0100\n"
1313"PO-Revision-Date: 2014-09-07 21:30+0000\n"
1414"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
15−"Language-Team: Hungarian (http://www.transifex.com/projects/p/searx/language/hu/)\n"
15+"Language-Team: Hungarian "
16+"(http://www.transifex.com/projects/p/searx/language/hu/)\n"
17+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
1618"MIME-Version: 1.0\n"
17−"Content-Type: text/plain; charset=UTF-8\n"
19+"Content-Type: text/plain; charset=utf-8\n"
1820"Content-Transfer-Encoding: 8bit\n"
1921"Generated-By: Babel 1.3\n"
20−"Language: hu\n"
21−"Plural-Forms: nplurals=2; plural=(n != 1);\n"
2222
23−#: searx/webapp.py:250
23+#: searx/webapp.py:305
2424msgid "{minutes} minute(s) ago"
2525msgstr "{minutes} perce"
2626
27−#: searx/webapp.py:252
27+#: searx/webapp.py:307
2828msgid "{hours} hour(s), {minutes} minute(s) ago"
2929msgstr "{hours} óra, {minutes} perce"
3030
31−#: searx/engines/__init__.py:164
31+#: searx/engines/__init__.py:177
3232msgid "Page loads (sec)"
3333msgstr "Válaszidők (sec)"
3434
35−#: searx/engines/__init__.py:168
35+#: searx/engines/__init__.py:181
3636msgid "Number of results"
3737msgstr "Találatok száma"
3838
39−#: searx/engines/__init__.py:172
39+#: searx/engines/__init__.py:185
4040msgid "Scores"
4141msgstr "Pontszámok"
4242
43−#: searx/engines/__init__.py:176
43+#: searx/engines/__init__.py:189
4444msgid "Scores per result"
4545msgstr "Pontszámok találatonként"
4646
47−#: searx/engines/__init__.py:180
47+#: searx/engines/__init__.py:193
4848msgid "Errors"
4949msgstr "Hibák"
5050
5151#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:8
52+#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16
5253msgid "about"
5354msgstr "rólunk"
5455
5556#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:9
57+#: searx/templates/oscar/navbar.html:17
58+#: searx/templates/oscar/preferences.html:2
5659msgid "preferences"
5760msgstr "beállítások"
5861
5962#: searx/templates/courgette/preferences.html:5
6063#: searx/templates/default/preferences.html:5
64+#: searx/templates/oscar/preferences.html:6
6165msgid "Preferences"
6266msgstr "Beállítások"
6367
6468#: searx/templates/courgette/preferences.html:9
6569#: searx/templates/default/preferences.html:9
70+#: searx/templates/oscar/preferences.html:21
6671msgid "Default categories"
6772msgstr "Alapértelmezett kategóriák"
6873
6974#: searx/templates/courgette/preferences.html:15
7075#: searx/templates/default/preferences.html:15
76+#: searx/templates/oscar/preferences.html:27
7177msgid "Search language"
7278msgstr "Keresés nyelve"
7379
7480#: searx/templates/courgette/preferences.html:18
7581#: searx/templates/default/preferences.html:18
82+#: searx/templates/oscar/preferences.html:30
7683msgid "Automatic"
7784msgstr "Automatikus"
7885
7986#: searx/templates/courgette/preferences.html:26
8087#: searx/templates/default/preferences.html:26
88+#: searx/templates/oscar/preferences.html:39
8189msgid "Interface language"
8290msgstr "Felület nyelve"
8391
8492#: searx/templates/courgette/preferences.html:36
8593#: searx/templates/default/preferences.html:36
94+#: searx/templates/oscar/preferences.html:50
8695msgid "Autocomplete"
87−msgstr "Automatikus kiegészítés"
96+msgstr ""
8897
8998#: searx/templates/courgette/preferences.html:47
9099#: searx/templates/default/preferences.html:47
100+#: searx/templates/oscar/preferences.html:63
91101msgid "Method"
92−msgstr "Method"
102+msgstr ""
93103
94104#: searx/templates/courgette/preferences.html:56
95105#: searx/templates/default/preferences.html:56
106+#: searx/templates/oscar/preferences.html:73
96107msgid "Themes"
97−msgstr "Megjelenés"
108+msgstr ""
98109
99110#: searx/templates/courgette/preferences.html:66
100111#: searx/templates/default/preferences.html:66
@@ -115,6 +126,7 @@ msgstr "Kategória"
115126#: searx/templates/courgette/preferences.html:83
116127#: searx/templates/default/preferences.html:72
117128#: searx/templates/default/preferences.html:83
129+#: searx/templates/oscar/preferences.html:110
118130msgid "Allow"
119131msgstr "Engedélyezés"
120132
@@ -122,67 +134,226 @@ msgstr "Engedélyezés"
122134#: searx/templates/courgette/preferences.html:84
123135#: searx/templates/default/preferences.html:72
124136#: searx/templates/default/preferences.html:84
137+#: searx/templates/oscar/preferences.html:109
125138msgid "Block"
126139msgstr "Tiltás"
127140
128141#: searx/templates/courgette/preferences.html:92
129142#: searx/templates/default/preferences.html:92
143+#: searx/templates/oscar/preferences.html:124
130144msgid ""
131−"These settings are stored in your cookies, this allows us not to store this "
132−"data about you."
145+"These settings are stored in your cookies, this allows us not to store "
146+"this data about you."
133147msgstr "Ezek a beállítások csak a böngésző cookie-jaiban tárolódnak."
134148
135149#: searx/templates/courgette/preferences.html:94
136150#: searx/templates/default/preferences.html:94
151+#: searx/templates/oscar/preferences.html:126
137152msgid ""
138153"These cookies serve your sole convenience, we don't use these cookies to "
139154"track you."
140−msgstr "Ezek a cookie-k csak kényelmi funkciókat látnak el, nem használjuk a felhasználók követésére."
155+msgstr ""
156+"Ezek a cookie-k csak kényelmi funkciókat látnak el, nem használjuk a "
157+"felhasználók követésére."
141158
142159#: searx/templates/courgette/preferences.html:97
143160#: searx/templates/default/preferences.html:97
161+#: searx/templates/oscar/preferences.html:129
144162msgid "save"
145163msgstr "mentés"
146164
147165#: searx/templates/courgette/preferences.html:98
148166#: searx/templates/default/preferences.html:98
167+#: searx/templates/oscar/preferences.html:130
149168msgid "back"
150169msgstr "vissza"
151170
152171#: searx/templates/courgette/results.html:12
153172#: searx/templates/default/results.html:12
173+#: searx/templates/oscar/results.html:78
154174msgid "Search URL"
155175msgstr "Keresési URL"
156176
157177#: searx/templates/courgette/results.html:16
158178#: searx/templates/default/results.html:16
179+#: searx/templates/oscar/results.html:83
159180msgid "Download results"
160181msgstr "Találatok letöltése"
161182
162183#: searx/templates/courgette/results.html:34
163−#: searx/templates/default/results.html:34
184+#: searx/templates/default/results.html:42
185+#: searx/templates/oscar/results.html:58
164186msgid "Suggestions"
165187msgstr "Javaslatok"
166188
167189#: searx/templates/courgette/results.html:62
168−#: searx/templates/default/results.html:62
190+#: searx/templates/default/results.html:78
191+#: searx/templates/oscar/results.html:37
169192msgid "previous page"
170193msgstr "előző oldal"
171194
172195#: searx/templates/courgette/results.html:73
173−#: searx/templates/default/results.html:73
196+#: searx/templates/default/results.html:89
197+#: searx/templates/oscar/results.html:45
174198msgid "next page"
175199msgstr "következő oldal"
176200
177201#: searx/templates/courgette/search.html:3
178−#: searx/templates/default/search.html:3
202+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
203+#: searx/templates/oscar/search_full.html:5
179204msgid "Search for..."
180205msgstr "Keresés..."
181206
182207#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
208+#: searx/templates/oscar/stats.html:5
183209msgid "Engine stats"
184210msgstr "Kereső statisztikák"
185211
212+#: searx/templates/default/results.html:34
213+msgid "Answers"
214+msgstr ""
215+
216+#: searx/templates/oscar/base.html:61
217+msgid "Powered by"
218+msgstr ""
219+
220+#: searx/templates/oscar/base.html:61
221+msgid "a privacy-respecting, hackable metasearch engine"
222+msgstr ""
223+
224+#: searx/templates/oscar/navbar.html:6
225+msgid "Toggle navigation"
226+msgstr ""
227+
228+#: searx/templates/oscar/navbar.html:15
229+msgid "home"
230+msgstr ""
231+
232+#: searx/templates/oscar/preferences.html:11
233+msgid "General"
234+msgstr ""
235+
236+#: searx/templates/oscar/preferences.html:12
237+msgid "Engines"
238+msgstr ""
239+
240+#: searx/templates/oscar/preferences.html:36
241+msgid "What language do you prefer for search?"
242+msgstr ""
243+
244+#: searx/templates/oscar/preferences.html:47
245+msgid "Change the language of the layout"
246+msgstr ""
247+
248+#: searx/templates/oscar/preferences.html:60
249+msgid "Find stuff as you type"
250+msgstr ""
251+
252+#: searx/templates/oscar/preferences.html:70
253+msgid ""
254+"Change how forms are submited, <a "
255+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
256+" rel=\"external\">learn more about request methods</a>"
257+msgstr ""
258+
259+#: searx/templates/oscar/preferences.html:81
260+msgid "Change searx layout"
261+msgstr ""
262+
263+#: searx/templates/oscar/results.html:6
264+msgid "Search results"
265+msgstr ""
266+
267+#: searx/templates/oscar/results.html:73
268+msgid "Links"
269+msgstr ""
270+
271+#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7
272+msgid "Start search"
273+msgstr ""
274+
275+#: searx/templates/oscar/search_full.html:11
276+msgid "Show search filters"
277+msgstr ""
278+
279+#: searx/templates/oscar/search_full.html:11
280+msgid "Hide search filters"
281+msgstr ""
282+
283+#: searx/templates/oscar/stats.html:2
284+msgid "stats"
285+msgstr ""
286+
287+#: searx/templates/oscar/messages/first_time.html:4
288+#: searx/templates/oscar/messages/no_results.html:5
289+#: searx/templates/oscar/messages/save_settings_successfull.html:5
290+#: searx/templates/oscar/messages/unknow_error.html:5
291+msgid "Close"
292+msgstr ""
293+
294+#: searx/templates/oscar/messages/first_time.html:6
295+#: searx/templates/oscar/messages/no_data_available.html:3
296+msgid "Heads up!"
297+msgstr ""
298+
299+#: searx/templates/oscar/messages/first_time.html:7
300+msgid "It look like you are using searx first time."
301+msgstr ""
302+
303+#: searx/templates/oscar/messages/js_disabled.html:2
304+msgid "Warning!"
305+msgstr ""
306+
307+#: searx/templates/oscar/messages/js_disabled.html:3
308+msgid "Please enable JavaScript to use full functionality of this site."
309+msgstr ""
310+
311+#: searx/templates/oscar/messages/no_data_available.html:4
312+msgid "There is currently no data available. "
313+msgstr ""
314+
315+#: searx/templates/oscar/messages/no_results.html:7
316+msgid "Sorry!"
317+msgstr ""
318+
319+#: searx/templates/oscar/messages/no_results.html:8
320+msgid ""
321+"we didn't find any results. Please use another query or search in more "
322+"categories."
323+msgstr ""
324+
325+#: searx/templates/oscar/messages/save_settings_successfull.html:7
326+msgid "Well done!"
327+msgstr ""
328+
329+#: searx/templates/oscar/messages/save_settings_successfull.html:8
330+msgid "Settings saved successfully."
331+msgstr ""
332+
333+#: searx/templates/oscar/messages/unknow_error.html:7
334+msgid "Oh snap!"
335+msgstr ""
336+
337+#: searx/templates/oscar/messages/unknow_error.html:8
338+msgid "Something went wrong."
339+msgstr ""
340+
341+#: searx/templates/oscar/result_templates/images.html:20
342+msgid "Get image"
343+msgstr ""
344+
345+#: searx/templates/oscar/result_templates/images.html:21
346+msgid "View source"
347+msgstr ""
348+
349+#: searx/templates/oscar/result_templates/torrent.html:7
350+msgid "Seeder"
351+msgstr ""
352+
353+#: searx/templates/oscar/result_templates/torrent.html:7
354+msgid "Leecher"
355+msgstr ""
356+
186357# categories - manually added
187358# TODO - automatically add
188359msgid "files"
@@ -211,3 +382,4 @@ msgstr "hírek"
211382
212383msgid "map"
213384msgstr "térkép"
385+
searx/translations/it/LC_MESSAGES/messages.mo

Binary file not shown.

searx/translations/it/LC_MESSAGES/messages.po+201−27
@@ -1,99 +1,110 @@
1−# English translations for PROJECT.
1+# English translations for .
22# Copyright (C) 2014 ORGANIZATION
3−# This file is distributed under the same license as the PROJECT project.
4−#
3+# This file is distributed under the same license as the project.
4+#
55# Translators:
66# dp <d.pitrolo@gmx.com>, 2014
77msgid ""
88msgstr ""
9−"Project-Id-Version: searx\n"
9+"Project-Id-Version: searx\n"
1010"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11−"POT-Creation-Date: 2014-09-07 21:47+0200\n"
11+"POT-Creation-Date: 2014-11-01 21:11+0100\n"
1212"PO-Revision-Date: 2014-09-08 08:19+0000\n"
1313"Last-Translator: dp <d.pitrolo@gmx.com>\n"
14−"Language-Team: Italian (http://www.transifex.com/projects/p/searx/language/it/)\n"
14+"Language-Team: Italian "
15+"(http://www.transifex.com/projects/p/searx/language/it/)\n"
16+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
1517"MIME-Version: 1.0\n"
16−"Content-Type: text/plain; charset=UTF-8\n"
18+"Content-Type: text/plain; charset=utf-8\n"
1719"Content-Transfer-Encoding: 8bit\n"
1820"Generated-By: Babel 1.3\n"
19−"Language: it\n"
20−"Plural-Forms: nplurals=2; plural=(n != 1);\n"
2121
22−#: searx/webapp.py:250
22+#: searx/webapp.py:305
2323msgid "{minutes} minute(s) ago"
2424msgstr "di {minutes} minuti fa"
2525
26−#: searx/webapp.py:252
26+#: searx/webapp.py:307
2727msgid "{hours} hour(s), {minutes} minute(s) ago"
2828msgstr "di {ore} h e {minutes} minuti fa"
2929
30−#: searx/engines/__init__.py:164
30+#: searx/engines/__init__.py:177
3131msgid "Page loads (sec)"
3232msgstr " Caricamento della pagina (secondi)"
3333
34−#: searx/engines/__init__.py:168
34+#: searx/engines/__init__.py:181
3535msgid "Number of results"
3636msgstr "Risultati ottenuti"
3737
38−#: searx/engines/__init__.py:172
38+#: searx/engines/__init__.py:185
3939msgid "Scores"
4040msgstr "Punteggio"
4141
42−#: searx/engines/__init__.py:176
42+#: searx/engines/__init__.py:189
4343msgid "Scores per result"
4444msgstr "Punteggio per risultato"
4545
46−#: searx/engines/__init__.py:180
46+#: searx/engines/__init__.py:193
4747msgid "Errors"
4848msgstr "Errori"
4949
5050#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:8
51+#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16
5152msgid "about"
5253msgstr "informazioni"
5354
5455#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:9
56+#: searx/templates/oscar/navbar.html:17
57+#: searx/templates/oscar/preferences.html:2
5558msgid "preferences"
5659msgstr "preferenze"
5760
5861#: searx/templates/courgette/preferences.html:5
5962#: searx/templates/default/preferences.html:5
63+#: searx/templates/oscar/preferences.html:6
6064msgid "Preferences"
6165msgstr "Preferenze"
6266
6367#: searx/templates/courgette/preferences.html:9
6468#: searx/templates/default/preferences.html:9
69+#: searx/templates/oscar/preferences.html:21
6570msgid "Default categories"
6671msgstr "Categorie predefinite"
6772
6873#: searx/templates/courgette/preferences.html:15
6974#: searx/templates/default/preferences.html:15
75+#: searx/templates/oscar/preferences.html:27
7076msgid "Search language"
7177msgstr "Lingua di ricerca"
7278
7379#: searx/templates/courgette/preferences.html:18
7480#: searx/templates/default/preferences.html:18
81+#: searx/templates/oscar/preferences.html:30
7582msgid "Automatic"
7683msgstr "Automatico"
7784
7885#: searx/templates/courgette/preferences.html:26
7986#: searx/templates/default/preferences.html:26
87+#: searx/templates/oscar/preferences.html:39
8088msgid "Interface language"
8189msgstr "Linguaggio dell'interfaccia"
8290
8391#: searx/templates/courgette/preferences.html:36
8492#: searx/templates/default/preferences.html:36
93+#: searx/templates/oscar/preferences.html:50
8594msgid "Autocomplete"
86−msgstr "Completamento automatico"
95+msgstr ""
8796
8897#: searx/templates/courgette/preferences.html:47
8998#: searx/templates/default/preferences.html:47
99+#: searx/templates/oscar/preferences.html:63
90100msgid "Method"
91−msgstr "Metodo"
101+msgstr ""
92102
93103#: searx/templates/courgette/preferences.html:56
94104#: searx/templates/default/preferences.html:56
105+#: searx/templates/oscar/preferences.html:73
95106msgid "Themes"
96−msgstr "Grafica"
107+msgstr ""
97108
98109#: searx/templates/courgette/preferences.html:66
99110#: searx/templates/default/preferences.html:66
@@ -114,6 +125,7 @@ msgstr "Categoria"
114125#: searx/templates/courgette/preferences.html:83
115126#: searx/templates/default/preferences.html:72
116127#: searx/templates/default/preferences.html:83
128+#: searx/templates/oscar/preferences.html:110
117129msgid "Allow"
118130msgstr "Autorizza"
119131
@@ -121,67 +133,228 @@ msgstr "Autorizza"
121133#: searx/templates/courgette/preferences.html:84
122134#: searx/templates/default/preferences.html:72
123135#: searx/templates/default/preferences.html:84
136+#: searx/templates/oscar/preferences.html:109
124137msgid "Block"
125138msgstr "Blocca"
126139
127140#: searx/templates/courgette/preferences.html:92
128141#: searx/templates/default/preferences.html:92
142+#: searx/templates/oscar/preferences.html:124
129143msgid ""
130−"These settings are stored in your cookies, this allows us not to store this "
131−"data about you."
132−msgstr "Queste impostazioni sono salvate nei tuoi cookie, consentendoci di non conservare dati su di te."
144+"These settings are stored in your cookies, this allows us not to store "
145+"this data about you."
146+msgstr ""
147+"Queste impostazioni sono salvate nei tuoi cookie, consentendoci di non "
148+"conservare dati su di te."
133149
134150#: searx/templates/courgette/preferences.html:94
135151#: searx/templates/default/preferences.html:94
152+#: searx/templates/oscar/preferences.html:126
136153msgid ""
137154"These cookies serve your sole convenience, we don't use these cookies to "
138155"track you."
139−msgstr "I cookie sono funzionali ad un servizio migliore. Non usiamo i cookie per sorvegliarti."
156+msgstr ""
157+"I cookie sono funzionali ad un servizio migliore. Non usiamo i cookie per"
158+" sorvegliarti."
140159
141160#: searx/templates/courgette/preferences.html:97
142161#: searx/templates/default/preferences.html:97
162+#: searx/templates/oscar/preferences.html:129
143163msgid "save"
144164msgstr "salva"
145165
146166#: searx/templates/courgette/preferences.html:98
147167#: searx/templates/default/preferences.html:98
168+#: searx/templates/oscar/preferences.html:130
148169msgid "back"
149170msgstr "indietro"
150171
151172#: searx/templates/courgette/results.html:12
152173#: searx/templates/default/results.html:12
174+#: searx/templates/oscar/results.html:78
153175msgid "Search URL"
154176msgstr "URL della ricerca"
155177
156178#: searx/templates/courgette/results.html:16
157179#: searx/templates/default/results.html:16
180+#: searx/templates/oscar/results.html:83
158181msgid "Download results"
159182msgstr "Scarica i risultati"
160183
161184#: searx/templates/courgette/results.html:34
162−#: searx/templates/default/results.html:34
185+#: searx/templates/default/results.html:42
186+#: searx/templates/oscar/results.html:58
163187msgid "Suggestions"
164188msgstr "Suggerimenti"
165189
166190#: searx/templates/courgette/results.html:62
167−#: searx/templates/default/results.html:62
191+#: searx/templates/default/results.html:78
192+#: searx/templates/oscar/results.html:37
168193msgid "previous page"
169194msgstr "pagina precedente"
170195
171196#: searx/templates/courgette/results.html:73
172−#: searx/templates/default/results.html:73
197+#: searx/templates/default/results.html:89
198+#: searx/templates/oscar/results.html:45
173199msgid "next page"
174200msgstr "pagina successiva"
175201
176202#: searx/templates/courgette/search.html:3
177−#: searx/templates/default/search.html:3
203+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
204+#: searx/templates/oscar/search_full.html:5
178205msgid "Search for..."
179206msgstr "Cerca…"
180207
181208#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
209+#: searx/templates/oscar/stats.html:5
182210msgid "Engine stats"
183211msgstr "Statistiche dei motori"
184212
213+#: searx/templates/default/results.html:34
214+msgid "Answers"
215+msgstr ""
216+
217+#: searx/templates/oscar/base.html:61
218+msgid "Powered by"
219+msgstr ""
220+
221+#: searx/templates/oscar/base.html:61
222+msgid "a privacy-respecting, hackable metasearch engine"
223+msgstr ""
224+
225+#: searx/templates/oscar/navbar.html:6
226+msgid "Toggle navigation"
227+msgstr ""
228+
229+#: searx/templates/oscar/navbar.html:15
230+msgid "home"
231+msgstr ""
232+
233+#: searx/templates/oscar/preferences.html:11
234+msgid "General"
235+msgstr ""
236+
237+#: searx/templates/oscar/preferences.html:12
238+msgid "Engines"
239+msgstr ""
240+
241+#: searx/templates/oscar/preferences.html:36
242+msgid "What language do you prefer for search?"
243+msgstr ""
244+
245+#: searx/templates/oscar/preferences.html:47
246+msgid "Change the language of the layout"
247+msgstr ""
248+
249+#: searx/templates/oscar/preferences.html:60
250+msgid "Find stuff as you type"
251+msgstr ""
252+
253+#: searx/templates/oscar/preferences.html:70
254+msgid ""
255+"Change how forms are submited, <a "
256+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
257+" rel=\"external\">learn more about request methods</a>"
258+msgstr ""
259+
260+#: searx/templates/oscar/preferences.html:81
261+msgid "Change searx layout"
262+msgstr ""
263+
264+#: searx/templates/oscar/results.html:6
265+msgid "Search results"
266+msgstr ""
267+
268+#: searx/templates/oscar/results.html:73
269+msgid "Links"
270+msgstr ""
271+
272+#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7
273+msgid "Start search"
274+msgstr ""
275+
276+#: searx/templates/oscar/search_full.html:11
277+msgid "Show search filters"
278+msgstr ""
279+
280+#: searx/templates/oscar/search_full.html:11
281+msgid "Hide search filters"
282+msgstr ""
283+
284+#: searx/templates/oscar/stats.html:2
285+msgid "stats"
286+msgstr ""
287+
288+#: searx/templates/oscar/messages/first_time.html:4
289+#: searx/templates/oscar/messages/no_results.html:5
290+#: searx/templates/oscar/messages/save_settings_successfull.html:5
291+#: searx/templates/oscar/messages/unknow_error.html:5
292+msgid "Close"
293+msgstr ""
294+
295+#: searx/templates/oscar/messages/first_time.html:6
296+#: searx/templates/oscar/messages/no_data_available.html:3
297+msgid "Heads up!"
298+msgstr ""
299+
300+#: searx/templates/oscar/messages/first_time.html:7
301+msgid "It look like you are using searx first time."
302+msgstr ""
303+
304+#: searx/templates/oscar/messages/js_disabled.html:2
305+msgid "Warning!"
306+msgstr ""
307+
308+#: searx/templates/oscar/messages/js_disabled.html:3
309+msgid "Please enable JavaScript to use full functionality of this site."
310+msgstr ""
311+
312+#: searx/templates/oscar/messages/no_data_available.html:4
313+msgid "There is currently no data available. "
314+msgstr ""
315+
316+#: searx/templates/oscar/messages/no_results.html:7
317+msgid "Sorry!"
318+msgstr ""
319+
320+#: searx/templates/oscar/messages/no_results.html:8
321+msgid ""
322+"we didn't find any results. Please use another query or search in more "
323+"categories."
324+msgstr ""
325+
326+#: searx/templates/oscar/messages/save_settings_successfull.html:7
327+msgid "Well done!"
328+msgstr ""
329+
330+#: searx/templates/oscar/messages/save_settings_successfull.html:8
331+msgid "Settings saved successfully."
332+msgstr ""
333+
334+#: searx/templates/oscar/messages/unknow_error.html:7
335+msgid "Oh snap!"
336+msgstr ""
337+
338+#: searx/templates/oscar/messages/unknow_error.html:8
339+msgid "Something went wrong."
340+msgstr ""
341+
342+#: searx/templates/oscar/result_templates/images.html:20
343+msgid "Get image"
344+msgstr ""
345+
346+#: searx/templates/oscar/result_templates/images.html:21
347+msgid "View source"
348+msgstr ""
349+
350+#: searx/templates/oscar/result_templates/torrent.html:7
351+msgid "Seeder"
352+msgstr ""
353+
354+#: searx/templates/oscar/result_templates/torrent.html:7
355+msgid "Leecher"
356+msgstr ""
357+
185358# categories - manually added
186359# TODO - automatically add
187360msgid "files"
@@ -210,3 +383,4 @@ msgstr "notizie"
210383
211384msgid "map"
212385msgstr "mappe"
386+
searx/translations/ja/LC_MESSAGES/messages.mo

Binary file not shown.

searx/translations/ja/LC_MESSAGES/messages.po+174−9
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: PROJECT VERSION\n"
99"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10−"POT-Creation-Date: 2014-10-05 16:45+0200\n"
10+"POT-Creation-Date: 2014-11-01 21:11+0100\n"
1111"PO-Revision-Date: 2014-10-05 16:38+0200\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: ja <LL@li.org>\n"
@@ -17,79 +17,90 @@ msgstr ""
1717"Content-Transfer-Encoding: 8bit\n"
1818"Generated-By: Babel 1.3\n"
1919
20−#: searx/webapp.py:251
20+#: searx/webapp.py:305
2121msgid "{minutes} minute(s) ago"
2222msgstr ""
2323
24−#: searx/webapp.py:253
24+#: searx/webapp.py:307
2525msgid "{hours} hour(s), {minutes} minute(s) ago"
2626msgstr ""
2727
28−#: searx/engines/__init__.py:176
28+#: searx/engines/__init__.py:177
2929msgid "Page loads (sec)"
3030msgstr ""
3131
32−#: searx/engines/__init__.py:180
32+#: searx/engines/__init__.py:181
3333msgid "Number of results"
3434msgstr ""
3535
36−#: searx/engines/__init__.py:184
36+#: searx/engines/__init__.py:185
3737msgid "Scores"
3838msgstr ""
3939
40−#: searx/engines/__init__.py:188
40+#: searx/engines/__init__.py:189
4141msgid "Scores per result"
4242msgstr ""
4343
44−#: searx/engines/__init__.py:192
44+#: searx/engines/__init__.py:193
4545msgid "Errors"
4646msgstr ""
4747
4848#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:8
49+#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16
4950msgid "about"
5051msgstr "に関する"
5152
5253#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:9
54+#: searx/templates/oscar/navbar.html:17
55+#: searx/templates/oscar/preferences.html:2
5356msgid "preferences"
5457msgstr "設定"
5558
5659#: searx/templates/courgette/preferences.html:5
5760#: searx/templates/default/preferences.html:5
61+#: searx/templates/oscar/preferences.html:6
5862msgid "Preferences"
5963msgstr "設定"
6064
6165#: searx/templates/courgette/preferences.html:9
6266#: searx/templates/default/preferences.html:9
67+#: searx/templates/oscar/preferences.html:21
6368msgid "Default categories"
6469msgstr ""
6570
6671#: searx/templates/courgette/preferences.html:15
6772#: searx/templates/default/preferences.html:15
73+#: searx/templates/oscar/preferences.html:27
6874msgid "Search language"
6975msgstr ""
7076
7177#: searx/templates/courgette/preferences.html:18
7278#: searx/templates/default/preferences.html:18
79+#: searx/templates/oscar/preferences.html:30
7380msgid "Automatic"
7481msgstr ""
7582
7683#: searx/templates/courgette/preferences.html:26
7784#: searx/templates/default/preferences.html:26
85+#: searx/templates/oscar/preferences.html:39
7886msgid "Interface language"
7987msgstr ""
8088
8189#: searx/templates/courgette/preferences.html:36
8290#: searx/templates/default/preferences.html:36
91+#: searx/templates/oscar/preferences.html:50
8392msgid "Autocomplete"
8493msgstr ""
8594
8695#: searx/templates/courgette/preferences.html:47
8796#: searx/templates/default/preferences.html:47
97+#: searx/templates/oscar/preferences.html:63
8898msgid "Method"
8999msgstr ""
90100
91101#: searx/templates/courgette/preferences.html:56
92102#: searx/templates/default/preferences.html:56
103+#: searx/templates/oscar/preferences.html:73
93104msgid "Themes"
94105msgstr ""
95106
@@ -112,6 +123,7 @@ msgstr ""
112123#: searx/templates/courgette/preferences.html:83
113124#: searx/templates/default/preferences.html:72
114125#: searx/templates/default/preferences.html:83
126+#: searx/templates/oscar/preferences.html:110
115127msgid "Allow"
116128msgstr ""
117129
@@ -119,11 +131,13 @@ msgstr ""
119131#: searx/templates/courgette/preferences.html:84
120132#: searx/templates/default/preferences.html:72
121133#: searx/templates/default/preferences.html:84
134+#: searx/templates/oscar/preferences.html:109
122135msgid "Block"
123136msgstr ""
124137
125138#: searx/templates/courgette/preferences.html:92
126139#: searx/templates/default/preferences.html:92
140+#: searx/templates/oscar/preferences.html:124
127141msgid ""
128142"These settings are stored in your cookies, this allows us not to store "
129143"this data about you."
@@ -131,6 +145,7 @@ msgstr ""
131145
132146#: searx/templates/courgette/preferences.html:94
133147#: searx/templates/default/preferences.html:94
148+#: searx/templates/oscar/preferences.html:126
134149msgid ""
135150"These cookies serve your sole convenience, we don't use these cookies to "
136151"track you."
@@ -138,45 +153,54 @@ msgstr ""
138153
139154#: searx/templates/courgette/preferences.html:97
140155#: searx/templates/default/preferences.html:97
156+#: searx/templates/oscar/preferences.html:129
141157msgid "save"
142158msgstr ""
143159
144160#: searx/templates/courgette/preferences.html:98
145161#: searx/templates/default/preferences.html:98
162+#: searx/templates/oscar/preferences.html:130
146163msgid "back"
147164msgstr ""
148165
149166#: searx/templates/courgette/results.html:12
150167#: searx/templates/default/results.html:12
168+#: searx/templates/oscar/results.html:78
151169msgid "Search URL"
152170msgstr ""
153171
154172#: searx/templates/courgette/results.html:16
155173#: searx/templates/default/results.html:16
174+#: searx/templates/oscar/results.html:83
156175msgid "Download results"
157176msgstr ""
158177
159178#: searx/templates/courgette/results.html:34
160179#: searx/templates/default/results.html:42
180+#: searx/templates/oscar/results.html:58
161181msgid "Suggestions"
162182msgstr "提案"
163183
164184#: searx/templates/courgette/results.html:62
165185#: searx/templates/default/results.html:78
186+#: searx/templates/oscar/results.html:37
166187msgid "previous page"
167188msgstr "前のページ"
168189
169190#: searx/templates/courgette/results.html:73
170191#: searx/templates/default/results.html:89
192+#: searx/templates/oscar/results.html:45
171193msgid "next page"
172194msgstr "次のページ"
173195
174196#: searx/templates/courgette/search.html:3
175−#: searx/templates/default/search.html:3
197+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
198+#: searx/templates/oscar/search_full.html:5
176199msgid "Search for..."
177200msgstr "検索する..."
178201
179202#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
203+#: searx/templates/oscar/stats.html:5
180204msgid "Engine stats"
181205msgstr ""
182206
@@ -184,6 +208,147 @@ msgstr ""
184208msgid "Answers"
185209msgstr ""
186210
211+#: searx/templates/oscar/base.html:61
212+msgid "Powered by"
213+msgstr ""
214+
215+#: searx/templates/oscar/base.html:61
216+msgid "a privacy-respecting, hackable metasearch engine"
217+msgstr ""
218+
219+#: searx/templates/oscar/navbar.html:6
220+msgid "Toggle navigation"
221+msgstr ""
222+
223+#: searx/templates/oscar/navbar.html:15
224+msgid "home"
225+msgstr ""
226+
227+#: searx/templates/oscar/preferences.html:11
228+msgid "General"
229+msgstr ""
230+
231+#: searx/templates/oscar/preferences.html:12
232+msgid "Engines"
233+msgstr ""
234+
235+#: searx/templates/oscar/preferences.html:36
236+msgid "What language do you prefer for search?"
237+msgstr ""
238+
239+#: searx/templates/oscar/preferences.html:47
240+msgid "Change the language of the layout"
241+msgstr ""
242+
243+#: searx/templates/oscar/preferences.html:60
244+msgid "Find stuff as you type"
245+msgstr ""
246+
247+#: searx/templates/oscar/preferences.html:70
248+msgid ""
249+"Change how forms are submited, <a "
250+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
251+" rel=\"external\">learn more about request methods</a>"
252+msgstr ""
253+
254+#: searx/templates/oscar/preferences.html:81
255+msgid "Change searx layout"
256+msgstr ""
257+
258+#: searx/templates/oscar/results.html:6
259+msgid "Search results"
260+msgstr ""
261+
262+#: searx/templates/oscar/results.html:73
263+msgid "Links"
264+msgstr ""
265+
266+#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7
267+msgid "Start search"
268+msgstr ""
269+
270+#: searx/templates/oscar/search_full.html:11
271+msgid "Show search filters"
272+msgstr ""
273+
274+#: searx/templates/oscar/search_full.html:11
275+msgid "Hide search filters"
276+msgstr ""
277+
278+#: searx/templates/oscar/stats.html:2
279+msgid "stats"
280+msgstr ""
281+
282+#: searx/templates/oscar/messages/first_time.html:4
283+#: searx/templates/oscar/messages/no_results.html:5
284+#: searx/templates/oscar/messages/save_settings_successfull.html:5
285+#: searx/templates/oscar/messages/unknow_error.html:5
286+msgid "Close"
287+msgstr ""
288+
289+#: searx/templates/oscar/messages/first_time.html:6
290+#: searx/templates/oscar/messages/no_data_available.html:3
291+msgid "Heads up!"
292+msgstr ""
293+
294+#: searx/templates/oscar/messages/first_time.html:7
295+msgid "It look like you are using searx first time."
296+msgstr ""
297+
298+#: searx/templates/oscar/messages/js_disabled.html:2
299+msgid "Warning!"
300+msgstr ""
301+
302+#: searx/templates/oscar/messages/js_disabled.html:3
303+msgid "Please enable JavaScript to use full functionality of this site."
304+msgstr ""
305+
306+#: searx/templates/oscar/messages/no_data_available.html:4
307+msgid "There is currently no data available. "
308+msgstr ""
309+
310+#: searx/templates/oscar/messages/no_results.html:7
311+msgid "Sorry!"
312+msgstr ""
313+
314+#: searx/templates/oscar/messages/no_results.html:8
315+msgid ""
316+"we didn't find any results. Please use another query or search in more "
317+"categories."
318+msgstr ""
319+
320+#: searx/templates/oscar/messages/save_settings_successfull.html:7
321+msgid "Well done!"
322+msgstr ""
323+
324+#: searx/templates/oscar/messages/save_settings_successfull.html:8
325+msgid "Settings saved successfully."
326+msgstr ""
327+
328+#: searx/templates/oscar/messages/unknow_error.html:7
329+msgid "Oh snap!"
330+msgstr ""
331+
332+#: searx/templates/oscar/messages/unknow_error.html:8
333+msgid "Something went wrong."
334+msgstr ""
335+
336+#: searx/templates/oscar/result_templates/images.html:20
337+msgid "Get image"
338+msgstr ""
339+
340+#: searx/templates/oscar/result_templates/images.html:21
341+msgid "View source"
342+msgstr ""
343+
344+#: searx/templates/oscar/result_templates/torrent.html:7
345+msgid "Seeder"
346+msgstr ""
347+
348+#: searx/templates/oscar/result_templates/torrent.html:7
349+msgid "Leecher"
350+msgstr ""
351+
187352# categories - manually added
188353# TODO - automatically add
189354msgid "files"
searx/translations/nl/LC_MESSAGES/messages.mo

Binary file not shown.

searx/translations/nl/LC_MESSAGES/messages.po+201−27
@@ -1,99 +1,110 @@
1−# English translations for PROJECT.
1+# English translations for .
22# Copyright (C) 2014 ORGANIZATION
3−# This file is distributed under the same license as the PROJECT project.
4−#
3+# This file is distributed under the same license as the project.
4+#
55# Translators:
66# André Koot <meneer@tken.net>, 2014
77msgid ""
88msgstr ""
9−"Project-Id-Version: searx\n"
9+"Project-Id-Version: searx\n"
1010"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11−"POT-Creation-Date: 2014-09-07 21:47+0200\n"
11+"POT-Creation-Date: 2014-11-01 21:11+0100\n"
1212"PO-Revision-Date: 2014-09-09 15:33+0000\n"
1313"Last-Translator: André Koot <meneer@tken.net>\n"
14−"Language-Team: Dutch (http://www.transifex.com/projects/p/searx/language/nl/)\n"
14+"Language-Team: Dutch "
15+"(http://www.transifex.com/projects/p/searx/language/nl/)\n"
16+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
1517"MIME-Version: 1.0\n"
16−"Content-Type: text/plain; charset=UTF-8\n"
18+"Content-Type: text/plain; charset=utf-8\n"
1719"Content-Transfer-Encoding: 8bit\n"
1820"Generated-By: Babel 1.3\n"
19−"Language: nl\n"
20−"Plural-Forms: nplurals=2; plural=(n != 1);\n"
2121
22−#: searx/webapp.py:250
22+#: searx/webapp.py:305
2323msgid "{minutes} minute(s) ago"
2424msgstr "{minutes} min geleden"
2525
26−#: searx/webapp.py:252
26+#: searx/webapp.py:307
2727msgid "{hours} hour(s), {minutes} minute(s) ago"
2828msgstr "{hours} uur, {minutes} min geleden"
2929
30−#: searx/engines/__init__.py:164
30+#: searx/engines/__init__.py:177
3131msgid "Page loads (sec)"
3232msgstr "Pagina laadt (sec)"
3333
34−#: searx/engines/__init__.py:168
34+#: searx/engines/__init__.py:181
3535msgid "Number of results"
3636msgstr "Aantal zoekresultaten"
3737
38−#: searx/engines/__init__.py:172
38+#: searx/engines/__init__.py:185
3939msgid "Scores"
4040msgstr "Scores"
4141
42−#: searx/engines/__init__.py:176
42+#: searx/engines/__init__.py:189
4343msgid "Scores per result"
4444msgstr "Scores per zoekresultaat"
4545
46−#: searx/engines/__init__.py:180
46+#: searx/engines/__init__.py:193
4747msgid "Errors"
4848msgstr "Fouten"
4949
5050#: searx/templates/courgette/index.html:8 searx/templates/default/index.html:8
51+#: searx/templates/oscar/about.html:3 searx/templates/oscar/navbar.html:16
5152msgid "about"
5253msgstr "over"
5354
5455#: searx/templates/courgette/index.html:9 searx/templates/default/index.html:9
56+#: searx/templates/oscar/navbar.html:17
57+#: searx/templates/oscar/preferences.html:2
5558msgid "preferences"
5659msgstr "voorkeuren"
5760
5861#: searx/templates/courgette/preferences.html:5
5962#: searx/templates/default/preferences.html:5
63+#: searx/templates/oscar/preferences.html:6
6064msgid "Preferences"
6165msgstr "Voorkeuren"
6266
6367#: searx/templates/courgette/preferences.html:9
6468#: searx/templates/default/preferences.html:9
69+#: searx/templates/oscar/preferences.html:21
6570msgid "Default categories"
6671msgstr "Standaardcategorieën"
6772
6873#: searx/templates/courgette/preferences.html:15
6974#: searx/templates/default/preferences.html:15
75+#: searx/templates/oscar/preferences.html:27
7076msgid "Search language"
7177msgstr "Zoektaal"
7278
7379#: searx/templates/courgette/preferences.html:18
7480#: searx/templates/default/preferences.html:18
81+#: searx/templates/oscar/preferences.html:30
7582msgid "Automatic"
7683msgstr "Automatisch"
7784
7885#: searx/templates/courgette/preferences.html:26
7986#: searx/templates/default/preferences.html:26
87+#: searx/templates/oscar/preferences.html:39
8088msgid "Interface language"
8189msgstr "Interfacetaal"
8290
8391#: searx/templates/courgette/preferences.html:36
8492#: searx/templates/default/preferences.html:36
93+#: searx/templates/oscar/preferences.html:50
8594msgid "Autocomplete"
86−msgstr "Auto-aanvullen"
95+msgstr ""
8796
8897#: searx/templates/courgette/preferences.html:47
8998#: searx/templates/default/preferences.html:47
99+#: searx/templates/oscar/preferences.html:63
90100msgid "Method"
91−msgstr "Methode"
101+msgstr ""
92102
93103#: searx/templates/courgette/preferences.html:56
94104#: searx/templates/default/preferences.html:56
105+#: searx/templates/oscar/preferences.html:73
95106msgid "Themes"
96−msgstr "Thema's"
107+msgstr ""
97108
98109#: searx/templates/courgette/preferences.html:66
99110#: searx/templates/default/preferences.html:66
@@ -114,6 +125,7 @@ msgstr "Categorie"
114125#: searx/templates/courgette/preferences.html:83
115126#: searx/templates/default/preferences.html:72
116127#: searx/templates/default/preferences.html:83
128+#: searx/templates/oscar/preferences.html:110
117129msgid "Allow"
118130msgstr "Toestaan"
119131
@@ -121,67 +133,228 @@ msgstr "Toestaan"
121133#: searx/templates/courgette/preferences.html:84
122134#: searx/templates/default/preferences.html:72
123135#: searx/templates/default/preferences.html:84
136+#: searx/templates/oscar/preferences.html:109
124137msgid "Block"
125138msgstr "Blokkeren"
126139
127140#: searx/templates/courgette/preferences.html:92
128141#: searx/templates/default/preferences.html:92
142+#: searx/templates/oscar/preferences.html:124
129143msgid ""
130−"These settings are stored in your cookies, this allows us not to store this "
131−"data about you."
132−msgstr "Deze instellingen worden bewaard in je cookies. Hierdoor hoeven wij niets over jou te bewaren."
144+"These settings are stored in your cookies, this allows us not to store "
145+"this data about you."
146+msgstr ""
147+"Deze instellingen worden bewaard in je cookies. Hierdoor hoeven wij niets"
148+" over jou te bewaren."
133149
134150#: searx/templates/courgette/preferences.html:94
135151#: searx/templates/default/preferences.html:94
152+#: searx/templates/oscar/preferences.html:126
136153msgid ""
137154"These cookies serve your sole convenience, we don't use these cookies to "
138155"track you."
139−msgstr "Deze cookies zijn alleen voor je eigen gemak, we gebruiken deze cookies niet om je te volgen."
156+msgstr ""
157+"Deze cookies zijn alleen voor je eigen gemak, we gebruiken deze cookies "
158+"niet om je te volgen."
140159
141160#: searx/templates/courgette/preferences.html:97
142161#: searx/templates/default/preferences.html:97
162+#: searx/templates/oscar/preferences.html:129
143163msgid "save"
144164msgstr "bewaren"
145165
146166#: searx/templates/courgette/preferences.html:98
147167#: searx/templates/default/preferences.html:98
168+#: searx/templates/oscar/preferences.html:130
148169msgid "back"
149170msgstr "terug"
150171
151172#: searx/templates/courgette/results.html:12
152173#: searx/templates/default/results.html:12
174+#: searx/templates/oscar/results.html:78
153175msgid "Search URL"
154176msgstr "Zoek URL"
155177
156178#: searx/templates/courgette/results.html:16
157179#: searx/templates/default/results.html:16
180+#: searx/templates/oscar/results.html:83
158181msgid "Download results"
159182msgstr "Downloaden zoekresultaten"
160183
161184#: searx/templates/courgette/results.html:34
162−#: searx/templates/default/results.html:34
185+#: searx/templates/default/results.html:42
186+#: searx/templates/oscar/results.html:58
163187msgid "Suggestions"
164188msgstr "Suggesties"
165189
166190#: searx/templates/courgette/results.html:62
167−#: searx/templates/default/results.html:62
191+#: searx/templates/default/results.html:78
192+#: searx/templates/oscar/results.html:37
168193msgid "previous page"
169194msgstr "vorige pagina"
170195
171196#: searx/templates/courgette/results.html:73
172−#: searx/templates/default/results.html:73
197+#: searx/templates/default/results.html:89
198+#: searx/templates/oscar/results.html:45
173199msgid "next page"
174200msgstr "volgende pagina"
175201
176202#: searx/templates/courgette/search.html:3
177−#: searx/templates/default/search.html:3
203+#: searx/templates/default/search.html:3 searx/templates/oscar/search.html:4
204+#: searx/templates/oscar/search_full.html:5
178205msgid "Search for..."
179206msgstr "Zoeken naar..."
180207
181208#: searx/templates/courgette/stats.html:4 searx/templates/default/stats.html:4
209+#: searx/templates/oscar/stats.html:5
182210msgid "Engine stats"
183211msgstr "Zoekmachinestatistieken"
184212
213+#: searx/templates/default/results.html:34
214+msgid "Answers"
215+msgstr ""
216+
217+#: searx/templates/oscar/base.html:61
218+msgid "Powered by"
219+msgstr ""
220+
221+#: searx/templates/oscar/base.html:61
222+msgid "a privacy-respecting, hackable metasearch engine"
223+msgstr ""
224+
225+#: searx/templates/oscar/navbar.html:6
226+msgid "Toggle navigation"
227+msgstr ""
228+
229+#: searx/templates/oscar/navbar.html:15
230+msgid "home"
231+msgstr ""
232+
233+#: searx/templates/oscar/preferences.html:11
234+msgid "General"
235+msgstr ""
236+
237+#: searx/templates/oscar/preferences.html:12
238+msgid "Engines"
239+msgstr ""
240+
241+#: searx/templates/oscar/preferences.html:36
242+msgid "What language do you prefer for search?"
243+msgstr ""
244+
245+#: searx/templates/oscar/preferences.html:47
246+msgid "Change the language of the layout"
247+msgstr ""
248+
249+#: searx/templates/oscar/preferences.html:60
250+msgid "Find stuff as you type"
251+msgstr ""
252+
253+#: searx/templates/oscar/preferences.html:70
254+msgid ""
255+"Change how forms are submited, <a "
256+"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
257+" rel=\"external\">learn more about request methods</a>"
258+msgstr ""
259+
260+#: searx/templates/oscar/preferences.html:81
261+msgid "Change searx layout"
262+msgstr ""
263+
264+#: searx/templates/oscar/results.html:6
265+msgid "Search results"
266+msgstr ""
267+
268+#: searx/templates/oscar/results.html:73
269+msgid "Links"
270+msgstr ""
271+
272+#: searx/templates/oscar/search.html:6 searx/templates/oscar/search_full.html:7
273+msgid "Start search"
274+msgstr ""
275+
276+#: searx/templates/oscar/search_full.html:11
277+msgid "Show search filters"
278+msgstr ""
279+
280+#: searx/templates/oscar/search_full.html:11
281+msgid "Hide search filters"
282+msgstr ""
283+
284+#: searx/templates/oscar/stats.html:2
285+msgid "stats"
286+msgstr ""
287+
288+#: searx/templates/oscar/messages/first_time.html:4
289+#: searx/templates/oscar/messages/no_results.html:5
290+#: searx/templates/oscar/messages/save_settings_successfull.html:5
291+#: searx/templates/oscar/messages/unknow_error.html:5
292+msgid "Close"
293+msgstr ""
294+
295+#: searx/templates/oscar/messages/first_time.html:6
296+#: searx/templates/oscar/messages/no_data_available.html:3
297+msgid "Heads up!"
298+msgstr ""
299+
300+#: searx/templates/oscar/messages/first_time.html:7
301+msgid "It look like you are using searx first time."
302+msgstr ""
303+
304+#: searx/templates/oscar/messages/js_disabled.html:2
305+msgid "Warning!"
306+msgstr ""
307+
308+#: searx/templates/oscar/messages/js_disabled.html:3
309+msgid "Please enable JavaScript to use full functionality of this site."
310+msgstr ""
311+
312+#: searx/templates/oscar/messages/no_data_available.html:4
313+msgid "There is currently no data available. "
314+msgstr ""
315+
316+#: searx/templates/oscar/messages/no_results.html:7
317+msgid "Sorry!"
318+msgstr ""
319+
320+#: searx/templates/oscar/messages/no_results.html:8
321+msgid ""
322+"we didn't find any results. Please use another query or search in more "
323+"categories."
324+msgstr ""
325+
326+#: searx/templates/oscar/messages/save_settings_successfull.html:7
327+msgid "Well done!"
328+msgstr ""
329+
330+#: searx/templates/oscar/messages/save_settings_successfull.html:8
331+msgid "Settings saved successfully."
332+msgstr ""
333+
334+#: searx/templates/oscar/messages/unknow_error.html:7
335+msgid "Oh snap!"
336+msgstr ""
337+
338+#: searx/templates/oscar/messages/unknow_error.html:8
339+msgid "Something went wrong."
340+msgstr ""
341+
342+#: searx/templates/oscar/result_templates/images.html:20
343+msgid "Get image"
344+msgstr ""
345+
346+#: searx/templates/oscar/result_templates/images.html:21
347+msgid "View source"
348+msgstr ""
349+
350+#: searx/templates/oscar/result_templates/torrent.html:7
351+msgid "Seeder"
352+msgstr ""
353+
354+#: searx/templates/oscar/result_templates/torrent.html:7
355+msgid "Leecher"
356+msgstr ""
357+
185358# categories - manually added
186359# TODO - automatically add
187360msgid "files"
@@ -210,3 +383,4 @@ msgstr "nieuws"
210383
211384msgid "map"
212385msgstr "kaart"
386+
searx/webapp.py+5−3
@@ -71,9 +71,9 @@ app.secret_key = settings['server']['secret_key']
7171
7272babel = Babel(app)
7373
74−# TODO configurable via settings.yml
75−favicons = ['wikipedia', 'youtube', 'vimeo', 'soundcloud',
76− 'twitter', 'stackoverflow', 'github']
74+#TODO configurable via settings.yml
75+favicons = ['wikipedia', 'youtube', 'vimeo', 'dailymotion', 'soundcloud',
76+ 'twitter', 'stackoverflow', 'github', 'deviantart']
7777
7878cookie_max_age = 60 * 60 * 24 * 365 * 23 # 23 years
7979
@@ -177,6 +177,8 @@ def render(template_name, override_theme=None, **kwargs):
177177 kwargs['url_for'] = url_for_theme
178178
179179 kwargs['theme'] = get_current_theme_name(override=override_theme)
180+
181+ kwargs['template_name'] = template_name
180182
181183 return render_template(
182184 '{}/{}'.format(kwargs['theme'], template_name), **kwargs)