├── favicon.ico
├── images
├── bg.png
├── logo.png
├── qmark.png
├── nav-rule.png
├── blacktocat.png
├── active-arrow.png
├── background-v2.png
├── bg_footer_top.png
├── crud-sprite.png
├── expand-arrows.png
├── footer-logo.png
├── footer_logo.png
├── feed-icon-28x28.png
├── logo_developer.png
├── next_step_arrow.gif
├── rackspace_logo.png
├── background-white.png
├── bg_footer_bottom.png
├── dropdown_sprites.jpg
├── posts
│ ├── default-branch.png
│ └── create-repo-init.png
├── footer-logo.svg
└── blacktocat.svg
├── css
├── custom.css
├── vendor
│ ├── reset.css
│ ├── uv_active4d.css
│ ├── pygments.css
│ ├── coderay.css
│ └── 960.css
└── documentation.css
├── js
└── documentation.js
├── api
├── groups
│ └── index.html
├── auth
│ └── registration
│ │ └── index.html
├── discovery
│ └── index.html
├── config
│ └── index.html
├── lights
│ └── index.html
└── schedules
│ └── index.html
└── index.html
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/favicon.ico
--------------------------------------------------------------------------------
/images/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/bg.png
--------------------------------------------------------------------------------
/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/logo.png
--------------------------------------------------------------------------------
/images/qmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/qmark.png
--------------------------------------------------------------------------------
/images/nav-rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/nav-rule.png
--------------------------------------------------------------------------------
/images/blacktocat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/blacktocat.png
--------------------------------------------------------------------------------
/images/active-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/active-arrow.png
--------------------------------------------------------------------------------
/images/background-v2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/background-v2.png
--------------------------------------------------------------------------------
/images/bg_footer_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/bg_footer_top.png
--------------------------------------------------------------------------------
/images/crud-sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/crud-sprite.png
--------------------------------------------------------------------------------
/images/expand-arrows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/expand-arrows.png
--------------------------------------------------------------------------------
/images/footer-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/footer-logo.png
--------------------------------------------------------------------------------
/images/footer_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/footer_logo.png
--------------------------------------------------------------------------------
/images/feed-icon-28x28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/feed-icon-28x28.png
--------------------------------------------------------------------------------
/images/logo_developer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/logo_developer.png
--------------------------------------------------------------------------------
/images/next_step_arrow.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/next_step_arrow.gif
--------------------------------------------------------------------------------
/images/rackspace_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/rackspace_logo.png
--------------------------------------------------------------------------------
/images/background-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/background-white.png
--------------------------------------------------------------------------------
/images/bg_footer_bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/bg_footer_bottom.png
--------------------------------------------------------------------------------
/images/dropdown_sprites.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/dropdown_sprites.jpg
--------------------------------------------------------------------------------
/images/posts/default-branch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/posts/default-branch.png
--------------------------------------------------------------------------------
/images/posts/create-repo-init.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Burgestrand/hue-api/HEAD/images/posts/create-repo-init.png
--------------------------------------------------------------------------------
/css/custom.css:
--------------------------------------------------------------------------------
1 | .api-endpoint
2 | {
3 | margin-bottom: 1em;
4 | }
5 |
6 | .api-endpoint .http-verb
7 | {
8 | font-weight: bold;
9 | color: #900;
10 | }
11 |
12 | .api-endpoint .param
13 | {
14 | color: #369;
15 | font-style: normal;
16 | font-weight: bold;
17 | }
18 |
19 | h4
20 | {
21 | margin-top: 1em;
22 | }
23 |
--------------------------------------------------------------------------------
/css/vendor/reset.css:
--------------------------------------------------------------------------------
1 | /* `XHTML, HTML4, HTML5 Reset
2 | ----------------------------------------------------------------------------------------------------*/
3 |
4 | a,
5 | abbr,
6 | acronym,
7 | address,
8 | applet,
9 | article,
10 | aside,
11 | audio,
12 | b,
13 | big,
14 | blockquote,
15 | body,
16 | canvas,
17 | caption,
18 | center,
19 | cite,
20 | code,
21 | dd,
22 | del,
23 | details,
24 | dfn,
25 | dialog,
26 | div,
27 | dl,
28 | dt,
29 | em,
30 | embed,
31 | fieldset,
32 | figcaption,
33 | figure,
34 | font,
35 | footer,
36 | form,
37 | h1,
38 | h2,
39 | h3,
40 | h4,
41 | h5,
42 | h6,
43 | header,
44 | hgroup,
45 | hr,
46 | html,
47 | i,
48 | iframe,
49 | img,
50 | ins,
51 | kbd,
52 | label,
53 | legend,
54 | li,
55 | mark,
56 | menu,
57 | meter,
58 | nav,
59 | object,
60 | ol,
61 | output,
62 | p,
63 | pre,
64 | progress,
65 | q,
66 | rp,
67 | rt,
68 | ruby,
69 | s,
70 | samp,
71 | section,
72 | small,
73 | span,
74 | strike,
75 | strong,
76 | sub,
77 | summary,
78 | sup,
79 | table,
80 | tbody,
81 | td,
82 | tfoot,
83 | th,
84 | thead,
85 | time,
86 | tr,
87 | tt,
88 | u,
89 | ul,
90 | var,
91 | video,
92 | xmp {
93 | border: 0;
94 | margin: 0;
95 | padding: 0;
96 | font-size: 100%;
97 | }
98 |
99 | html,
100 | body {
101 | height: 100%;
102 | }
103 |
104 | article,
105 | aside,
106 | details,
107 | figcaption,
108 | figure,
109 | footer,
110 | header,
111 | hgroup,
112 | menu,
113 | nav,
114 | section {
115 | /*
116 | Override the default (display: inline) for
117 | browsers that do not recognize HTML5 tags.
118 |
119 | IE8 (and lower) requires a shiv:
120 | http://ejohn.org/blog/html5-shiv
121 | */
122 | display: block;
123 | }
124 |
125 | b,
126 | strong {
127 | /*
128 | Makes browsers agree.
129 | IE + Opera = font-weight: bold.
130 | Gecko + WebKit = font-weight: bolder.
131 | */
132 | font-weight: bold;
133 | }
134 |
135 | img {
136 | color: transparent;
137 | font-size: 0;
138 | vertical-align: middle;
139 | /*
140 | For IE.
141 | http://css-tricks.com/ie-fix-bicubic-scaling-for-images
142 | */
143 | -ms-interpolation-mode: bicubic;
144 | }
145 |
146 | li {
147 | /*
148 | For IE6 + IE7.
149 | */
150 | display: list-item;
151 | }
152 |
153 | table {
154 | border-collapse: collapse;
155 | border-spacing: 0;
156 | }
157 |
158 | th,
159 | td,
160 | caption {
161 | font-weight: normal;
162 | vertical-align: top;
163 | text-align: left;
164 | }
165 |
166 | svg {
167 | /*
168 | For IE9.
169 | */
170 | overflow: hidden;
171 | }
--------------------------------------------------------------------------------
/css/vendor/uv_active4d.css:
--------------------------------------------------------------------------------
1 | pre.active4d code {
2 | background:none;
3 | color:#000;
4 | font-size:1.1em
5 | }
6 |
7 | pre.active4d .DiffHeader {
8 | background-color: #656565;
9 | color: #FFFFFF;
10 | }
11 | pre.active4d .Operator {
12 | }
13 | pre.active4d .InheritedClass {
14 | }
15 | pre.active4d .TypeName {
16 | color: #21439C;
17 | }
18 | pre.active4d .Number {
19 | color: #A8017E;
20 | }
21 | pre.active4d .EmbeddedSource {
22 | background-color: #ECF1FF;
23 | }
24 | pre.active4d {
25 | background-color: #FFFFFF;
26 | color: #000000;
27 | }
28 | pre.active4d .DiffInsertedLine {
29 | background-color: #98FF9A;
30 | color: #000000;
31 | }
32 | pre.active4d .LibraryVariable {
33 | color: #A535AE;
34 | }
35 | pre.active4d .Storage {
36 | color: #FF5600;
37 | }
38 | pre.active4d .InterpolatedEntity {
39 | color: #66CCFF;
40 | }
41 | pre.active4d .line-numbers {
42 | background-color: #BAD6FD;
43 | color: #000000;
44 | }
45 | pre.active4d .LocalVariable {
46 | color: #6392FF;
47 | }
48 | pre.active4d .DiffLineRange {
49 | background-color: #1B63FF;
50 | color: #FFFFFF;
51 | }
52 | pre.active4d .BlockComment {
53 | color: #D33435;
54 | }
55 | pre.active4d .TagName {
56 | color: #016CFF;
57 | }
58 | pre.active4d .FunctionArgument {
59 | }
60 | pre.active4d .BuiltInConstant {
61 | color: #A535AE;
62 | }
63 | pre.active4d .LineComment {
64 | color: #D33535;
65 | }
66 | pre.active4d .DiffDeletedLine {
67 | background-color: #FF7880;
68 | color: #000000;
69 | }
70 | pre.active4d .NamedConstant {
71 | color: #B7734C;
72 | }
73 | pre.active4d .CommandMethod {
74 | color: #45AE34;
75 | }
76 | pre.active4d .TableField {
77 | color: #0BB600;
78 | }
79 | pre.active4d .PlainXmlText {
80 | color: #000000;
81 | }
82 | pre.active4d .Invalid {
83 | background-color: #990000;
84 | color: #FFFFFF;
85 | }
86 | pre.active4d .LibraryClassType {
87 | color: #A535AE;
88 | }
89 | pre.active4d .TagAttribute {
90 | color: #963DFF;
91 | }
92 | pre.active4d .Keyword {
93 | color: #006699;
94 | }
95 | pre.active4d .UserDefinedConstant {
96 | }
97 | pre.active4d .String {
98 | color: #666666;
99 | }
100 | pre.active4d .DiffUnchangedLine {
101 | color: #5E5E5E;
102 | }
103 | pre.active4d .TagContainer {
104 | color: #7A7A7A;
105 | }
106 | pre.active4d .FunctionName {
107 | color: #21439C;
108 | }
109 | pre.active4d .Variable {
110 | color: #0053FF;
111 | }
112 | pre.active4d .DateTimeLiteral {
113 | font-weight: bold;
114 | color: #66CCFF;
115 | }
--------------------------------------------------------------------------------
/js/documentation.js:
--------------------------------------------------------------------------------
1 | // Init sidebar
2 | $(function() {
3 | var activeItem,
4 | helpList = $('#js-sidebar .js-topic'),
5 | firstOccurance = true
6 |
7 | // hide list items at startup
8 | if($('body.api') && window.location){
9 | var reg = /\/\/[^\/]+(\/.+)/g,
10 | docUrl = reg.exec(window.location.toString())
11 | if(docUrl){
12 | $('#js-sidebar .js-topic a').each(function(){
13 | var url = $(this).attr('href').toString()
14 | if(url.indexOf(docUrl[1]) >= 0 && url.length == docUrl[1].length){
15 | $(this).parent('li').addClass('disable')
16 | var parentTopic = $(this).parentsUntil('div.sidebar-module > ul').last()
17 | parentTopic.addClass('js-current')
18 | parentTopic.find('.js-expand-btn').toggleClass('collapsed expanded')
19 | }
20 | })
21 | }
22 | }
23 |
24 | $('#js-sidebar .js-topic').each(function(){
25 | if(($(this).find('.disable').length == 0 || firstOccurance == false) &&
26 | $(this).hasClass('js-current') != true){
27 | $(this).find('.js-guides').children().hide()
28 | } else {
29 | activeItem = $(this).index()
30 | firstOccurance = false
31 | }
32 | })
33 |
34 | // Toggle style list. Expanded items stay
35 | // expanded when new items are clicked.
36 | $('#js-sidebar .js-toggle-list .js-expand-btn').click(function(){
37 | var clickedTopic = $(this).parents('.js-topic'),
38 | topicGuides = clickedTopic.find('.js-guides li')
39 | $(this).toggleClass('collapsed expanded')
40 | topicGuides.toggle(100)
41 | return false
42 | })
43 |
44 | // Accordion style list. Expanded items
45 | // collapse when new items are clicked.
46 | $('#js-sidebar .js-accordion-list .js-topic h3 a').click(function(){
47 | var clickedTopic = $(this).parents('.js-topic'),
48 | topicGuides = clickedTopic.find('.js-guides li')
49 |
50 | if(activeItem != clickedTopic.index()){
51 | if(helpList.eq(activeItem)){
52 | helpList.eq(activeItem).find('.js-guides li').toggle(100)
53 | }
54 | activeItem = clickedTopic.index()
55 | topicGuides.toggle(100)
56 | } else {
57 | activeItem = undefined
58 | topicGuides.toggle(100)
59 | }
60 |
61 | return false
62 | })
63 |
64 | $('.help-search .search-box').focus(function(){
65 | $(this).css('background-position','0px -25px')
66 | })
67 |
68 | $('.help-search .search-box').focusout(function(){
69 | if($(this).val() == ''){
70 | $(this).css('background-position','0px 0px')
71 | }
72 | })
73 |
74 | // Dynamic year for footer copyright
75 | var currentYear = (new Date).getFullYear();
76 | $("#year").text( (new Date).getFullYear() );
77 |
78 | });
--------------------------------------------------------------------------------
/css/vendor/pygments.css:
--------------------------------------------------------------------------------
1 | .highlight { background: #ffffff; }
2 | .highlight .c { color: #999988; font-style: italic } /* Comment */
3 | .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
4 | .highlight .k { font-weight: bold } /* Keyword */
5 | .highlight .o { font-weight: bold } /* Operator */
6 | .highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
7 | .highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
8 | .highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
9 | .highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
10 | .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
11 | .highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
12 | .highlight .ge { font-style: italic } /* Generic.Emph */
13 | .highlight .gr { color: #aa0000 } /* Generic.Error */
14 | .highlight .gh { color: #999999 } /* Generic.Heading */
15 | .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
16 | .highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
17 | .highlight .go { color: #888888 } /* Generic.Output */
18 | .highlight .gp { color: #555555 } /* Generic.Prompt */
19 | .highlight .gs { font-weight: bold } /* Generic.Strong */
20 | .highlight .gu { color: #aaaaaa } /* Generic.Subheading */
21 | .highlight .gt { color: #aa0000 } /* Generic.Traceback */
22 | .highlight .kc { font-weight: bold } /* Keyword.Constant */
23 | .highlight .kd { font-weight: bold } /* Keyword.Declaration */
24 | .highlight .kp { font-weight: bold } /* Keyword.Pseudo */
25 | .highlight .kr { font-weight: bold } /* Keyword.Reserved */
26 | .highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
27 | .highlight .m { color: #009999 } /* Literal.Number */
28 | .highlight .s { color: #d14 } /* Literal.String */
29 | .highlight .na { color: #008080 } /* Name.Attribute */
30 | .highlight .nb { color: #0086B3 } /* Name.Builtin */
31 | .highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
32 | .highlight .no { color: #008080 } /* Name.Constant */
33 | .highlight .ni { color: #800080 } /* Name.Entity */
34 | .highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
35 | .highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
36 | .highlight .nn { color: #555555 } /* Name.Namespace */
37 | .highlight .nt { color: #000080 } /* Name.Tag */
38 | .highlight .nv { color: #008080 } /* Name.Variable */
39 | .highlight .ow { font-weight: bold } /* Operator.Word */
40 | .highlight .w { color: #bbbbbb } /* Text.Whitespace */
41 | .highlight .mf { color: #009999 } /* Literal.Number.Float */
42 | .highlight .mh { color: #009999 } /* Literal.Number.Hex */
43 | .highlight .mi { color: #009999 } /* Literal.Number.Integer */
44 | .highlight .mo { color: #009999 } /* Literal.Number.Oct */
45 | .highlight .sb { color: #d14 } /* Literal.String.Backtick */
46 | .highlight .sc { color: #d14 } /* Literal.String.Char */
47 | .highlight .sd { color: #d14 } /* Literal.String.Doc */
48 | .highlight .s2 { color: #d14 } /* Literal.String.Double */
49 | .highlight .se { color: #d14 } /* Literal.String.Escape */
50 | .highlight .sh { color: #d14 } /* Literal.String.Heredoc */
51 | .highlight .si { color: #d14 } /* Literal.String.Interpol */
52 | .highlight .sx { color: #d14 } /* Literal.String.Other */
53 | .highlight .sr { color: #009926 } /* Literal.String.Regex */
54 | .highlight .s1 { color: #d14 } /* Literal.String.Single */
55 | .highlight .ss { color: #990073 } /* Literal.String.Symbol */
56 | .highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
57 | .highlight .vc { color: #008080 } /* Name.Variable.Class */
58 | .highlight .vg { color: #008080 } /* Name.Variable.Global */
59 | .highlight .vi { color: #008080 } /* Name.Variable.Instance */
60 | .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
--------------------------------------------------------------------------------
/css/vendor/coderay.css:
--------------------------------------------------------------------------------
1 | .CodeRay {
2 | background-color: #FFF;
3 | font-family: Monaco, "Courier New", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", monospace;
4 | color: #000;
5 | }
6 |
7 | .CodeRay pre {
8 | margin: 0px;
9 | }
10 |
11 | div.CodeRay { }
12 | span.CodeRay { white-space: pre; border: 0px; padding: 2px }
13 |
14 | table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px }
15 | table.CodeRay td {
16 | padding: 1em 0.5em;
17 | vertical-align: top;
18 | }
19 |
20 | .CodeRay .line-numbers, .CodeRay .no {
21 | background-color: #ECECEC;
22 | color: #AAA;
23 | text-align: right;
24 | }
25 |
26 | .CodeRay .line-numbers a {
27 | color: #AAA;
28 | }
29 |
30 | .CodeRay .line-numbers tt { font-weight: bold }
31 | .CodeRay .line-numbers .highlighted { color: red }
32 | .CodeRay .line { display: block; float: left; width: 100%; }
33 | .CodeRay span.line-numbers { padding: 0px 4px }
34 | .CodeRay .code { width: 100% }
35 |
36 | ol.CodeRay { font-size: 10pt }
37 | ol.CodeRay li { white-space: pre }
38 |
39 | .CodeRay .code pre { overflow: auto }
40 | .CodeRay .debug { color:white ! important; background:blue ! important; }
41 |
42 | .CodeRay .annotation { color:#007 }
43 | .CodeRay .attribute-name { color:#f08 }
44 | .CodeRay .attribute-value { color:#700 }
45 | .CodeRay .binary { color:#509; font-weight:bold }
46 | .CodeRay .comment { color:#998; font-style: italic;}
47 | .CodeRay .char { color:#04D }
48 | .CodeRay .char .content { color:#04D }
49 | .CodeRay .char .delimiter { color:#039 }
50 | .CodeRay .class { color:#458; font-weight:bold }
51 | .CodeRay .complex { color:#A08; font-weight:bold }
52 | .CodeRay .constant { color:teal; }
53 | .CodeRay .color { color:#0A0 }
54 | .CodeRay .class-variable { color:#369 }
55 | .CodeRay .decorator { color:#B0B; }
56 | .CodeRay .definition { color:#099; font-weight:bold }
57 | .CodeRay .directive { color:#088; font-weight:bold }
58 | .CodeRay .delimiter { color:black }
59 | .CodeRay .doc { color:#970 }
60 | .CodeRay .doctype { color:#34b }
61 | .CodeRay .doc-string { color:#D42; font-weight:bold }
62 | .CodeRay .escape { color:#666; font-weight:bold }
63 | .CodeRay .entity { color:#800; font-weight:bold }
64 | .CodeRay .error { color:#F00; background-color:#FAA }
65 | .CodeRay .exception { color:#C00; font-weight:bold }
66 | .CodeRay .filename { color:#099; }
67 | .CodeRay .function { color:#900; font-weight:bold }
68 | .CodeRay .global-variable { color:teal; font-weight:bold }
69 | .CodeRay .hex { color:#058; font-weight:bold }
70 | .CodeRay .integer { color:#099; }
71 | .CodeRay .include { color:#B44; font-weight:bold }
72 | .CodeRay .inline { color: black }
73 | .CodeRay .inline .inline { background: #ccc }
74 | .CodeRay .inline .inline .inline { background: #bbb }
75 | .CodeRay .inline .inline-delimiter { color: #D14; }
76 | .CodeRay .inline-delimiter { color: #D14; }
77 | .CodeRay .important { color:#f00; }
78 | .CodeRay .interpreted { color:#B2B; font-weight:bold }
79 | .CodeRay .instance-variable { color:teal }
80 | .CodeRay .label { color:#970; font-weight:bold }
81 | .CodeRay .local-variable { color:#963 }
82 | .CodeRay .octal { color:#40E; font-weight:bold }
83 | .CodeRay .operator { }
84 | .CodeRay .predefined-constant { font-weight:bold }
85 | .CodeRay .predefined { color:#369; font-weight:bold }
86 | .CodeRay .preprocessor { color:#579; }
87 | .CodeRay .pseudo-class { color:#00C; font-weight:bold }
88 | .CodeRay .predefined-type { color:#074; font-weight:bold }
89 | .CodeRay .reserved, .keyword { color:#000; font-weight:bold }
90 |
91 | .CodeRay .key { color: #808; }
92 | .CodeRay .key .delimiter { color: #606; }
93 | .CodeRay .key .char { color: #80f; }
94 | .CodeRay .value { color: #088; }
95 |
96 | .CodeRay .regexp { background-color:#fff0ff }
97 | .CodeRay .regexp .content { color:#808 }
98 | .CodeRay .regexp .delimiter { color:#404 }
99 | .CodeRay .regexp .modifier { color:#C2C }
100 | .CodeRay .regexp .function { color:#404; font-weight: bold }
101 |
102 | .CodeRay .string { color: #D20; }
103 | .CodeRay .string .string { }
104 | .CodeRay .string .string .string { background-color:#ffd0d0 }
105 | .CodeRay .string .content { color: #D14; }
106 | .CodeRay .string .char { color: #D14; }
107 | .CodeRay .string .delimiter { color: #D14; }
108 |
109 | .CodeRay .shell { color:#D14 }
110 | .CodeRay .shell .content { }
111 | .CodeRay .shell .delimiter { color:#D14 }
112 |
113 | .CodeRay .symbol { color:#990073 }
114 | .CodeRay .symbol .content { color:#A60 }
115 | .CodeRay .symbol .delimiter { color:#630 }
116 |
117 | .CodeRay .tag { color:#070 }
118 | .CodeRay .tag-special { color:#D70; font-weight:bold }
119 | .CodeRay .type { color:#339; font-weight:bold }
120 | .CodeRay .variable { color:#036 }
121 |
122 | .CodeRay .insert { background: #afa; }
123 | .CodeRay .delete { background: #faa; }
124 | .CodeRay .change { color: #aaf; background: #007; }
125 | .CodeRay .head { color: #f8f; background: #505 }
126 |
127 | .CodeRay .insert .insert { color: #080; font-weight:bold }
128 | .CodeRay .delete .delete { color: #800; font-weight:bold }
129 | .CodeRay .change .change { color: #66f; }
130 | .CodeRay .head .head { color: #f4f; }
131 |
--------------------------------------------------------------------------------
/api/groups/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Groups
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
Groups
27 |
28 |
Groups allow you to group your lights, useful to control them all at the
29 | same time with just one API call.
30 |
31 |
Note : There exists a special group with a number of 0, which contains all
32 | lights known to the bridge. Issuing operations on group #0 will change all
33 | lights simultaneously.
34 |
35 |
List all groups
40 |
41 |
GET /api/username /groups
42 |
43 |
Response
44 |
45 |
No meaningful response known yet.
46 |
47 |
48 |
49 |
Information retrieved is not live-updated from all lights. Values returned are simply
50 | the values that were last assigned.
51 |
52 |
GET /api/username /groups/number
53 |
54 |
Parameters
55 |
56 |
57 | number
58 | group number of the group you wish to control, 0 for a group which contains all lights.
59 | Response
60 |
61 |
GET /api/username /groups/0
62 |
63 |
{
64 | "action" : {
65 | "on" : true ,
66 | "bri" : 254 ,
67 | "hue" : 13122 ,
68 | "sat" : 211 ,
69 | "xy" : [
70 | 0.5119 ,
71 | 0.4147
72 | ],
73 | "ct" : 467 ,
74 | "effect" : "none" ,
75 | "colormode" : "ct"
76 | },
77 | "lights" : [
78 | "1" ,
79 | "2" ,
80 | "3"
81 | ],
82 | "name" : "Lightset 0"
83 | }
84 |
85 |
Controlling all lights in a group
86 |
87 |
PUT /api/username /groups/number /action
88 |
89 |
Parameters
90 |
91 |
See the API for “Changing light color and turning them on/off”.
92 |
93 |
94 |
95 |
{
96 | "on" : true ,
97 | "hue" : 25000
98 | }
99 |
100 |
Response
101 |
102 |
[
103 | {
104 | "success" : {
105 | "/groups/0/action/on" : true
106 | }
107 | },
108 | {
109 | "success" : {
110 | "/groups/0/action/hue" : 13000
111 | }
112 | }
113 | ]
114 |
115 |
116 |
135 |
136 |
137 |
138 |
--------------------------------------------------------------------------------
/api/auth/registration/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Application registration
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
Application registration
27 |
28 |
Before you can send any API calls to the bridge you’ll need to register a username. Your
29 | bridge will remember your username, and keeps track of when it was last used.
30 |
31 |
Multiple applications can be registered with the same username, as long as their devicetype
32 | is different. It is currently unknown what effect this might have on the bridge.
33 |
34 |
You can deregister a registered application through the configuration .
35 |
36 |
Registering an application
39 |
40 |
The response contains the username assigned. In some cases it might not be the same username as the one that
41 | was sent to the bridge.
42 |
43 |
POST /api
44 |
45 |
Parameters
46 |
47 |
48 | username
49 | numbers (0-9) and letters (a-z, A-Z), between 10 and 40 bytes in length (inclusive).
50 | devicetype
51 | accepts any string, between 1 and 40 bytes in length (inclusive), used to label the application with a name.
52 |
53 |
54 |
{
55 | "username" : "burgestrand" ,
56 | "devicetype" : "Ruhue API Client"
57 | }
58 |
59 |
Response
60 |
61 |
Success
62 |
63 |
[
64 | {
65 | "success" : {
66 | "username" : "burgestrand"
67 | }
68 | }
69 | ]
70 |
71 |
Username containing a space
72 |
73 |
In this case, the response contains the username to be used for subsequent API calls, as well as an error.
74 |
75 |
[
76 | {
77 | "error" : {
78 | "type" : 7 ,
79 | "address" : "/username" ,
80 | "description" : "invalid value, kim burgestrand, for parameter, username"
81 | }
82 | },
83 | {
84 | "success" : {
85 | "username" : "508ed817c37c378e20ab523f25c4b"
86 | }
87 | }
88 | ]
89 |
90 |
91 |
92 |
[
93 | {
94 | "error" : {
95 | "type" : 101 ,
96 | "address" : "" ,
97 | "description" : "link button not pressed"
98 | }
99 | }
100 | ]
101 |
102 |
Invalid username and empty devicetype
103 |
104 |
[
105 | {
106 | "error" : {
107 | "type" : 7 ,
108 | "address" : "/username" ,
109 | "description" : "invalid value, burges, for parameter, username"
110 | }
111 | },
112 | {
113 | "error" : {
114 | "type" : 2 ,
115 | "address" : "/" ,
116 | "description" : "body contains invalid json"
117 | }
118 | }
119 | ]
120 |
121 |
122 |
141 |
142 |
143 |
144 |
--------------------------------------------------------------------------------
/api/discovery/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Bridge discovery
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
Bridge discovery
27 |
28 |
Hue bridge discovery is done on the local network through SSDP .
29 |
30 |
In summary, you send out an UDP packet to a multicast address (239.255.255.250:1900 for IPv4). The Hue bridge
31 | will respond with information on it’s whereabouts.
32 |
33 |
UDP broadcast
37 |
38 |
M-SEARCH * HTTP/1.1
39 | HOST: 239.255.255.250:1900
40 | MAN: ssdp:discover
41 | MX: 10
42 | ST: ssdp:all
43 |
44 |
45 |
Response
46 |
47 |
HTTP/1.1 200 OK
48 | CACHE-CONTROL: max-age=100
49 | EXT:
50 | LOCATION: http://192.168.0.21:80/description.xml
51 | SERVER: FreeRTOS/6.0.5, UPnP/1.0, IpBridge/0.1
52 | ST: upnp:rootdevice
53 | USN: uuid:2fa00080-d000-11e1-9b23-001f80007bbe::upnp:rootdevice
54 |
55 |
56 |
There may be other services on your network that respond to your search query.
57 | You’ll need to issue a GET request to /description.xml, and match against modelName
58 | to find out if it’s a Hue bridge or not.
59 |
60 |
Retrieving bridge description.xml
61 |
62 |
GET /description.xml
63 |
64 |
Response
65 |
66 |
<?xml version="1.0"?>
67 | <root xmlns =" urn:schemas-upnp-org:device-1-0 " >
68 | <specVersion>
69 | <major> 1</major>
70 | <minor> 0</minor>
71 | </specVersion>
72 | <URLBase> http://192.168.0.21:80/</URLBase>
73 | <device>
74 | <deviceType> urn:schemas-upnp-org:device:Basic:1</deviceType>
75 | <friendlyName> Philips hue (192.168.0.21)</friendlyName>
76 | <manufacturer> Royal Philips Electronics</manufacturer>
77 | <manufacturerURL> http://www.philips.com</manufacturerURL>
78 | <modelDescription> Philips hue Personal Wireless Lighting</modelDescription>
79 | <modelName> Philips hue bridge 2012</modelName>
80 | <modelNumber> 1000000000000</modelNumber>
81 | <modelURL> http://www.meethue.com</modelURL>
82 | <serialNumber> 93eadbeef13</serialNumber>
83 | <UDN> uuid:01234567-89ab-cdef-0123-456789abcdef</UDN>
84 | <serviceList>
85 | <service>
86 | <serviceType> (null)</serviceType>
87 | <serviceId> (null)</serviceId>
88 | <controlURL> (null)</controlURL>
89 | <eventSubURL> (null)</eventSubURL>
90 | <SCPDURL> (null)</SCPDURL>
91 | </service>
92 | </serviceList>
93 | <presentationURL> index.html</presentationURL>
94 | <iconList>
95 | <icon>
96 | <mimetype> image/png</mimetype>
97 | <height> 48</height>
98 | <width> 48</width>
99 | <depth> 24</depth>
100 | <url> hue_logo_0.png</url>
101 | </icon>
102 | <icon>
103 | <mimetype> image/png</mimetype>
104 | <height> 120</height>
105 | <width> 120</width>
106 | <depth> 24</depth>
107 | <url> hue_logo_3.png</url>
108 | </icon>
109 | </iconList>
110 | </device>
111 | </root>
112 |
113 |
114 |
133 |
134 |
135 |
136 |
--------------------------------------------------------------------------------
/api/config/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Bridge configuration
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
Bridge configuration
27 |
28 |
You can read and change configuration settings of your bridge, such as it’s name,
29 | wether it uses DHCP or not, proxy information and application whitelist.
30 |
31 |
Reading bridge configuration
36 |
37 |
GET /api/username /config
38 |
39 |
Response
40 |
41 |
{
42 | "name" : "Lumm" ,
43 | "mac" : "00:00:00:00:7b:be" ,
44 | "dhcp" : true ,
45 | "ipaddress" : "192.168.0.21" ,
46 | "netmask" : "255.255.255.0" ,
47 | "gateway" : "192.168.0.1" ,
48 | "proxyaddress" : " " ,
49 | "proxyport" : 0 ,
50 | "UTC" : "2012-11-06T21:35:35" ,
51 | "whitelist" : {
52 | "24e04807fe143caeb52b4ccb305635f8" : {
53 | "last use date" : "2012-11-06T20:43:34" ,
54 | "create date" : "1970-01-01T00:00:45" ,
55 | "name" : "Kim Burgestrand’s iPhone"
56 | },
57 | "burgestrand" : {
58 | "last use date" : "2012-11-05T20:39:41" ,
59 | "create date" : "2012-11-06T21:31:10" ,
60 | "name" : "macbook"
61 | }
62 | },
63 | "swversion" : "01003542" ,
64 | "swupdate" : {
65 | "updatestate" : 0 ,
66 | "url" : "" ,
67 | "text" : "" ,
68 | "notify" : false
69 | },
70 | "linkbutton" : false ,
71 | "portalservices" : true
72 | }
73 |
74 |
Updating bridge configuration
75 |
76 |
PUT /api/username /config
77 |
78 |
Parameters
79 |
80 |
All parameters are optional. Only the parameters present will update values on the Hue.
81 |
82 |
83 | name
84 | new name of the Hue bridge.
85 | dhcp
86 | true if the bridge should use DHCP. if you set this to false you might make your bridge unreachable.
87 | If that happens, there is a “Restore to factory settings” button on the back of the bridge.
88 | portalservices
89 | true if remote access through http://meethue.com/ is to be enabled.
90 | linkbutton
91 | true to programatically press the link button on the bridge. Allows registering new applications.
92 |
93 |
94 |
{
95 | "name" : "Lumm"
96 | }
97 |
98 |
Response
99 |
100 |
[
101 | {
102 | "success" : {
103 | "/config/name" : "Lumm"
104 | }
105 | }
106 | ]
107 |
108 |
Deregistering an application
109 |
110 |
Removes a username from the whitelist of registered applications.
111 |
112 |
DELETE /api/username /config/whitelist/username
113 |
114 |
Response
115 |
116 |
[
117 | {
118 | "success" : "/config/whitelist/burgestrand deleted"
119 | }
120 | ]
121 |
122 |
123 |
142 |
143 |
144 |
145 |
--------------------------------------------------------------------------------
/api/lights/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Lights
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
Lights
27 |
28 |
Allows you to list and control individual lights. You can only
29 | change the state of one light at a time. For controlling multiple
30 | lights with one API call, see Groups .
31 |
32 |
List all lights and their names
37 |
38 |
GET /api/username /lights
39 |
40 |
Response
41 |
42 |
{
43 | "1" : {
44 | "name" : "TV Left"
45 | },
46 | "2" : {
47 | "name" : "TV Right"
48 | }
49 | }
50 |
51 |
The number before each light is it’s ID. You’ll use it for changing
52 | the state of the light.
53 |
54 |
55 |
56 |
GET /api/username /lights/number
57 |
58 |
Parameters
59 |
60 |
61 | number
62 | number assigned to the light you wish to control, see List all lights and their names .
63 | Response
64 |
65 |
{
66 | "state" : {
67 | "on" : true ,
68 | "bri" : 202 ,
69 | "hue" : 13122 ,
70 | "sat" : 211 ,
71 | "xy" : [
72 | 0.5119 ,
73 | 0.4147
74 | ],
75 | "ct" : 467 ,
76 | "alert" : "none" ,
77 | "effect" : "none" ,
78 | "colormode" : "ct" ,
79 | "reachable" : true
80 | },
81 | "type" : "Extended color light" ,
82 | "name" : "TV Left" ,
83 | "modelid" : "LCT001" ,
84 | "swversion" : "65003148" ,
85 | "pointsymbol" : {
86 | "1" : "none" ,
87 | "2" : "none" ,
88 | "3" : "none" ,
89 | "4" : "none" ,
90 | "5" : "none" ,
91 | "6" : "none" ,
92 | "7" : "none" ,
93 | "8" : "none"
94 | }
95 | }
96 |
97 |
Changing light color and turning them on/off
98 |
99 |
There are three modes of color: hue/sat/bri, xy-coordinates, or color temperature. Setting one
100 | of these will change the colormode, but will not update any other values to reflect the change.
101 |
102 |
PUT /api/username /lights/number /state
103 |
104 |
Parameters
105 |
106 |
107 | on
108 | true if the light should be on.
109 | bri
110 | brightness, in range 0 - 254. 0 is not off.
111 | hue
112 | hue, in range 0 - 65535.
113 | sat
114 | saturation, in range 0 - 254.
115 | xy
116 | color as array of xy-coordinates.
117 | ct
118 | white color temperature, 154 (cold) - 500 (warm).
119 | alert
120 |
121 | select flashes light once, lselect flashes repeatedly for 10 seconds.
122 | transitiontime
123 | time for transition in centiseconds.
124 |
125 |
126 |
{
127 | "on" : false
128 | }
129 |
130 |
Response
131 |
132 |
[
133 | {
134 | "success" : {
135 | "/lights/1/state/on" : false
136 | }
137 | }
138 | ]
139 |
140 |
141 |
160 |
161 |
162 |
163 |
--------------------------------------------------------------------------------
/api/schedules/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Schedules
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
Schedules
27 |
28 |
Schedules allow you to schedule an API call for a given point in
29 | time in the future. You can schedule any Hue bridge API call.
30 |
31 |
List all schedules
38 |
39 |
All you receive from this command is the schedule id and it’s name.
40 |
41 |
GET /api/username /schedules
42 |
43 |
Response
44 |
45 |
{
46 | "1" : {
47 | "name" : "Frukost on f 423043 "
48 | },
49 | "2" : {
50 | "name" : "Frukost on 607775 "
51 | }
52 | }
53 |
54 |
Create a new scheduled operation
55 |
56 |
POST /api/username /schedules
57 |
58 |
Parameters
59 |
60 |
61 | name (optional)
62 | a name to give to your schedule. Does not need to be unique. Must be between
63 | 1 and 32 characters. If not specified it defaults to “schedule”.
64 | description (optional)
65 | a description to give your schedule. Must be between 1 and 64 characters.
66 | time
67 | a time, specified in UTC, formatted as YYYY-MM-DDTHH:MM:SS, when the scheduled
68 | operation should be performed. Once performed, the scheduled operation is removed
69 | from the Hue. Values earlier than the current time will result in an error.
70 | command
71 | a command object, describing the request to be performed when the scheduled
72 | operation is invoked. You can invoke pretty much any URL with any method,
73 | as long as all parameters have been defined.
74 |
75 |
76 | action
77 | a bridge API resource to which the operation should be invoked on.
78 | method
79 | the HTTP method the operation should be invoked with.
80 | body
81 | body that the operation should be sent with, {} if it should be empty.
82 |
83 |
84 |
85 |
86 |
{
87 | "name" : "Good night" ,
88 | "description" : "I should really go to bed by now." ,
89 | "command" : {
90 | "address" : "/api/24e04807fe143caeb52b4ccb305635f8/groups/0/action" ,
91 | "method" : "PUT" ,
92 | "body" : {
93 | "on" : false
94 | }
95 | },
96 | "time" : "2013-03-02T00:00:00"
97 | }
98 |
99 |
Response
100 |
101 |
The id given is the id number for the newly created schedule.
102 |
103 |
[
104 | {
105 | "success" : {
106 | "id" : "1"
107 | }
108 | }
109 | ]
110 |
111 |
112 |
113 |
GET /api/username /schedules/number
114 |
115 |
Parameters
116 |
117 |
118 | number
119 | group number you wish to retrieve information from.
120 | Response
121 |
122 |
{
123 | "name" : "Good night" ,
124 | "description" : "I should really go to bed by now." ,
125 | "command" : {
126 | "address" : "/api/burgestrand/groups/0/action" ,
127 | "body" : {
128 | "on" : false
129 | },
130 | "method" : "PUT"
131 | },
132 | "time" : "2013-03-02T00:00:00"
133 | }
134 |
135 |
Update an existing scheduled operation
136 |
137 |
PUT /api/username /schedules/number
138 |
139 |
Parameters
140 |
141 |
See the parameters for “Create a new scheduled operation”.
142 |
143 |
144 |
145 |
{
146 | "name" : "Hey"
147 | }
148 |
149 |
Response
150 |
151 |
[
152 | {
153 | "success" : {
154 | "/schedules/1/name" : "Hey"
155 | }
156 | }
157 | ]
158 |
159 |
Delete a previously scheduled operation
160 |
161 |
DELETE /api/username /schedules/number
162 |
163 |
Parameters
164 |
165 |
166 | number
167 | group number you wish to delete.
168 | Response
169 |
170 |
[
171 | {
172 | "success" : "/schedules/6 deleted"
173 | }
174 | ]
175 |
176 |
177 |
196 |
197 |
198 |
199 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Unofficial Philips Hue API Reference
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
Philips Hue API reference documentation, created by reverse-engineering,
29 | sniffing network traffic and a lot of guessing.
30 |
31 |
There is a mailing list, dedicated to discussions and questions about hacking
32 | the Philips Hue and related protocols.
33 |
34 |
This repository was forked from the GitHub API v3 documentation . It’s a
40 | static site built with nanoc , and is published to http://burgestrand.github.com/hue-api
41 | for hosting via GitHub Pages .
42 |
43 |
All submissions are welcome. To submit a change, fork this repo, commit your
44 | changes, and send us a pull request .
45 |
46 |
Typical Hue bridge API workflow
47 |
48 |
49 |
50 | Hue bridge discovery via SSDP (a multicast protocol over UDP).
51 | Ruhue has an example of how this discovery can be performed written in Ruby and UDP sockets: Hue.discover .
52 |
53 | A one-time application registration to the Hue bridge
54 | over HTTP. You pick your own username, which is used for all subsequent API calls.
55 | Finished. You may now place any API calls, using your username, against the Hue bridge.
56 | Reading Hue bridge system state
57 |
58 |
You can read the state of the entire system, after authentication , through a single endpoint.
59 |
60 |
GET /api/username
61 |
62 |
Response
63 |
64 |
{
65 | "lights" : {
66 | "1" : {
67 | "state" : {
68 | "on" : true ,
69 | "bri" : 240 ,
70 | "hue" : 15331 ,
71 | "sat" : 121 ,
72 | "xy" : [
73 | 0.4448 ,
74 | 0.4066
75 | ],
76 | "ct" : 343 ,
77 | "alert" : "none" ,
78 | "effect" : "none" ,
79 | "colormode" : "ct" ,
80 | "reachable" : true
81 | },
82 | "type" : "Extended color light" ,
83 | "name" : "TV Vänster" ,
84 | "modelid" : "LCT001" ,
85 | "swversion" : "65003148" ,
86 | "pointsymbol" : {
87 | "1" : "none" ,
88 | "2" : "none" ,
89 | "3" : "none" ,
90 | "4" : "none" ,
91 | "5" : "none" ,
92 | "6" : "none" ,
93 | "7" : "none" ,
94 | "8" : "none"
95 | }
96 | }
97 | },
98 | "groups" : {
99 |
100 | },
101 | "config" : {
102 | "name" : "Lumm" ,
103 | "mac" : "00:00:00:00:7b:be" ,
104 | "dhcp" : true ,
105 | "ipaddress" : "192.168.0.21" ,
106 | "netmask" : "255.255.255.0" ,
107 | "gateway" : "192.168.0.1" ,
108 | "proxyaddress" : " " ,
109 | "proxyport" : 0 ,
110 | "UTC" : "2012-11-06T21:57:59" ,
111 | "whitelist" : {
112 | "24e04807fe143caeb52b4ccb305635f8" : {
113 | "last use date" : "2012-11-06T20:43:34" ,
114 | "create date" : "1970-01-01T00:00:45" ,
115 | "name" : "Kim Burgestrand’s iPhone"
116 | }
117 | },
118 | "swversion" : "01003542" ,
119 | "swupdate" : {
120 | "updatestate" : 0 ,
121 | "url" : "" ,
122 | "text" : "" ,
123 | "notify" : false
124 | },
125 | "linkbutton" : false ,
126 | "portalservices" : true
127 | },
128 | "schedules" : {
129 | "1" : {
130 | "name" : "Frukost on 103811 " ,
131 | "description" : " " ,
132 | "command" : {
133 | "address" : "/api/24e04807fe143caeb52b4ccb305635f8/lights/3/state" ,
134 | "body" : {
135 | "bri" : 253 ,
136 | "transitiontime" : 5400 ,
137 | "xy" : [
138 | 0.52594 ,
139 | 0.43074
140 | ],
141 | "on" : true
142 | },
143 | "method" : "PUT"
144 | },
145 | "time" : "2012-11-07T04:41:02"
146 | }
147 | }
148 | }
149 |
150 |
151 |
170 |
171 |
172 |
173 |
--------------------------------------------------------------------------------
/css/vendor/960.css:
--------------------------------------------------------------------------------
1 | /*
2 | 960 Grid System ~ Core CSS.
3 | Learn more ~ http://960.gs/
4 |
5 | Licensed under GPL and MIT.
6 | */
7 |
8 | /*
9 | Forces backgrounds to span full width,
10 | even if there is horizontal scrolling.
11 | Increase this if your layout is wider.
12 |
13 | Note: IE6 works fine without this fix.
14 | */
15 |
16 | body {
17 | min-width: 960px;
18 | }
19 |
20 | /* `Containers
21 | ----------------------------------------------------------------------------------------------------*/
22 |
23 | .container_12,
24 | .container_16 {
25 | margin-left: auto;
26 | margin-right: auto;
27 | width: 960px;
28 | }
29 |
30 | /* `Grid >> Global
31 | ----------------------------------------------------------------------------------------------------*/
32 |
33 | .grid_1,
34 | .grid_2,
35 | .grid_3,
36 | .grid_4,
37 | .grid_5,
38 | .grid_6,
39 | .grid_7,
40 | .grid_8,
41 | .grid_9,
42 | .grid_10,
43 | .grid_11,
44 | .grid_12,
45 | .grid_13,
46 | .grid_14,
47 | .grid_15,
48 | .grid_16 {
49 | display: inline;
50 | float: left;
51 | margin-left: 10px;
52 | margin-right: 10px;
53 | }
54 |
55 | .push_1, .pull_1,
56 | .push_2, .pull_2,
57 | .push_3, .pull_3,
58 | .push_4, .pull_4,
59 | .push_5, .pull_5,
60 | .push_6, .pull_6,
61 | .push_7, .pull_7,
62 | .push_8, .pull_8,
63 | .push_9, .pull_9,
64 | .push_10, .pull_10,
65 | .push_11, .pull_11,
66 | .push_12, .pull_12,
67 | .push_13, .pull_13,
68 | .push_14, .pull_14,
69 | .push_15, .pull_15 {
70 | position: relative;
71 | }
72 |
73 | .container_12 .grid_3,
74 | .container_16 .grid_4 {
75 | width: 220px;
76 | }
77 |
78 | .container_12 .grid_6,
79 | .container_16 .grid_8 {
80 | width: 460px;
81 | }
82 |
83 | .container_12 .grid_9,
84 | .container_16 .grid_12 {
85 | width: 700px;
86 | }
87 |
88 | .container_12 .grid_12,
89 | .container_16 .grid_16 {
90 | width: 940px;
91 | }
92 |
93 | /* `Grid >> Children (Alpha ~ First, Omega ~ Last)
94 | ----------------------------------------------------------------------------------------------------*/
95 |
96 | .alpha {
97 | margin-left: 0;
98 | }
99 |
100 | .omega {
101 | margin-right: 0;
102 | }
103 |
104 | /* `Grid >> 12 Columns
105 | ----------------------------------------------------------------------------------------------------*/
106 |
107 | .container_12 .grid_1 {
108 | width: 60px;
109 | }
110 |
111 | .container_12 .grid_2 {
112 | width: 140px;
113 | }
114 |
115 | .container_12 .grid_4 {
116 | width: 300px;
117 | }
118 |
119 | .container_12 .grid_5 {
120 | width: 380px;
121 | }
122 |
123 | .container_12 .grid_7 {
124 | width: 540px;
125 | }
126 |
127 | .container_12 .grid_8 {
128 | width: 620px;
129 | }
130 |
131 | .container_12 .grid_10 {
132 | width: 780px;
133 | }
134 |
135 | .container_12 .grid_11 {
136 | width: 860px;
137 | }
138 |
139 | /* `Grid >> 16 Columns
140 | ----------------------------------------------------------------------------------------------------*/
141 |
142 | .container_16 .grid_1 {
143 | width: 40px;
144 | }
145 |
146 | .container_16 .grid_2 {
147 | width: 100px;
148 | }
149 |
150 | .container_16 .grid_3 {
151 | width: 160px;
152 | }
153 |
154 | .container_16 .grid_5 {
155 | width: 280px;
156 | }
157 |
158 | .container_16 .grid_6 {
159 | width: 340px;
160 | }
161 |
162 | .container_16 .grid_7 {
163 | width: 400px;
164 | }
165 |
166 | .container_16 .grid_9 {
167 | width: 520px;
168 | }
169 |
170 | .container_16 .grid_10 {
171 | width: 580px;
172 | }
173 |
174 | .container_16 .grid_11 {
175 | width: 640px;
176 | }
177 |
178 | .container_16 .grid_13 {
179 | width: 760px;
180 | }
181 |
182 | .container_16 .grid_14 {
183 | width: 820px;
184 | }
185 |
186 | .container_16 .grid_15 {
187 | width: 880px;
188 | }
189 |
190 | /* `Prefix Extra Space >> Global
191 | ----------------------------------------------------------------------------------------------------*/
192 |
193 | .container_12 .prefix_3,
194 | .container_16 .prefix_4 {
195 | padding-left: 240px;
196 | }
197 |
198 | .container_12 .prefix_6,
199 | .container_16 .prefix_8 {
200 | padding-left: 480px;
201 | }
202 |
203 | .container_12 .prefix_9,
204 | .container_16 .prefix_12 {
205 | padding-left: 720px;
206 | }
207 |
208 | /* `Prefix Extra Space >> 12 Columns
209 | ----------------------------------------------------------------------------------------------------*/
210 |
211 | .container_12 .prefix_1 {
212 | padding-left: 80px;
213 | }
214 |
215 | .container_12 .prefix_2 {
216 | padding-left: 160px;
217 | }
218 |
219 | .container_12 .prefix_4 {
220 | padding-left: 320px;
221 | }
222 |
223 | .container_12 .prefix_5 {
224 | padding-left: 400px;
225 | }
226 |
227 | .container_12 .prefix_7 {
228 | padding-left: 560px;
229 | }
230 |
231 | .container_12 .prefix_8 {
232 | padding-left: 640px;
233 | }
234 |
235 | .container_12 .prefix_10 {
236 | padding-left: 800px;
237 | }
238 |
239 | .container_12 .prefix_11 {
240 | padding-left: 880px;
241 | }
242 |
243 | /* `Prefix Extra Space >> 16 Columns
244 | ----------------------------------------------------------------------------------------------------*/
245 |
246 | .container_16 .prefix_1 {
247 | padding-left: 60px;
248 | }
249 |
250 | .container_16 .prefix_2 {
251 | padding-left: 120px;
252 | }
253 |
254 | .container_16 .prefix_3 {
255 | padding-left: 180px;
256 | }
257 |
258 | .container_16 .prefix_5 {
259 | padding-left: 300px;
260 | }
261 |
262 | .container_16 .prefix_6 {
263 | padding-left: 360px;
264 | }
265 |
266 | .container_16 .prefix_7 {
267 | padding-left: 420px;
268 | }
269 |
270 | .container_16 .prefix_9 {
271 | padding-left: 540px;
272 | }
273 |
274 | .container_16 .prefix_10 {
275 | padding-left: 600px;
276 | }
277 |
278 | .container_16 .prefix_11 {
279 | padding-left: 660px;
280 | }
281 |
282 | .container_16 .prefix_13 {
283 | padding-left: 780px;
284 | }
285 |
286 | .container_16 .prefix_14 {
287 | padding-left: 840px;
288 | }
289 |
290 | .container_16 .prefix_15 {
291 | padding-left: 900px;
292 | }
293 |
294 | /* `Suffix Extra Space >> Global
295 | ----------------------------------------------------------------------------------------------------*/
296 |
297 | .container_12 .suffix_3,
298 | .container_16 .suffix_4 {
299 | padding-right: 240px;
300 | }
301 |
302 | .container_12 .suffix_6,
303 | .container_16 .suffix_8 {
304 | padding-right: 480px;
305 | }
306 |
307 | .container_12 .suffix_9,
308 | .container_16 .suffix_12 {
309 | padding-right: 720px;
310 | }
311 |
312 | /* `Suffix Extra Space >> 12 Columns
313 | ----------------------------------------------------------------------------------------------------*/
314 |
315 | .container_12 .suffix_1 {
316 | padding-right: 80px;
317 | }
318 |
319 | .container_12 .suffix_2 {
320 | padding-right: 160px;
321 | }
322 |
323 | .container_12 .suffix_4 {
324 | padding-right: 320px;
325 | }
326 |
327 | .container_12 .suffix_5 {
328 | padding-right: 400px;
329 | }
330 |
331 | .container_12 .suffix_7 {
332 | padding-right: 560px;
333 | }
334 |
335 | .container_12 .suffix_8 {
336 | padding-right: 640px;
337 | }
338 |
339 | .container_12 .suffix_10 {
340 | padding-right: 800px;
341 | }
342 |
343 | .container_12 .suffix_11 {
344 | padding-right: 880px;
345 | }
346 |
347 | /* `Suffix Extra Space >> 16 Columns
348 | ----------------------------------------------------------------------------------------------------*/
349 |
350 | .container_16 .suffix_1 {
351 | padding-right: 60px;
352 | }
353 |
354 | .container_16 .suffix_2 {
355 | padding-right: 120px;
356 | }
357 |
358 | .container_16 .suffix_3 {
359 | padding-right: 180px;
360 | }
361 |
362 | .container_16 .suffix_5 {
363 | padding-right: 300px;
364 | }
365 |
366 | .container_16 .suffix_6 {
367 | padding-right: 360px;
368 | }
369 |
370 | .container_16 .suffix_7 {
371 | padding-right: 420px;
372 | }
373 |
374 | .container_16 .suffix_9 {
375 | padding-right: 540px;
376 | }
377 |
378 | .container_16 .suffix_10 {
379 | padding-right: 600px;
380 | }
381 |
382 | .container_16 .suffix_11 {
383 | padding-right: 660px;
384 | }
385 |
386 | .container_16 .suffix_13 {
387 | padding-right: 780px;
388 | }
389 |
390 | .container_16 .suffix_14 {
391 | padding-right: 840px;
392 | }
393 |
394 | .container_16 .suffix_15 {
395 | padding-right: 900px;
396 | }
397 |
398 | /* `Push Space >> Global
399 | ----------------------------------------------------------------------------------------------------*/
400 |
401 | .container_12 .push_3,
402 | .container_16 .push_4 {
403 | left: 240px;
404 | }
405 |
406 | .container_12 .push_6,
407 | .container_16 .push_8 {
408 | left: 480px;
409 | }
410 |
411 | .container_12 .push_9,
412 | .container_16 .push_12 {
413 | left: 720px;
414 | }
415 |
416 | /* `Push Space >> 12 Columns
417 | ----------------------------------------------------------------------------------------------------*/
418 |
419 | .container_12 .push_1 {
420 | left: 80px;
421 | }
422 |
423 | .container_12 .push_2 {
424 | left: 160px;
425 | }
426 |
427 | .container_12 .push_4 {
428 | left: 320px;
429 | }
430 |
431 | .container_12 .push_5 {
432 | left: 400px;
433 | }
434 |
435 | .container_12 .push_7 {
436 | left: 560px;
437 | }
438 |
439 | .container_12 .push_8 {
440 | left: 640px;
441 | }
442 |
443 | .container_12 .push_10 {
444 | left: 800px;
445 | }
446 |
447 | .container_12 .push_11 {
448 | left: 880px;
449 | }
450 |
451 | /* `Push Space >> 16 Columns
452 | ----------------------------------------------------------------------------------------------------*/
453 |
454 | .container_16 .push_1 {
455 | left: 60px;
456 | }
457 |
458 | .container_16 .push_2 {
459 | left: 120px;
460 | }
461 |
462 | .container_16 .push_3 {
463 | left: 180px;
464 | }
465 |
466 | .container_16 .push_5 {
467 | left: 300px;
468 | }
469 |
470 | .container_16 .push_6 {
471 | left: 360px;
472 | }
473 |
474 | .container_16 .push_7 {
475 | left: 420px;
476 | }
477 |
478 | .container_16 .push_9 {
479 | left: 540px;
480 | }
481 |
482 | .container_16 .push_10 {
483 | left: 600px;
484 | }
485 |
486 | .container_16 .push_11 {
487 | left: 660px;
488 | }
489 |
490 | .container_16 .push_13 {
491 | left: 780px;
492 | }
493 |
494 | .container_16 .push_14 {
495 | left: 840px;
496 | }
497 |
498 | .container_16 .push_15 {
499 | left: 900px;
500 | }
501 |
502 | /* `Pull Space >> Global
503 | ----------------------------------------------------------------------------------------------------*/
504 |
505 | .container_12 .pull_3,
506 | .container_16 .pull_4 {
507 | left: -240px;
508 | }
509 |
510 | .container_12 .pull_6,
511 | .container_16 .pull_8 {
512 | left: -480px;
513 | }
514 |
515 | .container_12 .pull_9,
516 | .container_16 .pull_12 {
517 | left: -720px;
518 | }
519 |
520 | /* `Pull Space >> 12 Columns
521 | ----------------------------------------------------------------------------------------------------*/
522 |
523 | .container_12 .pull_1 {
524 | left: -80px;
525 | }
526 |
527 | .container_12 .pull_2 {
528 | left: -160px;
529 | }
530 |
531 | .container_12 .pull_4 {
532 | left: -320px;
533 | }
534 |
535 | .container_12 .pull_5 {
536 | left: -400px;
537 | }
538 |
539 | .container_12 .pull_7 {
540 | left: -560px;
541 | }
542 |
543 | .container_12 .pull_8 {
544 | left: -640px;
545 | }
546 |
547 | .container_12 .pull_10 {
548 | left: -800px;
549 | }
550 |
551 | .container_12 .pull_11 {
552 | left: -880px;
553 | }
554 |
555 | /* `Pull Space >> 16 Columns
556 | ----------------------------------------------------------------------------------------------------*/
557 |
558 | .container_16 .pull_1 {
559 | left: -60px;
560 | }
561 |
562 | .container_16 .pull_2 {
563 | left: -120px;
564 | }
565 |
566 | .container_16 .pull_3 {
567 | left: -180px;
568 | }
569 |
570 | .container_16 .pull_5 {
571 | left: -300px;
572 | }
573 |
574 | .container_16 .pull_6 {
575 | left: -360px;
576 | }
577 |
578 | .container_16 .pull_7 {
579 | left: -420px;
580 | }
581 |
582 | .container_16 .pull_9 {
583 | left: -540px;
584 | }
585 |
586 | .container_16 .pull_10 {
587 | left: -600px;
588 | }
589 |
590 | .container_16 .pull_11 {
591 | left: -660px;
592 | }
593 |
594 | .container_16 .pull_13 {
595 | left: -780px;
596 | }
597 |
598 | .container_16 .pull_14 {
599 | left: -840px;
600 | }
601 |
602 | .container_16 .pull_15 {
603 | left: -900px;
604 | }
605 |
606 | /* `Clear Floated Elements
607 | ----------------------------------------------------------------------------------------------------*/
608 |
609 | /* http://sonspring.com/journal/clearing-floats */
610 |
611 | .clear {
612 | clear: both;
613 | display: block;
614 | overflow: hidden;
615 | visibility: hidden;
616 | width: 0;
617 | height: 0;
618 | }
619 |
620 | /* http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified */
621 |
622 | .clearfix:before,
623 | .clearfix:after {
624 | content: '\0020';
625 | display: block;
626 | overflow: hidden;
627 | visibility: hidden;
628 | width: 0;
629 | height: 0;
630 | }
631 |
632 | .clearfix:after {
633 | clear: both;
634 | }
635 |
636 | /*
637 | The following zoom:1 rule is specifically for IE6 + IE7.
638 | Move to separate stylesheet if invalid CSS is a problem.
639 | */
640 |
641 | .clearfix {
642 | zoom: 1;
643 | }
--------------------------------------------------------------------------------
/images/footer-logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 | ]>
7 |
9 |
10 |
11 |
12 |
16 | proof:pdf
17 | xmp.did:01801174072068118C14F029FF4E69A3
18 | xmp.iid:01801174072068118C14F029FF4E69A3
19 | uuid:9d2fdc90-b8de-c94c-86b5-364e47b8e5b6
20 |
21 | uuid:76c5eca8-e841-3b48-99db-8cd076c5142a
22 | uuid:9d2fdc90-b8de-c94c-86b5-364e47b8e5b6
23 | uuid:9d2fdc90-b8de-c94c-86b5-364e47b8e5b6
24 | proof:pdf
25 |
26 |
27 |
28 |
29 | saved
30 | xmp.iid:01801174072068118C14F029FF4E69A3
31 | 2011-08-01T16:12:07-07:00
32 | Adobe Illustrator CS5
33 | /
34 |
35 |
36 |
37 |
38 |
41 | 2011-08-01T16:12:06-07:00
42 | Adobe Illustrator CS5
43 | 2011-08-01T16:12:07-07:00
44 | 2011-08-01T16:12:07-07:00
45 |
46 |
47 |
48 | 256
49 | 116
50 | JPEG
51 | /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAdAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FUr1X
UZIn9CE8WpV27ivYYqliXt2jchK1fckj7jhQn1hdi6gDkUcGjj3wJROKuxV2KuxVCaqSLCUjY/D/
AMSGKseLMepJwoTbQP8Ad/8AsP8AjbAlNsVdirsVdirsVdirsVdirsVdirHNT/3vm+Y/UMKELirL
cCXYq7FXYq7FXYq7FXYq7FXYqxzVEZb6Sv7VCD7EYUIXFU50FGEUrn7LEAfR1/XgSmmKuxV2KuxV
Cat/xz5f9j/xIYqx3ChN9A/3f/sP+NsCU2xV2KuxV2KuxV2KuxV2KuxV2Ksc1P8A3vm+Y/UMKELi
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
52 |
53 |
54 |
55 |
56 |
58 | Adobe PDF library 9.90
59 |
60 |
62 | image/svg+xml
63 |
64 |
68 |
69 | 100.000000
70 | 44.000000
71 | Pixels
72 |
73 | 1
74 | False
75 | False
76 |
77 |
78 | Cyan
79 | Magenta
80 | Yellow
81 |
82 |
83 |
84 |
85 |
86 | Default Swatch Group
87 | 0
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
124 |
127 |
133 |
138 |
143 |
149 |
150 |
151 |
156 |
160 |
164 |
165 |
167 |
168 |
172 |
176 |
179 |
180 |
182 |
186 |
187 |
188 |
198 |
199 |
200 |
--------------------------------------------------------------------------------
/css/documentation.css:
--------------------------------------------------------------------------------
1 | /*------------------------------------------------------------------------------
2 | Global Documentation Styles
3 | ------------------------------------------------------------------------------*/
4 |
5 | html {
6 | height:100%;
7 | }
8 |
9 | body {
10 | font: 13px helvetica,arial,freesans,clean,sans-serif;
11 | line-height: 1.4em;
12 | background-color: #fff;
13 | color: #393939;
14 | margin: 0px;
15 | padding: 0px;
16 | height: 100%;
17 | }
18 |
19 | p {
20 | margin: 1em 0;
21 | }
22 |
23 | h1 {
24 | font-size: 20px;
25 | border-bottom: 1px solid #cccccc;
26 | padding: .5em 0;
27 | margin: 2em 0 1em;
28 | }
29 |
30 | h1:first-child {
31 | margin: 0 0 1em;
32 | }
33 |
34 | h2 {
35 | font-size: 16px;
36 | color: #333;
37 | margin: 2em auto 1em;
38 | }
39 |
40 | body.api .content h2 {
41 | background: transparent url(../images/crud-sprite.png) left 2px no-repeat;
42 | padding-left: 22px;
43 | margin-bottom: 0.5em;
44 | margin-top: 1em;
45 | }
46 |
47 | body.api .change h2.title {
48 | background: none;
49 | padding-left: 0;
50 | font-size:24px;
51 | }
52 |
53 | h2 span.step {
54 | color: #666;
55 | }
56 |
57 | h3 {
58 | font-size: 14px;
59 | color: #333;
60 | margin: 1.5em 0 .5em;
61 | }
62 |
63 | h5 {
64 | font-size: 13px;
65 | }
66 |
67 | h6 {
68 | font-size: 13px;
69 | color: #666;
70 | }
71 |
72 | a {
73 | color: #4183C4;
74 | text-decoration: none;
75 | }
76 |
77 | a:hover,
78 | a:active {
79 | text-decoration:underline;
80 | }
81 |
82 | blockquote {
83 | margin:0 -5px;
84 | padding: 0px 20px;
85 | }
86 |
87 | ul,
88 | ol {
89 | margin: 0px;
90 | padding: 0px;
91 | }
92 |
93 | dt {
94 | font-weight: bold;
95 | }
96 |
97 | dd {
98 | padding-left: 1em;
99 | margin-bottom: 1em;
100 | }
101 |
102 | dd + dd {
103 | margin-bottom: 0;
104 | }
105 |
106 | span.attention,
107 | p.attention {
108 | color: #e98400;
109 | font-style: italic;
110 | }
111 |
112 | a img {
113 | border: 0px;
114 | }
115 |
116 | /*------------------------------------------------------------------------------
117 | Header Styles
118 | ------------------------------------------------------------------------------*/
119 |
120 | #header-wrapper {
121 | margin-bottom: 0;
122 | clear: both;
123 | height: 91px;
124 | background: white url(../images/background-v2.png) 0 0 repeat-x;
125 | }
126 |
127 | #header {
128 | margin: 0 auto;
129 | width: 920px;
130 | }
131 |
132 | #header a.logo {
133 | float: left;
134 | margin-top: 15px;
135 | display: inline-block;
136 | }
137 |
138 | #header a {
139 | outline: none;
140 | text-decoration: none;
141 | }
142 |
143 | /*------------------------------------------------------------------------------
144 | Sidebar
145 | ------------------------------------------------------------------------------*/
146 |
147 | div.sidebar-shell {
148 | position: relative;
149 | float: right;
150 | margin: 35px 0 0;
151 | }
152 |
153 | div.sidebar-module {
154 | padding: 3px;
155 | background: #EEE;
156 | -moz-border-radius: 3px;
157 | -webkit-border-radius: 3px;
158 | border-radius: 3px;
159 | display: block;
160 | width: 332px;
161 | margin-bottom: 20px;
162 | font-size: 12px;
163 | }
164 |
165 | div.sidebar-module > ul {
166 | background: #fafafb;
167 | border: solid #CACACA;
168 | border-width: 1px 1px 0px 1px;
169 | margin: 0px;
170 | }
171 |
172 | div.sidebar-module > p {
173 | background: #fafafb;
174 | border: solid #CACACA;
175 | border-width: 1px;
176 | padding: 8px 10px;
177 | margin: 0px;
178 | display: block;
179 | line-height: 1.4em;
180 | }
181 |
182 | div.sidebar-module li {
183 | list-style-type: none;
184 | }
185 |
186 | div.sidebar-module > ul > li {
187 | border-bottom: 1px solid #CACACA;
188 | text-decoration: none;
189 | }
190 |
191 | div.sidebar-module > ul > li:hover {
192 | text-decoration: none;
193 | }
194 |
195 |
196 | div.sidebar-module > ul h3 {
197 | margin: 0px;
198 | color: #666;
199 | text-shadow: 1px 1px 0px #fff;
200 | border-bottom: 1px solid #CACACA;
201 | font-size: 14px;
202 | background-color: #e1e1e1;
203 | background-image: -moz-linear-gradient(top, #f1f1f1, #e1e1e1);
204 | background-image: -ms-linear-gradient(top, #f1f1f1, #e1e1e1);
205 | background-image: -o-linear-gradient(top, #f1f1f1, #e1e1e1);
206 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#e1e1e1));
207 | background-image: -webkit-linear-gradient(top, #f1f1f1, #e1e1e1);
208 | background-image: linear-gradient(top, #f1f1f1, #e1e1e1);
209 | filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f1f1f1', EndColorStr='#e1e1e1');
210 | }
211 |
212 | div.sidebar-module > ul li h3:hover,
213 | div.sidebar-module > ul h3.disable {
214 | background-color: #e1e1e1;
215 | background-image: -moz-linear-gradient(top, #e1e1e1, #d1d1d1);
216 | background-image: -ms-linear-gradient(top, #e1e1e1, #d1d1d1);
217 | background-image: -o-linear-gradient(top, #e1e1e1, #d1d1d1);
218 | background-image: -webkit-gradient(linear, left top, left bottom, from(#e1e1e1), to(#d1d1d1));
219 | background-image: -webkit-linear-gradient(top, #e1e1e1, #d1d1d1);
220 | background-image: linear-gradient(top, #e1e1e1, #d1d1d1);
221 | filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#e1e1e1', EndColorStr='#d1d1d1');
222 | }
223 |
224 |
225 | div.sidebar-module > ul h3 a,
226 | div.sidebar-module > ul h3.disable span {
227 | padding: 8px 0px 8px 10px;
228 | color: #666;
229 | display: block;
230 | text-decoration: none;
231 | }
232 |
233 | div.sidebar-module > ul h3.disable span {
234 | padding-left: 20px;
235 | background-image: url(../images/active-arrow.png);
236 | background-position: left center;
237 | background-repeat: no-repeat;
238 | cursor: default;
239 | }
240 | div.sidebar-module > ul h3:hover a {
241 | text-decoration: none;
242 | }
243 |
244 | div.sidebar-module ul ul,
245 | div.sidebar-module .spacer {
246 | display: block;
247 | padding-bottom: 2px;
248 | background-color: #FAFAFB;
249 | }
250 |
251 | div.sidebar-module ul ul li {
252 | border-top: 1px solid #fff;
253 | border-bottom: 1px solid #e9ecee;
254 | font-weight: bold;
255 | color: #666;
256 | }
257 |
258 | div.sidebar-module ul ul li:hover,
259 | div.sidebar-module li.disable {
260 | border-top: 1px solid #fafafb;
261 | border-bottom: 1px solid #e5e8ea;
262 | background-color: #f0f0f3;
263 | }
264 |
265 | div.sidebar-module li.disable {
266 | background-image: url(../images/active-arrow.png);
267 | background-position: left center;
268 | background-repeat: no-repeat;
269 | }
270 |
271 | div.sidebar-module ul ul li a,
272 | div.sidebar-module ul ul li span {
273 | padding: 6px 0px 6px 10px;
274 | display: block;
275 | text-decoration: none;
276 | }
277 |
278 | div.sidebar-module ul ul li span {
279 | padding-left: 20px;
280 | cursor: default;
281 | }
282 |
283 | /* @end */
284 |
285 | /*****************************************************************************/
286 | /*
287 | /* Footer
288 | /*
289 | /*****************************************************************************/
290 |
291 |
292 |
293 | #footer {
294 | position: relative;
295 | bottom:0;
296 | font-size:13px;
297 | color: #636363;
298 | margin: 45px 0 0 0;
299 | }
300 |
301 | #footer a:hover {
302 | text-decoration: underline;
303 | }
304 |
305 | #footer li {
306 | list-style: none;
307 | }
308 |
309 | .footer_inner {
310 | width:960px;
311 | position: relative;
312 | margin: 0 auto;
313 | }
314 |
315 | #footer .upper_footer {
316 | min-height: 160px;
317 | overflow: hidden;
318 | background: url(../images/bg_footer_top.png) #f8f8f8 repeat-x;
319 | }
320 |
321 | #footer #blacktocat {
322 | height:130px;
323 | width:164px;
324 | float:left;
325 | background: url(../images/blacktocat.png) top left no-repeat;
326 | text-indent: -5000px;
327 | margin: 15px 20px 0 0;
328 | }
329 |
330 | #footer #blacktocat_ie {
331 | height:130px;
332 | width:164px;
333 | float:left;
334 | background: url(../images/blacktocat.png) no-repeat;
335 | text-indent: -5000px;
336 | margin: 15px 20px 0 0;
337 | }
338 |
339 | #footer .upper_footer ul.footer_nav {
340 | position: relative;
341 | float: left;
342 | width: 164px;
343 | margin: 20px 10px;
344 | }
345 |
346 | #footer .upper_footer ul.footer_nav h4 {
347 | margin: 0 0 5px 0;
348 | padding-bottom: 5px;
349 | border-bottom: thin solid #e1e1e1;
350 | }
351 |
352 | #footer .lower_footer {
353 | position: relative;
354 | background:url(../images/bg_footer_bottom.png) #fff repeat-x;
355 | overflow: hidden;
356 | clear:both;
357 | }
358 |
359 | #footer .lower_footer .home {
360 | display: block;
361 | position: absolute;
362 | background: url(../images/footer-logo.png) top left no-repeat;
363 | width: 100px;
364 | height: 50px;
365 | text-indent: -5000px;
366 | }
367 |
368 | #footer .lower_footer .home_ie {
369 | display: block;
370 | position: absolute;
371 | background: url(../images/footer-logo.png) top left no-repeat;
372 | width: 100px;
373 | height: 50px;
374 | text-indent: -5000px;
375 | }
376 |
377 | #footer .lower_footer #legal {
378 | float: left;
379 | width: 500px;
380 | height: 50px;
381 | line-height: 8px;
382 | margin: 25px 0 0 17px;
383 | }
384 |
385 | #footer .lower_footer #legal #legal_links {
386 | margin-left: 177px;
387 | }
388 |
389 | #footer .lower_footer div ul {
390 | float: left;
391 | text-indent: none;
392 | display:inline;
393 | margin-top: 15px;
394 |
395 | }
396 |
397 | #footer .lower_footer div ul li {
398 | display:inline;
399 | float: left;
400 | margin: 0 10px 0 0;
401 | }
402 |
403 | #footer .lower_footer div p {
404 | display:inline;
405 | float:left;
406 | clear: both;
407 | margin: 10px 0 0 177px;
408 | }
409 |
410 | #footer .lower_footer .sponsor {
411 | width: 295px;
412 | float: right;
413 | margin-top: 35px;
414 | padding-bottom: 25px;
415 | }
416 |
417 | #footer .lower_footer .sponsor .logo {
418 | float:left;
419 | margin: 0 10px 0 0;
420 | }
421 |
422 | #footer .lower_footer .sponsor a {
423 | color: #000;
424 | }
425 |
426 | /* end */
427 |
428 | /*------------------------------------------------------------------------------
429 | Not Footer
430 | ------------------------------------------------------------------------------*/
431 | #wrapper {
432 | padding: 20px 25px;
433 | overflow:hidden;
434 | height: auto;
435 | width: 920px;
436 | margin: -20px auto 0;
437 | background: url(../images/background-white.png) 0 0 no-repeat;
438 | }
439 |
440 | .content {
441 | width: 560px;
442 | position: relative;
443 | float: left;
444 | color: #393939;
445 | z-index: 2;
446 | }
447 |
448 | .content dl {
449 | margin-left: 10px;
450 | }
451 |
452 | .content dl dl {
453 | margin-top: 1em;
454 | }
455 |
456 | .content dt {
457 | color: #666;
458 | }
459 |
460 | .content ol {
461 | margin-left: 1.5em;
462 | }
463 |
464 | .content ul {
465 | list-style-type: disc;
466 | margin: 1.5em
467 | }
468 |
469 | .content dd ul {
470 | margin-top: 0;
471 | }
472 |
473 | .content li {
474 | line-height: 1.7em;
475 | }
476 |
477 | .content img {
478 | max-width: 100%;
479 | border: 1px solid #dddddd;
480 | -webkit-box-shadow: 1px 1px 3px #ddd;
481 | -moz-box-shadow: 1px 1px 3px #ddd;
482 | box-shadow: 1px 1px 3px #ddd;
483 | }
484 |
485 |
486 | .content .description {
487 | margin-left: 20px;
488 | }
489 |
490 | .content .verseblock-content {
491 | padding: 3px;
492 | }
493 |
494 | .content .verseblock-content,
495 | .content .sectionbody .dlist dt,
496 | .content p > tt,
497 | .content dl code,
498 | .content ul code,
499 | p code {
500 | font: 12px Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
501 | color: #52595d;
502 | -webkit-border-radius: 3px;
503 | -moz-border-radius: 3px;
504 | border-radius: 3px;
505 | -moz-background-clip: padding;
506 | -webkit-background-clip: padding-box;
507 | background-clip: padding-box;
508 | border: 1px solid #ccc;
509 | background-color: #f9f9f9;
510 | padding: 0px 3px;
511 | display: inline-block;
512 | }
513 |
514 | .content .sectionbody .dlist dt {
515 | margin-top: 10px;
516 | }
517 |
518 | .content .verseblock-content {
519 | padding: 3px;
520 | }
521 |
522 | .content .intro {
523 | color: #868686;
524 | }
525 |
526 | .change {
527 | padding-bottom: 1em;
528 | }
529 |
530 | .change .meta {
531 | font-size: 16px;
532 | padding-bottom: 1em;
533 | }
534 |
535 | .change .who_when .author {
536 | color: #eee;
537 | }
538 |
539 | .change .who_when .published {
540 | color: #ccc;
541 | }
542 |
543 | /* @end */
544 |
545 | /*------------------------------------------------------------------------------
546 | Pre/Code Styles
547 | ------------------------------------------------------------------------------*/
548 |
549 | code {white-space: nowrap;}
550 |
551 | pre {
552 | border: 1px solid #cacaca;
553 | line-height: 1.2em;
554 | font: 12px Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
555 | padding: 10px;
556 | overflow:auto;
557 | -webkit-border-radius: 3px;
558 | -moz-border-radius: 3px;
559 | border-radius: 3px;
560 | -moz-background-clip: padding;
561 | -webkit-background-clip: padding-box;
562 | background-clip: padding-box;
563 | background-color: #FAFAFB;
564 | color: #393939;
565 | margin: 0px;
566 | }
567 |
568 | ul + pre {
569 | margin-top: 1em;
570 | }
571 |
572 | pre code {white-space: pre;}
573 |
574 | pre span.comment {color: #aaa;}
575 |
576 | pre.headers {
577 | margin-bottom: 0;
578 | border-bottom-width: 0;
579 | -webkit-border-radius: 3px 3px 0 0;
580 | -moz-border-radius: 3px 3px 0 0;
581 | border-radius: 3px 3px 0 0;
582 | color: #666;
583 | background-color: #f1f1f1;
584 | background-image: -moz-linear-gradient(top, #f1f1f1, #e1e1e1);
585 | background-image: -ms-linear-gradient(top, #f1f1f1, #e1e1e1);
586 | background-image: -o-linear-gradient(top, #f1f1f1, #e1e1e1);
587 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#e1e1e1));
588 | background-image: -webkit-linear-gradient(top, #f1f1f1, #e1e1e1);
589 | background-image: linear-gradient(top, #f1f1f1, #e1e1e1);
590 | filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f1f1f1', EndColorStr='#e1e1e1');
591 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
592 | }
593 |
594 | pre.no-response {
595 | -webkit-border-radius: 3px 3px;
596 | -moz-border-radius: 3px 3px;
597 | border-radius: 3px 3px;
598 | border-bottom: 1px solid #CACACA;
599 | }
600 |
601 | pre.headers + pre.highlight {
602 | -webkit-border-radius: 0 0 3px 3px;
603 | -moz-border-radius: 0 0 3px 3px;
604 | border-radius: 0 0 3px 3px;
605 | }
606 |
607 | pre.highlight {
608 | -webkit-border-radius:3px;
609 | -moz-border-radius:3px;
610 | border-radius:3px;
611 | background-color: #FAFAFB;
612 | }
613 |
614 | pre.terminal {
615 | background-color: #444;
616 | color: #fff;
617 | -webkit-border-radius: 3px;
618 | -moz-border-radius: 3px;
619 | border-radius: 3px;
620 | -moz-background-clip: padding;
621 | -webkit-background-clip: padding-box;
622 | background-clip: padding-box;
623 | border: 2px solid #DEDEDE;
624 | position: relative;
625 | padding: 10px;
626 | text-shadow: none;
627 | background-image: none;
628 | filter: none;
629 | }
630 |
631 | pre.terminal em {
632 | color: #f9fe64;
633 | }
634 |
635 | span.codeline {
636 | display: block;
637 | position: relative;
638 | }
639 |
640 | span.codeline:hover {
641 | background-color: #292929;
642 | margin: 0px;
643 | padding-left: 3px;
644 | margin-left: -3px;
645 | -webkit-border-radius: 3px;
646 | -moz-border-radius: 3px;
647 | border-radius: 3px;
648 | color: #666666;
649 | }
650 |
651 | span.codeline span {
652 | display: inline-block;
653 | font-size: 10px;
654 | color: #fff;
655 | padding: 0 0.3em 0.05em;
656 | position: absolute;
657 | right: 0px;
658 | top: 0px;
659 | text-indent: -9999px;
660 | background-image: url(../images/qmark.png);
661 | background-repeat: no-repeat;
662 | background-position: 1px 3px;
663 | max-width: 8px;
664 | min-width: 8px;
665 | -moz-user-select: none;
666 | -khtml-user-select: none;
667 | user-select: none;
668 | cursor: default;
669 | }
670 |
671 | span.codeline span:hover {
672 | display: inline-block;
673 | text-indent: 0px;
674 | -webkit-border-radius: 3px;
675 | -moz-border-radius: 3px;
676 | border-radius: 3px;
677 | background: #000;
678 | border: 1px solid #292929;
679 | max-width: 1000px;
680 | }
681 |
682 | span.codeline:hover em {
683 | color: #666666;
684 | }
685 |
686 | pre.bootcamp {
687 | white-space: normal;
688 | margin-left: -10px;
689 | background-image: none;
690 | }
691 |
692 | span.bash-output {
693 | color: #63e463;
694 | display: block;
695 | position: relative;
696 | -moz-user-select: none;
697 | -khtml-user-select: none;
698 | user-select: none;
699 | }
700 |
701 | /* end */
702 |
703 | /*------------------------------------------------------------------------------
704 | More Info Expander
705 | ------------------------------------------------------------------------------*/
706 |
707 | .more-info {
708 | margin: 10px 0;
709 | position: relative;
710 | }
711 | .more-info > h4 {
712 | background-image: url('../images/dropdown_sprites.jpg');
713 | background-repeat: no-repeat;
714 | padding: .25em 0 .25em 25px;
715 | cursor: pointer;
716 | color: #4183C4;
717 | font-weight: normal;
718 | }
719 | .more-info h4.compressed {
720 | background-position: 0 0;
721 | }
722 | .more-info:hover h4.compressed {
723 | background-position: 0 -23px;
724 | }
725 | .more-info h4.expanded {
726 | background-position: 0 -46px;
727 | }
728 | .more-info:hover h4.expanded {
729 | background-position: 0 -69px;
730 | }
731 |
732 | .more-info .more-content {
733 | display: none;
734 | -webkit-border-radius: 3px;
735 | -moz-border-radius: 3px;
736 | border-radius: 3px;
737 | background-color: #FFFFFF;
738 | border: 3px solid #DDDDDD;
739 | padding: 1em 2em;
740 | -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
741 | -moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
742 | box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
743 | margin: 15px 0 30px;
744 | }
745 |
746 | .more-info .more-content h4 {
747 | margin-top: 1em;
748 | }
749 |
750 | .more-info .more-content pre {
751 | margin-left: 0px;
752 | }
753 |
754 | /****************************/
755 | /* List Module */
756 | /****************************/
757 |
758 | .list-module h2 {
759 | border: solid #cacaca;
760 | border-width: 1px;
761 | border-radius: 3px 3px 0px 0px;
762 | -moz-border-radius: 3px 3px 0px 0px;
763 | -webkit-border-bottom-right-radius: 0px;
764 | -webkit-border-bottom-left-radius: 0px;
765 | -moz-background-clip: padding;
766 | -webkit-background-clip: padding-box;
767 | background-clip: padding-box;
768 | padding: 6px 10px;
769 | background-color: #f1f1f1;
770 | background-image: -moz-linear-gradient(top, #f1f1f1, #e1e1e1);
771 | background-image: -ms-linear-gradient(top, #f1f1f1, #e1e1e1);
772 | background-image: -o-linear-gradient(top, #f1f1f1, #e1e1e1);
773 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#e1e1e1));
774 | background-image: -webkit-linear-gradient(top, #f1f1f1, #e1e1e1);
775 | background-image: linear-gradient(top, #f1f1f1, #e1e1e1);
776 | filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f1f1f1', EndColorStr='#e1e1e1');
777 | color: #666;
778 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
779 | font-size: 16px;
780 | line-height: 22px;
781 | margin: 0px;
782 | }
783 |
784 | .list-module .list-body {
785 | border: solid #cacaca;
786 | border-width: 0px 1px 1px 1px;
787 | border-radius: 0px 0px 3px 3px;
788 | -moz-border-radius: 0px 0px 3px 3px;
789 | -webkit-border-bottom-right-radius: 3px;
790 | -webkit-border-bottom-left-radius: 3px;
791 | -moz-background-clip: padding;
792 | -webkit-background-clip: padding-box;
793 | background-clip: padding-box;
794 | background-color: #fafafb;
795 | color: #666;
796 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
797 | }
798 |
799 | .list-module .list-body .icon {
800 | display: block;
801 | height: 28px;
802 | width: 28px;
803 | position: absolute;
804 | top: 10px;
805 | left: 10px;
806 | background: transparent url(images/popular_guide_sprites.png) 0 0 no-repeat;
807 | }
808 |
809 | .list-module a {
810 | border-top: 1px solid #fff;
811 | border-bottom: 1px solid #e9ecee;
812 | padding: 6px 10px;
813 | position: relative;
814 | display: block;
815 | }
816 |
817 | .list-module a:hover {
818 | border-top: 1px solid #fafafb;
819 | border-bottom: 1px solid #e5e8ea;
820 | background-color: #f0f0f3;
821 | text-decoration: none;
822 | }
823 |
824 | .list-module a h3 {
825 | color: #4183C4;
826 | }
827 |
828 | .list-module a:hover h3 {
829 | text-decoration: underline;
830 | }
831 |
832 | .list-module ul {
833 | list-style-type: none;
834 | margin: 0px;
835 | }
836 |
837 | .list-module h3 {
838 | margin: 0px;
839 | font-size: 13px;
840 | }
841 |
842 | .list-module .list-body a p {
843 | color: #666;
844 | margin: 0px;
845 | }
846 |
847 | /* @end */
848 |
849 | /****************************/
850 | /* Expandable List Module */
851 | /****************************/
852 |
853 | div.expandable > ul h3 {
854 | display: table;
855 | width: 100%;
856 | }
857 |
858 | div.expandable > ul h3 > a {
859 | display: table-cell;
860 | background-color: #e1e1e1;
861 | background-image: -moz-linear-gradient(top, #f1f1f1, #e1e1e1);
862 | background-image: -ms-linear-gradient(top, #f1f1f1, #e1e1e1);
863 | background-image: -o-linear-gradient(top, #f1f1f1, #e1e1e1);
864 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#e1e1e1));
865 | background-image: -webkit-linear-gradient(top, #f1f1f1, #e1e1e1);
866 | background-image: linear-gradient(top, #f1f1f1, #e1e1e1);
867 | filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f1f1f1', EndColorStr='#e1e1e1');
868 | }
869 |
870 | div.expandable > ul h3 > a:hover {
871 | background-color: #e1e1e1;
872 | background-image: -moz-linear-gradient(top, #e1e1e1, #d1d1d1);
873 | background-image: -ms-linear-gradient(top, #e1e1e1, #d1d1d1);
874 | background-image: -o-linear-gradient(top, #e1e1e1, #d1d1d1);
875 | background-image: -webkit-gradient(linear, left top, left bottom, from(#e1e1e1), to(#d1d1d1));
876 | background-image: -webkit-linear-gradient(top, #e1e1e1, #d1d1d1);
877 | background-image: linear-gradient(top, #e1e1e1, #d1d1d1);
878 | filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#e1e1e1', EndColorStr='#d1d1d1');
879 | }
880 |
881 | div.expandable > ul h3 > a.collapsed,
882 | div.expandable > ul h3 > a.expanded {
883 | background-image: url(../images/expand-arrows.png);
884 | background-position: 0px -3px;
885 | background-repeat: no-repeat;
886 | width: 13px;
887 | border-right: 1px solid #cacaca;
888 | padding: 8px 11px;
889 | }
890 |
891 | div.expandable > ul h3 > a.expanded {
892 | background-position: -38px -3px;
893 | }
894 |
895 | div.expandable > ul h3 > a.collapsed:hover {
896 | background-image: url(../images/expand-arrows.png);
897 | background-position: 0px -43px;
898 | background-repeat: no-repeat;
899 | width: 13px;
900 | border-right: 1px solid #cacaca;
901 | padding: 8px 11px;
902 | }
903 |
904 | div.expandable > ul h3 > a.expanded:hover {
905 | background-position: -38px -43px;
906 | }
907 |
908 | /* @end */
909 |
--------------------------------------------------------------------------------
/images/blacktocat.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
13 | proof:pdf
14 | xmp.did:F87F11740720681180838E4FEC0BBEE0
15 | xmp.iid:F87F11740720681180838E4FEC0BBEE0
16 | uuid:a82416aa-8f86-e849-8a8d-10757c227e64
17 |
18 | xmp.iid:F77F11740720681180838E4FEC0BBEE0
19 | xmp.did:F77F11740720681180838E4FEC0BBEE0
20 | uuid:a82416aa-8f86-e849-8a8d-10757c227e64
21 | proof:pdf
22 |
23 |
24 |
25 |
26 | saved
27 | xmp.iid:F77F11740720681180838E4FEC0BBEE0
28 | 2011-07-15T18:59:45-07:00
29 | Adobe Illustrator CS5
30 | /
31 |
32 |
33 | saved
34 | xmp.iid:F87F11740720681180838E4FEC0BBEE0
35 | 2011-07-15T19:12:41-07:00
36 | Adobe Illustrator CS5
37 | /
38 |
39 |
40 |
41 |
42 |
45 | 2011-07-15T19:12:41-07:00
46 | Adobe Illustrator CS5
47 | 2011-07-15T19:12:41-07:00
48 | 2011-07-15T19:12:41-07:00
49 |
50 |
51 |
52 | 256
53 | 256
54 | JPEG
55 | /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FVOa4ghFZXCex6/diqDk1qHpDG0h8fsjFUM+p37/Z4Rj2FT+NcVUWmvHNWuH37KeP6sKqZi
B+0zN8zirvQj8MVd6EfhirhFT7LMvyOKqqzXiGq3D/7I8v14qqpqd+n2gkg+4/hTAqJj1mA7TI0R
8ftD8P6YqjYriGYVicOPY7/diq/FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqh7m/t
rfZ2q/ZF3OKpdNqN5Nsv7lPbdvvxVDCNa8m+Jj1LbnCq7FXYq7FXYq7FXYq7FXYq7FXYqt9Na8lq
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
56 |
57 |
58 |
59 |
60 |
62 | Adobe PDF library 9.90
63 |
64 |
66 | image/svg+xml
67 |
68 |
72 | 1
73 | False
74 | False
75 |
76 | 130.000000
77 | 130.000000
78 | Pixels
79 |
80 |
81 |
82 | Cyan
83 | Magenta
84 | Yellow
85 |
86 |
87 |
88 |
89 |
90 | Default Swatch Group
91 | 0
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
154 |
155 |
156 |
191 |
192 |
193 |
194 |
229 |
230 |
231 |
232 |
233 |
267 |
268 |
269 |
270 |
--------------------------------------------------------------------------------