Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
torch-sparse
Commits
2951b12d
Commit
2951b12d
authored
Jan 10, 2024
by
aiss
Browse files
push v0.6.18 version
parent
e8309f27
Changes
266
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
2002 additions
and
0 deletions
+2002
-0
third_party/parallel-hashmap/css/bootstrap-responsive.min.css
...d_party/parallel-hashmap/css/bootstrap-responsive.min.css
+9
-0
third_party/parallel-hashmap/css/bootstrap.min.css
third_party/parallel-hashmap/css/bootstrap.min.css
+10
-0
third_party/parallel-hashmap/css/colors.css
third_party/parallel-hashmap/css/colors.css
+302
-0
third_party/parallel-hashmap/css/style.css
third_party/parallel-hashmap/css/style.css
+271
-0
third_party/parallel-hashmap/examples/allmaps.cc
third_party/parallel-hashmap/examples/allmaps.cc
+75
-0
third_party/parallel-hashmap/examples/basic.cc
third_party/parallel-hashmap/examples/basic.cc
+28
-0
third_party/parallel-hashmap/examples/bench.cc
third_party/parallel-hashmap/examples/bench.cc
+481
-0
third_party/parallel-hashmap/examples/btree.cc
third_party/parallel-hashmap/examples/btree.cc
+49
-0
third_party/parallel-hashmap/examples/btree_fwd.h
third_party/parallel-hashmap/examples/btree_fwd.h
+6
-0
third_party/parallel-hashmap/examples/dump_load.cc
third_party/parallel-hashmap/examples/dump_load.cc
+53
-0
third_party/parallel-hashmap/examples/dump_nested.cc
third_party/parallel-hashmap/examples/dump_nested.cc
+88
-0
third_party/parallel-hashmap/examples/emplace.cc
third_party/parallel-hashmap/examples/emplace.cc
+166
-0
third_party/parallel-hashmap/examples/f1.cc
third_party/parallel-hashmap/examples/f1.cc
+25
-0
third_party/parallel-hashmap/examples/f2.cc
third_party/parallel-hashmap/examples/f2.cc
+23
-0
third_party/parallel-hashmap/examples/hash_std.cc
third_party/parallel-hashmap/examples/hash_std.cc
+20
-0
third_party/parallel-hashmap/examples/hash_std.h
third_party/parallel-hashmap/examples/hash_std.h
+34
-0
third_party/parallel-hashmap/examples/hash_value.cc
third_party/parallel-hashmap/examples/hash_value.cc
+20
-0
third_party/parallel-hashmap/examples/hash_value.h
third_party/parallel-hashmap/examples/hash_value.h
+28
-0
third_party/parallel-hashmap/examples/insert_bench.cc
third_party/parallel-hashmap/examples/insert_bench.cc
+143
-0
third_party/parallel-hashmap/examples/knucleotide-input.txt
third_party/parallel-hashmap/examples/knucleotide-input.txt
+171
-0
No files found.
Too many changes to show.
To preserve performance only
266 of 266+
files are displayed.
Plain diff
Email patch
third_party/parallel-hashmap/css/bootstrap-responsive.min.css
0 → 100644
View file @
2951b12d
/*!
* Bootstrap Responsive v2.1.0
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
*/
.clearfix
{
*
zoom
:
1
}
.clearfix
:before
,
.clearfix
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.clearfix
:after
{
clear
:
both
}
.hide-text
{
font
:
0
/
0
a
;
color
:
transparent
;
text-shadow
:
none
;
background-color
:
transparent
;
border
:
0
}
.input-block-level
{
display
:
block
;
width
:
100%
;
min-height
:
30px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.hidden
{
display
:
none
;
visibility
:
hidden
}
.visible-phone
{
display
:
none
!important
}
.visible-tablet
{
display
:
none
!important
}
.hidden-desktop
{
display
:
none
!important
}
.visible-desktop
{
display
:
inherit
!important
}
@media
(
min-width
:
768px
)
and
(
max-width
:
979px
){
.hidden-desktop
{
display
:
inherit
!important
}
.visible-desktop
{
display
:
none
!important
}
.visible-tablet
{
display
:
inherit
!important
}
.hidden-tablet
{
display
:
none
!important
}}
@media
(
max-width
:
767px
){
.hidden-desktop
{
display
:
inherit
!important
}
.visible-desktop
{
display
:
none
!important
}
.visible-phone
{
display
:
inherit
!important
}
.hidden-phone
{
display
:
none
!important
}}
@media
(
min-width
:
1200px
){
.row
{
margin-left
:
-30px
;
*
zoom
:
1
}
.row
:before
,
.row
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.row
:after
{
clear
:
both
}
[
class
*=
"span"
]
{
float
:
left
;
margin-left
:
30px
}
.container
,
.navbar-static-top
.container
,
.navbar-fixed-top
.container
,
.navbar-fixed-bottom
.container
{
width
:
1170px
}
.span12
{
width
:
1170px
}
.span11
{
width
:
1070px
}
.span10
{
width
:
970px
}
.span9
{
width
:
870px
}
.span8
{
width
:
770px
}
.span7
{
width
:
670px
}
.span6
{
width
:
570px
}
.span5
{
width
:
470px
}
.span4
{
width
:
370px
}
.span3
{
width
:
270px
}
.span2
{
width
:
170px
}
.span1
{
width
:
70px
}
.offset12
{
margin-left
:
1230px
}
.offset11
{
margin-left
:
1130px
}
.offset10
{
margin-left
:
1030px
}
.offset9
{
margin-left
:
930px
}
.offset8
{
margin-left
:
830px
}
.offset7
{
margin-left
:
730px
}
.offset6
{
margin-left
:
630px
}
.offset5
{
margin-left
:
530px
}
.offset4
{
margin-left
:
430px
}
.offset3
{
margin-left
:
330px
}
.offset2
{
margin-left
:
230px
}
.offset1
{
margin-left
:
130px
}
.row-fluid
{
width
:
100%
;
*
zoom
:
1
}
.row-fluid
:before
,
.row-fluid
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.row-fluid
:after
{
clear
:
both
}
.row-fluid
[
class
*=
"span"
]
{
display
:
block
;
float
:
left
;
width
:
100%
;
min-height
:
30px
;
margin-left
:
2.564102564102564%
;
*
margin-left
:
2.5109110747408616%
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.row-fluid
[
class
*=
"span"
]
:first-child
{
margin-left
:
0
}
.row-fluid
.span12
{
width
:
100%
;
*
width
:
99.94680851063829%
}
.row-fluid
.span11
{
width
:
91.45299145299145%
;
*
width
:
91.39979996362975%
}
.row-fluid
.span10
{
width
:
82.90598290598291%
;
*
width
:
82.8527914166212%
}
.row-fluid
.span9
{
width
:
74.35897435897436%
;
*
width
:
74.30578286961266%
}
.row-fluid
.span8
{
width
:
65.81196581196582%
;
*
width
:
65.75877432260411%
}
.row-fluid
.span7
{
width
:
57.26495726495726%
;
*
width
:
57.21176577559556%
}
.row-fluid
.span6
{
width
:
48.717948717948715%
;
*
width
:
48.664757228587014%
}
.row-fluid
.span5
{
width
:
40.17094017094017%
;
*
width
:
40.11774868157847%
}
.row-fluid
.span4
{
width
:
31.623931623931625%
;
*
width
:
31.570740134569924%
}
.row-fluid
.span3
{
width
:
23.076923076923077%
;
*
width
:
23.023731587561375%
}
.row-fluid
.span2
{
width
:
14.52991452991453%
;
*
width
:
14.476723040552828%
}
.row-fluid
.span1
{
width
:
5.982905982905983%
;
*
width
:
5.929714493544281%
}
.row-fluid
.offset12
{
margin-left
:
105.12820512820512%
;
*
margin-left
:
105.02182214948171%
}
.row-fluid
.offset12
:first-child
{
margin-left
:
102.56410256410257%
;
*
margin-left
:
102.45771958537915%
}
.row-fluid
.offset11
{
margin-left
:
96.58119658119658%
;
*
margin-left
:
96.47481360247316%
}
.row-fluid
.offset11
:first-child
{
margin-left
:
94.01709401709402%
;
*
margin-left
:
93.91071103837061%
}
.row-fluid
.offset10
{
margin-left
:
88.03418803418803%
;
*
margin-left
:
87.92780505546462%
}
.row-fluid
.offset10
:first-child
{
margin-left
:
85.47008547008548%
;
*
margin-left
:
85.36370249136206%
}
.row-fluid
.offset9
{
margin-left
:
79.48717948717949%
;
*
margin-left
:
79.38079650845607%
}
.row-fluid
.offset9
:first-child
{
margin-left
:
76.92307692307693%
;
*
margin-left
:
76.81669394435352%
}
.row-fluid
.offset8
{
margin-left
:
70.94017094017094%
;
*
margin-left
:
70.83378796144753%
}
.row-fluid
.offset8
:first-child
{
margin-left
:
68.37606837606839%
;
*
margin-left
:
68.26968539734497%
}
.row-fluid
.offset7
{
margin-left
:
62.393162393162385%
;
*
margin-left
:
62.28677941443899%
}
.row-fluid
.offset7
:first-child
{
margin-left
:
59.82905982905982%
;
*
margin-left
:
59.72267685033642%
}
.row-fluid
.offset6
{
margin-left
:
53.84615384615384%
;
*
margin-left
:
53.739770867430444%
}
.row-fluid
.offset6
:first-child
{
margin-left
:
51.28205128205128%
;
*
margin-left
:
51.175668303327875%
}
.row-fluid
.offset5
{
margin-left
:
45.299145299145295%
;
*
margin-left
:
45.1927623204219%
}
.row-fluid
.offset5
:first-child
{
margin-left
:
42.73504273504273%
;
*
margin-left
:
42.62865975631933%
}
.row-fluid
.offset4
{
margin-left
:
36.75213675213675%
;
*
margin-left
:
36.645753773413354%
}
.row-fluid
.offset4
:first-child
{
margin-left
:
34.18803418803419%
;
*
margin-left
:
34.081651209310785%
}
.row-fluid
.offset3
{
margin-left
:
28.205128205128204%
;
*
margin-left
:
28.0987452264048%
}
.row-fluid
.offset3
:first-child
{
margin-left
:
25.641025641025642%
;
*
margin-left
:
25.53464266230224%
}
.row-fluid
.offset2
{
margin-left
:
19.65811965811966%
;
*
margin-left
:
19.551736679396257%
}
.row-fluid
.offset2
:first-child
{
margin-left
:
17.094017094017094%
;
*
margin-left
:
16.98763411529369%
}
.row-fluid
.offset1
{
margin-left
:
11.11111111111111%
;
*
margin-left
:
11.004728132387708%
}
.row-fluid
.offset1
:first-child
{
margin-left
:
8.547008547008547%
;
*
margin-left
:
8.440625568285142%
}
input
,
textarea
,
.uneditable-input
{
margin-left
:
0
}
.controls-row
[
class
*=
"span"
]+[
class
*=
"span"
]
{
margin-left
:
30px
}
input
.span12
,
textarea
.span12
,
.uneditable-input.span12
{
width
:
1156px
}
input
.span11
,
textarea
.span11
,
.uneditable-input.span11
{
width
:
1056px
}
input
.span10
,
textarea
.span10
,
.uneditable-input.span10
{
width
:
956px
}
input
.span9
,
textarea
.span9
,
.uneditable-input.span9
{
width
:
856px
}
input
.span8
,
textarea
.span8
,
.uneditable-input.span8
{
width
:
756px
}
input
.span7
,
textarea
.span7
,
.uneditable-input.span7
{
width
:
656px
}
input
.span6
,
textarea
.span6
,
.uneditable-input.span6
{
width
:
556px
}
input
.span5
,
textarea
.span5
,
.uneditable-input.span5
{
width
:
456px
}
input
.span4
,
textarea
.span4
,
.uneditable-input.span4
{
width
:
356px
}
input
.span3
,
textarea
.span3
,
.uneditable-input.span3
{
width
:
256px
}
input
.span2
,
textarea
.span2
,
.uneditable-input.span2
{
width
:
156px
}
input
.span1
,
textarea
.span1
,
.uneditable-input.span1
{
width
:
56px
}
.thumbnails
{
margin-left
:
-30px
}
.thumbnails
>
li
{
margin-left
:
30px
}
.row-fluid
.thumbnails
{
margin-left
:
0
}}
@media
(
min-width
:
768px
)
and
(
max-width
:
979px
){
.row
{
margin-left
:
-20px
;
*
zoom
:
1
}
.row
:before
,
.row
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.row
:after
{
clear
:
both
}
[
class
*=
"span"
]
{
float
:
left
;
margin-left
:
20px
}
.container
,
.navbar-static-top
.container
,
.navbar-fixed-top
.container
,
.navbar-fixed-bottom
.container
{
width
:
724px
}
.span12
{
width
:
724px
}
.span11
{
width
:
662px
}
.span10
{
width
:
600px
}
.span9
{
width
:
538px
}
.span8
{
width
:
476px
}
.span7
{
width
:
414px
}
.span6
{
width
:
352px
}
.span5
{
width
:
290px
}
.span4
{
width
:
228px
}
.span3
{
width
:
166px
}
.span2
{
width
:
104px
}
.span1
{
width
:
42px
}
.offset12
{
margin-left
:
764px
}
.offset11
{
margin-left
:
702px
}
.offset10
{
margin-left
:
640px
}
.offset9
{
margin-left
:
578px
}
.offset8
{
margin-left
:
516px
}
.offset7
{
margin-left
:
454px
}
.offset6
{
margin-left
:
392px
}
.offset5
{
margin-left
:
330px
}
.offset4
{
margin-left
:
268px
}
.offset3
{
margin-left
:
206px
}
.offset2
{
margin-left
:
144px
}
.offset1
{
margin-left
:
82px
}
.row-fluid
{
width
:
100%
;
*
zoom
:
1
}
.row-fluid
:before
,
.row-fluid
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.row-fluid
:after
{
clear
:
both
}
.row-fluid
[
class
*=
"span"
]
{
display
:
block
;
float
:
left
;
width
:
100%
;
min-height
:
30px
;
margin-left
:
2.7624309392265194%
;
*
margin-left
:
2.709239449864817%
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.row-fluid
[
class
*=
"span"
]
:first-child
{
margin-left
:
0
}
.row-fluid
.span12
{
width
:
100%
;
*
width
:
99.94680851063829%
}
.row-fluid
.span11
{
width
:
91.43646408839778%
;
*
width
:
91.38327259903608%
}
.row-fluid
.span10
{
width
:
82.87292817679558%
;
*
width
:
82.81973668743387%
}
.row-fluid
.span9
{
width
:
74.30939226519337%
;
*
width
:
74.25620077583166%
}
.row-fluid
.span8
{
width
:
65.74585635359117%
;
*
width
:
65.69266486422946%
}
.row-fluid
.span7
{
width
:
57.18232044198895%
;
*
width
:
57.12912895262725%
}
.row-fluid
.span6
{
width
:
48.61878453038674%
;
*
width
:
48.56559304102504%
}
.row-fluid
.span5
{
width
:
40.05524861878453%
;
*
width
:
40.00205712942283%
}
.row-fluid
.span4
{
width
:
31.491712707182323%
;
*
width
:
31.43852121782062%
}
.row-fluid
.span3
{
width
:
22.92817679558011%
;
*
width
:
22.87498530621841%
}
.row-fluid
.span2
{
width
:
14.3646408839779%
;
*
width
:
14.311449394616199%
}
.row-fluid
.span1
{
width
:
5.801104972375691%
;
*
width
:
5.747913483013988%
}
.row-fluid
.offset12
{
margin-left
:
105.52486187845304%
;
*
margin-left
:
105.41847889972962%
}
.row-fluid
.offset12
:first-child
{
margin-left
:
102.76243093922652%
;
*
margin-left
:
102.6560479605031%
}
.row-fluid
.offset11
{
margin-left
:
96.96132596685082%
;
*
margin-left
:
96.8549429881274%
}
.row-fluid
.offset11
:first-child
{
margin-left
:
94.1988950276243%
;
*
margin-left
:
94.09251204890089%
}
.row-fluid
.offset10
{
margin-left
:
88.39779005524862%
;
*
margin-left
:
88.2914070765252%
}
.row-fluid
.offset10
:first-child
{
margin-left
:
85.6353591160221%
;
*
margin-left
:
85.52897613729868%
}
.row-fluid
.offset9
{
margin-left
:
79.8342541436464%
;
*
margin-left
:
79.72787116492299%
}
.row-fluid
.offset9
:first-child
{
margin-left
:
77.07182320441989%
;
*
margin-left
:
76.96544022569647%
}
.row-fluid
.offset8
{
margin-left
:
71.2707182320442%
;
*
margin-left
:
71.16433525332079%
}
.row-fluid
.offset8
:first-child
{
margin-left
:
68.50828729281768%
;
*
margin-left
:
68.40190431409427%
}
.row-fluid
.offset7
{
margin-left
:
62.70718232044199%
;
*
margin-left
:
62.600799341718584%
}
.row-fluid
.offset7
:first-child
{
margin-left
:
59.94475138121547%
;
*
margin-left
:
59.838368402492065%
}
.row-fluid
.offset6
{
margin-left
:
54.14364640883978%
;
*
margin-left
:
54.037263430116376%
}
.row-fluid
.offset6
:first-child
{
margin-left
:
51.38121546961326%
;
*
margin-left
:
51.27483249088986%
}
.row-fluid
.offset5
{
margin-left
:
45.58011049723757%
;
*
margin-left
:
45.47372751851417%
}
.row-fluid
.offset5
:first-child
{
margin-left
:
42.81767955801105%
;
*
margin-left
:
42.71129657928765%
}
.row-fluid
.offset4
{
margin-left
:
37.01657458563536%
;
*
margin-left
:
36.91019160691196%
}
.row-fluid
.offset4
:first-child
{
margin-left
:
34.25414364640884%
;
*
margin-left
:
34.14776066768544%
}
.row-fluid
.offset3
{
margin-left
:
28.45303867403315%
;
*
margin-left
:
28.346655695309746%
}
.row-fluid
.offset3
:first-child
{
margin-left
:
25.69060773480663%
;
*
margin-left
:
25.584224756083227%
}
.row-fluid
.offset2
{
margin-left
:
19.88950276243094%
;
*
margin-left
:
19.783119783707537%
}
.row-fluid
.offset2
:first-child
{
margin-left
:
17.12707182320442%
;
*
margin-left
:
17.02068884448102%
}
.row-fluid
.offset1
{
margin-left
:
11.32596685082873%
;
*
margin-left
:
11.219583872105325%
}
.row-fluid
.offset1
:first-child
{
margin-left
:
8.56353591160221%
;
*
margin-left
:
8.457152932878806%
}
input
,
textarea
,
.uneditable-input
{
margin-left
:
0
}
.controls-row
[
class
*=
"span"
]+[
class
*=
"span"
]
{
margin-left
:
20px
}
input
.span12
,
textarea
.span12
,
.uneditable-input.span12
{
width
:
710px
}
input
.span11
,
textarea
.span11
,
.uneditable-input.span11
{
width
:
648px
}
input
.span10
,
textarea
.span10
,
.uneditable-input.span10
{
width
:
586px
}
input
.span9
,
textarea
.span9
,
.uneditable-input.span9
{
width
:
524px
}
input
.span8
,
textarea
.span8
,
.uneditable-input.span8
{
width
:
462px
}
input
.span7
,
textarea
.span7
,
.uneditable-input.span7
{
width
:
400px
}
input
.span6
,
textarea
.span6
,
.uneditable-input.span6
{
width
:
338px
}
input
.span5
,
textarea
.span5
,
.uneditable-input.span5
{
width
:
276px
}
input
.span4
,
textarea
.span4
,
.uneditable-input.span4
{
width
:
214px
}
input
.span3
,
textarea
.span3
,
.uneditable-input.span3
{
width
:
152px
}
input
.span2
,
textarea
.span2
,
.uneditable-input.span2
{
width
:
90px
}
input
.span1
,
textarea
.span1
,
.uneditable-input.span1
{
width
:
28px
}}
@media
(
max-width
:
767px
){
body
{
padding-right
:
20px
;
padding-left
:
20px
}
.navbar-fixed-top
,
.navbar-fixed-bottom
{
margin-right
:
-20px
;
margin-left
:
-20px
}
.container-fluid
{
padding
:
0
}
.dl-horizontal
dt
{
float
:
none
;
width
:
auto
;
clear
:
none
;
text-align
:
left
}
.dl-horizontal
dd
{
margin-left
:
0
}
.container
{
width
:
auto
}
.row-fluid
{
width
:
100%
}
.row
,
.thumbnails
{
margin-left
:
0
}
.thumbnails
>
li
{
float
:
none
;
margin-left
:
0
}
[
class
*=
"span"
],
.row-fluid
[
class
*=
"span"
]
{
display
:
block
;
float
:
none
;
width
:
auto
;
margin-left
:
0
}
.span12
,
.row-fluid
.span12
{
width
:
100%
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.input-large
,
.input-xlarge
,
.input-xxlarge
,
input
[
class
*=
"span"
],
select
[
class
*=
"span"
],
textarea
[
class
*=
"span"
],
.uneditable-input
{
display
:
block
;
width
:
100%
;
min-height
:
30px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.input-prepend
input
,
.input-append
input
,
.input-prepend
input
[
class
*=
"span"
],
.input-append
input
[
class
*=
"span"
]
{
display
:
inline-block
;
width
:
auto
}
.modal
{
position
:
fixed
;
top
:
20px
;
right
:
20px
;
left
:
20px
;
width
:
auto
;
margin
:
0
}
.modal.fade.in
{
top
:
auto
}}
@media
(
max-width
:
480px
){
.nav-collapse
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
)}
.page-header
h1
small
{
display
:
block
;
line-height
:
20px
}
input
[
type
=
"checkbox"
],
input
[
type
=
"radio"
]
{
border
:
1px
solid
#ccc
}
.form-horizontal
.control-group
>
label
{
float
:
none
;
width
:
auto
;
padding-top
:
0
;
text-align
:
left
}
.form-horizontal
.controls
{
margin-left
:
0
}
.form-horizontal
.control-list
{
padding-top
:
0
}
.form-horizontal
.form-actions
{
padding-right
:
10px
;
padding-left
:
10px
}
.modal
{
top
:
10px
;
right
:
10px
;
left
:
10px
}
.modal-header
.close
{
padding
:
10px
;
margin
:
-10px
}
.carousel-caption
{
position
:
static
}}
@media
(
max-width
:
979px
){
body
{
padding-top
:
0
}
.navbar-fixed-top
,
.navbar-fixed-bottom
{
position
:
static
}
.navbar-fixed-top
{
margin-bottom
:
20px
}
.navbar-fixed-bottom
{
margin-top
:
20px
}
.navbar-fixed-top
.navbar-inner
,
.navbar-fixed-bottom
.navbar-inner
{
padding
:
5px
}
.navbar
.container
{
width
:
auto
;
padding
:
0
}
.navbar
.brand
{
padding-right
:
10px
;
padding-left
:
10px
;
margin
:
0
0
0
-5px
}
.nav-collapse
{
clear
:
both
}
.nav-collapse
.nav
{
float
:
none
;
margin
:
0
0
10px
}
.nav-collapse
.nav
>
li
{
float
:
none
}
.nav-collapse
.nav
>
li
>
a
{
margin-bottom
:
2px
}
.nav-collapse
.nav
>
.divider-vertical
{
display
:
none
}
.nav-collapse
.nav
.nav-header
{
color
:
#555
;
text-shadow
:
none
}
.nav-collapse
.nav
>
li
>
a
,
.nav-collapse
.dropdown-menu
a
{
padding
:
9px
15px
;
font-weight
:
bold
;
color
:
#555
;
-webkit-border-radius
:
3px
;
-moz-border-radius
:
3px
;
border-radius
:
3px
}
.nav-collapse
.btn
{
padding
:
4px
10px
4px
;
font-weight
:
normal
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
}
.nav-collapse
.dropdown-menu
li
+
li
a
{
margin-bottom
:
2px
}
.nav-collapse
.nav
>
li
>
a
:hover
,
.nav-collapse
.dropdown-menu
a
:hover
{
background-color
:
#f2f2f2
}
.navbar-inverse
.nav-collapse
.nav
>
li
>
a
:hover
,
.navbar-inverse
.nav-collapse
.dropdown-menu
a
:hover
{
background-color
:
#111
}
.nav-collapse.in
.btn-group
{
padding
:
0
;
margin-top
:
5px
}
.nav-collapse
.dropdown-menu
{
position
:
static
;
top
:
auto
;
left
:
auto
;
display
:
block
;
float
:
none
;
max-width
:
none
;
padding
:
0
;
margin
:
0
15px
;
background-color
:
transparent
;
border
:
0
;
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
;
-webkit-box-shadow
:
none
;
-moz-box-shadow
:
none
;
box-shadow
:
none
}
.nav-collapse
.dropdown-menu
:before
,
.nav-collapse
.dropdown-menu
:after
{
display
:
none
}
.nav-collapse
.dropdown-menu
.divider
{
display
:
none
}
.nav-collapse
.navbar-form
,
.nav-collapse
.navbar-search
{
float
:
none
;
padding
:
10px
15px
;
margin
:
10px
0
;
border-top
:
1px
solid
#f2f2f2
;
border-bottom
:
1px
solid
#f2f2f2
;
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.1
);
-moz-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
)}
.navbar
.nav-collapse
.nav.pull-right
{
float
:
none
;
margin-left
:
0
}
.nav-collapse
,
.nav-collapse.collapse
{
height
:
0
;
overflow
:
hidden
}
.navbar
.btn-navbar
{
display
:
block
}
.navbar-static
.navbar-inner
{
padding-right
:
10px
;
padding-left
:
10px
}}
@media
(
min-width
:
980px
){
.nav-collapse.collapse
{
height
:
auto
!important
;
overflow
:
visible
!important
}}
third_party/parallel-hashmap/css/bootstrap.min.css
0 → 100644
View file @
2951b12d
/*!
* Bootstrap v2.1.0
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat.
* Augmented by Eric Kryski @ekryski
*/
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
nav
,
section
{
display
:
block
}
audio
,
canvas
,
video
{
display
:
inline-block
;
*
display
:
inline
;
*
zoom
:
1
}
audio
:not
([
controls
])
{
display
:
none
}
html
{
font-size
:
100%
;
-webkit-text-size-adjust
:
100%
;
-ms-text-size-adjust
:
100%
}
a
:focus
{
outline
:
thin
dotted
#333
;
outline
:
5px
auto
-webkit-focus-ring-color
;
outline-offset
:
-2px
}
a
:hover
,
a
:active
{
outline
:
0
}
sub
,
sup
{
position
:
relative
;
font-size
:
75%
;
line-height
:
0
;
vertical-align
:
baseline
}
sup
{
top
:
-0.5em
}
sub
{
bottom
:
-0.25em
}
img
{
height
:
auto
;
max-width
:
100%
;
vertical-align
:
middle
;
border
:
0
;
-ms-interpolation-mode
:
bicubic
}
#map-canvas
img
{
max-width
:
none
}
button
,
input
,
select
,
textarea
{
margin
:
0
;
font-size
:
100%
;
vertical-align
:
middle
}
button
,
input
{
*
overflow
:
visible
;
line-height
:
normal
}
button
::-moz-focus-inner
,
input
::-moz-focus-inner
{
padding
:
0
;
border
:
0
}
button
,
input
[
type
=
"button"
],
input
[
type
=
"reset"
],
input
[
type
=
"submit"
]
{
cursor
:
pointer
;
-webkit-appearance
:
button
}
input
[
type
=
"search"
]
{
-webkit-box-sizing
:
content-box
;
-moz-box-sizing
:
content-box
;
box-sizing
:
content-box
;
-webkit-appearance
:
textfield
}
input
[
type
=
"search"
]
::-webkit-search-decoration
,
input
[
type
=
"search"
]
::-webkit-search-cancel-button
{
-webkit-appearance
:
none
}
textarea
{
overflow
:
auto
;
vertical-align
:
top
}
.clearfix
{
*
zoom
:
1
}
.clearfix
:before
,
.clearfix
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.clearfix
:after
{
clear
:
both
}
.hide-text
{
font
:
0
/
0
a
;
color
:
transparent
;
text-shadow
:
none
;
background-color
:
transparent
;
border
:
0
}
.input-block-level
{
display
:
block
;
width
:
100%
;
min-height
:
30px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
body
{
margin
:
0
;
font-family
:
"Helvetica Neue"
,
Helvetica
,
Arial
,
sans-serif
;
font-size
:
14px
;
line-height
:
20px
;
color
:
#333
;
background-color
:
#fff
}
a
{
color
:
#08c
;
text-decoration
:
none
}
a
:hover
{
color
:
#005580
;
text-decoration
:
underline
}
.img-rounded
{
-webkit-border-radius
:
6px
;
-moz-border-radius
:
6px
;
border-radius
:
6px
}
.img-polaroid
{
padding
:
4px
;
background-color
:
#fff
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.2
);
-webkit-box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.1
);
-moz-box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.1
);
box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.1
)}
.img-circle
{
-webkit-border-radius
:
500px
;
-moz-border-radius
:
500px
;
border-radius
:
500px
}
.row
{
margin-left
:
-20px
;
*
zoom
:
1
}
.row
:before
,
.row
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.row
:after
{
clear
:
both
}
[
class
*=
"span"
]
{
float
:
left
;
margin-left
:
20px
}
.container
,
.navbar-static-top
.container
,
.navbar-fixed-top
.container
,
.navbar-fixed-bottom
.container
{
width
:
940px
}
.span12
{
width
:
940px
}
.span11
{
width
:
860px
}
.span10
{
width
:
780px
}
.span9
{
width
:
700px
}
.span8
{
width
:
620px
}
.span7
{
width
:
540px
}
.span6
{
width
:
460px
}
.span5
{
width
:
380px
}
.span4
{
width
:
300px
}
.span3
{
width
:
220px
}
.span2
{
width
:
140px
}
.span1
{
width
:
60px
}
.offset12
{
margin-left
:
980px
}
.offset11
{
margin-left
:
900px
}
.offset10
{
margin-left
:
820px
}
.offset9
{
margin-left
:
740px
}
.offset8
{
margin-left
:
660px
}
.offset7
{
margin-left
:
580px
}
.offset6
{
margin-left
:
500px
}
.offset5
{
margin-left
:
420px
}
.offset4
{
margin-left
:
340px
}
.offset3
{
margin-left
:
260px
}
.offset2
{
margin-left
:
180px
}
.offset1
{
margin-left
:
100px
}
.row-fluid
{
width
:
100%
;
*
zoom
:
1
}
.row-fluid
:before
,
.row-fluid
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.row-fluid
:after
{
clear
:
both
}
.row-fluid
[
class
*=
"span"
]
{
display
:
block
;
float
:
left
;
width
:
100%
;
min-height
:
30px
;
margin-left
:
2.127659574468085%
;
*
margin-left
:
2.074468085106383%
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.row-fluid
[
class
*=
"span"
]
:first-child
{
margin-left
:
0
}
.row-fluid
.span12
{
width
:
100%
;
*
width
:
99.94680851063829%
}
.row-fluid
.span11
{
width
:
91.48936170212765%
;
*
width
:
91.43617021276594%
}
.row-fluid
.span10
{
width
:
82.97872340425532%
;
*
width
:
82.92553191489361%
}
.row-fluid
.span9
{
width
:
74.46808510638297%
;
*
width
:
74.41489361702126%
}
.row-fluid
.span8
{
width
:
65.95744680851064%
;
*
width
:
65.90425531914893%
}
.row-fluid
.span7
{
width
:
57.44680851063829%
;
*
width
:
57.39361702127659%
}
.row-fluid
.span6
{
width
:
48.93617021276595%
;
*
width
:
48.88297872340425%
}
.row-fluid
.span5
{
width
:
40.42553191489362%
;
*
width
:
40.37234042553192%
}
.row-fluid
.span4
{
width
:
31.914893617021278%
;
*
width
:
31.861702127659576%
}
.row-fluid
.span3
{
width
:
23.404255319148934%
;
*
width
:
23.351063829787233%
}
.row-fluid
.span2
{
width
:
14.893617021276595%
;
*
width
:
14.840425531914894%
}
.row-fluid
.span1
{
width
:
6.382978723404255%
;
*
width
:
6.329787234042553%
}
.row-fluid
.offset12
{
margin-left
:
104.25531914893617%
;
*
margin-left
:
104.14893617021275%
}
.row-fluid
.offset12
:first-child
{
margin-left
:
102.12765957446808%
;
*
margin-left
:
102.02127659574467%
}
.row-fluid
.offset11
{
margin-left
:
95.74468085106382%
;
*
margin-left
:
95.6382978723404%
}
.row-fluid
.offset11
:first-child
{
margin-left
:
93.61702127659574%
;
*
margin-left
:
93.51063829787232%
}
.row-fluid
.offset10
{
margin-left
:
87.23404255319149%
;
*
margin-left
:
87.12765957446807%
}
.row-fluid
.offset10
:first-child
{
margin-left
:
85.1063829787234%
;
*
margin-left
:
84.99999999999999%
}
.row-fluid
.offset9
{
margin-left
:
78.72340425531914%
;
*
margin-left
:
78.61702127659572%
}
.row-fluid
.offset9
:first-child
{
margin-left
:
76.59574468085106%
;
*
margin-left
:
76.48936170212764%
}
.row-fluid
.offset8
{
margin-left
:
70.2127659574468%
;
*
margin-left
:
70.10638297872339%
}
.row-fluid
.offset8
:first-child
{
margin-left
:
68.08510638297872%
;
*
margin-left
:
67.9787234042553%
}
.row-fluid
.offset7
{
margin-left
:
61.70212765957446%
;
*
margin-left
:
61.59574468085106%
}
.row-fluid
.offset7
:first-child
{
margin-left
:
59.574468085106375%
;
*
margin-left
:
59.46808510638297%
}
.row-fluid
.offset6
{
margin-left
:
53.191489361702125%
;
*
margin-left
:
53.085106382978715%
}
.row-fluid
.offset6
:first-child
{
margin-left
:
51.063829787234035%
;
*
margin-left
:
50.95744680851063%
}
.row-fluid
.offset5
{
margin-left
:
44.68085106382979%
;
*
margin-left
:
44.57446808510638%
}
.row-fluid
.offset5
:first-child
{
margin-left
:
42.5531914893617%
;
*
margin-left
:
42.4468085106383%
}
.row-fluid
.offset4
{
margin-left
:
36.170212765957444%
;
*
margin-left
:
36.06382978723405%
}
.row-fluid
.offset4
:first-child
{
margin-left
:
34.04255319148936%
;
*
margin-left
:
33.93617021276596%
}
.row-fluid
.offset3
{
margin-left
:
27.659574468085104%
;
*
margin-left
:
27.5531914893617%
}
.row-fluid
.offset3
:first-child
{
margin-left
:
25.53191489361702%
;
*
margin-left
:
25.425531914893618%
}
.row-fluid
.offset2
{
margin-left
:
19.148936170212764%
;
*
margin-left
:
19.04255319148936%
}
.row-fluid
.offset2
:first-child
{
margin-left
:
17.02127659574468%
;
*
margin-left
:
16.914893617021278%
}
.row-fluid
.offset1
{
margin-left
:
10.638297872340425%
;
*
margin-left
:
10.53191489361702%
}
.row-fluid
.offset1
:first-child
{
margin-left
:
8.51063829787234%
;
*
margin-left
:
8.404255319148938%
}
[
class
*=
"span"
]
.hide
,
.row-fluid
[
class
*=
"span"
]
.hide
{
display
:
none
}
[
class
*=
"span"
]
.pull-right
,
.row-fluid
[
class
*=
"span"
]
.pull-right
{
float
:
right
}
.container
{
margin-right
:
auto
;
margin-left
:
auto
;
*
zoom
:
1
}
.container
:before
,
.container
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.container
:after
{
clear
:
both
}
.container-fluid
{
padding-right
:
20px
;
padding-left
:
20px
;
*
zoom
:
1
}
.container-fluid
:before
,
.container-fluid
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.container-fluid
:after
{
clear
:
both
}
p
{
margin
:
0
0
10px
}
.lead
{
margin-bottom
:
20px
;
font-size
:
20px
;
font-weight
:
200
;
line-height
:
30px
}
small
{
font-size
:
85%
}
strong
{
font-weight
:
bold
}
em
{
font-style
:
italic
}
cite
{
font-style
:
normal
}
.muted
{
color
:
#999
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
margin
:
10px
0
;
font-family
:
inherit
;
font-weight
:
bold
;
line-height
:
1
;
color
:
inherit
;
text-rendering
:
optimizelegibility
}
h1
small
,
h2
small
,
h3
small
,
h4
small
,
h5
small
,
h6
small
{
font-weight
:
normal
;
line-height
:
1
;
color
:
#999
}
h1
{
font-size
:
36px
;
line-height
:
40px
}
h2
{
font-size
:
30px
;
line-height
:
40px
}
h3
{
font-size
:
24px
;
line-height
:
40px
}
h4
{
font-size
:
18px
;
line-height
:
20px
}
h5
{
font-size
:
14px
;
line-height
:
20px
}
h6
{
font-size
:
12px
;
line-height
:
20px
}
h1
small
{
font-size
:
24px
}
h2
small
{
font-size
:
18px
}
h3
small
{
font-size
:
14px
}
h4
small
{
font-size
:
14px
}
.page-header
{
padding-bottom
:
9px
;
margin
:
20px
0
30px
;
border-bottom
:
1px
solid
#eee
}
ul
,
ol
{
padding
:
0
;
margin
:
0
0
10px
25px
}
ul
ul
,
ul
ol
,
ol
ol
,
ol
ul
{
margin-bottom
:
0
}
li
{
line-height
:
20px
}
ul
.unstyled
,
ol
.unstyled
{
margin-left
:
0
;
list-style
:
none
}
dl
{
margin-bottom
:
20px
}
dt
,
dd
{
line-height
:
20px
}
dt
{
font-weight
:
bold
}
dd
{
margin-left
:
10px
}
.dl-horizontal
dt
{
float
:
left
;
width
:
120px
;
overflow
:
hidden
;
clear
:
left
;
text-align
:
right
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
}
.dl-horizontal
dd
{
margin-left
:
130px
}
hr
{
margin
:
20px
0
;
border
:
0
;
border-top
:
1px
solid
#eee
;
border-bottom
:
1px
solid
#fff
}
abbr
[
title
]
{
cursor
:
help
;
border-bottom
:
1px
dotted
#999
}
abbr
.initialism
{
font-size
:
90%
;
text-transform
:
uppercase
}
blockquote
{
padding
:
0
0
0
15px
;
margin
:
0
0
20px
;
border-left
:
5px
solid
#eee
}
blockquote
p
{
margin-bottom
:
0
;
font-size
:
16px
;
font-weight
:
300
;
line-height
:
25px
}
blockquote
small
{
display
:
block
;
line-height
:
20px
;
color
:
#999
}
blockquote
small
:before
{
content
:
'\2014 \00A0'
}
blockquote
.pull-right
{
float
:
right
;
padding-right
:
15px
;
padding-left
:
0
;
border-right
:
5px
solid
#eee
;
border-left
:
0
}
blockquote
.pull-right
p
,
blockquote
.pull-right
small
{
text-align
:
right
}
blockquote
.pull-right
small
:before
{
content
:
''
}
blockquote
.pull-right
small
:after
{
content
:
'\00A0 \2014'
}
q
:before
,
q
:after
,
blockquote
:before
,
blockquote
:after
{
content
:
""
}
address
{
display
:
block
;
margin-bottom
:
20px
;
font-style
:
normal
;
line-height
:
20px
}
code
,
pre
{
padding
:
0
3px
2px
;
font-family
:
Monaco
,
Menlo
,
Consolas
,
"Courier New"
,
monospace
;
font-size
:
12px
;
color
:
#333
;
-webkit-border-radius
:
3px
;
-moz-border-radius
:
3px
;
border-radius
:
3px
}
code
{
padding
:
2px
4px
;
color
:
#d14
;
background-color
:
#f7f7f9
;
border
:
1px
solid
#e1e1e8
}
pre
{
display
:
block
;
padding
:
9.5px
;
margin
:
0
0
10px
;
font-size
:
13px
;
line-height
:
20px
;
word-break
:
break-all
;
word-wrap
:
break-word
;
white-space
:
pre
;
white-space
:
pre-wrap
;
background-color
:
#f5f5f5
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.15
);
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
}
pre
.prettyprint
{
margin-bottom
:
20px
}
pre
code
{
padding
:
0
;
color
:
inherit
;
background-color
:
transparent
;
border
:
0
}
.pre-scrollable
{
max-height
:
340px
;
overflow-y
:
scroll
}
form
{
margin
:
0
0
20px
}
fieldset
{
padding
:
0
;
margin
:
0
;
border
:
0
}
legend
{
display
:
block
;
width
:
100%
;
padding
:
0
;
margin-bottom
:
20px
;
font-size
:
21px
;
line-height
:
40px
;
color
:
#333
;
border
:
0
;
border-bottom
:
1px
solid
#e5e5e5
}
legend
small
{
font-size
:
15px
;
color
:
#999
}
label
,
input
,
button
,
select
,
textarea
{
font-size
:
14px
;
font-weight
:
normal
;
line-height
:
20px
}
input
,
button
,
select
,
textarea
{
font-family
:
"Helvetica Neue"
,
Helvetica
,
Arial
,
sans-serif
}
label
{
display
:
block
;
margin-bottom
:
5px
}
select
,
textarea
,
input
[
type
=
"text"
],
input
[
type
=
"password"
],
input
[
type
=
"datetime"
],
input
[
type
=
"datetime-local"
],
input
[
type
=
"date"
],
input
[
type
=
"month"
],
input
[
type
=
"time"
],
input
[
type
=
"week"
],
input
[
type
=
"number"
],
input
[
type
=
"email"
],
input
[
type
=
"url"
],
input
[
type
=
"search"
],
input
[
type
=
"tel"
],
input
[
type
=
"color"
],
.uneditable-input
{
display
:
inline-block
;
height
:
20px
;
padding
:
4px
6px
;
margin-bottom
:
9px
;
font-size
:
14px
;
line-height
:
20px
;
color
:
#555
;
-webkit-border-radius
:
3px
;
-moz-border-radius
:
3px
;
border-radius
:
3px
}
input
,
textarea
{
width
:
210px
}
textarea
{
height
:
auto
}
textarea
,
input
[
type
=
"text"
],
input
[
type
=
"password"
],
input
[
type
=
"datetime"
],
input
[
type
=
"datetime-local"
],
input
[
type
=
"date"
],
input
[
type
=
"month"
],
input
[
type
=
"time"
],
input
[
type
=
"week"
],
input
[
type
=
"number"
],
input
[
type
=
"email"
],
input
[
type
=
"url"
],
input
[
type
=
"search"
],
input
[
type
=
"tel"
],
input
[
type
=
"color"
],
.uneditable-input
{
background-color
:
#fff
;
border
:
1px
solid
#ccc
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-webkit-transition
:
border
linear
.2s
,
box-shadow
linear
.2s
;
-moz-transition
:
border
linear
.2s
,
box-shadow
linear
.2s
;
-o-transition
:
border
linear
.2s
,
box-shadow
linear
.2s
;
transition
:
border
linear
.2s
,
box-shadow
linear
.2s
}
textarea
:focus
,
input
[
type
=
"text"
]
:focus
,
input
[
type
=
"password"
]
:focus
,
input
[
type
=
"datetime"
]
:focus
,
input
[
type
=
"datetime-local"
]
:focus
,
input
[
type
=
"date"
]
:focus
,
input
[
type
=
"month"
]
:focus
,
input
[
type
=
"time"
]
:focus
,
input
[
type
=
"week"
]
:focus
,
input
[
type
=
"number"
]
:focus
,
input
[
type
=
"email"
]
:focus
,
input
[
type
=
"url"
]
:focus
,
input
[
type
=
"search"
]
:focus
,
input
[
type
=
"tel"
]
:focus
,
input
[
type
=
"color"
]
:focus
,
.uneditable-input
:focus
{
border-color
:
rgba
(
82
,
168
,
236
,
0.8
);
outline
:
0
;
outline
:
thin
dotted
\
9
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
0.6
);
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
0.6
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
8px
rgba
(
82
,
168
,
236
,
0.6
)}
input
[
type
=
"radio"
],
input
[
type
=
"checkbox"
]
{
margin
:
4px
0
0
;
margin-top
:
1px
\
9
;
*
margin-top
:
0
;
line-height
:
normal
;
cursor
:
pointer
}
input
[
type
=
"file"
],
input
[
type
=
"image"
],
input
[
type
=
"submit"
],
input
[
type
=
"reset"
],
input
[
type
=
"button"
],
input
[
type
=
"radio"
],
input
[
type
=
"checkbox"
]
{
width
:
auto
}
select
,
input
[
type
=
"file"
]
{
height
:
30px
;
*
margin-top
:
4px
;
line-height
:
30px
}
select
{
width
:
220px
;
background-color
:
#fff
;
border
:
1px
solid
#bbb
}
select
[
multiple
],
select
[
size
]
{
height
:
auto
}
select
:focus
,
input
[
type
=
"file"
]
:focus
,
input
[
type
=
"radio"
]
:focus
,
input
[
type
=
"checkbox"
]
:focus
{
outline
:
thin
dotted
#333
;
outline
:
5px
auto
-webkit-focus-ring-color
;
outline-offset
:
-2px
}
.uneditable-input
,
.uneditable-textarea
{
color
:
#999
;
cursor
:
not-allowed
;
background-color
:
#fcfcfc
;
border-color
:
#ccc
;
-webkit-box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.025
);
-moz-box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.025
);
box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.025
)}
.uneditable-input
{
overflow
:
hidden
;
white-space
:
nowrap
}
.uneditable-textarea
{
width
:
auto
;
height
:
auto
}
input
:-moz-placeholder
,
textarea
:-moz-placeholder
{
color
:
#999
}
input
:-ms-input-placeholder
,
textarea
:-ms-input-placeholder
{
color
:
#999
}
input
::-webkit-input-placeholder
,
textarea
::-webkit-input-placeholder
{
color
:
#999
}
.radio
,
.checkbox
{
min-height
:
18px
;
padding-left
:
18px
}
.radio
input
[
type
=
"radio"
],
.checkbox
input
[
type
=
"checkbox"
]
{
float
:
left
;
margin-left
:
-18px
}
.controls
>
.radio
:first-child
,
.controls
>
.checkbox
:first-child
{
padding-top
:
5px
}
.radio.inline
,
.checkbox.inline
{
display
:
inline-block
;
padding-top
:
5px
;
margin-bottom
:
0
;
vertical-align
:
middle
}
.radio.inline
+
.radio.inline
,
.checkbox.inline
+
.checkbox.inline
{
margin-left
:
10px
}
.input-mini
{
width
:
60px
}
.input-small
{
width
:
90px
}
.input-medium
{
width
:
150px
}
.input-large
{
width
:
210px
}
.input-xlarge
{
width
:
270px
}
.input-xxlarge
{
width
:
530px
}
input
[
class
*=
"span"
],
select
[
class
*=
"span"
],
textarea
[
class
*=
"span"
],
.uneditable-input
[
class
*=
"span"
],
.row-fluid
input
[
class
*=
"span"
],
.row-fluid
select
[
class
*=
"span"
],
.row-fluid
textarea
[
class
*=
"span"
],
.row-fluid
.uneditable-input
[
class
*=
"span"
]
{
float
:
none
;
margin-left
:
0
}
.input-append
input
[
class
*=
"span"
],
.input-append
.uneditable-input
[
class
*=
"span"
],
.input-prepend
input
[
class
*=
"span"
],
.input-prepend
.uneditable-input
[
class
*=
"span"
],
.row-fluid
input
[
class
*=
"span"
],
.row-fluid
select
[
class
*=
"span"
],
.row-fluid
textarea
[
class
*=
"span"
],
.row-fluid
.uneditable-input
[
class
*=
"span"
],
.row-fluid
.input-prepend
[
class
*=
"span"
],
.row-fluid
.input-append
[
class
*=
"span"
]
{
display
:
inline-block
}
input
,
textarea
,
.uneditable-input
{
margin-left
:
0
}
.controls-row
[
class
*=
"span"
]+[
class
*=
"span"
]
{
margin-left
:
20px
}
input
.span12
,
textarea
.span12
,
.uneditable-input.span12
{
width
:
926px
}
input
.span11
,
textarea
.span11
,
.uneditable-input.span11
{
width
:
846px
}
input
.span10
,
textarea
.span10
,
.uneditable-input.span10
{
width
:
766px
}
input
.span9
,
textarea
.span9
,
.uneditable-input.span9
{
width
:
686px
}
input
.span8
,
textarea
.span8
,
.uneditable-input.span8
{
width
:
606px
}
input
.span7
,
textarea
.span7
,
.uneditable-input.span7
{
width
:
526px
}
input
.span6
,
textarea
.span6
,
.uneditable-input.span6
{
width
:
446px
}
input
.span5
,
textarea
.span5
,
.uneditable-input.span5
{
width
:
366px
}
input
.span4
,
textarea
.span4
,
.uneditable-input.span4
{
width
:
286px
}
input
.span3
,
textarea
.span3
,
.uneditable-input.span3
{
width
:
206px
}
input
.span2
,
textarea
.span2
,
.uneditable-input.span2
{
width
:
126px
}
input
.span1
,
textarea
.span1
,
.uneditable-input.span1
{
width
:
46px
}
.controls-row
{
*
zoom
:
1
}
.controls-row
:before
,
.controls-row
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.controls-row
:after
{
clear
:
both
}
.controls-row
[
class
*=
"span"
]
{
float
:
left
}
input
[
disabled
],
select
[
disabled
],
textarea
[
disabled
],
input
[
readonly
],
select
[
readonly
],
textarea
[
readonly
]
{
cursor
:
not-allowed
;
background-color
:
#eee
}
input
[
type
=
"radio"
][
disabled
],
input
[
type
=
"checkbox"
][
disabled
],
input
[
type
=
"radio"
][
readonly
],
input
[
type
=
"checkbox"
][
readonly
]
{
background-color
:
transparent
}
.control-group.warning
>
label
,
.control-group.warning
.help-block
,
.control-group.warning
.help-inline
{
color
:
#c09853
}
.control-group.warning
.checkbox
,
.control-group.warning
.radio
,
.control-group.warning
input
,
.control-group.warning
select
,
.control-group.warning
textarea
{
color
:
#c09853
;
border-color
:
#c09853
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
)}
.control-group.warning
.checkbox
:focus
,
.control-group.warning
.radio
:focus
,
.control-group.warning
input
:focus
,
.control-group.warning
select
:focus
,
.control-group.warning
textarea
:focus
{
border-color
:
#a47e3c
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#dbc59e
;
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#dbc59e
;
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#dbc59e
}
.control-group.warning
.input-prepend
.add-on
,
.control-group.warning
.input-append
.add-on
{
color
:
#c09853
;
background-color
:
#fcf8e3
;
border-color
:
#c09853
}
.control-group.error
>
label
,
.control-group.error
.help-block
,
.control-group.error
.help-inline
{
color
:
#b94a48
}
.control-group.error
.checkbox
,
.control-group.error
.radio
,
.control-group.error
input
,
.control-group.error
select
,
.control-group.error
textarea
{
color
:
#b94a48
;
border-color
:
#b94a48
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
)}
.control-group.error
.checkbox
:focus
,
.control-group.error
.radio
:focus
,
.control-group.error
input
:focus
,
.control-group.error
select
:focus
,
.control-group.error
textarea
:focus
{
border-color
:
#953b39
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#d59392
;
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#d59392
;
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#d59392
}
.control-group.error
.input-prepend
.add-on
,
.control-group.error
.input-append
.add-on
{
color
:
#b94a48
;
background-color
:
#f2dede
;
border-color
:
#b94a48
}
.control-group.success
>
label
,
.control-group.success
.help-block
,
.control-group.success
.help-inline
{
color
:
#468847
}
.control-group.success
.checkbox
,
.control-group.success
.radio
,
.control-group.success
input
,
.control-group.success
select
,
.control-group.success
textarea
{
color
:
#468847
;
border-color
:
#468847
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
)}
.control-group.success
.checkbox
:focus
,
.control-group.success
.radio
:focus
,
.control-group.success
input
:focus
,
.control-group.success
select
:focus
,
.control-group.success
textarea
:focus
{
border-color
:
#356635
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#7aba7b
;
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#7aba7b
;
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
),
0
0
6px
#7aba7b
}
.control-group.success
.input-prepend
.add-on
,
.control-group.success
.input-append
.add-on
{
color
:
#468847
;
background-color
:
#dff0d8
;
border-color
:
#468847
}
input
:focus:required:invalid
,
textarea
:focus:required:invalid
,
select
:focus:required:invalid
{
color
:
#b94a48
;
border-color
:
#ee5f5b
}
input
:focus:required:invalid:focus
,
textarea
:focus:required:invalid:focus
,
select
:focus:required:invalid:focus
{
border-color
:
#e9322d
;
-webkit-box-shadow
:
0
0
6px
#f8b9b7
;
-moz-box-shadow
:
0
0
6px
#f8b9b7
;
box-shadow
:
0
0
6px
#f8b9b7
}
.form-actions
{
padding
:
19px
20px
20px
;
margin-top
:
20px
;
margin-bottom
:
20px
;
background-color
:
#f5f5f5
;
border-top
:
1px
solid
#e5e5e5
;
*
zoom
:
1
}
.form-actions
:before
,
.form-actions
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.form-actions
:after
{
clear
:
both
}
.help-block
,
.help-inline
{
color
:
#595959
}
.help-block
{
display
:
block
;
margin-bottom
:
10px
}
.help-inline
{
display
:
inline-block
;
*
display
:
inline
;
padding-left
:
5px
;
vertical-align
:
middle
;
*
zoom
:
1
}
.input-append
,
.input-prepend
{
margin-bottom
:
5px
;
font-size
:
0
;
white-space
:
nowrap
}
.input-append
input
,
.input-prepend
input
,
.input-append
select
,
.input-prepend
select
,
.input-append
.uneditable-input
,
.input-prepend
.uneditable-input
{
position
:
relative
;
margin-bottom
:
0
;
*
margin-left
:
0
;
font-size
:
14px
;
vertical-align
:
top
;
-webkit-border-radius
:
0
3px
3px
0
;
-moz-border-radius
:
0
3px
3px
0
;
border-radius
:
0
3px
3px
0
}
.input-append
input
:focus
,
.input-prepend
input
:focus
,
.input-append
select
:focus
,
.input-prepend
select
:focus
,
.input-append
.uneditable-input
:focus
,
.input-prepend
.uneditable-input
:focus
{
z-index
:
2
}
.input-append
.add-on
,
.input-prepend
.add-on
{
display
:
inline-block
;
width
:
auto
;
height
:
20px
;
min-width
:
16px
;
padding
:
4px
5px
;
font-size
:
14px
;
font-weight
:
normal
;
line-height
:
20px
;
text-align
:
center
;
text-shadow
:
0
1px
0
#fff
;
background-color
:
#eee
;
border
:
1px
solid
#ccc
}
.input-append
.add-on
,
.input-prepend
.add-on
,
.input-append
.btn
,
.input-prepend
.btn
{
margin-left
:
-1px
;
vertical-align
:
top
;
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.input-append
.active
,
.input-prepend
.active
{
background-color
:
#a9dba9
;
border-color
:
#46a546
}
.input-prepend
.add-on
,
.input-prepend
.btn
{
margin-right
:
-1px
}
.input-prepend
.add-on
:first-child
,
.input-prepend
.btn
:first-child
{
-webkit-border-radius
:
3px
0
0
3px
;
-moz-border-radius
:
3px
0
0
3px
;
border-radius
:
3px
0
0
3px
}
.input-append
input
,
.input-append
select
,
.input-append
.uneditable-input
{
-webkit-border-radius
:
3px
0
0
3px
;
-moz-border-radius
:
3px
0
0
3px
;
border-radius
:
3px
0
0
3px
}
.input-append
.add-on
:last-child
,
.input-append
.btn
:last-child
{
-webkit-border-radius
:
0
3px
3px
0
;
-moz-border-radius
:
0
3px
3px
0
;
border-radius
:
0
3px
3px
0
}
.input-prepend.input-append
input
,
.input-prepend.input-append
select
,
.input-prepend.input-append
.uneditable-input
{
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.input-prepend.input-append
.add-on
:first-child
,
.input-prepend.input-append
.btn
:first-child
{
margin-right
:
-1px
;
-webkit-border-radius
:
3px
0
0
3px
;
-moz-border-radius
:
3px
0
0
3px
;
border-radius
:
3px
0
0
3px
}
.input-prepend.input-append
.add-on
:last-child
,
.input-prepend.input-append
.btn
:last-child
{
margin-left
:
-1px
;
-webkit-border-radius
:
0
3px
3px
0
;
-moz-border-radius
:
0
3px
3px
0
;
border-radius
:
0
3px
3px
0
}
input
.search-query
{
padding-right
:
14px
;
padding-right
:
4px
\
9
;
padding-left
:
14px
;
padding-left
:
4px
\
9
;
margin-bottom
:
0
;
-webkit-border-radius
:
15px
;
-moz-border-radius
:
15px
;
border-radius
:
15px
}
.form-search
.input-append
.search-query
,
.form-search
.input-prepend
.search-query
{
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.form-search
.input-append
.search-query
{
-webkit-border-radius
:
14px
0
0
14px
;
-moz-border-radius
:
14px
0
0
14px
;
border-radius
:
14px
0
0
14px
}
.form-search
.input-append
.btn
{
-webkit-border-radius
:
0
14px
14px
0
;
-moz-border-radius
:
0
14px
14px
0
;
border-radius
:
0
14px
14px
0
}
.form-search
.input-prepend
.search-query
{
-webkit-border-radius
:
0
14px
14px
0
;
-moz-border-radius
:
0
14px
14px
0
;
border-radius
:
0
14px
14px
0
}
.form-search
.input-prepend
.btn
{
-webkit-border-radius
:
14px
0
0
14px
;
-moz-border-radius
:
14px
0
0
14px
;
border-radius
:
14px
0
0
14px
}
.form-search
input
,
.form-inline
input
,
.form-horizontal
input
,
.form-search
textarea
,
.form-inline
textarea
,
.form-horizontal
textarea
,
.form-search
select
,
.form-inline
select
,
.form-horizontal
select
,
.form-search
.help-inline
,
.form-inline
.help-inline
,
.form-horizontal
.help-inline
,
.form-search
.uneditable-input
,
.form-inline
.uneditable-input
,
.form-horizontal
.uneditable-input
,
.form-search
.input-prepend
,
.form-inline
.input-prepend
,
.form-horizontal
.input-prepend
,
.form-search
.input-append
,
.form-inline
.input-append
,
.form-horizontal
.input-append
{
display
:
inline-block
;
*
display
:
inline
;
margin-bottom
:
0
;
vertical-align
:
middle
;
*
zoom
:
1
}
.form-search
.hide
,
.form-inline
.hide
,
.form-horizontal
.hide
{
display
:
none
}
.form-search
label
,
.form-inline
label
,
.form-search
.btn-group
,
.form-inline
.btn-group
{
display
:
inline-block
}
.form-search
.input-append
,
.form-inline
.input-append
,
.form-search
.input-prepend
,
.form-inline
.input-prepend
{
margin-bottom
:
0
}
.form-search
.radio
,
.form-search
.checkbox
,
.form-inline
.radio
,
.form-inline
.checkbox
{
padding-left
:
0
;
margin-bottom
:
0
;
vertical-align
:
middle
}
.form-search
.radio
input
[
type
=
"radio"
],
.form-search
.checkbox
input
[
type
=
"checkbox"
],
.form-inline
.radio
input
[
type
=
"radio"
],
.form-inline
.checkbox
input
[
type
=
"checkbox"
]
{
float
:
left
;
margin-right
:
3px
;
margin-left
:
0
}
.control-group
{
margin-bottom
:
10px
}
legend
+
.control-group
{
margin-top
:
20px
;
-webkit-margin-top-collapse
:
separate
}
.form-horizontal
.control-group
{
margin-bottom
:
20px
;
*
zoom
:
1
}
.form-horizontal
.control-group
:before
,
.form-horizontal
.control-group
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.form-horizontal
.control-group
:after
{
clear
:
both
}
.form-horizontal
.control-label
{
float
:
left
;
width
:
140px
;
padding-top
:
5px
;
text-align
:
right
}
.form-horizontal
.controls
{
*
display
:
inline-block
;
*
padding-left
:
20px
;
margin-left
:
160px
;
*
margin-left
:
0
}
.form-horizontal
.controls
:first-child
{
*
padding-left
:
160px
}
.form-horizontal
.help-block
{
margin-top
:
10px
;
margin-bottom
:
0
}
.form-horizontal
.form-actions
{
padding-left
:
160px
}
table
{
max-width
:
100%
;
background-color
:
transparent
;
border-collapse
:
collapse
;
border-spacing
:
0
}
.table
{
width
:
100%
;
margin-bottom
:
20px
}
.table
th
,
.table
td
{
padding
:
8px
;
line-height
:
20px
;
text-align
:
left
;
vertical-align
:
top
;
border-top
:
1px
solid
#ddd
}
.table
th
{
font-weight
:
bold
}
.table
thead
th
{
vertical-align
:
bottom
}
.table
caption
+
thead
tr
:first-child
th
,
.table
caption
+
thead
tr
:first-child
td
,
.table
colgroup
+
thead
tr
:first-child
th
,
.table
colgroup
+
thead
tr
:first-child
td
,
.table
thead
:first-child
tr
:first-child
th
,
.table
thead
:first-child
tr
:first-child
td
{
border-top
:
0
}
.table
tbody
+
tbody
{
border-top
:
2px
solid
#ddd
}
.table-condensed
th
,
.table-condensed
td
{
padding
:
4px
5px
}
.table-bordered
{
border
:
1px
solid
#ddd
;
border-collapse
:
separate
;
*
border-collapse
:
collapse
;
border-left
:
0
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
}
.table-bordered
th
,
.table-bordered
td
{
border-left
:
1px
solid
#ddd
}
.table-bordered
caption
+
thead
tr
:first-child
th
,
.table-bordered
caption
+
tbody
tr
:first-child
th
,
.table-bordered
caption
+
tbody
tr
:first-child
td
,
.table-bordered
colgroup
+
thead
tr
:first-child
th
,
.table-bordered
colgroup
+
tbody
tr
:first-child
th
,
.table-bordered
colgroup
+
tbody
tr
:first-child
td
,
.table-bordered
thead
:first-child
tr
:first-child
th
,
.table-bordered
tbody
:first-child
tr
:first-child
th
,
.table-bordered
tbody
:first-child
tr
:first-child
td
{
border-top
:
0
}
.table-bordered
thead
:first-child
tr
:first-child
th
:first-child
,
.table-bordered
tbody
:first-child
tr
:first-child
td
:first-child
{
-webkit-border-top-left-radius
:
4px
;
border-top-left-radius
:
4px
;
-moz-border-radius-topleft
:
4px
}
.table-bordered
thead
:first-child
tr
:first-child
th
:last-child
,
.table-bordered
tbody
:first-child
tr
:first-child
td
:last-child
{
-webkit-border-top-right-radius
:
4px
;
border-top-right-radius
:
4px
;
-moz-border-radius-topright
:
4px
}
.table-bordered
thead
:last-child
tr
:last-child
th
:first-child
,
.table-bordered
tbody
:last-child
tr
:last-child
td
:first-child
,
.table-bordered
tfoot
:last-child
tr
:last-child
td
:first-child
{
-webkit-border-radius
:
0
0
0
4px
;
-moz-border-radius
:
0
0
0
4px
;
border-radius
:
0
0
0
4px
;
-webkit-border-bottom-left-radius
:
4px
;
border-bottom-left-radius
:
4px
;
-moz-border-radius-bottomleft
:
4px
}
.table-bordered
thead
:last-child
tr
:last-child
th
:last-child
,
.table-bordered
tbody
:last-child
tr
:last-child
td
:last-child
,
.table-bordered
tfoot
:last-child
tr
:last-child
td
:last-child
{
-webkit-border-bottom-right-radius
:
4px
;
border-bottom-right-radius
:
4px
;
-moz-border-radius-bottomright
:
4px
}
.table-bordered
caption
+
thead
tr
:first-child
th
:first-child
,
.table-bordered
caption
+
tbody
tr
:first-child
td
:first-child
,
.table-bordered
colgroup
+
thead
tr
:first-child
th
:first-child
,
.table-bordered
colgroup
+
tbody
tr
:first-child
td
:first-child
{
-webkit-border-top-left-radius
:
4px
;
border-top-left-radius
:
4px
;
-moz-border-radius-topleft
:
4px
}
.table-bordered
caption
+
thead
tr
:first-child
th
:last-child
,
.table-bordered
caption
+
tbody
tr
:first-child
td
:last-child
,
.table-bordered
colgroup
+
thead
tr
:first-child
th
:last-child
,
.table-bordered
colgroup
+
tbody
tr
:first-child
td
:last-child
{
-webkit-border-top-right-radius
:
4px
;
border-top-right-radius
:
4px
;
-moz-border-right-topleft
:
4px
}
.table-striped
tbody
tr
:nth-child
(
odd
)
td
,
.table-striped
tbody
tr
:nth-child
(
odd
)
th
{
background-color
:
#f9f9f9
}
.table-hover
tbody
tr
:hover
td
,
.table-hover
tbody
tr
:hover
th
{
background-color
:
#f5f5f5
}
table
[
class
*=
span
],
.row-fluid
table
[
class
*=
span
]
{
display
:
table-cell
;
float
:
none
;
margin-left
:
0
}
table
.span1
{
float
:
none
;
width
:
44px
;
margin-left
:
0
}
table
.span2
{
float
:
none
;
width
:
124px
;
margin-left
:
0
}
table
.span3
{
float
:
none
;
width
:
204px
;
margin-left
:
0
}
table
.span4
{
float
:
none
;
width
:
284px
;
margin-left
:
0
}
table
.span5
{
float
:
none
;
width
:
364px
;
margin-left
:
0
}
table
.span6
{
float
:
none
;
width
:
444px
;
margin-left
:
0
}
table
.span7
{
float
:
none
;
width
:
524px
;
margin-left
:
0
}
table
.span8
{
float
:
none
;
width
:
604px
;
margin-left
:
0
}
table
.span9
{
float
:
none
;
width
:
684px
;
margin-left
:
0
}
table
.span10
{
float
:
none
;
width
:
764px
;
margin-left
:
0
}
table
.span11
{
float
:
none
;
width
:
844px
;
margin-left
:
0
}
table
.span12
{
float
:
none
;
width
:
924px
;
margin-left
:
0
}
table
.span13
{
float
:
none
;
width
:
1004px
;
margin-left
:
0
}
table
.span14
{
float
:
none
;
width
:
1084px
;
margin-left
:
0
}
table
.span15
{
float
:
none
;
width
:
1164px
;
margin-left
:
0
}
table
.span16
{
float
:
none
;
width
:
1244px
;
margin-left
:
0
}
table
.span17
{
float
:
none
;
width
:
1324px
;
margin-left
:
0
}
table
.span18
{
float
:
none
;
width
:
1404px
;
margin-left
:
0
}
table
.span19
{
float
:
none
;
width
:
1484px
;
margin-left
:
0
}
table
.span20
{
float
:
none
;
width
:
1564px
;
margin-left
:
0
}
table
.span21
{
float
:
none
;
width
:
1644px
;
margin-left
:
0
}
table
.span22
{
float
:
none
;
width
:
1724px
;
margin-left
:
0
}
table
.span23
{
float
:
none
;
width
:
1804px
;
margin-left
:
0
}
table
.span24
{
float
:
none
;
width
:
1884px
;
margin-left
:
0
}
.table
tbody
tr
.success
td
{
background-color
:
#dff0d8
}
.table
tbody
tr
.error
td
{
background-color
:
#f2dede
}
.table
tbody
tr
.info
td
{
background-color
:
#d9edf7
}
[
class
^=
"icon-"
],[
class
*=
" icon-"
]
{
display
:
inline-block
;
width
:
32px
;
height
:
32px
;
margin-top
:
1px
;
margin-right
:
.3em
;
line-height
:
32px
;
vertical-align
:
text-top
;
background-image
:
url("../img/glyphicons.png")
;
background-position
:
32px
32px
;
background-repeat
:
no-repeat
}
.icon-white
,
.nav
>
.active
>
a
>[
class
^=
"icon-"
],
.nav
>
.active
>
a
>[
class
*=
" icon-"
],
.dropdown-menu
>
li
>
a
:hover
>[
class
^=
"icon-"
],
.dropdown-menu
>
li
>
a
:hover
>[
class
*=
" icon-"
],
.dropdown-menu
>
.active
>
a
>[
class
^=
"icon-"
],
.dropdown-menu
>
.active
>
a
>[
class
*=
" icon-"
]
{
background-image
:
url("../img/glyphicons-white.png")
}
.icon-glass
{
background-position
:
0
0
}
.icon-leaf
{
background-position
:
-56px
0
}
.icon-dog
{
background-position
:
-112px
0
}
.icon-user
{
background-position
:
-170px
0
}
.icon-girl
{
background-position
:
-225px
0
}
.icon-car
{
background-position
:
-279px
0
}
.icon-user-add
{
background-position
:
-337px
0
}
.icon-user-remove
{
background-position
:
-397px
0
}
.icon-film
{
background-position
:
-455px
0
}
.icon-magic
{
background-position
:
-509px
0
}
.icon-envelope
{
background-position
:
-565px
0
}
.icon-camera
{
background-position
:
-621px
0
}
.icon-heart
{
background-position
:
-679px
0
}
.icon-beach-umbrella
{
background-position
:
-735px
0
}
.icon-train
{
background-position
:
-792px
0
}
.icon-print
{
background-position
:
-844px
0
}
.icon-bin
{
background-position
:
-900px
0
}
.icon-music
{
background-position
:
-952px
0
}
.icon-note
{
background-position
:
-1005px
0
}
.icon-cogwheel
{
background-position
:
-1055px
0
}
.icon-home
{
background-position
:
-1111px
0
}
.icon-snowflake
{
background-position
:
-1170px
0
}
.icon-fire
{
background-position
:
-1230px
0
}
.icon-cogwheels
{
background-position
:
-1282px
0
}
.icon-parents
{
background-position
:
-1340px
0
}
.icon-binoculars
{
background-position
:
-1404px
0
}
.icon-road
{
background-position
:
-1460px
0
}
.icon-search
{
background-position
:
-1520px
0
}
.icon-cars
{
background-position
:
-1576px
0
}
.icon-notes-2
{
background-position
:
-1644px
0
}
.icon-pencil
{
background-position
:
-1696px
0
}
.icon-bus
{
background-position
:
-1753px
0
}
.icon-wifi-alt
{
background-position
:
-1817px
0
}
.icon-luggage
{
background-position
:
-1875px
0
}
.icon-old-man
{
background-position
:
-1927px
0
}
.icon-woman
{
background-position
:
0
-60px
}
.icon-file
{
background-position
:
-54px
-60px
}
.icon-credit
{
background-position
:
-105px
-60px
}
.icon-airplane
{
background-position
:
-163px
-60px
}
.icon-notes
{
background-position
:
-219px
-60px
}
.icon-stats
{
background-position
:
-271px
-60px
}
.icon-charts
{
background-position
:
-329px
-60px
}
.icon-pie-chart
{
background-position
:
-388px
-60px
}
.icon-group
{
background-position
:
-446px
-60px
}
.icon-keys
{
background-position
:
-513px
-60px
}
.icon-calendar
{
background-position
:
-569px
-60px
}
.icon-router
{
background-position
:
-624px
-60px
}
.icon-camera-small
{
background-position
:
-683px
-60px
}
.icon-dislikes
{
background-position
:
-737px
-60px
}
.icon-star
{
background-position
:
-795px
-60px
}
.icon-link
{
background-position
:
-852px
-60px
}
.icon-eye-open
{
background-position
:
-905px
-60px
}
.icon-eye-close
{
background-position
:
-968px
-60px
}
.icon-alarm
{
background-position
:
-1031px
-60px
}
.icon-clock
{
background-position
:
-1091px
-60px
}
.icon-stopwatch
{
background-position
:
-1147px
-60px
}
.icon-projector
{
background-position
:
-1202px
-60px
}
.icon-history
{
background-position
:
-1262px
-60px
}
.icon-truck
{
background-position
:
-1319px
-60px
}
.icon-cargo
{
background-position
:
-1383px
-60px
}
.icon-compass
{
background-position
:
-1440px
-60px
}
.icon-keynote
{
background-position
:
-1496px
-60px
}
.icon-attach
{
background-position
:
-1548px
-60px
}
.icon-power
{
background-position
:
-1606px
-60px
}
.icon-lightbulb
{
background-position
:
-1660px
-60px
}
.icon-tag
{
background-position
:
-1712px
-60px
}
.icon-tags
{
background-position
:
-1768px
-60px
}
.icon-cleaning
{
background-position
:
-1830px
-60px
}
.icon-ruler
{
background-position
:
-1886px
-60px
}
.icon-gift
{
background-position
:
-1945px
-60px
}
.icon-umbrella
{
background-position
:
0
-122px
}
.icon-book
{
background-position
:
-58px
-122px
}
.icon-bookmark
{
background-position
:
-112px
-122px
}
.icon-signal
{
background-position
:
-160px
-122px
}
.icon-cup
{
background-position
:
-223px
-122px
}
.icon-stroller
{
background-position
:
-277px
-122px
}
.icon-headphones
{
background-position
:
-334px
-122px
}
.icon-headset
{
background-position
:
-390px
-122px
}
.icon-warning-sign
{
background-position
:
-446px
-122px
}
.icon-signal
{
background-position
:
-507px
-122px
}
.icon-retweet
{
background-position
:
-563px
-122px
}
.icon-refresh
{
background-position
:
-625px
-122px
}
.icon-roundabout
{
background-position
:
-682px
-122px
}
.icon-random
{
background-position
:
-741px
-122px
}
.icon-heat
{
background-position
:
-801px
-122px
}
.icon-repeat
{
background-position
:
-862px
-122px
}
.icon-display
{
background-position
:
-918px
-122px
}
.icon-log-book
{
background-position
:
-978px
-122px
}
.icon-adress-book
{
background-position
:
-1032px
-122px
}
.icon-magnet
{
background-position
:
-1086px
-122px
}
.icon-table
{
background-position
:
-1139px
-122px
}
.icon-adjust
{
background-position
:
-1195px
-122px
}
.icon-tint
{
background-position
:
-1253px
-122px
}
.icon-crop
{
background-position
:
-1308px
-122px
}
.icon-vector-path-square
{
background-position
:
-1366px
-122px
}
.icon-vector-path-circle
{
background-position
:
-1422px
-122px
}
.icon-vector-path-polygon
{
background-position
:
-1478px
-122px
}
.icon-vector-path-line
{
background-position
:
-1536px
-122px
}
.icon-vector-path-curve
{
background-position
:
-1592px
-122px
}
.icon-vector-path-all
{
background-position
:
-1648px
-122px
}
.icon-font
{
background-position
:
-1704px
-122px
}
.icon-italic
{
background-position
:
-1763px
-122px
}
.icon-bold
{
background-position
:
-1809px
-122px
}
.icon-text-underline
{
background-position
:
-1860px
-122px
}
.icon-text-strike
{
background-position
:
-1912px
-122px
}
.icon-text-height
{
background-position
:
-1964px
-122px
}
.icon-text-width
{
background-position
:
0
-184px
}
.icon-text-resize
{
background-position
:
-54px
-184px
}
.icon-left-indent
{
background-position
:
-112px
-184px
}
.icon-right-indent
{
background-position
:
-168px
-184px
}
.icon-align-left
{
background-position
:
-224px
-184px
}
.icon-align-center
{
background-position
:
-280px
-184px
}
.icon-align-right
{
background-position
:
-336px
-184px
}
.icon-justify
{
background-position
:
-392px
-184px
}
.icon-list
{
background-position
:
-448px
-184px
}
.icon-text-smaller
{
background-position
:
-504px
-184px
}
.icon-text-bigger
{
background-position
:
-558px
-184px
}
.icon-embed
{
background-position
:
-614px
-184px
}
.icon-embed-close
{
background-position
:
-676px
-184px
}
.icon-adjust
{
background-position
:
-738px
-184px
}
.icon-message-full
{
background-position
:
-793px
-184px
}
.icon-message-empty
{
background-position
:
-849px
-184px
}
.icon-message-in
{
background-position
:
-905px
-184px
}
.icon-message-out
{
background-position
:
-961px
-184px
}
.icon-message-plus
{
background-position
:
-1017px
-184px
}
.icon-message-minus
{
background-position
:
-1078px
-184px
}
.icon-message-ban
{
background-position
:
-1139px
-184px
}
.icon-message-flag
{
background-position
:
-1200px
-184px
}
.icon-message-lock
{
background-position
:
-1259px
-184px
}
.icon-message-new
{
background-position
:
-1319px
-184px
}
.icon-inbox
{
background-position
:
-1379px
-184px
}
.icon-inbox-plus
{
background-position
:
-1435px
-184px
}
.icon-inbox-minus
{
background-position
:
-1494px
-184px
}
.icon-inbox-lock
{
background-position
:
-1553px
-184px
}
.icon-inbox-in
{
background-position
:
-1611px
-184px
}
.icon-inbox-out
{
background-position
:
-1667px
-184px
}
.icon-computer-locked
{
background-position
:
-1723px
-184px
}
.icon-computer-service
{
background-position
:
-1783px
-184px
}
.icon-computer-process
{
background-position
:
-1843px
-184px
}
.icon-phone
{
background-position
:
-1903px
-184px
}
.icon-database-lock
{
background-position
:
-1950px
-184px
}
.icon-database-plus
{
background-position
:
0
-246px
}
.icon-database-minus
{
background-position
:
-59px
-246px
}
.icon-database-ban
{
background-position
:
-118px
-246px
}
.icon-folder-open
{
background-position
:
-176px
-246px
}
.icon-folder-plus
{
background-position
:
-238px
-246px
}
.icon-folder-minus
{
background-position
:
-299px
-246px
}
.icon-folder-lock
{
background-position
:
-360px
-246px
}
.icon-folder-flag
{
background-position
:
-420px
-246px
}
.icon-folder-new
{
background-position
:
-479px
-246px
}
.icon-check
{
background-position
:
-539px
-246px
}
.icon-edit
{
background-position
:
-593px
-246px
}
.icon-new-window
{
background-position
:
-649px
-246px
}
.icon-more-windows
{
background-position
:
-707px
-246px
}
.icon-show-big-thumbnails
{
background-position
:
-762px
-246px
}
.icon-show-thumbnails
{
background-position
:
-816px
-246px
}
.icon-show-thumbnails-with-lines
{
background-position
:
-870px
-246px
}
.icon-show-lines
{
background-position
:
-926px
-246px
}
.icon-playlist
{
background-position
:
-982px
-246px
}
.icon-picture
{
background-position
:
-1043px
-246px
}
.icon-imac
{
background-position
:
-1099px
-246px
}
.icon-macbook
{
background-position
:
-1157px
-246px
}
.icon-ipad
{
background-position
:
-1217px
-246px
}
.icon-iphone
{
background-position
:
-1269px
-246px
}
.icon-iphone-transfer
{
background-position
:
-1315px
-246px
}
.icon-iphone-exchange
{
background-position
:
-1376px
-246px
}
.icon-ipod
{
background-position
:
-1437px
-246px
}
.icon-ipod-shuffle
{
background-position
:
-1483px
-246px
}
.icon-ear-plugs
{
background-position
:
-1530px
-246px
}
.icon-albums
{
background-position
:
-1582px
-246px
}
.icon-step-backward
{
background-position
:
-1642px
-246px
}
.icon-fast-backward
{
background-position
:
-1688px
-246px
}
.icon-rewind
{
background-position
:
-1745px
-246px
}
.icon-play
{
background-position
:
-1800px
-246px
}
.icon-pause
{
background-position
:
-1848px
-246px
}
.icon-stop
{
background-position
:
-1890px
-246px
}
.icon-forward
{
background-position
:
-1936px
-246px
}
.icon-fast-forward
{
background-position
:
0
-308px
}
.icon-step-forward
{
background-position
:
-57px
-308px
}
.icon-eject
{
background-position
:
-103px
-308px
}
.icon-facetime-video
{
background-position
:
-153px
-308px
}
.icon-download-alt
{
background-position
:
-209px
-308px
}
.icon-mute
{
background-position
:
-265px
-308px
}
.icon-volume-down
{
background-position
:
-319px
-308px
}
.icon-volume-up
{
background-position
:
-367px
-308px
}
.icon-screenshot
{
background-position
:
-423px
-308px
}
.icon-move
{
background-position
:
-482px
-308px
}
.icon-more
{
background-position
:
-538px
-308px
}
.icon-brightness-reduce
{
background-position
:
-592px
-308px
}
.icon-brightness-increase
{
background-position
:
-644px
-308px
}
.icon-circle-plus
{
background-position
:
-700px
-308px
}
.icon-circle-minus
{
background-position
:
-758px
-308px
}
.icon-circle-remove
{
background-position
:
-816px
-308px
}
.icon-circle-ok
{
background-position
:
-874px
-308px
}
.icon-circle-question-mark
{
background-position
:
-932px
-308px
}
.icon-circle-info
{
background-position
:
-990px
-308px
}
.icon-circle-exclamation-mark
{
background-position
:
-1048px
-308px
}
.icon-remove
{
background-position
:
-1106px
-308px
}
.icon-ok
{
background-position
:
-1164px
-308px
}
.icon-ban
{
background-position
:
-1222px
-308px
}
.icon-download
{
background-position
:
-1280px
-308px
}
.icon-upload
{
background-position
:
-1338px
-308px
}
.icon-shopping-cart
{
background-position
:
-1396px
-308px
}
.icon-lock
{
background-position
:
-1454px
-308px
}
.icon-unlock
{
background-position
:
-1507px
-308px
}
.icon-electricity
{
background-position
:
-1560px
-308px
}
.icon-ok-2
{
background-position
:
-1603px
-308px
}
.icon-remove-2
{
background-position
:
-1660px
-308px
}
.icon-cart-out
{
background-position
:
-1710px
-308px
}
.icon-cart-in
{
background-position
:
-1768px
-308px
}
.icon-left-arrow
{
background-position
:
-1826px
-308px
}
.icon-right-arrow
{
background-position
:
-1878px
-308px
}
.icon-down-arrow
{
background-position
:
-1930px
-308px
}
.icon-up-arrow
{
background-position
:
0
-370px
}
.icon-resize-small
{
background-position
:
-50px
-370px
}
.icon-resize-full
{
background-position
:
-106px
-370px
}
.icon-circle-arrow-left
{
background-position
:
-162px
-370px
}
.icon-circle-arrow-right
{
background-position
:
-220px
-370px
}
.icon-circle-arrow-up
{
background-position
:
-278px
-370px
}
.icon-circle-arrow-down
{
background-position
:
-336px
-370px
}
.icon-play-button
{
background-position
:
-394px
-370px
}
.icon-unshare
{
background-position
:
-452px
-370px
}
.icon-share
{
background-position
:
-508px
-370px
}
.icon-thin-arrow-right
{
background-position
:
-564px
-370px
}
.icon-thin-arrow-left
{
background-position
:
-611px
-370px
}
.icon-bluetooth
{
background-position
:
-658px
-370px
}
.icon-euro
{
background-position
:
-704px
-370px
}
.icon-usd
{
background-position
:
-758px
-370px
}
.icon-bp
{
background-position
:
-807px
-370px
}
.icon-retweet-2
{
background-position
:
-856px
-370px
}
.icon-moon
{
background-position
:
-921px
-370px
}
.icon-sun
{
background-position
:
-975px
-370px
}
.icon-cloud
{
background-position
:
-1031px
-370px
}
.icon-direction
{
background-position
:
-1090px
-370px
}
.icon-brush
{
background-position
:
-1148px
-370px
}
.icon-pen
{
background-position
:
-1205px
-370px
}
.icon-zoom-in
{
background-position
:
-1261px
-370px
}
.icon-zoom-out
{
background-position
:
-1318px
-370px
}
.icon-pin
{
background-position
:
-1375px
-370px
}
.icon-riflescope
{
background-position
:
-1417px
-370px
}
.icon-rotation-lock
{
background-position
:
-1474px
-370px
}
.icon-flash
{
background-position
:
-1533px
-370px
}
.icon-google-maps
{
background-position
:
-1579px
-370px
}
.icon-anchor
{
background-position
:
-1626px
-370px
}
.icon-conversation
{
background-position
:
-1682px
-370px
}
.icon-chat
{
background-position
:
-1739px
-370px
}
.icon-male
{
background-position
:
-1795px
-370px
}
.icon-female
{
background-position
:
-1849px
-370px
}
.icon-asterisk
{
background-position
:
-1897px
-370px
}
.icon-divide
{
background-position
:
-1949px
-370px
}
.icon-snorkel-diving
{
background-position
:
0
-432px
}
.icon-scuba-diving
{
background-position
:
-59px
-432px
}
.icon-oxygen-bottle
{
background-position
:
-118px
-432px
}
.icon-fins
{
background-position
:
-172px
-432px
}
.icon-fishes
{
background-position
:
-235px
-432px
}
.icon-boat
{
background-position
:
-295px
-432px
}
.icon-delete-point
{
background-position
:
-351px
-432px
}
.icon-sheriffs-star
{
background-position
:
-409px
-432px
}
.icon-qrcode
{
background-position
:
-465px
-432px
}
.icon-barcode
{
background-position
:
-521px
-432px
}
.icon-pool
{
background-position
:
-577px
-432px
}
.icon-buoy
{
background-position
:
-633px
-432px
}
.icon-spade
{
background-position
:
-689px
-432px
}
.icon-bank
{
background-position
:
-745px
-432px
}
.icon-vcard
{
background-position
:
-801px
-432px
}
.icon-electrical-plug
{
background-position
:
-855px
-432px
}
.icon-flag
{
background-position
:
-905px
-432px
}
.icon-credit-card
{
background-position
:
-958px
-432px
}
.icon-keyboard-wireless
{
background-position
:
-1016px
-432px
}
.icon-keyboard-wired
{
background-position
:
-1075px
-432px
}
.icon-shield
{
background-position
:
-1134px
-432px
}
.icon-ring
{
background-position
:
-1188px
-432px
}
.icon-cake
{
background-position
:
-1241px
-432px
}
.icon-drink
{
background-position
:
-1295px
-432px
}
.icon-beer
{
background-position
:
-1350px
-432px
}
.icon-fast-food
{
background-position
:
-1405px
-432px
}
.icon-cutlery
{
background-position
:
-1465px
-432px
}
.icon-pizza
{
background-position
:
-1510px
-432px
}
.icon-birthday-cake
{
background-position
:
-1568px
-432px
}
.icon-tablet
{
background-position
:
-1626px
-432px
}
.icon-settings
{
background-position
:
-1683px
-432px
}
.icon-bullets
{
background-position
:
-1739px
-432px
}
.icon-cardio
{
background-position
:
-1798px
-432px
}
.icon-t-shirt
{
background-position
:
-1855px
-432px
}
.icon-pants
{
background-position
:
-1915px
-432px
}
.icon-sweater
{
background-position
:
-1966px
-432px
}
.icon-fabric
{
background-position
:
0
-494px
}
.icon-leather
{
background-position
:
-59px
-494px
}
.icon-scissors
{
background-position
:
-114px
-494px
}
.icon-podium
{
background-position
:
-170px
-494px
}
.icon-skull
{
background-position
:
-230px
-494px
}
.icon-celebration
{
background-position
:
-284px
-494px
}
.icon-tea-kettle
{
background-position
:
-340px
-494px
}
.icon-french-press
{
background-position
:
-398px
-494px
}
.icon-coffe-cup
{
background-position
:
-453px
-494px
}
.icon-pot
{
background-position
:
-510px
-494px
}
.icon-grater
{
background-position
:
-569px
-494px
}
.icon-kettle
{
background-position
:
-619px
-494px
}
.icon-hospital
{
background-position
:
-674px
-494px
}
.icon-hospital-h
{
background-position
:
-730px
-494px
}
.icon-microphone
{
background-position
:
-786px
-494px
}
.icon-webcam
{
background-position
:
-835px
-494px
}
.icon-temple-christianity-church
{
background-position
:
-886px
-494px
}
.icon-temple-islam
{
background-position
:
-942px
-494px
}
.icon-temple-hindu
{
background-position
:
-999px
-494px
}
.icon-temple-buddhist
{
background-position
:
-1055px
-494px
}
.icon-electrical-socket-eu
{
background-position
:
-1115px
-494px
}
.icon-electrical-socket-us
{
background-position
:
-1170px
-494px
}
.icon-bomb
{
background-position
:
-1225px
-494px
}
.icon-comments
{
background-position
:
-1284px
-494px
}
.icon-flower
{
background-position
:
-1340px
-494px
}
.icon-baseball
{
background-position
:
-1391px
-494px
}
.icon-rugby
{
background-position
:
-1448px
-494px
}
.icon-ax
{
background-position
:
-1503px
-494px
}
.icon-table-tennis
{
background-position
:
-1562px
-494px
}
.icon-bowling
{
background-position
:
-1618px
-494px
}
.icon-tree-conifer
{
background-position
:
-1674px
-494px
}
.icon-tree-deciduous
{
background-position
:
-1727px
-494px
}
.icon-more-items
{
background-position
:
-1779px
-494px
}
.icon-sort
{
background-position
:
-1832px
-494px
}
.icon-filter
{
background-position
:
-1889px
-494px
}
.icon-gamepad
{
background-position
:
-1941px
-494px
}
.icon-playing-dices
{
background-position
:
0
-556px
}
.icon-calculator
{
background-position
:
-59px
-556px
}
.icon-tie
{
background-position
:
-112px
-556px
}
.icon-wallet
{
background-position
:
-155px
-556px
}
.icon-share
{
background-position
:
-212px
-556px
}
.icon-sampler
{
background-position
:
-266px
-556px
}
.icon-piano
{
background-position
:
-325px
-556px
}
.icon-web-browser
{
background-position
:
-380px
-556px
}
.icon-blog
{
background-position
:
-436px
-556px
}
.icon-dashboard
{
background-position
:
-489px
-556px
}
.icon-certificate
{
background-position
:
-545px
-556px
}
.icon-bell
{
background-position
:
-594px
-556px
}
.icon-candle
{
background-position
:
-650px
-556px
}
.icon-pin-classic
{
background-position
:
-702px
-556px
}
.icon-iphone-shake
{
background-position
:
-758px
-556px
}
.icon-pin-flag
{
background-position
:
-814px
-556px
}
.icon-turtle
{
background-position
:
-876px
-556px
}
.icon-rabbit
{
background-position
:
-936px
-556px
}
.icon-globe
{
background-position
:
-994px
-556px
}
.icon-briefcase
{
background-position
:
-1050px
-556px
}
.icon-hdd
{
background-position
:
-1106px
-556px
}
.icon-thumbs-up
{
background-position
:
-1162px
-556px
}
.icon-thumbs-down
{
background-position
:
-1218px
-556px
}
.icon-hand-right
{
background-position
:
-1274px
-556px
}
.icon-hand-left
{
background-position
:
-1332px
-556px
}
.icon-hand-up
{
background-position
:
-1390px
-556px
}
.icon-hand-down
{
background-position
:
-1441px
-556px
}
.icon-fullscreen
{
background-position
:
-1492px
-556px
}
.icon-shopping-bag
{
background-position
:
-1548px
-556px
}
.icon-book-open
{
background-position
:
-1603px
-556px
}
.icon-nameplate
{
background-position
:
-1660px
-556px
}
.icon-nameplate-alt
{
background-position
:
-1716px
-556px
}
.icon-vases
{
background-position
:
-1772px
-556px
}
.icon-announcement
{
background-position
:
-1828px
-556px
}
.icon-dumbbell
{
background-position
:
-1885px
-556px
}
.icon-suitcase
{
background-position
:
-1943px
-556px
}
.icon-file-import
{
background-position
:
0
-618px
}
.icon-file-export
{
background-position
:
-54px
-618px
}
.icon-pinterest
{
background-position
:
-109px
-618px
}
.icon-dropbox
{
background-position
:
-165px
-618px
}
.icon-google-alt
{
background-position
:
-221px
-618px
}
.icon-jolicloud
{
background-position
:
-277px
-618px
}
.icon-yahoo
{
background-position
:
-333px
-618px
}
.icon-blogger
{
background-position
:
-389px
-618px
}
.icon-picasa
{
background-position
:
-445px
-618px
}
.icon-amazon
{
background-position
:
-501px
-618px
}
.icon-tumblr
{
background-position
:
-557px
-618px
}
.icon-wordpress
{
background-position
:
-613px
-618px
}
.icon-instapaper
{
background-position
:
-669px
-618px
}
.icon-evernote
{
background-position
:
-725px
-618px
}
.icon-xing
{
background-position
:
-781px
-618px
}
.icon-zootool
{
background-position
:
-837px
-618px
}
.icon-dribbble
{
background-position
:
-893px
-618px
}
.icon-deviantart
{
background-position
:
-949px
-618px
}
.icon-read-it-later
{
background-position
:
-1005px
-618px
}
.icon-linked-in
{
background-position
:
-1061px
-618px
}
.icon-forrst
{
background-position
:
-1117px
-618px
}
.icon-pinboard
{
background-position
:
-1173px
-618px
}
.icon-behance
{
background-position
:
-1229px
-618px
}
.icon-github
{
background-position
:
-1285px
-618px
}
.icon-youtube
{
background-position
:
-1341px
-618px
}
.icon-skitch
{
background-position
:
-1397px
-618px
}
.icon-4square
{
background-position
:
-1453px
-618px
}
.icon-quora
{
background-position
:
-1509px
-618px
}
.icon-google-plus
{
background-position
:
-1565px
-618px
}
.icon-spotify
{
background-position
:
-1621px
-618px
}
.icon-stumbleupon
{
background-position
:
-1677px
-618px
}
.icon-readability
{
background-position
:
-1733px
-618px
}
.icon-facebook
{
background-position
:
-1789px
-618px
}
.icon-twitter-t
{
background-position
:
-1845px
-618px
}
.icon-twitter
{
background-position
:
-1901px
-618px
}
.icon-buzz
{
background-position
:
-1957px
-618px
}
.icon-vimeo
{
background-position
:
0
-680px
}
.icon-flickr
{
background-position
:
-56px
-680px
}
.icon-last-fm
{
background-position
:
-112px
-680px
}
.icon-rss
{
background-position
:
-168px
-680px
}
.icon-skype
{
background-position
:
-224px
-680px
}
.icon-e-mail
{
background-position
:
-280px
-680px
}
.dropup
,
.dropdown
{
position
:
relative
}
.dropdown-toggle
{
*
margin-bottom
:
-3px
}
.dropdown-toggle
:active
,
.open
.dropdown-toggle
{
outline
:
0
}
.caret
{
display
:
inline-block
;
width
:
0
;
height
:
0
;
vertical-align
:
top
;
border-top
:
4px
solid
#000
;
border-right
:
4px
solid
transparent
;
border-left
:
4px
solid
transparent
;
content
:
""
}
.dropdown
.caret
{
margin-top
:
8px
;
margin-left
:
2px
}
.dropdown-menu
{
position
:
absolute
;
top
:
100%
;
left
:
0
;
z-index
:
1000
;
display
:
none
;
float
:
left
;
min-width
:
160px
;
padding
:
5px
0
;
margin
:
2px
0
0
;
list-style
:
none
;
background-color
:
#fff
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.2
);
*
border-right-width
:
2px
;
*
border-bottom-width
:
2px
;
-webkit-border-radius
:
6px
;
-moz-border-radius
:
6px
;
border-radius
:
6px
;
-webkit-box-shadow
:
0
5px
10px
rgba
(
0
,
0
,
0
,
0.2
);
-moz-box-shadow
:
0
5px
10px
rgba
(
0
,
0
,
0
,
0.2
);
box-shadow
:
0
5px
10px
rgba
(
0
,
0
,
0
,
0.2
);
-webkit-background-clip
:
padding-box
;
-moz-background-clip
:
padding
;
background-clip
:
padding-box
}
.dropdown-menu.pull-right
{
right
:
0
;
left
:
auto
}
.dropdown-menu
.divider
{
*
width
:
100%
;
height
:
1px
;
margin
:
9px
1px
;
*
margin
:
-5px
0
5px
;
overflow
:
hidden
;
background-color
:
#e5e5e5
;
border-bottom
:
1px
solid
#fff
}
.dropdown-menu
a
{
display
:
block
;
padding
:
3px
20px
;
clear
:
both
;
font-weight
:
normal
;
line-height
:
20px
;
color
:
#333
;
white-space
:
nowrap
}
.dropdown-menu
li
>
a
:hover
,
.dropdown-menu
li
>
a
:focus
,
.dropdown-submenu
:hover
>
a
{
color
:
#fff
;
text-decoration
:
none
;
background-color
:
#08c
;
background-color
:
#0081c2
;
background-image
:
-moz-linear-gradient
(
top
,
#08c
,
#0077b3
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#08c
),
to
(
#0077b3
));
background-image
:
-webkit-linear-gradient
(
top
,
#08c
,
#0077b3
);
background-image
:
-o-linear-gradient
(
top
,
#08c
,
#0077b3
);
background-image
:
linear-gradient
(
to
bottom
,
#08c
,
#0077b3
);
background-repeat
:
repeat-x
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff0088cc'
,
endColorstr
=
'#ff0077b3'
,
GradientType
=
0
)}
.dropdown-menu
.active
>
a
,
.dropdown-menu
.active
>
a
:hover
{
color
:
#fff
;
text-decoration
:
none
;
background-color
:
#08c
;
background-color
:
#0081c2
;
background-image
:
linear-gradient
(
to
bottom
,
#08c
,
#0077b3
);
background-image
:
-moz-linear-gradient
(
top
,
#08c
,
#0077b3
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#08c
),
to
(
#0077b3
));
background-image
:
-webkit-linear-gradient
(
top
,
#08c
,
#0077b3
);
background-image
:
-o-linear-gradient
(
top
,
#08c
,
#0077b3
);
background-repeat
:
repeat-x
;
outline
:
0
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff0088cc'
,
endColorstr
=
'#ff0077b3'
,
GradientType
=
0
)}
.dropdown-menu
.disabled
>
a
,
.dropdown-menu
.disabled
>
a
:hover
{
color
:
#999
}
.dropdown-menu
.disabled
>
a
:hover
{
text-decoration
:
none
;
cursor
:
default
;
background-color
:
transparent
}
.open
{
*
z-index
:
1000
}
.open
>
.dropdown-menu
{
display
:
block
}
.pull-right
>
.dropdown-menu
{
right
:
0
;
left
:
auto
}
.dropup
.caret
,
.navbar-fixed-bottom
.dropdown
.caret
{
border-top
:
0
;
border-bottom
:
4px
solid
#000
;
content
:
"\2191"
}
.dropup
.dropdown-menu
,
.navbar-fixed-bottom
.dropdown
.dropdown-menu
{
top
:
auto
;
bottom
:
100%
;
margin-bottom
:
1px
}
.dropdown-submenu
{
position
:
relative
}
.dropdown-submenu
>
.dropdown-menu
{
top
:
0
;
left
:
100%
;
margin-top
:
-6px
;
margin-left
:
-1px
;
-webkit-border-radius
:
0
6px
6px
6px
;
-moz-border-radius
:
0
6px
6px
6px
;
border-radius
:
0
6px
6px
6px
}
.dropdown-submenu
:hover
.dropdown-menu
{
display
:
block
}
.dropdown-submenu
>
a
:after
{
display
:
block
;
float
:
right
;
width
:
0
;
height
:
0
;
margin-top
:
5px
;
margin-right
:
-10px
;
border-color
:
transparent
;
border-left-color
:
#ccc
;
border-style
:
solid
;
border-width
:
5px
0
5px
5px
;
content
:
" "
}
.dropdown-submenu
:hover
>
a
:after
{
border-left-color
:
#fff
}
.dropdown
.dropdown-menu
.nav-header
{
padding-right
:
20px
;
padding-left
:
20px
}
.typeahead
{
margin-top
:
2px
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
}
.well
{
min-height
:
20px
;
padding
:
19px
;
margin-bottom
:
20px
;
background-color
:
#f5f5f5
;
border
:
1px
solid
#e3e3e3
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.05
);
-moz-box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
inset
0
1px
1px
rgba
(
0
,
0
,
0
,
0.05
)}
.well
blockquote
{
border-color
:
#ddd
;
border-color
:
rgba
(
0
,
0
,
0
,
0.15
)}
.well-large
{
padding
:
24px
;
-webkit-border-radius
:
6px
;
-moz-border-radius
:
6px
;
border-radius
:
6px
}
.well-small
{
padding
:
9px
;
-webkit-border-radius
:
3px
;
-moz-border-radius
:
3px
;
border-radius
:
3px
}
.fade
{
opacity
:
0
;
-webkit-transition
:
opacity
.15s
linear
;
-moz-transition
:
opacity
.15s
linear
;
-o-transition
:
opacity
.15s
linear
;
transition
:
opacity
.15s
linear
}
.fade.in
{
opacity
:
1
}
.collapse
{
position
:
relative
;
height
:
0
;
overflow
:
hidden
;
overflow
:
visible
\
9
;
-webkit-transition
:
height
.35s
ease
;
-moz-transition
:
height
.35s
ease
;
-o-transition
:
height
.35s
ease
;
transition
:
height
.35s
ease
}
.collapse.in
{
height
:
auto
}
.close
{
float
:
right
;
font-size
:
20px
;
font-weight
:
bold
;
line-height
:
20px
;
color
:
#000
;
text-shadow
:
0
1px
0
#fff
;
opacity
:
.2
;
filter
:
alpha
(
opacity
=
20
)}
.close
:hover
{
color
:
#000
;
text-decoration
:
none
;
cursor
:
pointer
;
opacity
:
.4
;
filter
:
alpha
(
opacity
=
40
)}
button
.close
{
padding
:
0
;
cursor
:
pointer
;
background
:
transparent
;
border
:
0
;
-webkit-appearance
:
none
}
.btn
{
display
:
inline-block
;
*
display
:
inline
;
padding
:
4px
14px
;
margin-bottom
:
0
;
*
margin-left
:
.3em
;
font-size
:
14px
;
line-height
:
20px
;
*
line-height
:
20px
;
color
:
#333
;
text-align
:
center
;
text-shadow
:
0
1px
1px
rgba
(
255
,
255
,
255
,
0.75
);
vertical-align
:
middle
;
cursor
:
pointer
;
background-color
:
#f5f5f5
;
*
background-color
:
#e6e6e6
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#fff
),
to
(
#e6e6e6
));
background-image
:
-webkit-linear-gradient
(
top
,
#fff
,
#e6e6e6
);
background-image
:
-o-linear-gradient
(
top
,
#fff
,
#e6e6e6
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
,
#e6e6e6
);
background-image
:
-moz-linear-gradient
(
top
,
#fff
,
#e6e6e6
);
background-repeat
:
repeat-x
;
border
:
1px
solid
#bbb
;
*
border
:
0
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
border-color
:
#e6e6e6
#e6e6e6
#bfbfbf
;
border-bottom-color
:
#a2a2a2
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#ffe6e6e6'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
);
*
zoom
:
1
;
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
-moz-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
)}
.btn
:hover
,
.btn
:active
,
.btn.active
,
.btn.disabled
,
.btn
[
disabled
]
{
color
:
#333
;
background-color
:
#e6e6e6
;
*
background-color
:
#d9d9d9
}
.btn
:active
,
.btn.active
{
background-color
:
#ccc
\
9
}
.btn
:first-child
{
*
margin-left
:
0
}
.btn
:hover
{
color
:
#333
;
text-decoration
:
none
;
background-color
:
#e6e6e6
;
*
background-color
:
#d9d9d9
;
background-position
:
0
-15px
;
-webkit-transition
:
background-position
.1s
linear
;
-moz-transition
:
background-position
.1s
linear
;
-o-transition
:
background-position
.1s
linear
;
transition
:
background-position
.1s
linear
}
.btn
:focus
{
outline
:
thin
dotted
#333
;
outline
:
5px
auto
-webkit-focus-ring-color
;
outline-offset
:
-2px
}
.btn.active
,
.btn
:active
{
background-color
:
#e6e6e6
;
background-color
:
#d9d9d9
\
9
;
background-image
:
none
;
outline
:
0
;
-webkit-box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
0.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
-moz-box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
0.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
0.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
)}
.btn.disabled
,
.btn
[
disabled
]
{
cursor
:
default
;
background-color
:
#e6e6e6
;
background-image
:
none
;
opacity
:
.65
;
filter
:
alpha
(
opacity
=
65
);
-webkit-box-shadow
:
none
;
-moz-box-shadow
:
none
;
box-shadow
:
none
}
.btn-large
{
padding
:
9px
14px
;
font-size
:
16px
;
line-height
:
normal
;
-webkit-border-radius
:
5px
;
-moz-border-radius
:
5px
;
border-radius
:
5px
}
.btn-large
[
class
^=
"icon-"
]
{
margin-top
:
2px
}
.btn-small
{
padding
:
3px
9px
;
font-size
:
12px
;
line-height
:
18px
}
.btn-small
[
class
^=
"icon-"
]
{
margin-top
:
0
}
.btn-mini
{
padding
:
2px
6px
;
font-size
:
11px
;
line-height
:
16px
}
.btn-block
{
display
:
block
;
width
:
100%
;
padding-right
:
0
;
padding-left
:
0
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.btn-block
+
.btn-block
{
margin-top
:
5px
}
.btn-primary.active
,
.btn-warning.active
,
.btn-danger.active
,
.btn-success.active
,
.btn-info.active
,
.btn-inverse.active
{
color
:
rgba
(
255
,
255
,
255
,
0.75
)}
.btn
{
border-color
:
#c5c5c5
;
border-color
:
rgba
(
0
,
0
,
0
,
0.15
)
rgba
(
0
,
0
,
0
,
0.15
)
rgba
(
0
,
0
,
0
,
0.25
)}
.btn-primary
{
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#006dcc
;
*
background-color
:
#04c
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#08c
),
to
(
#04c
));
background-image
:
-webkit-linear-gradient
(
top
,
#08c
,
#04c
);
background-image
:
-o-linear-gradient
(
top
,
#08c
,
#04c
);
background-image
:
linear-gradient
(
to
bottom
,
#08c
,
#04c
);
background-image
:
-moz-linear-gradient
(
top
,
#08c
,
#04c
);
background-repeat
:
repeat-x
;
border-color
:
#04c
#04c
#002a80
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff0088cc'
,
endColorstr
=
'#ff0044cc'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
)}
.btn-primary
:hover
,
.btn-primary
:active
,
.btn-primary.active
,
.btn-primary.disabled
,
.btn-primary
[
disabled
]
{
color
:
#fff
;
background-color
:
#04c
;
*
background-color
:
#003bb3
}
.btn-primary
:active
,
.btn-primary.active
{
background-color
:
#039
\
9
}
.btn-warning
{
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#faa732
;
*
background-color
:
#f89406
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#fbb450
),
to
(
#f89406
));
background-image
:
-webkit-linear-gradient
(
top
,
#fbb450
,
#f89406
);
background-image
:
-o-linear-gradient
(
top
,
#fbb450
,
#f89406
);
background-image
:
linear-gradient
(
to
bottom
,
#fbb450
,
#f89406
);
background-image
:
-moz-linear-gradient
(
top
,
#fbb450
,
#f89406
);
background-repeat
:
repeat-x
;
border-color
:
#f89406
#f89406
#ad6704
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#fffbb450'
,
endColorstr
=
'#fff89406'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
)}
.btn-warning
:hover
,
.btn-warning
:active
,
.btn-warning.active
,
.btn-warning.disabled
,
.btn-warning
[
disabled
]
{
color
:
#fff
;
background-color
:
#f89406
;
*
background-color
:
#df8505
}
.btn-warning
:active
,
.btn-warning.active
{
background-color
:
#c67605
\
9
}
.btn-danger
{
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#da4f49
;
*
background-color
:
#bd362f
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#ee5f5b
),
to
(
#bd362f
));
background-image
:
-webkit-linear-gradient
(
top
,
#ee5f5b
,
#bd362f
);
background-image
:
-o-linear-gradient
(
top
,
#ee5f5b
,
#bd362f
);
background-image
:
linear-gradient
(
to
bottom
,
#ee5f5b
,
#bd362f
);
background-image
:
-moz-linear-gradient
(
top
,
#ee5f5b
,
#bd362f
);
background-repeat
:
repeat-x
;
border-color
:
#bd362f
#bd362f
#802420
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ffee5f5b'
,
endColorstr
=
'#ffbd362f'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
)}
.btn-danger
:hover
,
.btn-danger
:active
,
.btn-danger.active
,
.btn-danger.disabled
,
.btn-danger
[
disabled
]
{
color
:
#fff
;
background-color
:
#bd362f
;
*
background-color
:
#a9302a
}
.btn-danger
:active
,
.btn-danger.active
{
background-color
:
#942a25
\
9
}
.btn-success
{
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#5bb75b
;
*
background-color
:
#51a351
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#62c462
),
to
(
#51a351
));
background-image
:
-webkit-linear-gradient
(
top
,
#62c462
,
#51a351
);
background-image
:
-o-linear-gradient
(
top
,
#62c462
,
#51a351
);
background-image
:
linear-gradient
(
to
bottom
,
#62c462
,
#51a351
);
background-image
:
-moz-linear-gradient
(
top
,
#62c462
,
#51a351
);
background-repeat
:
repeat-x
;
border-color
:
#51a351
#51a351
#387038
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff62c462'
,
endColorstr
=
'#ff51a351'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
)}
.btn-success
:hover
,
.btn-success
:active
,
.btn-success.active
,
.btn-success.disabled
,
.btn-success
[
disabled
]
{
color
:
#fff
;
background-color
:
#51a351
;
*
background-color
:
#499249
}
.btn-success
:active
,
.btn-success.active
{
background-color
:
#408140
\
9
}
.btn-info
{
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#49afcd
;
*
background-color
:
#2f96b4
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#5bc0de
),
to
(
#2f96b4
));
background-image
:
-webkit-linear-gradient
(
top
,
#5bc0de
,
#2f96b4
);
background-image
:
-o-linear-gradient
(
top
,
#5bc0de
,
#2f96b4
);
background-image
:
linear-gradient
(
to
bottom
,
#5bc0de
,
#2f96b4
);
background-image
:
-moz-linear-gradient
(
top
,
#5bc0de
,
#2f96b4
);
background-repeat
:
repeat-x
;
border-color
:
#2f96b4
#2f96b4
#1f6377
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff5bc0de'
,
endColorstr
=
'#ff2f96b4'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
)}
.btn-info
:hover
,
.btn-info
:active
,
.btn-info.active
,
.btn-info.disabled
,
.btn-info
[
disabled
]
{
color
:
#fff
;
background-color
:
#2f96b4
;
*
background-color
:
#2a85a0
}
.btn-info
:active
,
.btn-info.active
{
background-color
:
#24748c
\
9
}
.btn-inverse
{
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#363636
;
*
background-color
:
#222
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#444
),
to
(
#222
));
background-image
:
-webkit-linear-gradient
(
top
,
#444
,
#222
);
background-image
:
-o-linear-gradient
(
top
,
#444
,
#222
);
background-image
:
linear-gradient
(
to
bottom
,
#444
,
#222
);
background-image
:
-moz-linear-gradient
(
top
,
#444
,
#222
);
background-repeat
:
repeat-x
;
border-color
:
#222
#222
#000
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff444444'
,
endColorstr
=
'#ff222222'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
)}
.btn-inverse
:hover
,
.btn-inverse
:active
,
.btn-inverse.active
,
.btn-inverse.disabled
,
.btn-inverse
[
disabled
]
{
color
:
#fff
;
background-color
:
#222
;
*
background-color
:
#151515
}
.btn-inverse
:active
,
.btn-inverse.active
{
background-color
:
#080808
\
9
}
button
.btn
,
input
[
type
=
"submit"
]
.btn
{
*
padding-top
:
3px
;
*
padding-bottom
:
3px
}
button
.btn
::-moz-focus-inner
,
input
[
type
=
"submit"
]
.btn
::-moz-focus-inner
{
padding
:
0
;
border
:
0
}
button
.btn.btn-large
,
input
[
type
=
"submit"
]
.btn.btn-large
{
*
padding-top
:
7px
;
*
padding-bottom
:
7px
}
button
.btn.btn-small
,
input
[
type
=
"submit"
]
.btn.btn-small
{
*
padding-top
:
3px
;
*
padding-bottom
:
3px
}
button
.btn.btn-mini
,
input
[
type
=
"submit"
]
.btn.btn-mini
{
*
padding-top
:
1px
;
*
padding-bottom
:
1px
}
.btn-link
,
.btn-link
:active
{
background-color
:
transparent
;
background-image
:
none
;
-webkit-box-shadow
:
none
;
-moz-box-shadow
:
none
;
box-shadow
:
none
}
.btn-link
{
color
:
#08c
;
cursor
:
pointer
;
border-color
:
transparent
;
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.btn-link
:hover
{
color
:
#005580
;
text-decoration
:
underline
;
background-color
:
transparent
}
.btn-group
{
position
:
relative
;
*
margin-left
:
.3em
;
font-size
:
0
;
white-space
:
nowrap
}
.btn-group
:first-child
{
*
margin-left
:
0
}
.btn-group
+
.btn-group
{
margin-left
:
5px
}
.btn-toolbar
{
margin-top
:
10px
;
margin-bottom
:
10px
;
font-size
:
0
}
.btn-toolbar
.btn-group
{
display
:
inline-block
;
*
display
:
inline
;
*
zoom
:
1
}
.btn-toolbar
.btn
+
.btn
,
.btn-toolbar
.btn-group
+
.btn
,
.btn-toolbar
.btn
+
.btn-group
{
margin-left
:
5px
}
.btn-group
>
.btn
{
position
:
relative
;
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.btn-group
>
.btn
+
.btn
{
margin-left
:
-1px
}
.btn-group
>
.btn
,
.btn-group
>
.dropdown-menu
{
font-size
:
14px
}
.btn-group
>
.btn-mini
{
font-size
:
11px
}
.btn-group
>
.btn-small
{
font-size
:
12px
}
.btn-group
>
.btn-large
{
font-size
:
16px
}
.btn-group
>
.btn
:first-child
{
margin-left
:
0
;
-webkit-border-bottom-left-radius
:
4px
;
border-bottom-left-radius
:
4px
;
-webkit-border-top-left-radius
:
4px
;
border-top-left-radius
:
4px
;
-moz-border-radius-bottomleft
:
4px
;
-moz-border-radius-topleft
:
4px
}
.btn-group
>
.btn
:last-child
,
.btn-group
>
.dropdown-toggle
{
-webkit-border-top-right-radius
:
4px
;
border-top-right-radius
:
4px
;
-webkit-border-bottom-right-radius
:
4px
;
border-bottom-right-radius
:
4px
;
-moz-border-radius-topright
:
4px
;
-moz-border-radius-bottomright
:
4px
}
.btn-group
>
.btn.large
:first-child
{
margin-left
:
0
;
-webkit-border-bottom-left-radius
:
6px
;
border-bottom-left-radius
:
6px
;
-webkit-border-top-left-radius
:
6px
;
border-top-left-radius
:
6px
;
-moz-border-radius-bottomleft
:
6px
;
-moz-border-radius-topleft
:
6px
}
.btn-group
>
.btn.large
:last-child
,
.btn-group
>
.large.dropdown-toggle
{
-webkit-border-top-right-radius
:
6px
;
border-top-right-radius
:
6px
;
-webkit-border-bottom-right-radius
:
6px
;
border-bottom-right-radius
:
6px
;
-moz-border-radius-topright
:
6px
;
-moz-border-radius-bottomright
:
6px
}
.btn-group
>
.btn
:hover
,
.btn-group
>
.btn
:focus
,
.btn-group
>
.btn
:active
,
.btn-group
>
.btn.active
{
z-index
:
2
}
.btn-group
.dropdown-toggle
:active
,
.btn-group.open
.dropdown-toggle
{
outline
:
0
}
.btn-group
>
.btn
+
.dropdown-toggle
{
*
padding-top
:
5px
;
padding-right
:
8px
;
*
padding-bottom
:
5px
;
padding-left
:
8px
;
-webkit-box-shadow
:
inset
1px
0
0
rgba
(
255
,
255
,
255
,
0.125
),
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
-moz-box-shadow
:
inset
1px
0
0
rgba
(
255
,
255
,
255
,
0.125
),
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
inset
1px
0
0
rgba
(
255
,
255
,
255
,
0.125
),
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.2
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
)}
.btn-group
>
.btn-mini
+
.dropdown-toggle
{
*
padding-top
:
2px
;
padding-right
:
5px
;
*
padding-bottom
:
2px
;
padding-left
:
5px
}
.btn-group
>
.btn-small
+
.dropdown-toggle
{
*
padding-top
:
5px
;
*
padding-bottom
:
4px
}
.btn-group
>
.btn-large
+
.dropdown-toggle
{
*
padding-top
:
7px
;
padding-right
:
12px
;
*
padding-bottom
:
7px
;
padding-left
:
12px
}
.btn-group.open
.dropdown-toggle
{
background-image
:
none
;
-webkit-box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
0.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
-moz-box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
0.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
inset
0
2px
4px
rgba
(
0
,
0
,
0
,
0.15
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
)}
.btn-group.open
.btn.dropdown-toggle
{
background-color
:
#e6e6e6
}
.btn-group.open
.btn-primary.dropdown-toggle
{
background-color
:
#04c
}
.btn-group.open
.btn-warning.dropdown-toggle
{
background-color
:
#f89406
}
.btn-group.open
.btn-danger.dropdown-toggle
{
background-color
:
#bd362f
}
.btn-group.open
.btn-success.dropdown-toggle
{
background-color
:
#51a351
}
.btn-group.open
.btn-info.dropdown-toggle
{
background-color
:
#2f96b4
}
.btn-group.open
.btn-inverse.dropdown-toggle
{
background-color
:
#222
}
.btn
.caret
{
margin-top
:
8px
;
margin-left
:
0
}
.btn-mini
.caret
,
.btn-small
.caret
,
.btn-large
.caret
{
margin-top
:
6px
}
.btn-large
.caret
{
border-top-width
:
5px
;
border-right-width
:
5px
;
border-left-width
:
5px
}
.dropup
.btn-large
.caret
{
border-top
:
0
;
border-bottom
:
5px
solid
#000
}
.btn-primary
.caret
,
.btn-warning
.caret
,
.btn-danger
.caret
,
.btn-info
.caret
,
.btn-success
.caret
,
.btn-inverse
.caret
{
border-top-color
:
#fff
;
border-bottom-color
:
#fff
}
.btn-group-vertical
{
display
:
inline-block
;
*
display
:
inline
;
*
zoom
:
1
}
.btn-group-vertical
.btn
{
display
:
block
;
float
:
none
;
width
:
100%
;
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.btn-group-vertical
.btn
+
.btn
{
margin-top
:
-1px
;
margin-left
:
0
}
.btn-group-vertical
.btn
:first-child
{
-webkit-border-radius
:
4px
4px
0
0
;
-moz-border-radius
:
4px
4px
0
0
;
border-radius
:
4px
4px
0
0
}
.btn-group-vertical
.btn
:last-child
{
-webkit-border-radius
:
0
0
4px
4px
;
-moz-border-radius
:
0
0
4px
4px
;
border-radius
:
0
0
4px
4px
}
.btn-group-vertical
.btn-large
:first-child
{
-webkit-border-radius
:
6px
6px
0
0
;
-moz-border-radius
:
6px
6px
0
0
;
border-radius
:
6px
6px
0
0
}
.btn-group-vertical
.btn-large
:last-child
{
-webkit-border-radius
:
0
0
6px
6px
;
-moz-border-radius
:
0
0
6px
6px
;
border-radius
:
0
0
6px
6px
}
.alert
{
padding
:
8px
35px
8px
14px
;
margin-bottom
:
20px
;
color
:
#c09853
;
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.5
);
background-color
:
#fcf8e3
;
border
:
1px
solid
#fbeed5
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
}
.alert
h4
{
margin
:
0
}
.alert
.close
{
position
:
relative
;
top
:
-2px
;
right
:
-21px
;
line-height
:
20px
}
.alert-success
{
color
:
#468847
;
background-color
:
#dff0d8
;
border-color
:
#d6e9c6
}
.alert-danger
,
.alert-error
{
color
:
#b94a48
;
background-color
:
#f2dede
;
border-color
:
#eed3d7
}
.alert-info
{
color
:
#3a87ad
;
background-color
:
#d9edf7
;
border-color
:
#bce8f1
}
.alert-block
{
padding-top
:
14px
;
padding-bottom
:
14px
}
.alert-block
>
p
,
.alert-block
>
ul
{
margin-bottom
:
0
}
.alert-block
p
+
p
{
margin-top
:
5px
}
.nav
{
margin-bottom
:
20px
;
margin-left
:
0
;
list-style
:
none
}
.nav
>
li
>
a
{
display
:
block
}
.nav
>
li
>
a
:hover
{
text-decoration
:
none
;
background-color
:
#eee
}
.nav
>
.pull-right
{
float
:
right
}
.nav-header
{
display
:
block
;
padding
:
3px
15px
;
font-size
:
11px
;
font-weight
:
bold
;
line-height
:
20px
;
color
:
#999
;
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.5
);
text-transform
:
uppercase
}
.nav
li
+
.nav-header
{
margin-top
:
9px
}
.nav-list
{
padding-right
:
15px
;
padding-left
:
15px
;
margin-bottom
:
0
}
.nav-list
>
li
>
a
,
.nav-list
.nav-header
{
margin-right
:
-15px
;
margin-left
:
-15px
;
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.5
)}
.nav-list
>
li
>
a
{
padding
:
3px
15px
}
.nav-list
>
.active
>
a
,
.nav-list
>
.active
>
a
:hover
{
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.2
);
background-color
:
#08c
}
.nav-list
[
class
^=
"icon-"
]
{
margin-right
:
2px
}
.nav-list
.divider
{
*
width
:
100%
;
height
:
1px
;
margin
:
9px
1px
;
*
margin
:
-5px
0
5px
;
overflow
:
hidden
;
background-color
:
#e5e5e5
;
border-bottom
:
1px
solid
#fff
}
.nav-tabs
,
.nav-pills
{
*
zoom
:
1
}
.nav-tabs
:before
,
.nav-pills
:before
,
.nav-tabs
:after
,
.nav-pills
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.nav-tabs
:after
,
.nav-pills
:after
{
clear
:
both
}
.nav-tabs
>
li
,
.nav-pills
>
li
{
float
:
left
}
.nav-tabs
>
li
>
a
,
.nav-pills
>
li
>
a
{
padding-right
:
12px
;
padding-left
:
12px
;
margin-right
:
2px
;
line-height
:
14px
}
.nav-tabs
{
border-bottom
:
1px
solid
#ddd
}
.nav-tabs
>
li
{
margin-bottom
:
-1px
}
.nav-tabs
>
li
>
a
{
padding-top
:
8px
;
padding-bottom
:
8px
;
line-height
:
20px
;
border
:
1px
solid
transparent
;
-webkit-border-radius
:
4px
4px
0
0
;
-moz-border-radius
:
4px
4px
0
0
;
border-radius
:
4px
4px
0
0
}
.nav-tabs
>
li
>
a
:hover
{
border-color
:
#eee
#eee
#ddd
}
.nav-tabs
>
.active
>
a
,
.nav-tabs
>
.active
>
a
:hover
{
color
:
#555
;
cursor
:
default
;
background-color
:
#fff
;
border
:
1px
solid
#ddd
;
border-bottom-color
:
transparent
}
.nav-pills
>
li
>
a
{
padding-top
:
8px
;
padding-bottom
:
8px
;
margin-top
:
2px
;
margin-bottom
:
2px
;
-webkit-border-radius
:
5px
;
-moz-border-radius
:
5px
;
border-radius
:
5px
}
.nav-pills
>
.active
>
a
,
.nav-pills
>
.active
>
a
:hover
{
color
:
#fff
;
background-color
:
#08c
}
.nav-stacked
>
li
{
float
:
none
}
.nav-stacked
>
li
>
a
{
margin-right
:
0
}
.nav-tabs.nav-stacked
{
border-bottom
:
0
}
.nav-tabs.nav-stacked
>
li
>
a
{
border
:
1px
solid
#ddd
;
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.nav-tabs.nav-stacked
>
li
:first-child
>
a
{
-webkit-border-top-right-radius
:
4px
;
border-top-right-radius
:
4px
;
-webkit-border-top-left-radius
:
4px
;
border-top-left-radius
:
4px
;
-moz-border-radius-topright
:
4px
;
-moz-border-radius-topleft
:
4px
}
.nav-tabs.nav-stacked
>
li
:last-child
>
a
{
-webkit-border-bottom-right-radius
:
4px
;
border-bottom-right-radius
:
4px
;
-webkit-border-bottom-left-radius
:
4px
;
border-bottom-left-radius
:
4px
;
-moz-border-radius-bottomright
:
4px
;
-moz-border-radius-bottomleft
:
4px
}
.nav-tabs.nav-stacked
>
li
>
a
:hover
{
z-index
:
2
;
border-color
:
#ddd
}
.nav-pills.nav-stacked
>
li
>
a
{
margin-bottom
:
3px
}
.nav-pills.nav-stacked
>
li
:last-child
>
a
{
margin-bottom
:
1px
}
.nav-tabs
.dropdown-menu
{
-webkit-border-radius
:
0
0
6px
6px
;
-moz-border-radius
:
0
0
6px
6px
;
border-radius
:
0
0
6px
6px
}
.nav-pills
.dropdown-menu
{
-webkit-border-radius
:
6px
;
-moz-border-radius
:
6px
;
border-radius
:
6px
}
.nav
.dropdown-toggle
.caret
{
margin-top
:
6px
;
border-top-color
:
#08c
;
border-bottom-color
:
#08c
}
.nav
.dropdown-toggle
:hover
.caret
{
border-top-color
:
#005580
;
border-bottom-color
:
#005580
}
.nav-tabs
.dropdown-toggle
.caret
{
margin-top
:
8px
}
.nav
.active
.dropdown-toggle
.caret
{
border-top-color
:
#fff
;
border-bottom-color
:
#fff
}
.nav-tabs
.active
.dropdown-toggle
.caret
{
border-top-color
:
#555
;
border-bottom-color
:
#555
}
.nav
>
.dropdown.active
>
a
:hover
{
cursor
:
pointer
}
.nav-tabs
.open
.dropdown-toggle
,
.nav-pills
.open
.dropdown-toggle
,
.nav
>
li
.dropdown.open.active
>
a
:hover
{
color
:
#fff
;
background-color
:
#999
;
border-color
:
#999
}
.nav
li
.dropdown.open
.caret
,
.nav
li
.dropdown.open.active
.caret
,
.nav
li
.dropdown.open
a
:hover
.caret
{
border-top-color
:
#fff
;
border-bottom-color
:
#fff
;
opacity
:
1
;
filter
:
alpha
(
opacity
=
100
)}
.tabs-stacked
.open
>
a
:hover
{
border-color
:
#999
}
.tabbable
{
*
zoom
:
1
}
.tabbable
:before
,
.tabbable
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.tabbable
:after
{
clear
:
both
}
.tab-content
{
overflow
:
auto
}
.tabs-below
>
.nav-tabs
,
.tabs-right
>
.nav-tabs
,
.tabs-left
>
.nav-tabs
{
border-bottom
:
0
}
.tab-content
>
.tab-pane
,
.pill-content
>
.pill-pane
{
display
:
none
}
.tab-content
>
.active
,
.pill-content
>
.active
{
display
:
block
}
.tabs-below
>
.nav-tabs
{
border-top
:
1px
solid
#ddd
}
.tabs-below
>
.nav-tabs
>
li
{
margin-top
:
-1px
;
margin-bottom
:
0
}
.tabs-below
>
.nav-tabs
>
li
>
a
{
-webkit-border-radius
:
0
0
4px
4px
;
-moz-border-radius
:
0
0
4px
4px
;
border-radius
:
0
0
4px
4px
}
.tabs-below
>
.nav-tabs
>
li
>
a
:hover
{
border-top-color
:
#ddd
;
border-bottom-color
:
transparent
}
.tabs-below
>
.nav-tabs
>
.active
>
a
,
.tabs-below
>
.nav-tabs
>
.active
>
a
:hover
{
border-color
:
transparent
#ddd
#ddd
#ddd
}
.tabs-left
>
.nav-tabs
>
li
,
.tabs-right
>
.nav-tabs
>
li
{
float
:
none
}
.tabs-left
>
.nav-tabs
>
li
>
a
,
.tabs-right
>
.nav-tabs
>
li
>
a
{
min-width
:
74px
;
margin-right
:
0
;
margin-bottom
:
3px
}
.tabs-left
>
.nav-tabs
{
float
:
left
;
margin-right
:
19px
;
border-right
:
1px
solid
#ddd
}
.tabs-left
>
.nav-tabs
>
li
>
a
{
margin-right
:
-1px
;
-webkit-border-radius
:
4px
0
0
4px
;
-moz-border-radius
:
4px
0
0
4px
;
border-radius
:
4px
0
0
4px
}
.tabs-left
>
.nav-tabs
>
li
>
a
:hover
{
border-color
:
#eee
#ddd
#eee
#eee
}
.tabs-left
>
.nav-tabs
.active
>
a
,
.tabs-left
>
.nav-tabs
.active
>
a
:hover
{
border-color
:
#ddd
transparent
#ddd
#ddd
;
*
border-right-color
:
#fff
}
.tabs-right
>
.nav-tabs
{
float
:
right
;
margin-left
:
19px
;
border-left
:
1px
solid
#ddd
}
.tabs-right
>
.nav-tabs
>
li
>
a
{
margin-left
:
-1px
;
-webkit-border-radius
:
0
4px
4px
0
;
-moz-border-radius
:
0
4px
4px
0
;
border-radius
:
0
4px
4px
0
}
.tabs-right
>
.nav-tabs
>
li
>
a
:hover
{
border-color
:
#eee
#eee
#eee
#ddd
}
.tabs-right
>
.nav-tabs
.active
>
a
,
.tabs-right
>
.nav-tabs
.active
>
a
:hover
{
border-color
:
#ddd
#ddd
#ddd
transparent
;
*
border-left-color
:
#fff
}
.nav
>
.disabled
>
a
{
color
:
#999
}
.nav
>
.disabled
>
a
:hover
{
text-decoration
:
none
;
cursor
:
default
;
background-color
:
transparent
}
.navbar
{
*
position
:
relative
;
*
z-index
:
2
;
margin-bottom
:
20px
;
overflow
:
visible
;
color
:
#555
}
.navbar-inner
{
min-height
:
40px
;
padding-right
:
20px
;
padding-left
:
20px
;
background-color
:
#fafafa
;
background-image
:
-moz-linear-gradient
(
top
,
#fff
,
#f2f2f2
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#fff
),
to
(
#f2f2f2
));
background-image
:
-webkit-linear-gradient
(
top
,
#fff
,
#f2f2f2
);
background-image
:
-o-linear-gradient
(
top
,
#fff
,
#f2f2f2
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
,
#f2f2f2
);
background-repeat
:
repeat-x
;
border
:
1px
solid
#d4d4d4
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#fff2f2f2'
,
GradientType
=
0
);
-webkit-box-shadow
:
0
1px
4px
rgba
(
0
,
0
,
0
,
0.065
);
-moz-box-shadow
:
0
1px
4px
rgba
(
0
,
0
,
0
,
0.065
);
box-shadow
:
0
1px
4px
rgba
(
0
,
0
,
0
,
0.065
)}
.navbar
.container
{
width
:
auto
}
.nav-collapse.collapse
{
height
:
auto
}
.navbar
.brand
{
display
:
block
;
float
:
left
;
padding
:
10px
20px
10px
;
margin-left
:
-20px
;
font-size
:
20px
;
font-weight
:
200
;
color
:
#555
;
text-shadow
:
0
1px
0
#fff
}
.navbar
.brand
:hover
{
text-decoration
:
none
}
.navbar-text
{
margin-bottom
:
0
;
line-height
:
40px
}
.navbar-link
{
color
:
#555
}
.navbar-link
:hover
{
color
:
#333
}
.navbar
.divider-vertical
{
height
:
40px
;
margin
:
0
9px
;
border-right
:
1px
solid
#fff
;
border-left
:
1px
solid
#f2f2f2
}
.navbar
.btn
,
.navbar
.btn-group
{
margin-top
:
6px
}
.navbar
.btn-group
.btn
{
margin
:
0
}
.navbar-form
{
margin-bottom
:
0
;
*
zoom
:
1
}
.navbar-form
:before
,
.navbar-form
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.navbar-form
:after
{
clear
:
both
}
.navbar-form
input
,
.navbar-form
select
,
.navbar-form
.radio
,
.navbar-form
.checkbox
{
margin-top
:
5px
}
.navbar-form
input
,
.navbar-form
select
,
.navbar-form
.btn
{
display
:
inline-block
;
margin-bottom
:
0
}
.navbar-form
input
[
type
=
"image"
],
.navbar-form
input
[
type
=
"checkbox"
],
.navbar-form
input
[
type
=
"radio"
]
{
margin-top
:
3px
}
.navbar-form
.input-append
,
.navbar-form
.input-prepend
{
margin-top
:
6px
;
white-space
:
nowrap
}
.navbar-form
.input-append
input
,
.navbar-form
.input-prepend
input
{
margin-top
:
0
}
.navbar-search
{
position
:
relative
;
float
:
left
;
margin-top
:
5px
;
margin-bottom
:
0
}
.navbar-search
.search-query
{
padding
:
4px
14px
;
margin-bottom
:
0
;
font-family
:
"Helvetica Neue"
,
Helvetica
,
Arial
,
sans-serif
;
font-size
:
13px
;
font-weight
:
normal
;
line-height
:
1
;
-webkit-border-radius
:
15px
;
-moz-border-radius
:
15px
;
border-radius
:
15px
}
.navbar-static-top
{
position
:
static
;
width
:
100%
;
margin-bottom
:
0
}
.navbar-static-top
.navbar-inner
{
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.navbar-fixed-top
,
.navbar-fixed-bottom
{
position
:
fixed
;
right
:
0
;
left
:
0
;
z-index
:
1030
;
margin-bottom
:
0
}
.navbar-fixed-top
.navbar-inner
,
.navbar-fixed-bottom
.navbar-inner
,
.navbar-static-top
.navbar-inner
{
border
:
0
}
.navbar-fixed-top
.navbar-inner
,
.navbar-fixed-bottom
.navbar-inner
{
padding-right
:
0
;
padding-left
:
0
;
-webkit-border-radius
:
0
;
-moz-border-radius
:
0
;
border-radius
:
0
}
.navbar-static-top
.container
,
.navbar-fixed-top
.container
,
.navbar-fixed-bottom
.container
{
width
:
940px
}
.navbar-fixed-top
{
top
:
0
}
.navbar-fixed-top
.navbar-inner
,
.navbar-static-top
.navbar-inner
{
-webkit-box-shadow
:
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.1
),
0
1px
10px
rgba
(
0
,
0
,
0
,
0.1
);
-moz-box-shadow
:
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.1
),
0
1px
10px
rgba
(
0
,
0
,
0
,
0.1
);
box-shadow
:
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.1
),
0
1px
10px
rgba
(
0
,
0
,
0
,
0.1
)}
.navbar-fixed-bottom
{
bottom
:
0
}
.navbar-fixed-bottom
.navbar-inner
{
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
0
,
0
,
0
,
0.1
),
0
-1px
10px
rgba
(
0
,
0
,
0
,
0.1
);
-moz-box-shadow
:
inset
0
1px
0
rgba
(
0
,
0
,
0
,
0.1
),
0
-1px
10px
rgba
(
0
,
0
,
0
,
0.1
);
box-shadow
:
inset
0
1px
0
rgba
(
0
,
0
,
0
,
0.1
),
0
-1px
10px
rgba
(
0
,
0
,
0
,
0.1
)}
.navbar
.nav
{
position
:
relative
;
left
:
0
;
display
:
block
;
float
:
left
;
margin
:
0
10px
0
0
}
.navbar
.nav.pull-right
{
float
:
right
}
.navbar
.nav
>
li
{
float
:
left
}
.navbar
.nav
>
li
>
a
{
float
:
none
;
padding
:
10px
15px
10px
;
color
:
#555
;
text-decoration
:
none
;
text-shadow
:
0
1px
0
#fff
}
.navbar
.nav
.dropdown-toggle
.caret
{
margin-top
:
8px
}
.navbar
.nav
>
li
>
a
:focus
,
.navbar
.nav
>
li
>
a
:hover
{
color
:
#333
;
text-decoration
:
none
;
background-color
:
transparent
}
.navbar
.nav
>
.active
>
a
,
.navbar
.nav
>
.active
>
a
:hover
,
.navbar
.nav
>
.active
>
a
:focus
{
color
:
#555
;
text-decoration
:
none
;
background-color
:
#e5e5e5
;
-webkit-box-shadow
:
inset
0
3px
8px
rgba
(
0
,
0
,
0
,
0.125
);
-moz-box-shadow
:
inset
0
3px
8px
rgba
(
0
,
0
,
0
,
0.125
);
box-shadow
:
inset
0
3px
8px
rgba
(
0
,
0
,
0
,
0.125
)}
.navbar
.btn-navbar
{
display
:
none
;
float
:
right
;
padding
:
7px
10px
;
margin-right
:
5px
;
margin-left
:
5px
;
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#ededed
;
*
background-color
:
#e5e5e5
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#f2f2f2
),
to
(
#e5e5e5
));
background-image
:
-webkit-linear-gradient
(
top
,
#f2f2f2
,
#e5e5e5
);
background-image
:
-o-linear-gradient
(
top
,
#f2f2f2
,
#e5e5e5
);
background-image
:
linear-gradient
(
to
bottom
,
#f2f2f2
,
#e5e5e5
);
background-image
:
-moz-linear-gradient
(
top
,
#f2f2f2
,
#e5e5e5
);
background-repeat
:
repeat-x
;
border-color
:
#e5e5e5
#e5e5e5
#bfbfbf
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#fff2f2f2'
,
endColorstr
=
'#ffe5e5e5'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.075
);
-moz-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.075
)}
.navbar
.btn-navbar
:hover
,
.navbar
.btn-navbar
:active
,
.navbar
.btn-navbar.active
,
.navbar
.btn-navbar.disabled
,
.navbar
.btn-navbar
[
disabled
]
{
color
:
#fff
;
background-color
:
#e5e5e5
;
*
background-color
:
#d9d9d9
}
.navbar
.btn-navbar
:active
,
.navbar
.btn-navbar.active
{
background-color
:
#ccc
\
9
}
.navbar
.btn-navbar
.icon-bar
{
display
:
block
;
width
:
18px
;
height
:
2px
;
background-color
:
#f5f5f5
;
-webkit-border-radius
:
1px
;
-moz-border-radius
:
1px
;
border-radius
:
1px
;
-webkit-box-shadow
:
0
1px
0
rgba
(
0
,
0
,
0
,
0.25
);
-moz-box-shadow
:
0
1px
0
rgba
(
0
,
0
,
0
,
0.25
);
box-shadow
:
0
1px
0
rgba
(
0
,
0
,
0
,
0.25
)}
.btn-navbar
.icon-bar
+
.icon-bar
{
margin-top
:
3px
}
.navbar
.nav
>
li
>
.dropdown-menu
:before
{
position
:
absolute
;
top
:
-7px
;
left
:
9px
;
display
:
inline-block
;
border-right
:
7px
solid
transparent
;
border-bottom
:
7px
solid
#ccc
;
border-left
:
7px
solid
transparent
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.2
);
content
:
''
}
.navbar
.nav
>
li
>
.dropdown-menu
:after
{
position
:
absolute
;
top
:
-6px
;
left
:
10px
;
display
:
inline-block
;
border-right
:
6px
solid
transparent
;
border-bottom
:
6px
solid
#fff
;
border-left
:
6px
solid
transparent
;
content
:
''
}
.navbar-fixed-bottom
.nav
>
li
>
.dropdown-menu
:before
{
top
:
auto
;
bottom
:
-7px
;
border-top
:
7px
solid
#ccc
;
border-bottom
:
0
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.2
)}
.navbar-fixed-bottom
.nav
>
li
>
.dropdown-menu
:after
{
top
:
auto
;
bottom
:
-6px
;
border-top
:
6px
solid
#fff
;
border-bottom
:
0
}
.navbar
.nav
li
.dropdown.open
>
.dropdown-toggle
,
.navbar
.nav
li
.dropdown.active
>
.dropdown-toggle
,
.navbar
.nav
li
.dropdown.open.active
>
.dropdown-toggle
{
color
:
#555
;
background-color
:
#e5e5e5
}
.navbar
.nav
li
.dropdown
>
.dropdown-toggle
.caret
{
border-top-color
:
#555
;
border-bottom-color
:
#555
}
.navbar
.nav
li
.dropdown.open
>
.dropdown-toggle
.caret
,
.navbar
.nav
li
.dropdown.active
>
.dropdown-toggle
.caret
,
.navbar
.nav
li
.dropdown.open.active
>
.dropdown-toggle
.caret
{
border-top-color
:
#555
;
border-bottom-color
:
#555
}
.navbar
.pull-right
>
li
>
.dropdown-menu
,
.navbar
.nav
>
li
>
.dropdown-menu.pull-right
{
right
:
0
;
left
:
auto
}
.navbar
.pull-right
>
li
>
.dropdown-menu
:before
,
.navbar
.nav
>
li
>
.dropdown-menu.pull-right
:before
{
right
:
12px
;
left
:
auto
}
.navbar
.pull-right
>
li
>
.dropdown-menu
:after
,
.navbar
.nav
>
li
>
.dropdown-menu.pull-right
:after
{
right
:
13px
;
left
:
auto
}
.navbar
.pull-right
>
li
>
.dropdown-menu
.dropdown-menu
,
.navbar
.nav
>
li
>
.dropdown-menu.pull-right
.dropdown-menu
{
right
:
100%
;
left
:
auto
;
margin-right
:
-1px
;
margin-left
:
0
;
-webkit-border-radius
:
6px
0
6px
6px
;
-moz-border-radius
:
6px
0
6px
6px
;
border-radius
:
6px
0
6px
6px
}
.navbar-inverse
{
color
:
#999
}
.navbar-inverse
.navbar-inner
{
background-color
:
#1b1b1b
;
background-image
:
-moz-linear-gradient
(
top
,
#222
,
#111
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#222
),
to
(
#111
));
background-image
:
-webkit-linear-gradient
(
top
,
#222
,
#111
);
background-image
:
-o-linear-gradient
(
top
,
#222
,
#111
);
background-image
:
linear-gradient
(
to
bottom
,
#222
,
#111
);
background-repeat
:
repeat-x
;
border-color
:
#252525
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff222222'
,
endColorstr
=
'#ff111111'
,
GradientType
=
0
)}
.navbar-inverse
.brand
,
.navbar-inverse
.nav
>
li
>
a
{
color
:
#999
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
)}
.navbar-inverse
.brand
:hover
,
.navbar-inverse
.nav
>
li
>
a
:hover
{
color
:
#fff
}
.navbar-inverse
.nav
>
li
>
a
:focus
,
.navbar-inverse
.nav
>
li
>
a
:hover
{
color
:
#fff
;
background-color
:
transparent
}
.navbar-inverse
.nav
.active
>
a
,
.navbar-inverse
.nav
.active
>
a
:hover
,
.navbar-inverse
.nav
.active
>
a
:focus
{
color
:
#fff
;
background-color
:
#111
}
.navbar-inverse
.navbar-link
{
color
:
#999
}
.navbar-inverse
.navbar-link
:hover
{
color
:
#fff
}
.navbar-inverse
.divider-vertical
{
border-right-color
:
#222
;
border-left-color
:
#111
}
.navbar-inverse
.nav
li
.dropdown.open
>
.dropdown-toggle
,
.navbar-inverse
.nav
li
.dropdown.active
>
.dropdown-toggle
,
.navbar-inverse
.nav
li
.dropdown.open.active
>
.dropdown-toggle
{
color
:
#fff
;
background-color
:
#111
}
.navbar-inverse
.nav
li
.dropdown
>
.dropdown-toggle
.caret
{
border-top-color
:
#999
;
border-bottom-color
:
#999
}
.navbar-inverse
.nav
li
.dropdown.open
>
.dropdown-toggle
.caret
,
.navbar-inverse
.nav
li
.dropdown.active
>
.dropdown-toggle
.caret
,
.navbar-inverse
.nav
li
.dropdown.open.active
>
.dropdown-toggle
.caret
{
border-top-color
:
#fff
;
border-bottom-color
:
#fff
}
.navbar-inverse
.navbar-search
.search-query
{
color
:
#fff
;
background-color
:
#515151
;
border-color
:
#111
;
-webkit-box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
);
-moz-box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
);
box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.1
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
);
-webkit-transition
:
none
;
-moz-transition
:
none
;
-o-transition
:
none
;
transition
:
none
}
.navbar-inverse
.navbar-search
.search-query
:-moz-placeholder
{
color
:
#ccc
}
.navbar-inverse
.navbar-search
.search-query
:-ms-input-placeholder
{
color
:
#ccc
}
.navbar-inverse
.navbar-search
.search-query
::-webkit-input-placeholder
{
color
:
#ccc
}
.navbar-inverse
.navbar-search
.search-query
:focus
,
.navbar-inverse
.navbar-search
.search-query.focused
{
padding
:
5px
15px
;
color
:
#333
;
text-shadow
:
0
1px
0
#fff
;
background-color
:
#fff
;
border
:
0
;
outline
:
0
;
-webkit-box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
0.15
);
-moz-box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
0.15
);
box-shadow
:
0
0
3px
rgba
(
0
,
0
,
0
,
0.15
)}
.navbar-inverse
.btn-navbar
{
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#0e0e0e
;
*
background-color
:
#040404
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#151515
),
to
(
#040404
));
background-image
:
-webkit-linear-gradient
(
top
,
#151515
,
#040404
);
background-image
:
-o-linear-gradient
(
top
,
#151515
,
#040404
);
background-image
:
linear-gradient
(
to
bottom
,
#151515
,
#040404
);
background-image
:
-moz-linear-gradient
(
top
,
#151515
,
#040404
);
background-repeat
:
repeat-x
;
border-color
:
#040404
#040404
#000
;
border-color
:
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.1
)
rgba
(
0
,
0
,
0
,
0.25
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff151515'
,
endColorstr
=
'#ff040404'
,
GradientType
=
0
);
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
enabled
=
false
)}
.navbar-inverse
.btn-navbar
:hover
,
.navbar-inverse
.btn-navbar
:active
,
.navbar-inverse
.btn-navbar.active
,
.navbar-inverse
.btn-navbar.disabled
,
.navbar-inverse
.btn-navbar
[
disabled
]
{
color
:
#fff
;
background-color
:
#040404
;
*
background-color
:
#000
}
.navbar-inverse
.btn-navbar
:active
,
.navbar-inverse
.btn-navbar.active
{
background-color
:
#000
\
9
}
.breadcrumb
{
padding
:
8px
15px
;
margin
:
0
0
20px
;
list-style
:
none
;
background-color
:
#f5f5f5
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
}
.breadcrumb
li
{
display
:
inline-block
;
*
display
:
inline
;
text-shadow
:
0
1px
0
#fff
;
*
zoom
:
1
}
.breadcrumb
.divider
{
padding
:
0
5px
;
color
:
#ccc
}
.breadcrumb
.active
{
color
:
#999
}
.pagination
{
height
:
40px
;
margin
:
20px
0
}
.pagination
ul
{
display
:
inline-block
;
*
display
:
inline
;
margin-bottom
:
0
;
margin-left
:
0
;
-webkit-border-radius
:
3px
;
-moz-border-radius
:
3px
;
border-radius
:
3px
;
*
zoom
:
1
;
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
-moz-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
)}
.pagination
li
{
display
:
inline
}
.pagination
a
,
.pagination
span
{
float
:
left
;
padding
:
0
14px
;
line-height
:
38px
;
text-decoration
:
none
;
background-color
:
#fff
;
border
:
1px
solid
#ddd
;
border-left-width
:
0
}
.pagination
a
:hover
,
.pagination
.active
a
,
.pagination
.active
span
{
background-color
:
#f5f5f5
}
.pagination
.active
a
,
.pagination
.active
span
{
color
:
#999
;
cursor
:
default
}
.pagination
.disabled
span
,
.pagination
.disabled
a
,
.pagination
.disabled
a
:hover
{
color
:
#999
;
cursor
:
default
;
background-color
:
transparent
}
.pagination
li
:first-child
a
,
.pagination
li
:first-child
span
{
border-left-width
:
1px
;
-webkit-border-radius
:
3px
0
0
3px
;
-moz-border-radius
:
3px
0
0
3px
;
border-radius
:
3px
0
0
3px
}
.pagination
li
:last-child
a
,
.pagination
li
:last-child
span
{
-webkit-border-radius
:
0
3px
3px
0
;
-moz-border-radius
:
0
3px
3px
0
;
border-radius
:
0
3px
3px
0
}
.pagination-centered
{
text-align
:
center
}
.pagination-right
{
text-align
:
right
}
.pager
{
margin
:
20px
0
;
text-align
:
center
;
list-style
:
none
;
*
zoom
:
1
}
.pager
:before
,
.pager
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.pager
:after
{
clear
:
both
}
.pager
li
{
display
:
inline
}
.pager
a
{
display
:
inline-block
;
padding
:
5px
14px
;
background-color
:
#fff
;
border
:
1px
solid
#ddd
;
-webkit-border-radius
:
15px
;
-moz-border-radius
:
15px
;
border-radius
:
15px
}
.pager
a
:hover
{
text-decoration
:
none
;
background-color
:
#f5f5f5
}
.pager
.next
a
{
float
:
right
}
.pager
.previous
a
{
float
:
left
}
.pager
.disabled
a
,
.pager
.disabled
a
:hover
{
color
:
#999
;
cursor
:
default
;
background-color
:
#fff
}
.modal-open
.dropdown-menu
{
z-index
:
2050
}
.modal-open
.dropdown.open
{
*
z-index
:
2050
}
.modal-open
.popover
{
z-index
:
2060
}
.modal-open
.tooltip
{
z-index
:
2080
}
.modal-backdrop
{
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
z-index
:
1040
;
background-color
:
#000
}
.modal-backdrop.fade
{
opacity
:
0
}
.modal-backdrop
,
.modal-backdrop.fade.in
{
opacity
:
.8
;
filter
:
alpha
(
opacity
=
80
)}
.modal
{
position
:
fixed
;
top
:
50%
;
left
:
50%
;
z-index
:
1050
;
width
:
560px
;
margin
:
-250px
0
0
-280px
;
overflow
:
auto
;
background-color
:
#fff
;
border
:
1px
solid
#999
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.3
);
*
border
:
1px
solid
#999
;
-webkit-border-radius
:
6px
;
-moz-border-radius
:
6px
;
border-radius
:
6px
;
-webkit-box-shadow
:
0
3px
7px
rgba
(
0
,
0
,
0
,
0.3
);
-moz-box-shadow
:
0
3px
7px
rgba
(
0
,
0
,
0
,
0.3
);
box-shadow
:
0
3px
7px
rgba
(
0
,
0
,
0
,
0.3
);
-webkit-background-clip
:
padding-box
;
-moz-background-clip
:
padding-box
;
background-clip
:
padding-box
}
.modal.fade
{
top
:
-25%
;
-webkit-transition
:
opacity
.3s
linear
,
top
.3s
ease-out
;
-moz-transition
:
opacity
.3s
linear
,
top
.3s
ease-out
;
-o-transition
:
opacity
.3s
linear
,
top
.3s
ease-out
;
transition
:
opacity
.3s
linear
,
top
.3s
ease-out
}
.modal.fade.in
{
top
:
50%
}
.modal-header
{
padding
:
9px
15px
;
border-bottom
:
1px
solid
#eee
}
.modal-header
.close
{
margin-top
:
2px
}
.modal-header
h3
{
margin
:
0
;
line-height
:
30px
}
.modal-body
{
max-height
:
400px
;
padding
:
15px
;
overflow-y
:
auto
}
.modal-form
{
margin-bottom
:
0
}
.modal-footer
{
padding
:
14px
15px
15px
;
margin-bottom
:
0
;
text-align
:
right
;
background-color
:
#f5f5f5
;
border-top
:
1px
solid
#ddd
;
-webkit-border-radius
:
0
0
6px
6px
;
-moz-border-radius
:
0
0
6px
6px
;
border-radius
:
0
0
6px
6px
;
*
zoom
:
1
;
-webkit-box-shadow
:
inset
0
1px
0
#fff
;
-moz-box-shadow
:
inset
0
1px
0
#fff
;
box-shadow
:
inset
0
1px
0
#fff
}
.modal-footer
:before
,
.modal-footer
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.modal-footer
:after
{
clear
:
both
}
.modal-footer
.btn
+
.btn
{
margin-bottom
:
0
;
margin-left
:
5px
}
.modal-footer
.btn-group
.btn
+
.btn
{
margin-left
:
-1px
}
.tooltip
{
position
:
absolute
;
z-index
:
1030
;
display
:
block
;
padding
:
5px
;
font-size
:
11px
;
opacity
:
0
;
filter
:
alpha
(
opacity
=
0
);
visibility
:
visible
}
.tooltip.in
{
opacity
:
.8
;
filter
:
alpha
(
opacity
=
80
)}
.tooltip.top
{
margin-top
:
-3px
}
.tooltip.right
{
margin-left
:
3px
}
.tooltip.bottom
{
margin-top
:
3px
}
.tooltip.left
{
margin-left
:
-3px
}
.tooltip-inner
{
max-width
:
200px
;
padding
:
3px
8px
;
color
:
#fff
;
text-align
:
center
;
text-decoration
:
none
;
background-color
:
#000
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
}
.tooltip-arrow
{
position
:
absolute
;
width
:
0
;
height
:
0
;
border-color
:
transparent
;
border-style
:
solid
}
.tooltip.top
.tooltip-arrow
{
bottom
:
0
;
left
:
50%
;
margin-left
:
-5px
;
border-top-color
:
#000
;
border-width
:
5px
5px
0
}
.tooltip.right
.tooltip-arrow
{
top
:
50%
;
left
:
0
;
margin-top
:
-5px
;
border-right-color
:
#000
;
border-width
:
5px
5px
5px
0
}
.tooltip.left
.tooltip-arrow
{
top
:
50%
;
right
:
0
;
margin-top
:
-5px
;
border-left-color
:
#000
;
border-width
:
5px
0
5px
5px
}
.tooltip.bottom
.tooltip-arrow
{
top
:
0
;
left
:
50%
;
margin-left
:
-5px
;
border-bottom-color
:
#000
;
border-width
:
0
5px
5px
}
.popover
{
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
1010
;
display
:
none
;
width
:
236px
;
padding
:
1px
;
background-color
:
#fff
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0.2
);
-webkit-border-radius
:
6px
;
-moz-border-radius
:
6px
;
border-radius
:
6px
;
-webkit-box-shadow
:
0
5px
10px
rgba
(
0
,
0
,
0
,
0.2
);
-moz-box-shadow
:
0
5px
10px
rgba
(
0
,
0
,
0
,
0.2
);
box-shadow
:
0
5px
10px
rgba
(
0
,
0
,
0
,
0.2
);
-webkit-background-clip
:
padding-box
;
-moz-background-clip
:
padding
;
background-clip
:
padding-box
}
.popover.top
{
margin-bottom
:
10px
}
.popover.right
{
margin-left
:
10px
}
.popover.bottom
{
margin-top
:
10px
}
.popover.left
{
margin-right
:
10px
}
.popover-title
{
padding
:
8px
14px
;
margin
:
0
;
font-size
:
14px
;
font-weight
:
normal
;
line-height
:
18px
;
background-color
:
#f7f7f7
;
border-bottom
:
1px
solid
#ebebeb
;
-webkit-border-radius
:
5px
5px
0
0
;
-moz-border-radius
:
5px
5px
0
0
;
border-radius
:
5px
5px
0
0
}
.popover-content
{
padding
:
9px
14px
}
.popover-content
p
,
.popover-content
ul
,
.popover-content
ol
{
margin-bottom
:
0
}
.popover
.arrow
,
.popover
.arrow
:after
{
position
:
absolute
;
display
:
inline-block
;
width
:
0
;
height
:
0
;
border-color
:
transparent
;
border-style
:
solid
}
.popover
.arrow
:after
{
z-index
:
-1
;
content
:
""
}
.popover.top
.arrow
{
bottom
:
-10px
;
left
:
50%
;
margin-left
:
-10px
;
border-top-color
:
#fff
;
border-width
:
10px
10px
0
}
.popover.top
.arrow
:after
{
bottom
:
-1px
;
left
:
-11px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.25
);
border-width
:
11px
11px
0
}
.popover.right
.arrow
{
top
:
50%
;
left
:
-10px
;
margin-top
:
-10px
;
border-right-color
:
#fff
;
border-width
:
10px
10px
10px
0
}
.popover.right
.arrow
:after
{
bottom
:
-11px
;
left
:
-1px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.25
);
border-width
:
11px
11px
11px
0
}
.popover.bottom
.arrow
{
top
:
-10px
;
left
:
50%
;
margin-left
:
-10px
;
border-bottom-color
:
#fff
;
border-width
:
0
10px
10px
}
.popover.bottom
.arrow
:after
{
top
:
-1px
;
left
:
-11px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.25
);
border-width
:
0
11px
11px
}
.popover.left
.arrow
{
top
:
50%
;
right
:
-10px
;
margin-top
:
-10px
;
border-left-color
:
#fff
;
border-width
:
10px
0
10px
10px
}
.popover.left
.arrow
:after
{
right
:
-1px
;
bottom
:
-11px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.25
);
border-width
:
11px
0
11px
11px
}
.thumbnails
{
margin-left
:
-20px
;
list-style
:
none
;
*
zoom
:
1
}
.thumbnails
:before
,
.thumbnails
:after
{
display
:
table
;
line-height
:
0
;
content
:
""
}
.thumbnails
:after
{
clear
:
both
}
.row-fluid
.thumbnails
{
margin-left
:
0
}
.thumbnails
>
li
{
float
:
left
;
margin-bottom
:
20px
;
margin-left
:
20px
}
.thumbnail
{
display
:
block
;
padding
:
4px
;
line-height
:
20px
;
border
:
1px
solid
#ddd
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
-webkit-box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.055
);
-moz-box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.055
);
box-shadow
:
0
1px
3px
rgba
(
0
,
0
,
0
,
0.055
);
-webkit-transition
:
all
.2s
ease-in-out
;
-moz-transition
:
all
.2s
ease-in-out
;
-o-transition
:
all
.2s
ease-in-out
;
transition
:
all
.2s
ease-in-out
}
a
.thumbnail
:hover
{
border-color
:
#08c
;
-webkit-box-shadow
:
0
1px
4px
rgba
(
0
,
105
,
214
,
0.25
);
-moz-box-shadow
:
0
1px
4px
rgba
(
0
,
105
,
214
,
0.25
);
box-shadow
:
0
1px
4px
rgba
(
0
,
105
,
214
,
0.25
)}
.thumbnail
>
img
{
display
:
block
;
max-width
:
100%
;
margin-right
:
auto
;
margin-left
:
auto
}
.thumbnail
.caption
{
padding
:
9px
;
color
:
#555
}
.label
,
.badge
{
font-size
:
11.844px
;
font-weight
:
bold
;
line-height
:
14px
;
color
:
#fff
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
white-space
:
nowrap
;
vertical-align
:
baseline
;
background-color
:
#999
}
.label
{
padding
:
1px
4px
2px
;
-webkit-border-radius
:
3px
;
-moz-border-radius
:
3px
;
border-radius
:
3px
}
.badge
{
padding
:
1px
9px
2px
;
-webkit-border-radius
:
9px
;
-moz-border-radius
:
9px
;
border-radius
:
9px
}
a
.label
:hover
,
a
.badge
:hover
{
color
:
#fff
;
text-decoration
:
none
;
cursor
:
pointer
}
.label-important
,
.badge-important
{
background-color
:
#b94a48
}
.label-important
[
href
],
.badge-important
[
href
]
{
background-color
:
#953b39
}
.label-warning
,
.badge-warning
{
background-color
:
#f89406
}
.label-warning
[
href
],
.badge-warning
[
href
]
{
background-color
:
#c67605
}
.label-success
,
.badge-success
{
background-color
:
#468847
}
.label-success
[
href
],
.badge-success
[
href
]
{
background-color
:
#356635
}
.label-info
,
.badge-info
{
background-color
:
#3a87ad
}
.label-info
[
href
],
.badge-info
[
href
]
{
background-color
:
#2d6987
}
.label-inverse
,
.badge-inverse
{
background-color
:
#333
}
.label-inverse
[
href
],
.badge-inverse
[
href
]
{
background-color
:
#1a1a1a
}
.btn
.label
,
.btn
.badge
{
position
:
relative
;
top
:
-1px
}
.btn-mini
.label
,
.btn-mini
.badge
{
top
:
0
}
@-webkit-keyframes
progress-bar-stripes
{
from
{
background-position
:
40px
0
}
to
{
background-position
:
0
0
}}
@-moz-keyframes
progress-bar-stripes
{
from
{
background-position
:
40px
0
}
to
{
background-position
:
0
0
}}
@-ms-keyframes
progress-bar-stripes
{
from
{
background-position
:
40px
0
}
to
{
background-position
:
0
0
}}
@-o-keyframes
progress-bar-stripes
{
from
{
background-position
:
0
0
}
to
{
background-position
:
40px
0
}}
@keyframes
progress-bar-stripes
{
from
{
background-position
:
40px
0
}
to
{
background-position
:
0
0
}}
.progress
{
height
:
20px
;
margin-bottom
:
20px
;
overflow
:
hidden
;
background-color
:
#f7f7f7
;
background-image
:
-moz-linear-gradient
(
top
,
#f5f5f5
,
#f9f9f9
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#f5f5f5
),
to
(
#f9f9f9
));
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
,
#f9f9f9
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
,
#f9f9f9
);
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
,
#f9f9f9
);
background-repeat
:
repeat-x
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#fff9f9f9'
,
GradientType
=
0
);
-webkit-box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.1
);
-moz-box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.1
);
box-shadow
:
inset
0
1px
2px
rgba
(
0
,
0
,
0
,
0.1
)}
.progress
.bar
{
float
:
left
;
width
:
0
;
height
:
100%
;
font-size
:
12px
;
color
:
#fff
;
text-align
:
center
;
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
);
background-color
:
#0e90d2
;
background-image
:
-moz-linear-gradient
(
top
,
#149bdf
,
#0480be
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#149bdf
),
to
(
#0480be
));
background-image
:
-webkit-linear-gradient
(
top
,
#149bdf
,
#0480be
);
background-image
:
-o-linear-gradient
(
top
,
#149bdf
,
#0480be
);
background-image
:
linear-gradient
(
to
bottom
,
#149bdf
,
#0480be
);
background-repeat
:
repeat-x
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff149bdf'
,
endColorstr
=
'#ff0480be'
,
GradientType
=
0
);
-webkit-box-shadow
:
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.15
);
-moz-box-shadow
:
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.15
);
box-shadow
:
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.15
);
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-transition
:
width
.6s
ease
;
-moz-transition
:
width
.6s
ease
;
-o-transition
:
width
.6s
ease
;
transition
:
width
.6s
ease
}
.progress
.bar
+
.bar
{
-webkit-box-shadow
:
inset
1px
0
0
rgba
(
0
,
0
,
0
,
0.15
),
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.15
);
-moz-box-shadow
:
inset
1px
0
0
rgba
(
0
,
0
,
0
,
0.15
),
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.15
);
box-shadow
:
inset
1px
0
0
rgba
(
0
,
0
,
0
,
0.15
),
inset
0
-1px
0
rgba
(
0
,
0
,
0
,
0.15
)}
.progress-striped
.bar
{
background-color
:
#149bdf
;
background-image
:
-webkit-gradient
(
linear
,
0
100%
,
100%
0
,
color-stop
(
0.25
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.25
,
transparent
),
color-stop
(
0.5
,
transparent
),
color-stop
(
0.5
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
transparent
),
to
(
transparent
));
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-moz-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
-webkit-background-size
:
40px
40px
;
-moz-background-size
:
40px
40px
;
-o-background-size
:
40px
40px
;
background-size
:
40px
40px
}
.progress.active
.bar
{
-webkit-animation
:
progress-bar-stripes
2s
linear
infinite
;
-moz-animation
:
progress-bar-stripes
2s
linear
infinite
;
-ms-animation
:
progress-bar-stripes
2s
linear
infinite
;
-o-animation
:
progress-bar-stripes
2s
linear
infinite
;
animation
:
progress-bar-stripes
2s
linear
infinite
}
.progress-danger
.bar
,
.progress
.bar-danger
{
background-color
:
#dd514c
;
background-image
:
-moz-linear-gradient
(
top
,
#ee5f5b
,
#c43c35
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#ee5f5b
),
to
(
#c43c35
));
background-image
:
-webkit-linear-gradient
(
top
,
#ee5f5b
,
#c43c35
);
background-image
:
-o-linear-gradient
(
top
,
#ee5f5b
,
#c43c35
);
background-image
:
linear-gradient
(
to
bottom
,
#ee5f5b
,
#c43c35
);
background-repeat
:
repeat-x
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ffee5f5b'
,
endColorstr
=
'#ffc43c35'
,
GradientType
=
0
)}
.progress-danger.progress-striped
.bar
,
.progress-striped
.bar-danger
{
background-color
:
#ee5f5b
;
background-image
:
-webkit-gradient
(
linear
,
0
100%
,
100%
0
,
color-stop
(
0.25
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.25
,
transparent
),
color-stop
(
0.5
,
transparent
),
color-stop
(
0.5
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
transparent
),
to
(
transparent
));
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-moz-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
)}
.progress-success
.bar
,
.progress
.bar-success
{
background-color
:
#5eb95e
;
background-image
:
-moz-linear-gradient
(
top
,
#62c462
,
#57a957
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#62c462
),
to
(
#57a957
));
background-image
:
-webkit-linear-gradient
(
top
,
#62c462
,
#57a957
);
background-image
:
-o-linear-gradient
(
top
,
#62c462
,
#57a957
);
background-image
:
linear-gradient
(
to
bottom
,
#62c462
,
#57a957
);
background-repeat
:
repeat-x
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff62c462'
,
endColorstr
=
'#ff57a957'
,
GradientType
=
0
)}
.progress-success.progress-striped
.bar
,
.progress-striped
.bar-success
{
background-color
:
#62c462
;
background-image
:
-webkit-gradient
(
linear
,
0
100%
,
100%
0
,
color-stop
(
0.25
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.25
,
transparent
),
color-stop
(
0.5
,
transparent
),
color-stop
(
0.5
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
transparent
),
to
(
transparent
));
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-moz-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
)}
.progress-info
.bar
,
.progress
.bar-info
{
background-color
:
#4bb1cf
;
background-image
:
-moz-linear-gradient
(
top
,
#5bc0de
,
#339bb9
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#5bc0de
),
to
(
#339bb9
));
background-image
:
-webkit-linear-gradient
(
top
,
#5bc0de
,
#339bb9
);
background-image
:
-o-linear-gradient
(
top
,
#5bc0de
,
#339bb9
);
background-image
:
linear-gradient
(
to
bottom
,
#5bc0de
,
#339bb9
);
background-repeat
:
repeat-x
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#ff5bc0de'
,
endColorstr
=
'#ff339bb9'
,
GradientType
=
0
)}
.progress-info.progress-striped
.bar
,
.progress-striped
.bar-info
{
background-color
:
#5bc0de
;
background-image
:
-webkit-gradient
(
linear
,
0
100%
,
100%
0
,
color-stop
(
0.25
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.25
,
transparent
),
color-stop
(
0.5
,
transparent
),
color-stop
(
0.5
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
transparent
),
to
(
transparent
));
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-moz-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
)}
.progress-warning
.bar
,
.progress
.bar-warning
{
background-color
:
#faa732
;
background-image
:
-moz-linear-gradient
(
top
,
#fbb450
,
#f89406
);
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#fbb450
),
to
(
#f89406
));
background-image
:
-webkit-linear-gradient
(
top
,
#fbb450
,
#f89406
);
background-image
:
-o-linear-gradient
(
top
,
#fbb450
,
#f89406
);
background-image
:
linear-gradient
(
to
bottom
,
#fbb450
,
#f89406
);
background-repeat
:
repeat-x
;
filter
:
progid
:
dximagetransform
.
microsoft
.
gradient
(
startColorstr
=
'#fffbb450'
,
endColorstr
=
'#fff89406'
,
GradientType
=
0
)}
.progress-warning.progress-striped
.bar
,
.progress-striped
.bar-warning
{
background-color
:
#fbb450
;
background-image
:
-webkit-gradient
(
linear
,
0
100%
,
100%
0
,
color-stop
(
0.25
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.25
,
transparent
),
color-stop
(
0.5
,
transparent
),
color-stop
(
0.5
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
rgba
(
255
,
255
,
255
,
0.15
)),
color-stop
(
0.75
,
transparent
),
to
(
transparent
));
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-moz-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
)}
.accordion
{
margin-bottom
:
20px
}
.accordion-group
{
margin-bottom
:
2px
;
border
:
1px
solid
#e5e5e5
;
-webkit-border-radius
:
4px
;
-moz-border-radius
:
4px
;
border-radius
:
4px
}
.accordion-heading
{
border-bottom
:
0
}
.accordion-heading
.accordion-toggle
{
display
:
block
;
padding
:
8px
15px
}
.accordion-toggle
{
cursor
:
pointer
}
.accordion-inner
{
padding
:
9px
15px
;
border-top
:
1px
solid
#e5e5e5
}
.carousel
{
position
:
relative
;
margin-bottom
:
20px
;
line-height
:
1
}
.carousel-inner
{
position
:
relative
;
width
:
100%
;
overflow
:
hidden
}
.carousel
.item
{
position
:
relative
;
display
:
none
;
-webkit-transition
:
.6s
ease-in-out
left
;
-moz-transition
:
.6s
ease-in-out
left
;
-o-transition
:
.6s
ease-in-out
left
;
transition
:
.6s
ease-in-out
left
}
.carousel
.item
>
img
{
display
:
block
;
line-height
:
1
}
.carousel
.active
,
.carousel
.next
,
.carousel
.prev
{
display
:
block
}
.carousel
.active
{
left
:
0
}
.carousel
.next
,
.carousel
.prev
{
position
:
absolute
;
top
:
0
;
width
:
100%
}
.carousel
.next
{
left
:
100%
}
.carousel
.prev
{
left
:
-100%
}
.carousel
.next.left
,
.carousel
.prev.right
{
left
:
0
}
.carousel
.active.left
{
left
:
-100%
}
.carousel
.active.right
{
left
:
100%
}
.carousel-control
{
position
:
absolute
;
top
:
40%
;
left
:
15px
;
width
:
40px
;
height
:
40px
;
margin-top
:
-20px
;
font-size
:
60px
;
font-weight
:
100
;
line-height
:
30px
;
color
:
#fff
;
text-align
:
center
;
background
:
#222
;
border
:
3px
solid
#fff
;
-webkit-border-radius
:
23px
;
-moz-border-radius
:
23px
;
border-radius
:
23px
;
opacity
:
.5
;
filter
:
alpha
(
opacity
=
50
)}
.carousel-control.right
{
right
:
15px
;
left
:
auto
}
.carousel-control
:hover
{
color
:
#fff
;
text-decoration
:
none
;
opacity
:
.9
;
filter
:
alpha
(
opacity
=
90
)}
.carousel-caption
{
position
:
absolute
;
right
:
0
;
bottom
:
0
;
left
:
0
;
padding
:
15px
;
background
:
#333
;
background
:
rgba
(
0
,
0
,
0
,
0.75
)}
.carousel-caption
h4
,
.carousel-caption
p
{
line-height
:
20px
;
color
:
#fff
}
.carousel-caption
h4
{
margin
:
0
0
5px
}
.carousel-caption
p
{
margin-bottom
:
0
}
.hero-unit
{
padding
:
60px
;
margin-bottom
:
30px
;
background-color
:
#eee
;
-webkit-border-radius
:
6px
;
-moz-border-radius
:
6px
;
border-radius
:
6px
}
.hero-unit
h1
{
margin-bottom
:
0
;
font-size
:
60px
;
line-height
:
1
;
letter-spacing
:
-1px
;
color
:
inherit
}
.hero-unit
p
{
font-size
:
18px
;
font-weight
:
200
;
line-height
:
30px
;
color
:
inherit
}
.pull-right
{
float
:
right
}
.pull-left
{
float
:
left
}
.hide
{
display
:
none
}
.show
{
display
:
block
}
.invisible
{
visibility
:
hidden
}
.affix
{
position
:
fixed
}
\ No newline at end of file
third_party/parallel-hashmap/css/colors.css
0 → 100644
View file @
2951b12d
/***
colors.css v2.0.0
http://clrs.cc
@mrmrs
MIT License
***/
/*
SKINS
- Backgrounds
- Colors
- Border colors
- SVG fills
- SVG Strokes
*/
/* Backgrounds */
.bg-navy
{
background-color
:
#001F3F
;
}
.bg-blue
{
background-color
:
#0074D9
;
}
.bg-aqua
{
background-color
:
#7FDBFF
;
}
.bg-teal
{
background-color
:
#39CCCC
;
}
.bg-olive
{
background-color
:
#3D9970
;
}
.bg-green
{
background-color
:
#2ECC40
;
}
.bg-lime
{
background-color
:
#01FF70
;
}
.bg-yellow
{
background-color
:
#FFDC00
;
}
.bg-orange
{
background-color
:
#FF851B
;
}
.bg-red
{
background-color
:
#FF4136
;
}
.bg-fuchsia
{
background-color
:
#F012BE
;
}
.bg-purple
{
background-color
:
#B10DC9
;
}
.bg-maroon
{
background-color
:
#85144B
;
}
.bg-white
{
background-color
:
#fff
;
}
.bg-gray
{
background-color
:
#aaa
;
}
.bg-silver
{
background-color
:
#ddd
;
}
.bg-black
{
background-color
:
#111
;
}
/* Colors */
.navy
{
color
:
#001F3F
;
}
.blue
{
color
:
#0074D9
;
}
.aqua
{
color
:
#7FDBFF
;
}
.teal
{
color
:
#39CCCC
;
}
.olive
{
color
:
#3D9970
;
}
.green
{
color
:
#2ECC40
;
}
.lime
{
color
:
#01FF70
;
}
.yellow
{
color
:
#FFDC00
;
}
.orange
{
color
:
#FF851B
;
}
.red
{
color
:
#FF4136
;
}
.fuchsia
{
color
:
#F012BE
;
}
.purple
{
color
:
#B10DC9
;
}
.maroon
{
color
:
#85144B
;
}
.white
{
color
:
#fff
;
}
.silver
{
color
:
#ddd
;
}
.gray
{
color
:
#aaa
;
}
.black
{
color
:
#111
;
}
/* Border colors
Use with another border utility that sets border-width and style
i.e .border { border-width: 1px; border-style: solid; }
*/
.border--navy
{
border-color
:
#001F3F
;
}
.border--blue
{
border-color
:
#0074D9
;
}
.border--aqua
{
border-color
:
#7FDBFF
;
}
.border--teal
{
border-color
:
#39CCCC
;
}
.border--olive
{
border-color
:
#3D9970
;
}
.border--green
{
border-color
:
#2ECC40
;
}
.border--lime
{
border-color
:
#01FF70
;
}
.border--yellow
{
border-color
:
#FFDC00
;
}
.border--orange
{
border-color
:
#FF851B
;
}
.border--red
{
border-color
:
#FF4136
;
}
.border--fuchsia
{
border-color
:
#F012BE
;
}
.border--purple
{
border-color
:
#B10DC9
;
}
.border--maroon
{
border-color
:
#85144B
;
}
.border--white
{
border-color
:
#fff
;
}
.border--gray
{
border-color
:
#aaa
;
}
.border--silver
{
border-color
:
#ddd
;
}
.border--black
{
border-color
:
#111
;
}
/* Fills for SVG */
.fill-navy
{
fill
:
#001F3F
;
}
.fill-blue
{
fill
:
#0074D9
;
}
.fill-aqua
{
fill
:
#7FDBFF
;
}
.fill-teal
{
fill
:
#39CCCC
;
}
.fill-olive
{
fill
:
#3D9970
;
}
.fill-green
{
fill
:
#2ECC40
;
}
.fill-lime
{
fill
:
#01FF70
;
}
.fill-yellow
{
fill
:
#FFDC00
;
}
.fill-orange
{
fill
:
#FF851B
;
}
.fill-red
{
fill
:
#FF4136
;
}
.fill-fuchsia
{
fill
:
#F012BE
;
}
.fill-purple
{
fill
:
#B10DC9
;
}
.fill-maroon
{
fill
:
#85144B
;
}
.fill-white
{
fill
:
#fff
;
}
.fill-gray
{
fill
:
#aaa
;
}
.fill-silver
{
fill
:
#ddd
;
}
.fill-black
{
fill
:
#111
;
}
/* Strokes for SVG */
.stroke-navy
{
stroke
:
#001F3F
;
}
.stroke-blue
{
stroke
:
#0074D9
;
}
.stroke-aqua
{
stroke
:
#7FDBFF
;
}
.stroke-teal
{
stroke
:
#39CCCC
;
}
.stroke-olive
{
stroke
:
#3D9970
;
}
.stroke-green
{
stroke
:
#2ECC40
;
}
.stroke-lime
{
stroke
:
#01FF70
;
}
.stroke-yellow
{
stroke
:
#FFDC00
;
}
.stroke-orange
{
stroke
:
#FF851B
;
}
.stroke-red
{
stroke
:
#FF4136
;
}
.stroke-fuchsia
{
stroke
:
#F012BE
;
}
.stroke-purple
{
stroke
:
#B10DC9
;
}
.stroke-maroon
{
stroke
:
#85144B
;
}
.stroke-white
{
stroke
:
#fff
;
}
.stroke-gray
{
stroke
:
#aaa
;
}
.stroke-silver
{
stroke
:
#ddd
;
}
.stroke-black
{
stroke
:
#111
;
}
/* PRETTIER LINKS */
a
{
text-decoration
:
none
;
-webkit-transition
:
color
.3s
ease-in-out
;
transition
:
color
.3s
ease-in-out
;
}
a
:link
{
-webkit-transition
:
color
.3s
ease-in-out
;
transition
:
color
.3s
ease-in-out
;
}
a
:visited
{
}
a
:hover
{
color
:
#001F3F
;
-webkit-transition
:
color
.3s
ease-in-out
;
transition
:
color
.3s
ease-in-out
;
}
a
:active
{
-webkit-transition
:
color
.3s
ease-in-out
;
transition
:
color
.3s
ease-in-out
;
}
third_party/parallel-hashmap/css/style.css
0 → 100644
View file @
2951b12d
/* main stylesheet */
@import
url(http://fonts.googleapis.com/css?family=Signika)
;
html
{
overflow-y
:
scroll
;
}
body
{
font-size
:
15px
;
font-family
:
HelveticaNeue
,
'Helvetica Neue'
,
Helvetica
,
Arial
,
sans-serif
;
color
:
#332
;
}
h1
,
h2
,
h3
,
h4
,
h5
{
color
:
#332
;
font-family
:
HelveticaNeue
,
'Helvetica Neue'
,
Helvetica
,
Arial
,
sans-serif
;
font-weight
:
400
;
font-size
:
1.4em
;
line-height
:
1.1
;
margin-top
:
30px
;
}
pre
code
{
font
:
14px
/
19px
Inconsolata
,
Monaco
,
"Lucida Console"
,
Terminal
,
"Courier New"
,
Courier
;
}
.figure
{
text-align
:
center
;
}
.small
.figure
img
{
height
:
200px
;
}
.pagetitle
.figure
{
text-align
:
left
!important
;
}
.pagetitle
.figure
img
{
height
:
36px
;
}
table
{
background
:
#fff
;
border
:
1px
solid
#ccc
;
border-width
:
2px
;
border-collapse
:
collapse
;
margin
:
5px
0
10px
;
margin-top
:
20px
;
margin-bottom
:
20px
;
}
th
,
td
{
border
:
1px
solid
#ccc
;
padding
:
3px
10px
;
text-align
:
left
;
vertical-align
:
top
;
}
tr
.even
td
{
background
:
#f7f7f7
;
}
th
{
background
:
#edeff0
;
}
td
code
{
border
:
0px
;
}
img
{
max-width
:
100%
;
height
:
auto
;
}
hr
{
border
:
0px
;
height
:
0
;
border-bottom
:
1px
solid
#ccc
;
margin-bottom
:
100px
;
}
/* Logo */
.logo
{
text-align
:
center
;
}
.tagline
{
font-family
:
Georgia
;
font-size
:
18px
;
font-style
:
italic
;
line-height
:
1.45
;
color
:
#383838
;
}
.author
{
}
.halfbreak
{
padding-bottom
:
100px
;
}
.break
{
padding-bottom
:
200px
;
}
/* TOC Links */
a
{
color
:
#111111
;
text-decoration
:
none
;
}
.body
li
a
{
text-decoration
:
underline
;
}
/* Math */
.MathJax_Display
{
padding-top
:
20px
;
padding-bottom
:
20px
;
}
/* Body Links */
p
a
{
text-decoration
:
underline
;
}
li
code
,
p
code
{
font-size
:
12px
;
border
:
1px
solid
#ccc
;
margin-left
:
3px
;
margin-right
:
3px
;
padding-left
:
2px
;
padding-right
:
2px
;
}
/* */
.center
{
text-align
:
center
;
}
.bigger
img
{
width
:
120%
;
height
:
120%
;
}
pre
{
font-size
:
0.9em
;
margin-bottom
:
18px
;
margin-top
:
18px
;
border-left
:
1px
solid
#ccc
;
}
h1
{
margin-top
:
0px
;
}
.annotation
{
font-size
:
10pt
;
}
.annotation
pre
{
display
:
block
;
margin
:
0
;
padding
:
7px
10px
;
overflow-x
:
auto
;
}
.annotation.span2
{
/* Override bootstrap */
margin-left
:
0px
!important
;
margin-top
:
18px
!important
;
}
.annotation
pre
code
{
border
:
0
;
padding
:
0
;
background
:
transparent
;
}
blockquote
{
border-left
:
1px
solid
#ccc
;
font-family
:
Georgia
,
serif
;
font-size
:
14px
;
font-style
:
italic
;
margin
:
0.25em
0
;
padding-left
:
10px
;
line-height
:
1.45
;
color
:
#383838
;
left
:
20px
;
}
blockquote
cite
{
color
:
#999999
;
font-size
:
14px
;
display
:
block
;
margin-top
:
5px
;
}
ul
.sections
{
list-style
:
none
;
padding
:
0
0
5px
0
;
margin
:
0
;
}
code
.sourceCode
{
padding
:
0
;
background
:
inherit
;
}
pre
.sourceCode
{
padding
:
10px
;
}
ul
.sections
>
li
>
div
{
-moz-box-sizing
:
border-box
;
/* firefox */
-ms-box-sizing
:
border-box
;
/* ie */
-webkit-box-sizing
:
border-box
;
/* webkit */
-khtml-box-sizing
:
border-box
;
/* konqueror */
box-sizing
:
border-box
;
/* css3 */
}
/* Make the naviation centered and larger on small screens */
/*---------------------- (> 481px) ---------------------*/
@media
only
screen
and
(
max-width
:
481px
)
{
}
@media
only
screen
and
(
min-width
:
1025px
)
{
body
{
padding
:
10px
;
}
.side
{
position
:
fixed
;
width
:
120px
!important
;
margin-left
:
0px
;
z-index
:
1000
;
}
.side
ul
ul
{
display
:
none
;
}
.side
ul
ul
.active
{
display
:
block
;
}
.side
.active
{
font-weight
:
bold
;
}
.body
{
margin-left
:
120px
!important
;
}
}
third_party/parallel-hashmap/examples/allmaps.cc
0 → 100644
View file @
2951b12d
// Silly program just to test the natvis file for Visual Studio
// ------------------------------------------------------------
#include <string>
#include "parallel_hashmap/phmap.h"
template
<
class
Set
,
class
F
>
void
test_set
(
const
F
&
f
)
{
Set
s
;
typename
Set
::
iterator
it
;
for
(
int
i
=
0
;
i
<
100
;
++
i
)
s
.
insert
(
f
(
i
));
it
=
s
.
begin
();
++
it
;
it
=
s
.
end
();
it
=
s
.
begin
();
while
(
it
!=
s
.
end
())
++
it
;
it
=
s
.
begin
();
}
int
main
(
int
,
char
**
)
{
using
namespace
std
;
auto
make_int
=
[](
int
i
)
{
return
i
;
};
auto
make_string
=
[](
int
i
)
{
return
std
::
to_string
(
i
);
};
auto
make_2int
=
[](
int
i
)
{
return
std
::
make_pair
(
i
,
i
);
};
auto
make_2string
=
[](
int
i
)
{
return
std
::
make_pair
(
std
::
to_string
(
i
),
std
::
to_string
(
i
));
};
test_set
<
phmap
::
flat_hash_set
<
int
>>
(
make_int
);
test_set
<
phmap
::
flat_hash_set
<
string
>>
(
make_string
);
test_set
<
phmap
::
node_hash_set
<
int
>>
(
make_int
);
test_set
<
phmap
::
node_hash_set
<
string
>>
(
make_string
);
test_set
<
phmap
::
flat_hash_map
<
int
,
int
>>
(
make_2int
);
test_set
<
phmap
::
flat_hash_map
<
string
,
string
>>
(
make_2string
);
test_set
<
phmap
::
node_hash_map
<
int
,
int
>>
(
make_2int
);
test_set
<
phmap
::
node_hash_map
<
string
,
string
>>
(
make_2string
);
test_set
<
phmap
::
parallel_flat_hash_set
<
int
>>
(
make_int
);
test_set
<
phmap
::
parallel_flat_hash_set
<
string
>>
(
make_string
);
test_set
<
phmap
::
parallel_node_hash_set
<
int
>>
(
make_int
);
test_set
<
phmap
::
parallel_node_hash_set
<
string
>>
(
make_string
);
test_set
<
phmap
::
parallel_flat_hash_map
<
int
,
int
>>
(
make_2int
);
test_set
<
phmap
::
parallel_flat_hash_map
<
string
,
string
>>
(
make_2string
);
test_set
<
phmap
::
parallel_node_hash_map
<
int
,
int
>>
(
make_2int
);
test_set
<
phmap
::
parallel_node_hash_map
<
string
,
string
>>
(
make_2string
);
// example of using default parameters in order to specify the mutex type.
//
// Please be aware that the iterators returned (by find for example) cannot
// be safely read in a multithreaded environment. Instead use if_contains(),
// which passes a reference value to the callback while holding the submap lock.
// Similarly, write access can be done safely using modify_if, try_emplace_l
// or lazy_emplace_l.
// ----------------------------------------------------------------------------
using
Map
=
phmap
::
parallel_flat_hash_map
<
std
::
size_t
,
std
::
size_t
,
std
::
hash
<
size_t
>
,
std
::
equal_to
<
size_t
>
,
std
::
allocator
<
std
::
pair
<
const
size_t
,
size_t
>>
,
4
,
std
::
mutex
>
;
auto
make_2size_t
=
[](
size_t
i
)
{
return
std
::
make_pair
(
i
,
i
);
};
test_set
<
Map
>
(
make_2size_t
);
}
third_party/parallel-hashmap/examples/basic.cc
0 → 100644
View file @
2951b12d
#include <iostream>
#include <string>
#include <parallel_hashmap/phmap.h>
using
phmap
::
flat_hash_map
;
int
main
()
{
// Create an unordered_map of three strings (that map to strings)
flat_hash_map
<
std
::
string
,
std
::
string
>
email
=
{
{
"tom"
,
"tom@gmail.com"
},
{
"jeff"
,
"jk@gmail.com"
},
{
"jim"
,
"jimg@microsoft.com"
}
};
// Iterate and print keys and values
for
(
const
auto
&
n
:
email
)
std
::
cout
<<
n
.
first
<<
"'s email is: "
<<
n
.
second
<<
"
\n
"
;
// Add a new entry
email
[
"bill"
]
=
"bg@whatever.com"
;
// and print it
std
::
cout
<<
"bill's email is: "
<<
email
[
"bill"
]
<<
"
\n
"
;
return
0
;
}
third_party/parallel-hashmap/examples/bench.cc
0 → 100644
View file @
2951b12d
#include <inttypes.h>
#ifdef STL_UNORDERED
#include <unordered_map>
#define MAPNAME std::unordered_map
#define EXTRAARGS
#elif defined(PHMAP_FLAT)
#include "parallel_hashmap/phmap.h"
#define MAPNAME phmap::flat_hash_map
#define NMSP phmap
#define EXTRAARGS
#else
#include "parallel_hashmap/phmap.h"
#if 1
#include <mutex>
#define MTX std::mutex
#elif 0
// Abseil's mutexes are very efficient (at least on windows)
#include "absl/synchronization/mutex.h"
#define MTX phmap::AbslMutex
#elif 1
#include <boost/thread/locks.hpp>
#if 1
#include <boost/thread/mutex.hpp>
#define MTX boost::mutex // faster if all we do is exclusive locks like this bench
#else
#include <boost/thread/shared_mutex.hpp>
#define MTX boost::upgrade_mutex
#endif
#elif 1
#include <windows.h>
class
srwlock
{
SRWLOCK
_lock
;
public:
srwlock
()
{
InitializeSRWLock
(
&
_lock
);
}
void
lock
()
{
AcquireSRWLockExclusive
(
&
_lock
);
}
void
unlock
()
{
ReleaseSRWLockExclusive
(
&
_lock
);
}
};
#define MTX srwlock
#else
// spinlocks - slow!
#include <atomic>
class
spinlock
{
std
::
atomic_flag
flag
=
ATOMIC_FLAG_INIT
;
public:
void
lock
()
{
while
(
flag
.
test_and_set
(
std
::
memory_order_acquire
));
}
void
unlock
()
{
flag
.
clear
(
std
::
memory_order_release
);
}
};
#define MTX spinlock
#endif
#define MAPNAME phmap::parallel_flat_hash_map
#define NMSP phmap
#define MT_SUPPORT 1
#if MT_SUPPORT == 1
// create the parallel_flat_hash_map without internal mutexes, for when
// we programatically ensure that each thread uses different internal submaps
// --------------------------------------------------------------------------
#define EXTRAARGS , NMSP::priv::hash_default_hash<K>, \
NMSP::priv::hash_default_eq<K>, \
std::allocator<std::pair<const K, V>>, 4, NMSP::NullMutex
#elif MT_SUPPORT == 2
// create the parallel_flat_hash_map with internal mutexes, for when
// we read/write the same parallel_flat_hash_map from multiple threads,
// without any special precautions.
// --------------------------------------------------------------------------
#define EXTRAARGS , NMSP::priv::hash_default_hash<K>, \
NMSP::priv::hash_default_eq<K>, \
std::allocator<std::pair<const K, V>>, 4, MTX
#else
#define EXTRAARGS
#endif
#endif
#define phmap_xstr(s) phmap_str(s)
#define phmap_str(s) #s
template
<
class
K
,
class
V
>
using
HashT
=
MAPNAME
<
K
,
V
EXTRAARGS
>
;
using
hash_t
=
HashT
<
int64_t
,
int64_t
>
;
using
str_hash_t
=
HashT
<
const
char
*
,
int64_t
>
;
const
char
*
program_slug
=
phmap_xstr
(
MAPNAME
);
// "_4";
#include <cassert>
#include <ctime>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <thread>
#include <chrono>
#include <ostream>
#include "parallel_hashmap/meminfo.h"
#include <vector>
using
std
::
vector
;
int64_t
_abs
(
int64_t
x
)
{
return
(
x
<
0
)
?
-
x
:
x
;
}
#ifdef _MSC_VER
#pragma warning(disable : 4996)
#endif // _MSC_VER
// --------------------------------------------------------------------------
class
Timer
{
typedef
std
::
chrono
::
high_resolution_clock
high_resolution_clock
;
typedef
std
::
chrono
::
milliseconds
milliseconds
;
public:
explicit
Timer
(
bool
run
=
false
)
{
if
(
run
)
reset
();
}
void
reset
()
{
_start
=
high_resolution_clock
::
now
();
}
milliseconds
elapsed
()
const
{
return
std
::
chrono
::
duration_cast
<
milliseconds
>
(
high_resolution_clock
::
now
()
-
_start
);
}
private:
high_resolution_clock
::
time_point
_start
;
};
// --------------------------------------------------------------------------
// from: https://github.com/preshing/RandomSequence
// --------------------------------------------------------------------------
class
RSU
{
private:
unsigned
int
m_index
;
unsigned
int
m_intermediateOffset
;
static
unsigned
int
permuteQPR
(
unsigned
int
x
)
{
static
const
unsigned
int
prime
=
4294967291u
;
if
(
x
>=
prime
)
return
x
;
// The 5 integers out of range are mapped to themselves.
unsigned
int
residue
=
((
unsigned
long
long
)
x
*
x
)
%
prime
;
return
(
x
<=
prime
/
2
)
?
residue
:
prime
-
residue
;
}
public:
RSU
(
unsigned
int
seedBase
,
unsigned
int
seedOffset
)
{
m_index
=
permuteQPR
(
permuteQPR
(
seedBase
)
+
0x682f0161
);
m_intermediateOffset
=
permuteQPR
(
permuteQPR
(
seedOffset
)
+
0x46790905
);
}
unsigned
int
next
()
{
return
permuteQPR
((
permuteQPR
(
m_index
++
)
+
m_intermediateOffset
)
^
0x5bf03635
);
}
};
// --------------------------------------------------------------------------
char
*
new_string_from_integer
(
uint64_t
num
)
{
int
ndigits
=
num
==
0
?
1
:
(
int
)
log10
(
num
)
+
1
;
char
*
str
=
(
char
*
)
malloc
(
ndigits
+
1
);
sprintf
(
str
,
"%u"
,
(
unsigned
int
)
num
);
return
str
;
}
// --------------------------------------------------------------------------
template
<
class
T
>
void
_fill
(
vector
<
T
>
&
v
)
{
srand
(
1
);
// for a fair/deterministic comparison
for
(
size_t
i
=
0
,
sz
=
v
.
size
();
i
<
sz
;
++
i
)
v
[
i
]
=
(
T
)(
i
*
10
+
rand
()
%
10
);
}
// --------------------------------------------------------------------------
template
<
class
T
>
void
_shuffle
(
vector
<
T
>
&
v
)
{
for
(
size_t
n
=
v
.
size
();
n
>=
2
;
--
n
)
std
::
swap
(
v
[
n
-
1
],
v
[
static_cast
<
unsigned
>
(
rand
())
%
n
]);
}
// --------------------------------------------------------------------------
template
<
class
T
,
class
HT
>
Timer
_fill_random
(
vector
<
T
>
&
v
,
HT
&
hash
)
{
_fill
<
T
>
(
v
);
_shuffle
<
T
>
(
v
);
Timer
timer
(
true
);
for
(
size_t
i
=
0
,
sz
=
v
.
size
();
i
<
sz
;
++
i
)
hash
.
insert
(
typename
HT
::
value_type
(
v
[
i
],
0
));
return
timer
;
}
// --------------------------------------------------------------------------
void
out
(
const
char
*
test
,
int64_t
cnt
,
const
Timer
&
t
,
bool
=
false
)
{
printf
(
"%s,time,%u,%s,%f
\n
"
,
test
,
(
unsigned
int
)
cnt
,
program_slug
,
(
float
)((
double
)
t
.
elapsed
().
count
()
/
1000
));
}
// --------------------------------------------------------------------------
void
outmem
(
const
char
*
,
int64_t
cnt
,
uint64_t
mem
,
bool
final
=
false
)
{
static
uint64_t
max_mem
=
0
;
static
uint64_t
max_keys
=
0
;
if
(
final
)
printf
(
"peak memory usage for %u values: %.2f GB
\n
"
,
(
unsigned
int
)
max_keys
,
max_mem
/
((
double
)
1000
*
1000
*
1000
));
else
{
if
(
mem
>
max_mem
)
max_mem
=
mem
;
if
((
uint64_t
)
cnt
>
max_keys
)
max_keys
=
cnt
;
}
}
static
bool
all_done
=
false
;
static
int64_t
s_num_keys
[
16
]
=
{
0
};
static
int64_t
loop_idx
=
0
;
static
int64_t
inner_cnt
=
0
;
static
const
char
*
test
=
"random"
;
// --------------------------------------------------------------------------
template
<
class
HT
>
void
_fill_random_inner
(
int64_t
cnt
,
HT
&
hash
,
RSU
&
rsu
)
{
for
(
int64_t
i
=
0
;
i
<
cnt
;
++
i
)
{
hash
.
insert
(
typename
HT
::
value_type
(
rsu
.
next
(),
0
));
++
s_num_keys
[
0
];
}
}
// --------------------------------------------------------------------------
template
<
class
HT
>
void
_fill_random_inner_mt
(
int64_t
cnt
,
HT
&
hash
,
RSU
&
rsu
)
{
constexpr
int64_t
num_threads
=
8
;
// has to be a power of two
std
::
unique_ptr
<
std
::
thread
>
threads
[
num_threads
];
auto
thread_fn
=
[
&
hash
,
cnt
,
num_threads
](
size_t
thread_idx
,
RSU
rsu_
)
{
#if MT_SUPPORT
size_t
modulo
=
hash
.
subcnt
()
/
num_threads
;
// subcnt() returns the number of submaps
for
(
int64_t
i
=
0
;
i
<
cnt
;
++
i
)
// iterate over all values
{
unsigned
int
key
=
rsu_
.
next
();
// get next key to insert
#if MT_SUPPORT == 1
size_t
hashval
=
hash
.
hash
(
key
);
// compute its hash
size_t
idx
=
hash
.
subidx
(
hashval
);
// compute the submap index for this hash
if
(
idx
/
modulo
==
thread_idx
)
// if the submap is suitable for this thread
#elif MT_SUPPORT == 2
if
(
i
%
num_threads
==
thread_idx
)
#endif
{
hash
.
insert
(
typename
HT
::
value_type
(
key
,
0
));
// insert the value
++
(
s_num_keys
[
thread_idx
]);
// increment count of inserted values
}
}
#endif
};
// create and start 8 threads - each will insert in their own submaps
// thread 0 will insert the keys whose hash direct them to submap0 or submap1
// thread 1 will insert the keys whose hash direct them to submap2 or submap3
// --------------------------------------------------------------------------
for
(
size_t
i
=
0
;
i
<
num_threads
;
++
i
)
threads
[
i
].
reset
(
new
std
::
thread
(
thread_fn
,
i
,
rsu
));
// rsu passed by value to threads... we need to increment the reference object
for
(
int64_t
i
=
0
;
i
<
cnt
;
++
i
)
rsu
.
next
();
// wait for the threads to finish their work and exit
for
(
size_t
i
=
0
;
i
<
num_threads
;
++
i
)
threads
[
i
]
->
join
();
}
// --------------------------------------------------------------------------
size_t
total_num_keys
()
{
size_t
n
=
0
;
for
(
int
i
=
0
;
i
<
16
;
++
i
)
n
+=
s_num_keys
[
i
];
return
n
;
}
// --------------------------------------------------------------------------
template
<
class
HT
>
Timer
_fill_random2
(
int64_t
cnt
,
HT
&
hash
)
{
test
=
"random"
;
unsigned
int
seed
=
76687
;
RSU
rsu
(
seed
,
seed
+
1
);
Timer
timer
(
true
);
const
int64_t
num_loops
=
10
;
inner_cnt
=
cnt
/
num_loops
;
for
(
int
i
=
0
;
i
<
16
;
++
i
)
s_num_keys
[
i
]
=
0
;
for
(
loop_idx
=
0
;
loop_idx
<
num_loops
;
++
loop_idx
)
{
#if 1 && MT_SUPPORT
// multithreaded insert
_fill_random_inner_mt
(
inner_cnt
,
hash
,
rsu
);
#else
_fill_random_inner
(
inner_cnt
,
hash
,
rsu
);
#endif
out
(
test
,
total_num_keys
(),
timer
);
}
fprintf
(
stderr
,
"inserted %.2lfM
\n
"
,
(
double
)
hash
.
size
()
/
1000000
);
outmem
(
test
,
total_num_keys
(),
spp
::
GetProcessMemoryUsed
());
return
timer
;
}
// --------------------------------------------------------------------------
template
<
class
T
,
class
HT
>
Timer
_lookup
(
vector
<
T
>
&
v
,
HT
&
hash
,
size_t
&
num_present
)
{
_fill_random
(
v
,
hash
);
num_present
=
0
;
size_t
max_val
=
v
.
size
()
*
10
;
Timer
timer
(
true
);
for
(
size_t
i
=
0
,
sz
=
v
.
size
();
i
<
sz
;
++
i
)
{
num_present
+=
(
size_t
)(
hash
.
find
(
v
[
i
])
!=
hash
.
end
());
num_present
+=
(
size_t
)(
hash
.
find
((
T
)(
rand
()
%
max_val
))
!=
hash
.
end
());
}
return
timer
;
}
// --------------------------------------------------------------------------
template
<
class
T
,
class
HT
>
Timer
_delete
(
vector
<
T
>
&
v
,
HT
&
hash
)
{
_fill_random
(
v
,
hash
);
_shuffle
(
v
);
// don't delete in insertion order
Timer
timer
(
true
);
for
(
size_t
i
=
0
,
sz
=
v
.
size
();
i
<
sz
;
++
i
)
hash
.
erase
(
v
[
i
]);
return
timer
;
}
// --------------------------------------------------------------------------
void
memlog
()
{
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
10
));
uint64_t
nbytes_old_out
=
spp
::
GetProcessMemoryUsed
();
uint64_t
nbytes_old
=
spp
::
GetProcessMemoryUsed
();
// last non outputted mem measurement
outmem
(
test
,
0
,
nbytes_old
);
int64_t
last_loop
=
0
;
while
(
!
all_done
)
{
uint64_t
nbytes
=
spp
::
GetProcessMemoryUsed
();
if
((
double
)
_abs
(
nbytes
-
nbytes_old_out
)
/
nbytes_old_out
>
0.03
||
(
double
)
_abs
(
nbytes
-
nbytes_old
)
/
nbytes_old
>
0.01
)
{
if
((
double
)(
nbytes
-
nbytes_old
)
/
nbytes_old
>
0.03
)
outmem
(
test
,
total_num_keys
()
-
1
,
nbytes_old
);
outmem
(
test
,
total_num_keys
(),
nbytes
);
nbytes_old_out
=
nbytes
;
last_loop
=
loop_idx
;
}
else
if
(
loop_idx
>
last_loop
)
{
outmem
(
test
,
total_num_keys
(),
nbytes
);
nbytes_old_out
=
nbytes
;
last_loop
=
loop_idx
;
}
nbytes_old
=
nbytes
;
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
1
));
}
}
// --------------------------------------------------------------------------
int
main
(
int
argc
,
char
**
argv
)
{
int64_t
num_keys
=
100000000
;
const
char
*
bench_name
=
"random"
;
int64_t
i
,
value
=
0
;
if
(
argc
>
2
)
{
num_keys
=
atoi
(
argv
[
1
]);
bench_name
=
argv
[
2
];
}
hash_t
hash
;
str_hash_t
str_hash
;
srand
(
1
);
// for a fair/deterministic comparison
Timer
timer
(
true
);
#if MT_SUPPORT
if
(
!
strcmp
(
program_slug
,
"absl::parallel_flat_hash_map"
)
||
!
strcmp
(
program_slug
,
"phmap::parallel_flat_hash_map"
))
program_slug
=
phmap_xstr
(
MAPNAME
)
"_mt"
;
#endif
std
::
thread
t1
(
memlog
);
try
{
if
(
!
strcmp
(
bench_name
,
"sequential"
))
{
for
(
i
=
0
;
i
<
num_keys
;
i
++
)
hash
.
insert
(
hash_t
::
value_type
(
i
,
value
));
}
#if 0
else if(!strcmp(bench_name, "random"))
{
vector<int64_t> v(num_keys);
timer = _fill_random(v, hash);
out("random", num_keys, timer);
}
#endif
else
if
(
!
strcmp
(
bench_name
,
"random"
))
{
fprintf
(
stderr
,
"size = %zu
\n
"
,
sizeof
(
hash
));
timer
=
_fill_random2
(
num_keys
,
hash
);
}
else
if
(
!
strcmp
(
bench_name
,
"lookup"
))
{
vector
<
int64_t
>
v
(
num_keys
);
size_t
num_present
;
timer
=
_lookup
(
v
,
hash
,
num_present
);
//fprintf(stderr, "found %zu\n", num_present);
}
else
if
(
!
strcmp
(
bench_name
,
"delete"
))
{
vector
<
int64_t
>
v
(
num_keys
);
timer
=
_delete
(
v
,
hash
);
}
else
if
(
!
strcmp
(
bench_name
,
"sequentialstring"
))
{
for
(
i
=
0
;
i
<
num_keys
;
i
++
)
str_hash
.
insert
(
str_hash_t
::
value_type
(
new_string_from_integer
(
i
),
value
));
}
else
if
(
!
strcmp
(
bench_name
,
"randomstring"
))
{
for
(
i
=
0
;
i
<
num_keys
;
i
++
)
str_hash
.
insert
(
str_hash_t
::
value_type
(
new_string_from_integer
((
int
)
rand
()),
value
));
}
else
if
(
!
strcmp
(
bench_name
,
"deletestring"
))
{
for
(
i
=
0
;
i
<
num_keys
;
i
++
)
str_hash
.
insert
(
str_hash_t
::
value_type
(
new_string_from_integer
(
i
),
value
));
timer
.
reset
();
for
(
i
=
0
;
i
<
num_keys
;
i
++
)
str_hash
.
erase
(
new_string_from_integer
(
i
));
}
//printf("%f\n", (float)((double)timer.elapsed().count() / 1000));
fflush
(
stdout
);
//std::this_thread::sleep_for(std::chrono::seconds(1000));
}
catch
(...)
{
}
all_done
=
true
;
outmem
(
test
,
0
,
0
,
true
);
t1
.
join
();
return
0
;
}
third_party/parallel-hashmap/examples/btree.cc
0 → 100644
View file @
2951b12d
#include <iostream>
#include "btree_fwd.h"
#include <parallel_hashmap/btree.h>
int
main
()
{
// initialise map with some values using an initializer_list
phmap
::
btree_map
<
std
::
string
,
int
>
map
=
{
{
"John"
,
35
},
{
"Jane"
,
32
},
{
"Joe"
,
30
},
};
// add a couple more values using operator[]()
map
[
"lucy"
]
=
18
;
map
[
"Andre"
]
=
20
;
auto
it
=
map
.
find
(
"Joe"
);
map
.
erase
(
it
);
map
.
insert
(
std
::
make_pair
(
"Alex"
,
16
));
map
.
emplace
(
"Emily"
,
18
);
// emplace uses pair template constructor
for
(
auto
&
p
:
map
)
std
::
cout
<<
p
.
first
<<
", "
<<
p
.
second
<<
'\n'
;
IntString
map2
;
// IntString is declared in btree_fwd.h
map2
.
emplace
(
std
::
piecewise_construct
,
std
::
forward_as_tuple
(
0
),
std
::
forward_as_tuple
(
10
,
'c'
));
map2
.
try_emplace
(
1
,
10
,
'a'
);
// phmap::btree_map supports c++17 API
for
(
auto
&
p
:
map2
)
std
::
cout
<<
p
.
first
<<
", "
<<
p
.
second
<<
'\n'
;
// create a btree_set of tuples
using
X
=
std
::
tuple
<
float
,
std
::
string
>
;
phmap
::
btree_set
<
X
>
set
;
for
(
int
i
=
0
;
i
<
10
;
++
i
)
set
.
insert
(
X
((
float
)
i
,
std
::
to_string
(
i
)));
set
.
emplace
(
15.0
f
,
"15"
);
set
.
erase
(
X
(
1.0
f
,
"1"
));
for
(
auto
&
e
:
set
)
std
::
cout
<<
std
::
get
<
0
>
(
e
)
<<
",
\"
"
<<
std
::
get
<
1
>
(
e
)
<<
"
\"
\n
"
;
return
0
;
}
third_party/parallel-hashmap/examples/btree_fwd.h
0 → 100644
View file @
2951b12d
#include <string>
#include <parallel_hashmap/phmap_fwd_decl.h>
using
IntString
=
phmap
::
btree_map
<
int
,
std
::
string
>
;
third_party/parallel-hashmap/examples/dump_load.cc
0 → 100644
View file @
2951b12d
#include <iostream>
#include <parallel_hashmap/phmap_dump.h>
void
dump_load_uint64_uint32
()
{
phmap
::
flat_hash_map
<
uint64_t
,
uint32_t
>
mp1
=
{
{
100
,
99
},
{
300
,
299
}
};
for
(
const
auto
&
n
:
mp1
)
std
::
cout
<<
n
.
first
<<
"'s value is: "
<<
n
.
second
<<
"
\n
"
;
{
phmap
::
BinaryOutputArchive
ar_out
(
"./dump.data"
);
mp1
.
phmap_dump
(
ar_out
);
}
phmap
::
flat_hash_map
<
uint64_t
,
uint32_t
>
mp2
;
{
phmap
::
BinaryInputArchive
ar_in
(
"./dump.data"
);
mp2
.
phmap_load
(
ar_in
);
}
for
(
const
auto
&
n
:
mp2
)
std
::
cout
<<
n
.
first
<<
"'s value is: "
<<
n
.
second
<<
"
\n
"
;
}
void
dump_load_parallel_flat_hash_map
()
{
phmap
::
parallel_flat_hash_map
<
uint64_t
,
uint32_t
>
mp1
=
{
{
100
,
99
},
{
300
,
299
},
{
101
,
992
}
};
for
(
const
auto
&
n
:
mp1
)
std
::
cout
<<
"key: "
<<
n
.
first
<<
", value: "
<<
n
.
second
<<
"
\n
"
;
{
phmap
::
BinaryOutputArchive
ar_out
(
"./dump.data"
);
mp1
.
phmap_dump
(
ar_out
);
}
phmap
::
parallel_flat_hash_map
<
uint64_t
,
uint32_t
>
mp2
;
{
phmap
::
BinaryInputArchive
ar_in
(
"./dump.data"
);
mp2
.
phmap_load
(
ar_in
);
}
for
(
const
auto
&
n
:
mp2
)
std
::
cout
<<
"key: "
<<
n
.
first
<<
", value: "
<<
n
.
second
<<
"
\n
"
;
}
int
main
()
{
dump_load_uint64_uint32
();
dump_load_parallel_flat_hash_map
();
return
0
;
}
third_party/parallel-hashmap/examples/dump_nested.cc
0 → 100644
View file @
2951b12d
/*
*
* Example of dumping a map, containing values which are phmap maps or sets
* building this requires c++17 support
*
*/
#include <iostream>
#include <parallel_hashmap/phmap_dump.h>
template
<
class
K
,
class
V
>
class
MyMap
:
public
phmap
::
flat_hash_map
<
K
,
phmap
::
flat_hash_set
<
V
>>
{
public:
using
Set
=
phmap
::
flat_hash_set
<
V
>
;
void
dump
(
const
std
::
string
&
filename
)
{
phmap
::
BinaryOutputArchive
ar_out
(
filename
.
c_str
());
ar_out
.
dump
(
this
->
size
());
for
(
auto
&
[
k
,
v
]
:
*
this
)
{
ar_out
.
dump
(
k
);
v
.
dump
(
ar_out
);
}
}
void
load
(
const
std
::
string
&
filename
)
{
phmap
::
BinaryInputArchive
ar_in
(
filename
.
c_str
());
size_t
size
;
ar_in
.
load
(
&
size
);
this
->
reserve
(
size
);
while
(
size
--
)
{
K
k
;
Set
v
;
ar_in
.
load
(
&
k
);
v
.
load
(
ar_in
);
this
->
insert_or_assign
(
std
::
move
(
k
),
std
::
move
(
v
));
}
}
void
insert
(
K
k
,
V
v
)
{
Set
&
set
=
(
*
this
)[
k
];
set
.
insert
(
v
);
}
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
MyMap
&
map
)
{
for
(
const
auto
&
[
k
,
m
]
:
map
)
{
os
<<
k
<<
": ["
;
for
(
const
auto
&
x
:
m
)
os
<<
x
<<
", "
;
os
<<
"]
\n
"
;
}
return
os
;
}
};
int
main
()
{
MyMap
<
size_t
,
size_t
>
m
;
m
.
insert
(
1
,
5
);
m
.
insert
(
1
,
8
);
m
.
insert
(
2
,
3
);
m
.
insert
(
1
,
15
);
m
.
insert
(
1
,
27
);
m
.
insert
(
2
,
10
);
m
.
insert
(
2
,
13
);
std
::
cout
<<
m
<<
"
\n
"
;
m
.
dump
(
"test_archive"
);
m
.
clear
();
m
.
load
(
"test_archive"
);
std
::
cout
<<
m
<<
"
\n
"
;
return
0
;
}
third_party/parallel-hashmap/examples/emplace.cc
0 → 100644
View file @
2951b12d
#include <map>
#include <unordered_map>
#include <string>
#include <iostream>
#include <chrono>
#include <vector>
#include <parallel_hashmap/phmap.h>
#include <sstream>
template
<
typename
T
>
using
milliseconds
=
std
::
chrono
::
duration
<
T
,
std
::
milli
>
;
// type containing std::string. Seems to take a long time to construct (and maybe move)
// ------------------------------------------------------------------------------------
class
custom_type
{
std
::
string
one
=
"one"
;
std
::
string
two
=
"two"
;
std
::
uint32_t
three
=
3
;
std
::
uint64_t
four
=
4
;
std
::
uint64_t
five
=
5
;
public:
custom_type
()
=
default
;
// Make object movable and non-copyable
custom_type
(
custom_type
&&
)
=
default
;
custom_type
&
operator
=
(
custom_type
&&
)
=
default
;
// should be automatically deleted per http://www.slideshare.net/ripplelabs/howard-hinnant-accu2014
//custom_type(custom_type const&) = delete;
//custom_type& operator=(custom_type const&) = delete;
};
// type containing only integrals. should be faster to create.
// -----------------------------------------------------------
class
custom_type_2
{
std
::
uint32_t
three
=
3
;
std
::
uint64_t
four
=
4
;
std
::
uint64_t
five
=
5
;
std
::
uint64_t
six
=
6
;
public:
custom_type_2
()
=
default
;
// Make object movable and non-copyable
custom_type_2
(
custom_type_2
&&
)
=
default
;
custom_type_2
&
operator
=
(
custom_type_2
&&
)
=
default
;
// should be automatically deleted per http://www.slideshare.net/ripplelabs/howard-hinnant-accu2014
//custom_type_2(custom_type_2 const&) = delete;
//custom_type_2& operator=(custom_type_2 const&) = delete;
};
// convert std::size_t to appropriate key
// --------------------------------------
template
<
class
K
>
struct
GenKey
{
K
operator
()(
std
::
size_t
j
);
};
template
<
>
struct
GenKey
<
std
::
string
>
{
std
::
string
operator
()(
std
::
size_t
j
)
{
std
::
ostringstream
stm
;
stm
<<
j
;
return
stm
.
str
();
}
};
template
<
>
struct
GenKey
<
int
>
{
int
operator
()(
std
::
size_t
j
)
{
return
(
int
)
j
;
}
};
// emplace key + large struct
// --------------------------
template
<
class
Map
,
class
K
,
class
V
,
class
T
>
struct
_emplace
{
void
operator
()(
Map
&
m
,
std
::
size_t
j
);
};
// "void" template parameter -> use emplace
template
<
class
Map
,
class
K
,
class
V
>
struct
_emplace
<
Map
,
K
,
V
,
void
>
{
void
operator
()(
Map
&
m
,
std
::
size_t
j
)
{
m
.
emplace
(
GenKey
<
K
>
()(
j
),
V
());
}
};
// "int" template parameter -> use emplace_back for std::vector
template
<
class
Map
,
class
K
,
class
V
>
struct
_emplace
<
Map
,
K
,
V
,
int
>
{
void
operator
()(
Map
&
m
,
std
::
size_t
j
)
{
m
.
emplace_back
(
GenKey
<
K
>
()(
j
),
V
());
}
};
// The test itself
// ---------------
template
<
class
Map
,
class
K
,
class
V
,
class
T
,
template
<
class
,
class
,
class
,
class
>
class
INSERT
>
void
_test
(
std
::
size_t
iterations
,
std
::
size_t
container_size
,
const
char
*
map_name
)
{
std
::
size_t
count
=
0
;
auto
t1
=
std
::
chrono
::
high_resolution_clock
::
now
();
INSERT
<
Map
,
K
,
V
,
T
>
insert
;
for
(
std
::
size_t
i
=
0
;
i
<
iterations
;
++
i
)
{
Map
m
;
for
(
std
::
size_t
j
=
0
;
j
<
container_size
;
++
j
)
insert
(
m
,
j
);
count
+=
m
.
size
();
}
auto
t2
=
std
::
chrono
::
high_resolution_clock
::
now
();
auto
elapsed
=
milliseconds
<
double
>
(
t2
-
t1
).
count
();
if
(
count
!=
iterations
*
container_size
)
std
::
clog
<<
" invalid count: "
<<
count
<<
"
\n
"
;
std
::
clog
<<
map_name
<<
std
::
fixed
<<
int
(
elapsed
)
<<
" ms
\n
"
;
}
template
<
class
K
,
class
V
,
template
<
class
,
class
,
class
,
class
>
class
INSERT
>
void
test
(
std
::
size_t
iterations
,
std
::
size_t
container_size
)
{
std
::
clog
<<
"bench: iterations: "
<<
iterations
<<
" / container_size: "
<<
container_size
<<
"
\n
"
;
_test
<
std
::
map
<
K
,
V
>
,
K
,
V
,
void
,
INSERT
>
(
iterations
,
container_size
,
" std::map: "
);
_test
<
std
::
unordered_map
<
K
,
V
>
,
K
,
V
,
void
,
INSERT
>
(
iterations
,
container_size
,
" std::unordered_map: "
);
_test
<
phmap
::
flat_hash_map
<
K
,
V
>
,
K
,
V
,
void
,
INSERT
>
(
iterations
,
container_size
,
" phmap::flat_hash_map: "
);
_test
<
std
::
vector
<
std
::
pair
<
K
,
V
>>
,
K
,
V
,
int
,
INSERT
>
(
iterations
,
container_size
,
" std::vector<std::pair>: "
);
std
::
clog
<<
"
\n
"
;
}
int
main
()
{
std
::
size_t
iterations
=
100000
;
// test with custom_type_2 (int key + 32 byte value). This is representative
// of the hash table insertion speed.
// -------------------------------------------------------------------------
std
::
clog
<<
"
\n\n
"
<<
"testing with <int, custom_type_2>"
"
\n
"
;
std
::
clog
<<
"---------------------------------"
"
\n
"
;
test
<
int
,
custom_type_2
,
_emplace
>
(
iterations
,
10
);
test
<
int
,
custom_type_2
,
_emplace
>
(
iterations
,
100
);
test
<
int
,
custom_type_2
,
_emplace
>
(
iterations
,
500
);
// test with custom_type, which contains two std::string values, and use
// a generated string key. This is not very indicative of the speed of the
// hash itself, as a good chunk of the time is spent creating the keys and
// values (as shown by the long times even for std::vector).
// -----------------------------------------------------------------------
std
::
clog
<<
"
\n
"
<<
"testing with <string, custom_type>"
"
\n
"
;
std
::
clog
<<
"---------------------------------"
"
\n
"
;
test
<
std
::
string
,
custom_type
,
_emplace
>
(
iterations
,
1
);
test
<
std
::
string
,
custom_type
,
_emplace
>
(
iterations
,
10
);
test
<
std
::
string
,
custom_type
,
_emplace
>
(
iterations
,
50
);
}
third_party/parallel-hashmap/examples/f1.cc
0 → 100644
View file @
2951b12d
/*
* Make sure that the phmap.h header builds fine when included in two separate
* source files
*/
#include <string>
#include <parallel_hashmap/phmap.h>
using
phmap
::
flat_hash_map
;
int
main
()
{
// Create an unordered_map of three strings (that map to strings)
using
Map
=
flat_hash_map
<
std
::
string
,
std
::
string
>
;
Map
email
=
{
{
"tom"
,
"tom@gmail.com"
},
{
"jeff"
,
"jk@gmail.com"
},
{
"jim"
,
"jimg@microsoft.com"
}
};
extern
void
f2
(
Map
&
);
f2
(
email
);
return
0
;
}
third_party/parallel-hashmap/examples/f2.cc
0 → 100644
View file @
2951b12d
/*
* Make sure that the phmap.h header builds fine when included in two separate
* source files
*/
#include <iostream>
#include <string>
#include <parallel_hashmap/phmap.h>
using
phmap
::
flat_hash_map
;
using
Map
=
flat_hash_map
<
std
::
string
,
std
::
string
>
;
void
f2
(
Map
&
email
)
{
// Iterate and print keys and values
for
(
const
auto
&
n
:
email
)
std
::
cout
<<
n
.
first
<<
"'s email is: "
<<
n
.
second
<<
"
\n
"
;
// Add a new entry
email
[
"bill"
]
=
"bg@whatever.com"
;
// and print it
std
::
cout
<<
"bill's email is: "
<<
email
[
"bill"
]
<<
"
\n
"
;
}
third_party/parallel-hashmap/examples/hash_std.cc
0 → 100644
View file @
2951b12d
#include "hash_std.h" // defines Person with std::hash specialization
#include <iostream>
#include <parallel_hashmap/phmap.h>
int
main
()
{
// As we have defined a specialization of std::hash() for Person,
// we can now create sparse_hash_set or sparse_hash_map of Persons
// ----------------------------------------------------------------
phmap
::
flat_hash_set
<
Person
>
persons
=
{
{
"John"
,
"Mitchell"
,
35
},
{
"Jane"
,
"Smith"
,
32
},
{
"Jane"
,
"Smith"
,
30
},
};
for
(
auto
&
p
:
persons
)
std
::
cout
<<
p
.
_first
<<
' '
<<
p
.
_last
<<
" ("
<<
p
.
_age
<<
")"
<<
'\n'
;
}
third_party/parallel-hashmap/examples/hash_std.h
0 → 100644
View file @
2951b12d
#ifndef phmap_example_hash_std_
#define phmap_example_hash_std_
#include <parallel_hashmap/phmap_utils.h> // minimal header providing phmap::HashState()
#include <string>
using
std
::
string
;
struct
Person
{
bool
operator
==
(
const
Person
&
o
)
const
{
return
_first
==
o
.
_first
&&
_last
==
o
.
_last
&&
_age
==
o
.
_age
;
}
string
_first
;
string
_last
;
int
_age
;
};
namespace
std
{
// inject specialization of std::hash for Person into namespace std
// An alternative is to provide a hash_value() friend function (see hash_value.h)
// ------------------------------------------------------------------------------
template
<
>
struct
hash
<
Person
>
{
std
::
size_t
operator
()(
Person
const
&
p
)
const
{
return
phmap
::
HashState
().
combine
(
0
,
p
.
_first
,
p
.
_last
,
p
.
_age
);
}
};
}
#endif // phmap_example_hash_std_
third_party/parallel-hashmap/examples/hash_value.cc
0 → 100644
View file @
2951b12d
#include "hash_value.h" // defines Person with std::hash specialization
#include <iostream>
#include <parallel_hashmap/phmap.h>
int
main
()
{
// As we have defined a specialization of std::hash() for Person,
// we can now create sparse_hash_set or sparse_hash_map of Persons
// ----------------------------------------------------------------
phmap
::
flat_hash_set
<
Person
>
persons
=
{
{
"John"
,
"Mitchell"
,
35
},
{
"Jane"
,
"Smith"
,
32
},
{
"Jane"
,
"Smith"
,
30
},
};
for
(
auto
&
p
:
persons
)
std
::
cout
<<
p
.
_first
<<
' '
<<
p
.
_last
<<
" ("
<<
p
.
_age
<<
")"
<<
'\n'
;
}
third_party/parallel-hashmap/examples/hash_value.h
0 → 100644
View file @
2951b12d
#ifndef phmap_example_hash_value_
#define phmap_example_hash_value_
#include <parallel_hashmap/phmap_utils.h> // minimal header providing phmap::HashState()
#include <string>
using
std
::
string
;
struct
Person
{
bool
operator
==
(
const
Person
&
o
)
const
{
return
_first
==
o
.
_first
&&
_last
==
o
.
_last
&&
_age
==
o
.
_age
;
}
// Demonstrates how to provide the hash function as a friend member function of the class
// This can be used as an alternative to providing a std::hash<Person> specialization
// --------------------------------------------------------------------------------------
friend
size_t
hash_value
(
const
Person
&
p
)
{
return
phmap
::
HashState
().
combine
(
0
,
p
.
_first
,
p
.
_last
,
p
.
_age
);
}
string
_first
;
string
_last
;
int
_age
;
};
#endif // phmap_example_hash_value_
third_party/parallel-hashmap/examples/insert_bench.cc
0 → 100644
View file @
2951b12d
#include <string>
#include <array>
#include <cstdint>
#include <limits>
#include <random>
#include <utility>
#define PHMAP_ALLOCATOR_NOTHROW 1
#include <parallel_hashmap/phmap.h>
// this is probably the fastest high quality 64bit random number generator that exists.
// Implements Small Fast Counting v4 RNG from PractRand.
class
sfc64
{
public:
using
result_type
=
uint64_t
;
// no copy ctors so we don't accidentally get the same random again
sfc64
(
sfc64
const
&
)
=
delete
;
sfc64
&
operator
=
(
sfc64
const
&
)
=
delete
;
sfc64
(
sfc64
&&
)
=
default
;
sfc64
&
operator
=
(
sfc64
&&
)
=
default
;
sfc64
(
std
::
array
<
uint64_t
,
4
>
const
&
_state
)
:
m_a
(
_state
[
0
])
,
m_b
(
_state
[
1
])
,
m_c
(
_state
[
2
])
,
m_counter
(
_state
[
3
])
{}
static
constexpr
uint64_t
(
min
)()
{
return
(
std
::
numeric_limits
<
uint64_t
>::
min
)();
}
static
constexpr
uint64_t
(
max
)()
{
return
(
std
::
numeric_limits
<
uint64_t
>::
max
)();
}
sfc64
()
:
sfc64
(
UINT64_C
(
0x853c49e6748fea9b
))
{}
sfc64
(
uint64_t
_seed
)
:
m_a
(
_seed
)
,
m_b
(
_seed
)
,
m_c
(
_seed
)
,
m_counter
(
1
)
{
for
(
int
i
=
0
;
i
<
12
;
++
i
)
{
operator
()();
}
}
void
seed
()
{
*
this
=
sfc64
{
std
::
random_device
{}()};
}
uint64_t
operator
()()
noexcept
{
auto
const
tmp
=
m_a
+
m_b
+
m_counter
++
;
m_a
=
m_b
^
(
m_b
>>
right_shift
);
m_b
=
m_c
+
(
m_c
<<
left_shift
);
m_c
=
rotl
(
m_c
,
rotation
)
+
tmp
;
return
tmp
;
}
// this is a bit biased, but for our use case that's not important.
uint64_t
operator
()(
uint64_t
boundExcluded
)
noexcept
{
#ifdef PHMAP_HAS_UMUL128
uint64_t
h
;
(
void
)
umul128
(
operator
()(),
boundExcluded
,
&
h
);
return
h
;
#else
return
0
;
#endif
}
std
::
array
<
uint64_t
,
4
>
state
()
const
{
return
{{
m_a
,
m_b
,
m_c
,
m_counter
}};
}
void
state
(
std
::
array
<
uint64_t
,
4
>
const
&
s
)
{
m_a
=
s
[
0
];
m_b
=
s
[
1
];
m_c
=
s
[
2
];
m_counter
=
s
[
3
];
}
private:
template
<
typename
T
>
T
rotl
(
T
const
x
,
int
k
)
{
return
(
x
<<
k
)
|
(
x
>>
(
8
*
sizeof
(
T
)
-
k
));
}
static
constexpr
int
rotation
=
24
;
static
constexpr
int
right_shift
=
11
;
static
constexpr
int
left_shift
=
3
;
uint64_t
m_a
;
uint64_t
m_b
;
uint64_t
m_c
;
uint64_t
m_counter
;
};
int
main
()
{
// Create an unordered_map of three strings (that map to strings)
using
Map
=
phmap
::
parallel_node_hash_map
<
int
,
int
>
;
static
size_t
const
n
=
50000000
;
sfc64
rng
(
123
);
size_t
checksum
=
0
;
if
(
0
)
{
size_t
const
max_rng
=
n
/
20
;
Map
map
;
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
{
checksum
+=
++
map
[
static_cast
<
int
>
(
rng
(
max_rng
))];
}
}
if
(
0
)
{
size_t
const
max_rng
=
n
/
4
;
Map
map
;
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
{
checksum
+=
++
map
[
static_cast
<
int
>
(
rng
(
max_rng
))];
}
}
if
(
1
)
{
size_t
const
max_rng
=
n
/
2
;
Map
map
;
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
{
checksum
+=
++
map
[
static_cast
<
int
>
(
rng
(
max_rng
))];
}
}
if
(
0
)
{
Map
map
;
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
{
checksum
+=
++
map
[
static_cast
<
int
>
(
rng
())];
}
}
printf
(
"%zu
\n
"
,
checksum
);
}
third_party/parallel-hashmap/examples/knucleotide-input.txt
0 → 100644
View file @
2951b12d
>ONE Homo sapiens alu
GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA
TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT
AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG
GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG
CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT
GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA
GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA
TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG
AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA
GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT
AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC
AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG
GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC
CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG
AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT
TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA
TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT
GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG
TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT
CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG
CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG
TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA
CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG
AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG
GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC
TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA
TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA
GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT
GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC
ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT
TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC
CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG
CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG
GGCGACAGAGCGAGACTCCG
>TWO IUB ambiguity codes
cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg
tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa
NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt
cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga
gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa
HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca
tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt
tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt
acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct
tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt
gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa
accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt
RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt
tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag
cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg
ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat
actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg
YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa
KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata
aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa
aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg
gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc
tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK
tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt
ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg
ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa
BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt
aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc
tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc
cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac
aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga
tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga
aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD
gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg
ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV
taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa
ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat
gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg
gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa
tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt
tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt
taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca
cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag
aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt
cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt
ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW
attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag
ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa
attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc
tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta
>THREE Homo sapiens frequency
aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga
atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc
ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc
atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa
tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca
tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag
gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat
tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt
gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc
gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc
atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc
taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta
ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg
acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag
ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg
ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt
cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg
ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt
aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag
attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac
acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat
tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca
attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt
aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt
tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg
ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga
gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac
caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct
taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga
ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg
ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat
gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga
ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact
aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc
cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt
gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat
ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt
tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata
tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac
ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga
tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac
gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat
ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc
actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc
gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca
ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata
tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca
atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata
aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat
tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt
ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat
acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga
gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata
gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg
tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac
gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga
gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat
tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta
acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga
tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata
catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga
attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt
ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt
ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg
gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa
tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg
tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct
ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc
gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta
ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact
tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc
ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc
tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt
ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca
actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac
gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc
gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag
accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga
gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct
cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta
tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat
atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt
ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta
ggaagtgaaaagataaatat
Prev
1
…
4
5
6
7
8
9
10
11
12
…
14
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment