Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(249)

Side by Side Diff: third_party/polymer/core-component-page/core-component-page.html

Issue 416113002: Update Polymer to 0.3.4 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Binary file was causing CQ to fail. Will decommit seperately. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <!--
2 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
3 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
4 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
6 Code distributed by Google as part of the polymer project is also
7 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
8 -->
9
10 <style>
11
12 body {
13 margin: 0;
14 }
15
16 </style>
17
18 <!--
19 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
20 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
21 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
22 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
23 Code distributed by Google as part of the polymer project is also
24 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
25 -->
26
27 <!--
28 The `core-layout` element is a helper for using
29 [CSS3 Flexible Boxes](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Fle xible_boxes).
30 A `core-layout` element enables a set of css selectors for easy flexbox styling.
31
32 Example:
33
34 <core-layout>
35 <div>Left</div>
36 <div core-flex>Main</div>
37 <div>Right</div>
38 </core-layout>
39
40 Renders something like this:
41
42 ---------------------------------
43 |-------------------------------|
44 ||Left| Main |Right||
45 |-------------------------------|
46 ---------------------------------
47
48 __Note__: the `core-layout` element applies layout to itself if it has children or to
49 its parent element, if it does not. This feature allows you to apply layout to a n
50 arbitrary parent.
51
52 Elements can layout horizontally, such that their items stack
53 left to right or vertically, such that their items stack top to bottom. The
54 default is horizontal. Set `vertical` to true to layout the elements vertically.
55
56 To make a particular child _flexible_, use the `core-flex` attribute.
57 You can control flexibility from 1 to 3 by giving the attribute a
58 corresponding value. For other values, apply the css manually.
59
60 It's common in flexbox parlance to hear the terms _main axis_ and _cross axis_.
61 For a horizontal layout the main axis is horizontal and the cross axis is vertic al.
62 These are exchanged for a vertical layout.
63
64 To effect alignment in the main axis, use the `justify` attribute. The
65 supported values are `start`, `center`, `end`, and `between`.
66
67 To effect alignment in the cross axis, use the `align` attribute. The
68 supported values are `start`, `center`, and `end`.
69
70 Note, it's also possible to include the `core-layout.css` stylesheet separate
71 from the `core-layout` element. Including the element automatically includes
72 the stylesheet. To use the stylesheet independent of the element, css classes
73 should be used of the following form: `core-h`, `core-v`, `core-flex`,
74 `core-justify-start`, and `core-align-start`.
75
76 The `core-layout` and css file also provide a few commonly needed layout
77 behaviors. Apply the `core-fit` class to fit an element to its container. To
78 ensure a container will contain an element inside it with the `core-fit` class
79 give it the `core-relative` class.
80
81 More examples:
82
83 <core-layout vertical>
84
85 <div>Header</div>
86 <div core-flex>Body</div>
87 <div>Footer</div>
88
89 </core-layout>
90
91 ----------
92 ||------||
93 ||Header||
94 ||------||
95 ||Body ||
96 || ||
97 || ||
98 || ||
99 || ||
100 || ||
101 || ||
102 ||------||
103 ||Footer||
104 ||------||
105 ----------
106
107 Justify:
108
109 <core-layout justify="end">
110 <div core-flex>Left</div>
111 <div>Main</div>
112 <div>Right</div>
113 </core-layout>
114
115 ---------------------------------
116 |-------------------------------|
117 || Left|Main|Right||
118 |-------------------------------|
119 ---------------------------------
120
121 Align:
122
123 <core-layout align="center">
124 <div>Left</div>
125 <div core-flex>Main</div>
126 <div>Right</div>
127 </core-layout>
128
129 ---------------------------------
130 |-------------------------------|
131 || | | ||
132 ||Left| Main |Right||
133 || | | ||
134 |-------------------------------|
135 ---------------------------------
136
137
138 To layout contents of a parent element, place a `core-layout` inside of it:
139
140 <some-element>
141 <core-layout></core-layout>
142 <div>Left</div>
143 <div core-flex>Main</div>
144 <div>Right</div>
145 <some-element>
146
147 ---------------------------------
148 |-------------------------------|
149 ||Left| Main |Right||
150 |-------------------------------|
151 ---------------------------------
152
153 You may also use the `core-layout` stylesheet directly:
154
155 <link rel="stylesheet" href="../core-layout/core-layout.css">
156 <div class="core-h core-justify-end">
157 <div core-flex>Left</div>
158 <div>Main</div>
159 <div>Right</div>
160 </div>
161
162 ---------------------------------
163 |-------------------------------|
164 || Left|Main|Right||
165 |-------------------------------|
166 ---------------------------------
167
168 @group Polymer Core Elements
169 @element core-layout
170
171 -->
172 <link rel="import" href="../polymer/polymer.html">
173
174 <polymer-element name="core-layout" attributes="vertical justify align isContain er reverse" assetpath="../core-layout/">
175
176 <template>
177
178 <style no-shim="">/*
179 Copyright 2013 The Polymer Authors. All rights reserved.
180 Use of this source code is governed by a BSD-style
181 license that can be found in the LICENSE file.
182 */
183
184 .core-h, .core-v {
185 display: -webkit-box !important;
186 display: -ms-flexbox !important;
187 display: -moz-flex !important;
188 display: -webkit-flex !important;
189 display: flex !important;
190 }
191
192 .core-h {
193 -webkit-box-orient: horizontal;
194 -ms-flex-direction: row;
195 -moz-flex-direction: row;
196 -webkit-flex-direction: row;
197 flex-direction: row;
198 }
199
200 .core-h.core-reverse {
201 -webkit-box-direction: reverse;
202 -ms-flex-direction: row-reverse;
203 -moz-flex-direction: row-reverse;
204 -webkit-flex-direction: row-reverse;
205 flex-direction: row-reverse;
206 }
207
208 .core-v {
209 -webkit-box-orient: vertical;
210 -ms-flex-direction: column;
211 -moz-flex-direction: column;
212 -webkit-flex-direction: column;
213 flex-direction: column;
214 }
215
216 .core-v.core-reverse {
217 -webkit-box-direction: reverse;
218 -ms-flex-direction: column-reverse;
219 -moz-flex-direction: column-reverse;
220 -webkit-flex-direction: column-reverse;
221 flex-direction: column-reverse;
222 }
223
224 .core-relative {
225 position: relative;
226 }
227
228 .core-fit {
229 position: absolute;
230 top: 0;
231 left: 0;
232 height: 100%;
233 width: 100%;
234 }
235
236 body.core-fit {
237 margin: 0;
238 }
239
240 .core-flex, [core-flex] {
241 -webkit-box-flex: 1;
242 -ms-flex: 1;
243 -moz-flex: 1;
244 -webkit-flex: 1;
245 flex: 1;
246 }
247
248 .core-flex-auto, [core-flex-auto] {
249 -webkit-box-flex: 1;
250 -ms-flex: 1 1 auto;
251 -moz-flex: 1 1 auto;
252 -webkit-flex: 1 1 auto;
253 flex: 1 1 auto;
254 }
255
256 .core-flex-none, [core-flex-none] {
257 -webkit-box-flex: none;
258 -ms-flex: none;
259 -moz-flex: none;
260 -webkit-flex: none;
261 flex: none;
262 }
263
264 .core-flex1, [core-flex=1] {
265 -webkit-box-flex: 1;
266 -ms-flex: 1;
267 -moz-flex: 1;
268 -webkit-flex: 1;
269 flex: 1;
270 }
271
272 .core-flex2, [core-flex=2] {
273 -webkit-box-flex: 2;
274 -ms-flex: 2;
275 -moz-flex: 2;
276 -webkit-flex: 2;
277 flex: 2;
278 }
279
280 .core-flex3, [core-flex=3] {
281 -webkit-box-flex: 3;
282 -ms-flex: 3;
283 -moz-flex: 3;
284 -webkit-flex: 3;
285 flex: 3;
286 }
287
288 /* distributed elements */
289 ::content > .core-flex, ::content > [core-flex] {
290 -webkit-box-flex: 1;
291 -ms-flex: 1;
292 -moz-flex: 1;
293 -webkit-flex: 1;
294 flex: 1;
295 }
296
297 ::content > .core-flex-auto, ::content > [core-flex-auto] {
298 -webkit-box-flex: 1;
299 -ms-flex: 1 1 auto;
300 -moz-flex: 1 1 auto;
301 -webkit-flex: 1 1 auto;
302 flex: 1 1 auto;
303 }
304
305 ::content > .core-flex-none, ::content > [core-flex-none] {
306 -webkit-box-flex: none;
307 -ms-flex: none;
308 -moz-flex: none;
309 -webkit-flex: none;
310 flex: none;
311 }
312
313 ::content > .core-flex1, ::content > [core-flex=1] {
314 -webkit-box-flex: 1;
315 -ms-flex: 1;
316 -moz-flex: 1;
317 -webkit-flex: 1;
318 flex: 1;
319 }
320
321 ::content > .core-flex2, ::content > [core-flex=2] {
322 -webkit-box-flex: 2;
323 -ms-flex: 2;
324 -moz-flex: 2;
325 -webkit-flex: 2;
326 flex: 2;
327 }
328
329 ::content > .core-flex3, ::content > [core-flex=3] {
330 -webkit-box-flex: 3;
331 -ms-flex: 3;
332 -moz-flex: 3;
333 -webkit-flex: 3;
334 flex: 3;
335 }
336
337 /* alignment in main axis */
338 .core-justify-start {
339 -webkit-box-pack: start;
340 -ms-flex-pack: start;
341 -moz-justify-content: flex-start;
342 -webkit-justify-content: flex-start;
343 justify-content: flex-start;
344 }
345
346 .core-justify-center {
347 -webkit-box-pack: center;
348 -ms-flex-pack: center;
349 -moz-justify-content: center;
350 -webkit-justify-content: center;
351 justify-content: center;
352 }
353
354 .core-justify-end {
355 -webkit-box-pack: end;
356 -ms-flex-pack: end;
357 -moz-justify-content: flex-end;
358 -webkit-justify-content: flex-end;
359 justify-content: flex-end;
360 }
361
362 .core-justify-between {
363 -webkit-box-pack: justify;
364 -ms-flex-pack: justify;
365 -moz-justify-content: space-between;
366 -webkit-justify-content: space-between;
367 justify-content: space-between;
368 }
369
370 /* alignment in cross axis */
371 .core-align-start {
372 -webkit-box-align: start;
373 -ms-flex-align: start;
374 -moz-align-items: flex-start;
375 -webkit-align-items: flex-start;
376 align-items: flex-start;
377 }
378
379 .core-align-center {
380 -webkit-box-align: center;
381 -ms-flex-align: center;
382 -moz-align-items: center;
383 -webkit-align-items: center;
384 align-items: center;
385 }
386
387 .core-align-end {
388 -webkit-box-align: end;
389 -ms-flex-align: end;
390 -moz-align-items: flex-end;
391 -webkit-align-items: flex-end;
392 align-items: flex-end;
393 }
394 </style>
395 <style no-shim="">/*
396 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
397 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
398 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
399 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
400 Code distributed by Google as part of the polymer project is also
401 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
402 */
403
404 :host {
405 display: -webkit-box !important;
406 display: -ms-flexbox !important;
407 display: -moz-flex !important;
408 display: -webkit-flex !important;
409 display: flex !important;
410 }
411
412 :host(.core-h) {
413 -webkit-box-orient: horizontal;
414 -ms-flex-direction: row;
415 -moz-flex-direction: row;
416 -webkit-flex-direction: row;
417 flex-direction: row;
418 }
419
420 :host(.core-v) {
421 -webkit-box-orient: vertical;
422 -ms-flex-direction: column;
423 -moz-flex-direction: column;
424 -webkit-flex-direction: column;
425 flex-direction: column;
426 }
427
428 :host(.core-h.core-reverse) {
429 -webkit-box-direction: reverse;
430 -ms-flex-direction: row-reverse;
431 -moz-flex-direction: row-reverse;
432 -webkit-flex-direction: row-reverse;
433 flex-direction: row-reverse;
434 }
435
436 :host(.core-v.core-reverse) {
437 -webkit-box-direction: reverse;
438 -ms-flex-direction: column-reverse;
439 -moz-flex-direction: column-reverse;
440 -webkit-flex-direction: column-reverse;
441 flex-direction: column-reverse;
442 }
443
444 /* alignment in main axis */
445 :host(.core-justify-start) {
446 -webkit-box-pack: start;
447 -ms-flex-pack: start;
448 -moz-justify-content: flex-start;
449 -webkit-justify-content: flex-start;
450 justify-content: flex-start;
451 }
452
453 :host(.core-justify-center) {
454 -webkit-box-pack: center;
455 -ms-flex-pack: center;
456 -moz-justify-content: center;
457 -webkit-justify-content: center;
458 justify-content: center;
459 }
460
461 :host(.core-justify-end) {
462 -webkit-box-pack: end;
463 -ms-flex-pack: end;
464 -moz-justify-content: flex-end;
465 -webkit-justify-content: flex-end;
466 justify-content: flex-end;
467 }
468
469 :host(.core-justify-between) {
470 -webkit-box-pack: justify;
471 -ms-flex-pack: justify;
472 -moz-justify-content: space-between;
473 -webkit-justify-content: space-between;
474 justify-content: space-between;
475 }
476
477 /* alignment in cross axis */
478 :host(.core-align-start) {
479 -webkit-box-align: start;
480 -ms-flex-align: start;
481 -moz-align-items: flex-start;
482 -webkit-align-items: flex-start;
483 align-items: flex-start;
484 }
485
486 :host(.core-align-center) {
487 -webkit-box-align: center;
488 -ms-flex-align: center;
489 -moz-align-items: center;
490 -webkit-align-items: center;
491 align-items: center;
492 }
493
494 :host(.core-align-end) {
495 -webkit-box-align: end;
496 -ms-flex-align: end;
497 -moz-align-items: flex-end;
498 -webkit-align-items: flex-end;
499 align-items: flex-end;
500 }
501 </style>
502
503 </template>
504
505 <script>
506
507 (function() {
508
509 Polymer('core-layout', {
510
511 isContainer: false,
512 /**
513 * Controls if the element lays out vertically or not.
514 *
515 * @attribute vertical
516 * @type boolean
517 * @default false
518 */
519 vertical: false,
520 /**
521 * Controls how the items are aligned in the main-axis direction. For
522 * example for a horizontal layout, this controls how each item is aligned
523 * horizontally.
524 *
525 * @attribute justify
526 * @type string start|center|end|between
527 * @default ''
528 */
529 justify: '',
530 /**
531 * Controls how the items are aligned in cross-axis direction. For
532 * example for a horizontal layout, this controls how each item is aligned
533 * vertically.
534 *
535 * @attribute align
536 * @type string start|center|end
537 * @default ''
538 */
539 align: '',
540 /**
541 * Controls whether or not the items layout in reverse order.
542 *
543 * @attribute reverse
544 * @type boolean
545 * @default false
546 */
547 reverse: false,
548 layoutPrefix: 'core-',
549
550 // NOTE: include template so that styles are loaded, but remove
551 // so that we can decide dynamically what part to include
552 registerCallback: function(polymerElement) {
553 var template = polymerElement.querySelector('template');
554 this.styles = template.content.querySelectorAll('style').array();
555 this.styles.forEach(function(s) {
556 s.removeAttribute('no-shim');
557 })
558 },
559
560 fetchTemplate: function() {
561 return null;
562 },
563
564 attached: function() {
565 this.installScopeStyle(this.styles[0]);
566 if (this.children.length) {
567 this.isContainer = true;
568 }
569 var container = this.isContainer ? this : this.parentNode;
570 // detect if laying out a shadowRoot host.
571 var forHost = container instanceof ShadowRoot;
572 if (forHost) {
573 this.installScopeStyle(this.styles[1], 'host');
574 container = container.host || document.body;
575 }
576 this.layoutContainer = container;
577 },
578
579 detached: function() {
580 this.layoutContainer = null;
581 },
582
583 layoutContainerChanged: function(old) {
584 this.style.display = this.layoutContainer === this ? null : 'none';
585 this.verticalChanged();
586 this.alignChanged();
587 this.justifyChanged();
588 },
589
590 setLayoutClass: function(prefix, old, newValue) {
591 if (this.layoutContainer) {
592 prefix = this.layoutPrefix + prefix;
593 if (old) {
594 this.layoutContainer.classList.remove(prefix + old);
595 }
596 if (newValue) {
597 this.layoutContainer.classList.add(prefix + newValue);
598 }
599 }
600 },
601
602 verticalChanged: function(old) {
603 old = old ? 'v' : 'h';
604 var vertical = this.vertical ? 'v' : 'h';
605 this.setLayoutClass('', old, vertical);
606 },
607
608 alignChanged: function(old) {
609 this.setLayoutClass('align-', old, this.align);
610 },
611
612 justifyChanged: function(old) {
613 this.setLayoutClass('justify-', old, this.justify);
614 },
615
616 reverseChanged: function(old) {
617 old = old ? 'reverse' : '';
618 var newValue = this.reverse ? 'reverse' : '';
619 this.setLayoutClass('', old, newValue);
620 }
621
622 });
623
624 })();
625 </script>
626
627 </polymer-element>
628
629
630 <!--
631 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
632 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
633 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
634 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
635 Code distributed by Google as part of the polymer project is also
636 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
637 -->
638 <!--
639 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
640 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
641 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
642 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
643 Code distributed by Google as part of the polymer project is also
644 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
645 -->
646
647 <!--
648 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
649 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
650 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
651 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
652 Code distributed by Google as part of the polymer project is also
653 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
654 -->
655
656 <!--
657 /**
658 * @group Polymer Core Elements
659 *
660 * The `core-iconset-svg` element allows users to define their own icon sets
661 * that contain svg icons. The svg icon elements should be children of the
662 * `core-iconset-svg` element. Multiple icons should be given distinct id's.
663 *
664 * Using svg elements to create icons has a few advantages over traditional
665 * bitmap graphics like jpg or png. Icons that use svg are vector based so they
666 * are resolution independent and should look good on any device. They are
667 * stylable via css. Icons can be themed, colorized, and even animated.
668 *
669 * Example:
670 *
671 * <core-iconset-svg id="my-svg-icons" iconSize="24">
672 * <svg>
673 * <defs>
674 * <g id="shape">
675 * <rect x="50" y="50" width="50" height="50" />
676 * <circle cx="50" cy="50" r="50" />
677 * </g>
678 * </defs>
679 * </svg>
680 * </core-iconset-svg>
681 *
682 * This will automatically register the icon set "my-svg-icons" to the iconset
683 * database. To use these icons from within another element, make a
684 * `core-iconset` element and call the `byId` method
685 * to retrieve a given iconset. To apply a particular icon inside an
686 * element use the `applyIcon` method. For example:
687 *
688 * iconset.applyIcon(iconNode, 'car');
689 *
690 * @element core-iconset-svg
691 * @extends core-meta
692 * @homepage github.io
693 */
694 -->
695
696 <!--
697 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
698 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
699 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
700 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
701 Code distributed by Google as part of the polymer project is also
702 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
703 -->
704
705 <!--
706 /**
707 * @group Polymer Core Elements
708 *
709 * The `core-iconset` element allows users to define their own icon sets.
710 * The `src` property specifies the url of the icon image. Multiple icons may
711 * be included in this image and they may be organized into rows.
712 * The `icons` property is a space separated list of names corresponding to the
713 * icons. The names must be ordered as the icons are ordered in the icon image.
714 * Icons are expected to be square and are the size specified by the `iconSize`
715 * property. The `width` property corresponds to the width of the icon image
716 * and must be specified if icons are arranged into multiple rows in the image.
717 *
718 * All `core-iconset` elements are available for use by other `core-iconset`
719 * elements via a database keyed by id. Typically, an element author that wants
720 * to support a set of custom icons uses a `core-iconset` to retrieve
721 * and use another, user-defined iconset.
722 *
723 * Example:
724 *
725 * <core-iconset id="my-icons" src="my-icons.png" width="96" iconSize="24"
726 * icons="location place starta stopb bus car train walk">
727 * </core-iconset>
728 *
729 * This will automatically register the icon set "my-icons" to the iconset
730 * database. To use these icons from within another element, make a
731 * `core-iconset` element and call the `byId` method to retrieve a
732 * given iconset. To apply a particular icon to an element, use the
733 * `applyIcon` method. For example:
734 *
735 * iconset.applyIcon(iconNode, 'car');
736 *
737 * Themed icon sets are also supported. The `core-iconset` can contain child
738 * `property` elements that specify a theme with an offsetX and offsetY of the
739 * theme within the icon resource. For example.
740 *
741 * <core-iconset id="my-icons" src="my-icons.png" width="96" iconSize="24"
742 * icons="location place starta stopb bus car train walk">
743 * <property theme="special" offsetX="256" offsetY="24"></property>
744 * </core-iconset>
745 *
746 * Then a themed icon can be applied like this:
747 *
748 * iconset.applyIcon(iconNode, 'car', 'special');
749 *
750 * @element core-iconset
751 * @extends core-meta
752 * @homepage github.io
753 */
754 -->
755
756 <!--
757 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
758 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
759 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
760 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
761 Code distributed by Google as part of the polymer project is also
762 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
763 -->
764
765 <!--
766 `core-meta` provides a method of constructing a self-organizing database.
767 It is useful to collate element meta-data for things like catalogs and for
768 designer.
769
770 Example, an element folder has a `metadata.html` file in it, that contains a
771 `core-meta`, something like this:
772
773 <core-meta id="my-element" label="My Element">
774 <property name="color" value="blue"></property>
775 </core-meta>
776
777 An application can import as many of these files as it wants, and then use
778 `core-meta` again to access the collected data.
779
780 <script>
781 var meta = document.createElement('core-meta');
782 console.log(meta.list); // dump a list of all meta-data elements that have been created
783 </script>
784
785 Use `byId(id)` to retrive a specific core-meta.
786
787 <script>
788 var meta = document.createElement('core-meta');
789 console.log(meta.byId('my-element'));
790 </script>
791
792 By default all meta-data are stored in a single databse. If your meta-data
793 have different types and want them to be stored separately, use `type` to
794 differentiate them.
795
796 Example:
797
798 <core-meta id="x-foo" type="xElt"></core-meta>
799 <core-meta id="x-bar" type="xElt"></core-meta>
800 <core-meta id="y-bar" type="yElt"></core-meta>
801
802 <script>
803 var meta = document.createElement('core-meta');
804 meta.type = 'xElt';
805 console.log(meta.list);
806 </script>
807
808 @group Polymer Core Elements
809 @element core-meta
810 @homepage github.io
811 -->
812
813
814
815 <polymer-element name="core-meta" attributes="list label type" hidden assetpath= "../core-meta/">
816 <script>
817
818 (function() {
819
820 var SKIP_ID = 'meta';
821 var metaData = {}, metaArray = {};
822
823 Polymer('core-meta', {
824
825 /**
826 * The type of meta-data. All meta-data with the same type with be
827 * stored together.
828 *
829 * @attribute type
830 * @type string
831 * @default 'default'
832 */
833 type: 'default',
834
835 alwaysPrepare: true,
836
837 ready: function() {
838 this.register(this.id);
839 },
840
841 get metaArray() {
842 var t = this.type;
843 if (!metaArray[t]) {
844 metaArray[t] = [];
845 }
846 return metaArray[t];
847 },
848
849 get metaData() {
850 var t = this.type;
851 if (!metaData[t]) {
852 metaData[t] = {};
853 }
854 return metaData[t];
855 },
856
857 register: function(id, old) {
858 if (id && id !== SKIP_ID) {
859 this.unregister(this, old);
860 this.metaData[id] = this;
861 this.metaArray.push(this);
862 }
863 },
864
865 unregister: function(meta, id) {
866 delete this.metaData[id || meta.id];
867 var i = this.metaArray.indexOf(meta);
868 if (i >= 0) {
869 this.metaArray.splice(i, 1);
870 }
871 },
872
873 /**
874 * Returns a list of all meta-data elements with the same type.
875 *
876 * @attribute list
877 * @type array
878 * @default []
879 */
880 get list() {
881 return this.metaArray;
882 },
883
884 /**
885 * Retrieves meta-data by ID.
886 *
887 * @method byId
888 * @param {String} id The ID of the meta-data to be returned.
889 * @returns Returns meta-data.
890 */
891 byId: function(id) {
892 return this.metaData[id];
893 }
894
895 });
896
897 })();
898
899 </script>
900 </polymer-element>
901
902
903 <polymer-element name="core-iconset" extends="core-meta" attributes="src width i cons iconSize" assetpath="../core-iconset/">
904
905 <script>
906
907 Polymer('core-iconset', {
908
909 /**
910 * The URL of the iconset image.
911 *
912 * @attribute src
913 * @type string
914 * @default ''
915 */
916 src: '',
917
918 /**
919 * The width of the iconset image. This must only be specified if the
920 * icons are arranged into separate rows inside the image.
921 *
922 * @attribute width
923 * @type string
924 * @default ''
925 */
926 width: 0,
927
928 /**
929 * A space separated list of names corresponding to icons in the iconset
930 * image file. This list must be ordered the same as the icon images
931 * in the image file.
932 *
933 * @attribute icons
934 * @type string
935 * @default ''
936 */
937 icons: '',
938
939 /**
940 * The size of an individual icon. Note that icons must be square.
941 *
942 * @attribute iconSize
943 * @type number
944 * @default 24
945 */
946 iconSize: 24,
947
948 /**
949 * The horizontal offset of the icon images in the inconset src image.
950 * This is typically used if the image resource contains additional images
951 * beside those intended for the iconset.
952 *
953 * @attribute offsetX
954 * @type number
955 * @default 0
956 */
957 offsetX: 0,
958 /**
959 * The vertical offset of the icon images in the inconset src image.
960 * This is typically used if the image resource contains additional images
961 * beside those intended for the iconset.
962 *
963 * @attribute offsetY
964 * @type number
965 * @default 0
966 */
967 offsetY: 0,
968 type: 'iconset',
969
970 created: function() {
971 this.iconMap = {};
972 this.iconNames = [];
973 this.themes = {};
974 },
975
976 ready: function() {
977 // TODO(sorvell): ensure iconset's src is always relative to the main
978 // document
979 if (this.src && (this.ownerDocument !== document)) {
980 this.src = this.resolvePath(this.src, this.ownerDocument.baseURI);
981 }
982 this.super();
983 this.updateThemes();
984 },
985
986 iconsChanged: function() {
987 var ox = this.offsetX;
988 var oy = this.offsetY;
989 this.icons && this.icons.split(/\s+/g).forEach(function(name, i) {
990 this.iconNames.push(name);
991 this.iconMap[name] = {
992 offsetX: ox,
993 offsetY: oy
994 }
995 if (ox + this.iconSize < this.width) {
996 ox += this.iconSize;
997 } else {
998 ox = this.offsetX;
999 oy += this.iconSize;
1000 }
1001 }, this);
1002 },
1003
1004 updateThemes: function() {
1005 var ts = this.querySelectorAll('property[theme]');
1006 ts && ts.array().forEach(function(t) {
1007 this.themes[t.getAttribute('theme')] = {
1008 offsetX: parseInt(t.getAttribute('offsetX')) || 0,
1009 offsetY: parseInt(t.getAttribute('offsetY')) || 0
1010 };
1011 }, this);
1012 },
1013
1014 // TODO(ffu): support retrived by index e.g. getOffset(10);
1015 /**
1016 * Returns an object containing `offsetX` and `offsetY` properties which
1017 * specify the pixel locaion in the iconset's src file for the given
1018 * `icon` and `theme`. It's uncommon to call this method. It is useful,
1019 * for example, to manually position a css backgroundImage to the proper
1020 * offset. It's more common to use the `applyIcon` method.
1021 *
1022 * @method getOffset
1023 * @param {String|Number} icon The name of the icon or the index of the
1024 * icon within in the icon image.
1025 * @param {String} theme The name of the theme.
1026 * @returns {Object} An object specifying the offset of the given icon
1027 * within the icon resource file; `offsetX` is the horizontal offset and
1028 * `offsetY` is the vertical offset. Both values are in pixel units.
1029 */
1030 getOffset: function(icon, theme) {
1031 var i = this.iconMap[icon];
1032 if (!i) {
1033 var n = this.iconNames[Number(icon)];
1034 i = this.iconMap[n];
1035 }
1036 var t = this.themes[theme];
1037 if (i && t) {
1038 return {
1039 offsetX: i.offsetX + t.offsetX,
1040 offsetY: i.offsetY + t.offsetY
1041 }
1042 }
1043 return i;
1044 },
1045
1046 /**
1047 * Applies an icon to the given element as a css background image. This
1048 * method does not size the element, and it's often necessary to set
1049 * the element's height and width so that the background image is visible.
1050 *
1051 * @method applyIcon
1052 * @param {Element} element The element to which the background is
1053 * applied.
1054 * @param {String|Number} icon The name or index of the icon to apply.
1055 * @param {String} theme (optional) The name of the theme for the icon.
1056 * @param {Number} scale (optional, defaults to 1) A scaling factor
1057 * with which the icon can be magnified.
1058 */
1059 applyIcon: function(element, icon, theme, scale) {
1060 var offset = this.getOffset(icon, theme);
1061 scale = scale || 1;
1062 if (element && offset) {
1063 var style = element.style;
1064 style.backgroundImage = 'url(' + this.src + ')';
1065 style.backgroundPosition = (-offset.offsetX * scale + 'px') +
1066 ' ' + (-offset.offsetY * scale + 'px');
1067 style.backgroundSize = scale === 1 ? 'auto' :
1068 this.width * scale + 'px';
1069 }
1070 }
1071
1072 });
1073
1074 </script>
1075
1076 </polymer-element>
1077
1078
1079 <polymer-element name="core-iconset-svg" extends="core-meta" attributes="iconSiz e" assetpath="../core-iconset-svg/">
1080
1081 <script>
1082
1083 Polymer('core-iconset-svg', {
1084
1085
1086 /**
1087 * The size of an individual icon. Note that icons must be square.
1088 *
1089 * @attribute iconSize
1090 * @type number
1091 * @default 24
1092 */
1093 iconSize: 24,
1094 type: 'iconset',
1095
1096 iconById: function(id) {
1097 return this.querySelector('#' + id);
1098 },
1099
1100 cloneIcon: function(id) {
1101 var icon = this.iconById(id);
1102 if (icon) {
1103 var content = icon.cloneNode(true);
1104 var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg" );
1105 svg.setAttribute('viewBox', '0 0 ' + this.iconSize + ' ' +
1106 this.iconSize);
1107 // NOTE(dfreedm): work around https://crbug.com/370136
1108 svg.style.pointerEvents = 'none';
1109 svg.appendChild(content);
1110 return svg;
1111 }
1112 },
1113
1114 get iconNames() {
1115 if (!this._iconNames) {
1116 this._iconNames = this.findIconNames();
1117 }
1118 return this._iconNames;
1119 },
1120
1121 findIconNames: function() {
1122 var icons = this.querySelectorAll('[id]').array();
1123 if (icons.length) {
1124 return icons.map(function(n){ return n.id });
1125 }
1126 },
1127
1128 /**
1129 * Applies an icon to the given element. The svg icon is added to the
1130 * element's shadowRoot if one exists or directly to itself.
1131 *
1132 * @method applyIcon
1133 * @param {Element} element The element to which the icon is
1134 * applied.
1135 * @param {String|Number} icon The name the icon to apply.
1136 */
1137 applyIcon: function(element, icon) {
1138 var root = element.shadowRoot || element;
1139 // remove old
1140 var old = root.querySelector('svg');
1141 if (old) {
1142 old.remove();
1143 }
1144 // install new
1145 var svg = this.cloneIcon(icon);
1146 if (!svg) {
1147 return;
1148 }
1149 svg.style.height = svg.style.width = this.iconSize + 'px';
1150 svg.style.verticalAlign = 'middle';
1151 if (svg) {
1152 root.insertBefore(svg, root.firstElementChild);
1153 }
1154 }
1155 });
1156
1157 </script>
1158
1159 </polymer-element>
1160
1161 <core-iconset-svg id="icons" iconsize="24">
1162 <svg><defs>
1163 <g id="accessibility"><path d="M12,2c1.1,0,2,0.9,2,2s-0.9,2-2,2s-2-0.9-2-2S10.9, 2,12,2z M21,9h-6v13h-2v-6h-2v6H9V9H3V7h18V9z"></path></g>
1164 <g id="account-box"><path d="M3,5l0,14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5c0-1. 1-0.9-2-2-2H5C3.9,3,3,3.9,3,5z M15,9c0,1.7-1.3,3-3,3c-1.7,0-3-1.3-3-3c0-1.7,1.3- 3,3-3C13.7,6,15,7.3,15,9z M6,17c0-2,4-3.1,6-3.1s6,1.1,6,3.1v1H6V17z"></path></g>
1165 <g id="account-circle"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5 ,10-10S17.5,2,12,2z M12,5c1.7,0,3,1.3,3,3c0,1.7-1.3,3-3,3c-1.7,0-3-1.3-3-3C9,6.3 ,10.3,5,12,5z M12,19.2c-2.5,0-4.7-1.3-6-3.2c0-2,4-3.1,6-3.1c2,0,6,1.1,6,3.1C16.7 ,17.9,14.5,19.2,12,19.2z"></path></g>
1166 <g id="add"><path d="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6V13z"></path></g>
1167 <g id="add-box"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0 .9,2-2V5C21,3.9,20.1,3,19,3z M17,13h-4v4h-2v-4H7v-2h4V7h2v4h4V13z"></path></g>
1168 <g id="add-circle"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10- 10S17.5,2,12,2z M17,13h-4v4h-2v-4H7v-2h4V7h2v4h4V13z"></path></g>
1169 <g id="add-circle-outline"><path d="M13,7h-2v4H7v2h4v4h2v-4h4v-2h-4V7z M12,2C6.5 ,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10-10S17.5,2,12,2z M12,20c-4.4,0-8-3.6-8 -8s3.6-8,8-8c4.4,0,8,3.6,8,8S16.4,20,12,20z"></path></g>
1170 <g id="apps"><path d="M4,8h4V4H4V8z M10,20h4v-4h-4V20z M4,20h4v-4H4V20z M4,14h4v -4H4V14z M10,14h4v-4h-4V14z M16,4v4h4V4H16z M10,8h4V4h-4V8z M16,14h4v-4h-4V14z M 16,20h4v-4h-4V20z"></path></g>
1171 <g id="archive"><path d="M20.5,5.2l-1.4-1.7C18.9,3.2,18.5,3,18,3H6C5.5,3,5.1,3.2 ,4.8,3.5L3.5,5.2C3.2,5.6,3,6,3,6.5V19c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V6.5C21, 6,20.8,5.6,20.5,5.2z M12,17.5L6.5,12H10v-2h4v2h3.5L12,17.5z M5.1,5l0.8-1h12l0.9, 1H5.1z"></path></g>
1172 <g id="arrow-back"><path d="M20,11H7.8l5.6-5.6L12,4l-8,8l8,8l1.4-1.4L7.8,13H20V1 1z"></path></g>
1173 <g id="arrow-drop-down"><polygon points="7,10 12,15 17,10 "></polygon></g>
1174 <g id="arrow-drop-up"><polygon points="7,14 12,9 17,14 "></polygon></g>
1175 <g id="arrow-forward"><polygon points="12,4 10.6,5.4 16.2,11 4,11 4,13 16.2,13 1 0.6,18.6 12,20 20,12 "></polygon></g>
1176 <g id="attachment"><path d="M7.5,18c-3,0-5.5-2.5-5.5-5.5S4.5,7,7.5,7H18c2.2,0,4, 1.8,4,4s-1.8,4-4,4H9.5C8.1,15,7,13.9,7,12.5S8.1,10,9.5,10H17v1.5H9.5c-0.6,0-1,0. 4-1,1s0.4,1,1,1H18c1.4,0,2.5-1.1,2.5-2.5S19.4,8.5,18,8.5H7.5c-2.2,0-4,1.8-4,4s1. 8,4,4,4H17V18H7.5z"></path></g>
1177 <g id="backspace"><path d="M22,3H7C6.3,3,5.8,3.3,5.4,3.9L0,12l5.4,8.1C5.8,20.6,6 .3,21,7,21h15c1.1,0,2-0.9,2-2V5C24,3.9,23.1,3,22,3z M19,15.6L17.6,17L14,13.4L10. 4,17L9,15.6l3.6-3.6L9,8.4L10.4,7l3.6,3.6L17.6,7L19,8.4L15.4,12L19,15.6z"></path> </g>
1178 <g id="backup"><path d="M19.4,10c-0.7-3.4-3.7-6-7.4-6C9.1,4,6.6,5.6,5.4,8C2.3,8. 4,0,10.9,0,14c0,3.3,2.7,6,6,6h13c2.8,0,5-2.2,5-5C24,12.4,21.9,10.2,19.4,10z M14, 13v4h-4v-4H7l5-5l5,5H14z"></path></g>
1179 <g id="block"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10-10S17 .5,2,12,2z M4,12c0-4.4,3.6-8,8-8c1.8,0,3.5,0.6,4.9,1.7L5.7,16.9C4.6,15.5,4,13.8, 4,12z M12,20c-1.8,0-3.5-0.6-4.9-1.7L18.3,7.1C19.4,8.5,20,10.2,20,12C20,16.4,16.4 ,20,12,20z"></path></g>
1180 <g id="book"><path d="M18,22c1.1,0,2-0.9,2-2V4c0-1.1-0.9-2-2-2h-6v7L9.5,7.5L7,9V 2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.9,2,2,2H18z"></path></g>
1181 <g id="bookmark"><path d="M17,3H7C5.9,3,5,3.9,5,5l0,16l7-3l7,3V5C19,3.9,18.1,3,1 7,3z"></path></g>
1182 <g id="bookmark-outline"><path d="M17,3H7C5.9,3,5,3.9,5,5l0,16l7-3l7,3V5C19,3.9, 18.1,3,17,3z M17,18l-5-2.2L7,18V5h10V18z"></path></g>
1183 <g id="bug-report"><path d="M20,8h-2.8c-0.5-0.8-1.1-1.5-1.8-2L17,4.4L15.6,3l-2.2 ,2.2C13,5.1,12.5,5,12,5s-1,0.1-1.4,0.2L8.4,3L7,4.4L8.6,6C7.9,6.5,7.3,7.2,6.8,8H4 v2h2.1C6,10.3,6,10.7,6,11v1H4v2h2v1c0,0.3,0,0.7,0.1,1H4v2h2.8c1,1.8,3,3,5.2,3s4. 2-1.2,5.2-3H20v-2h-2.1c0.1-0.3,0.1-0.7,0.1-1v-1h2v-2h-2v-1c0-0.3,0-0.7-0.1-1H20V 8z M14,16h-4v-2h4V16z M14,12h-4v-2h4V12z"></path></g>
1184 <g id="cancel"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10-10S1 7.5,2,12,2z M17,15.6L15.6,17L12,13.4L8.4,17L7,15.6l3.6-3.6L7,8.4L8.4,7l3.6,3.6L1 5.6,7L17,8.4L13.4,12L17,15.6z"></path></g>
1185 <g id="check"><polygon points="9,16.2 4.8,12 3.4,13.4 9,19 21,7 19.6,5.6 "></pol ygon></g>
1186 <g id="check-box"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2 -0.9,2-2V5C21,3.9,20.1,3,19,3z M10,17l-5-5l1.4-1.4l3.6,3.6l7.6-7.6L19,8L10,17z"> </path></g>
1187 <g id="check-box-blank"><path d="M19,3H5C3.9,3,3,3.9,3,5l0,14c0,1.1,0.9,2,2,2h14 c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z"></path></g>
1188 <g id="check-box-outline"><path d="M7.9,10.1l-1.4,1.4L11,16L21,6l-1.4-1.4L11,13. 2L7.9,10.1z M19,19L5,19V5h10V3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0 .9,2-2v-8h-2V19z"></path></g>
1189 <g id="check-box-outline-blank"><path d="M19,5v14L5,19V5H19 M19,3H5C3.9,3,3,3.9, 3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3L19,3z"></path></g >
1190 <g id="check-circle"><path d="M12,2C6.5,2,2,6.5,2,12c0,5.5,4.5,10,10,10c5.5,0,10 -4.5,10-10C22,6.5,17.5,2,12,2z M10,17l-5-5l1.4-1.4l3.6,3.6l7.6-7.6L19,8L10,17z"> </path></g>
1191 <g id="check-circle-blank"><path d="M12,2C6.5,2,2,6.5,2,12c0,5.5,4.5,10,10,10c5. 5,0,10-4.5,10-10C22,6.5,17.5,2,12,2z"></path></g>
1192 <g id="check-circle-outline"><path d="M7.9,10.1l-1.4,1.4L11,16L21,6l-1.4-1.4L11, 13.2L7.9,10.1z M20,12c0,4.4-3.6,8-8,8s-8-3.6-8-8s3.6-8,8-8c0.8,0,1.5,0.1,2.2,0.3 l1.6-1.6C14.6,2.3,13.3,2,12,2C6.5,2,2,6.5,2,12s4.5,10,10,10s10-4.5,10-10H20z"></ path></g>
1193 <g id="check-circle-outline-blank"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c 5.5,0,10-4.5,10-10S17.5,2,12,2z M12,20c-4.4,0-8-3.6-8-8s3.6-8,8-8c4.4,0,8,3.6,8, 8S16.4,20,12,20z"></path></g>
1194 <g id="chevron-left"><polygon points="15.4,7.4 14,6 8,12 14,18 15.4,16.6 10.8,12 "></polygon></g>
1195 <g id="chevron-right"><polygon points="10,6 8.6,7.4 13.2,12 8.6,16.6 10,18 16,12 "></polygon></g>
1196 <g id="clear"><polygon points="19,6.4 17.6,5 12,10.6 6.4,5 5,6.4 10.6,12 5,17.6 6.4,19 12,13.4 17.6,19 19,17.6 13.4,12 "></polygon></g>
1197 <g id="close"><polygon points="19,6.4 17.6,5 12,10.6 6.4,5 5,6.4 10.6,12 5,17.6 6.4,19 12,13.4 17.6,19 19,17.6 13.4,12 "></polygon></g>
1198 <g id="cloud"><path d="M19.4,10c-0.7-3.4-3.7-6-7.4-6C9.1,4,6.6,5.6,5.4,8C2.3,8.4 ,0,10.9,0,14c0,3.3,2.7,6,6,6h13c2.8,0,5-2.2,5-5C24,12.4,21.9,10.2,19.4,10z"></pa th></g>
1199 <g id="cloud-done"><path d="M19.4,10c-0.7-3.4-3.7-6-7.4-6C9.1,4,6.6,5.6,5.4,8C2. 3,8.4,0,10.9,0,14c0,3.3,2.7,6,6,6h13c2.8,0,5-2.2,5-5C24,12.4,21.9,10.2,19.4,10z M10,17l-3.5-3.5l1.4-1.4l2.1,2.1L15.2,9l1.4,1.4L10,17z"></path></g>
1200 <g id="cloud-download"><path d="M19.4,10c-0.7-3.4-3.7-6-7.4-6C9.1,4,6.6,5.6,5.4, 8C2.3,8.4,0,10.9,0,14c0,3.3,2.7,6,6,6h13c2.8,0,5-2.2,5-5C24,12.4,21.9,10.2,19.4, 10z M17,13l-5,5l-5-5h3V9h4v4H17z"></path></g>
1201 <g id="cloud-off"><path d="M19.4,10c-0.7-3.4-3.7-6-7.4-6c-1.5,0-2.9,0.4-4,1.2l1. 5,1.5C10.2,6.2,11.1,6,12,6c3,0,5.5,2.5,5.5,5.5V12H19c1.7,0,3,1.3,3,3c0,1.1-0.6,2 .1-1.6,2.6l1.5,1.5c1.3-0.9,2.1-2.4,2.1-4.1C24,12.4,21.9,10.2,19.4,10z M3,5.3L5.8 ,8C2.6,8.2,0,10.8,0,14c0,3.3,2.7,6,6,6h11.7l2,2l1.3-1.3L4.3,4L3,5.3z M7.7,10l8,8 H6c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4H7.7z"></path></g>
1202 <g id="cloud-queue"><path d="M19.4,10c-0.7-3.4-3.7-6-7.4-6C9.1,4,6.6,5.6,5.4,8C2 .3,8.4,0,10.9,0,14c0,3.3,2.7,6,6,6h13c2.8,0,5-2.2,5-5C24,12.4,21.9,10.2,19.4,10z M19,18H6c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4h0.7C7.4,7.7,9.5,6,12,6c3,0,5.5,2.5,5. 5,5.5V12H19c1.7,0,3,1.3,3,3S20.7,18,19,18z"></path></g>
1203 <g id="cloud-upload"><path d="M19.4,10c-0.7-3.4-3.7-6-7.4-6C9.1,4,6.6,5.6,5.4,8C 2.3,8.4,0,10.9,0,14c0,3.3,2.7,6,6,6h13c2.8,0,5-2.2,5-5C24,12.4,21.9,10.2,19.4,10 z M14,13v4h-4v-4H7l5-5l5,5H14z"></path></g>
1204 <g id="content-copy"><path d="M19,2h-4.2c-0.4-1.2-1.5-2-2.8-2c-1.3,0-2.4,0.8-2.8 ,2H5C3.9,2,3,2.9,3,4v16c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V4C21,2.9,20.1,2,19,2z M12,2c0.6,0,1,0.4,1,1s-0.4,1-1,1c-0.6,0-1-0.4-1-1S11.4,2,12,2z M19,20H5V4h2v3h1 0V4h2V20z"></path></g>
1205 <g id="content-cut"><path d="M10,6c0-2.2-1.8-4-4-4S2,3.8,2,6c0,2.2,1.8,4,4,4c0.6 ,0,1.1-0.1,1.6-0.4L10,12l-2.4,2.4C7.1,14.1,6.6,14,6,14c-2.2,0-4,1.8-4,4c0,2.2,1. 8,4,4,4s4-1.8,4-4c0-0.6-0.1-1.1-0.4-1.6L12,14l7,7h4L9.6,7.6C9.9,7.1,10,6.6,10,6z M6,8C4.9,8,4,7.1,4,6s0.9-2,2-2c1.1,0,2,0.9,2,2S7.1,8,6,8z M6,20c-1.1,0-2-0.9-2- 2s0.9-2,2-2c1.1,0,2,0.9,2,2S7.1,20,6,20z M12,11.5c0.3,0,0.5,0.2,0.5,0.5c0,0.3-0. 2,0.5-0.5,0.5c-0.3,0-0.5-0.2-0.5-0.5C11.5,11.7,11.7,11.5,12,11.5z M23,3h-4l-6,6l 2,2L23,3z"></path></g>
1206 <g id="content-paste"><path d="M16,1H4C2.9,1,2,1.9,2,3v14h2V3h12V1z M19,5H8C6.9, 5,6,5.9,6,7v14c0,1.1,0.9,2,2,2h11c1.1,0,2-0.9,2-2V7C21,5.9,20.1,5,19,5z M19,21H8 V7h11V21z"></path></g>
1207 <g id="create"><path d="M3,17.2V21h3.8L17.8,9.9l-3.8-3.8L3,17.2z M20.7,7c0.4-0.4 ,0.4-1,0-1.4l-2.3-2.3c-0.4-0.4-1-0.4-1.4,0l-1.8,1.8l3.8,3.8L20.7,7z"></path></g>
1208 <g id="credit-card"><path d="M20,4H4C2.9,4,2,4.9,2,6l0,12c0,1.1,0.9,2,2,2h16c1.1 ,0,2-0.9,2-2V6C22,4.9,21.1,4,20,4z M20,18H4v-6h16V18z M20,8H4V6h16V8z"></path></ g>
1209 <g id="delete"><path d="M6,19c0,1.1,0.9,2,2,2h8c1.1,0,2-0.9,2-2V7H6V19z M19,4h-3 .5l-1-1h-5l-1,1H5v2h14V4z"></path></g>
1210 <g id="done"><polygon points="9,16.2 4.8,12 3.4,13.4 9,19 21,7 19.6,5.6 "></poly gon></g>
1211 <g id="done-all"><path d="M18,7l-1.4-1.4l-6.3,6.3l1.4,1.4L18,7z M22.2,5.6L11.7,1 6.2L7.5,12l-1.4,1.4l5.6,5.6l12-12L22.2,5.6z M0.4,13.4L6,19l1.4-1.4L1.8,12L0.4,13 .4z"></path></g>
1212 <g id="drafts"><path d="M22,8c0-0.7-0.4-1.3-0.9-1.7L12,1L2.9,6.3C2.4,6.7,2,7.3,2 ,8v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2L22,8z M12,13L3.7,7.8L12,3l8.3,4.8L12,13 z"></path></g>
1213 <g id="drive-document"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1. 1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M17,9H7V7h10V9z M17,13H7v-2h10V13z M14,17H7v -2h7V17z"></path></g>
1214 <g id="drive-drawing"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1 ,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M18,18h-6v-5.8c-0.7,0.6-1.5,1-2.5,1c-2,0-3.7- 1.7-3.7-3.7s1.7-3.7,3.7-3.7c2,0,3.7,1.7,3.7,3.7c0,1-0.4,1.8-1,2.5H18V18z"></path ></g>
1215 <g id="drive-file"><path d="M6,2C4.9,2,4,2.9,4,4l0,16c0,1.1,0.9,2,2,2h12c1.1,0,2 -0.9,2-2V8l-6-6H6z M13,9V3.5L18.5,9H13z"></path></g>
1216 <g id="drive-form"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0, 2-0.9,2-2V5C21,3.9,20.1,3,19,3z M9,17H7v-2h2V17z M9,13H7v-2h2V13z M9,9H7V7h2V9z M17,17h-7v-2h7V17z M17,13h-7v-2h7V13z M17,9h-7V7h7V9z"></path></g>
1217 <g id="drive-fusiontable"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14 c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,10.2L13,17l-4-4l-4,4v-3l4-4l4,4l6-6.8 V10.2z"></path></g>
1218 <g id="drive-image"><path d="M21,19V5c0-1.1-0.9-2-2-2H5C3.9,3,3,3.9,3,5v14c0,1.1 ,0.9,2,2,2h14C20.1,21,21,20.1,21,19z M8.5,13.5l2.5,3l3.5-4.5l4.5,6H5L8.5,13.5z"> </path></g>
1219 <g id="drive-ms-excel"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1. 1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M16.2,17h-2L12,13.2L9.8,17h-2l3.2-5L7.8,7h2l 2.2,3.8L14.2,7h2L13,12L16.2,17z"></path></g>
1220 <g id="drive-ms-powerpoint"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h 14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M9.8,13.4V17H8V7h4.3c1.5,0,2.2,0.3,2.8, 0.9c0.7,0.6,0.9,1.4,0.9,2.3c0,1-0.3,1.8-0.9,2.3c-0.6,0.5-1.3,0.8-2.8,0.8H9.8z">< /path><path d="M9.8,12V8.4h2.3c0.7,0,1.2,0.2,1.5,0.6c0.3,0.4,0.5,0.7,0.5,1.2c0,0 .6-0.2,0.9-0.5,1.3c-0.3,0.3-0.7,0.5-1.4,0.5H9.8z"></path></g>
1221 <g id="drive-ms-word"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1 ,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M15.5,17H14l-2-7.5L10,17H8.5L6.1,7h1.7l1.5,7. 5l2-7.5h1.4l2,7.5L16.2,7h1.7L15.5,17z"></path></g>
1222 <g id="drive-pdf"><path d="M11.3,8.6L11.3,8.6C11.4,8.6,11.4,8.6,11.3,8.6c0.1-0.4 ,0.2-0.6,0.2-0.9l0-0.2c0.1-0.5,0.1-0.9,0-1c0,0,0,0,0-0.1l-0.1-0.1c0,0,0,0,0,0c0, 0,0,0,0,0c0,0,0,0.1-0.1,0.1C11.1,7,11.1,7.7,11.3,8.6C11.3,8.6,11.3,8.6,11.3,8.6z M8.3,15.5c-0.2,0.1-0.4,0.2-0.5,0.3c-0.7,0.6-1.2,1.3-1.3,1.6c0,0,0,0,0,0c0,0,0,0 ,0,0c0,0,0,0,0,0C7.1,17.3,7.7,16.7,8.3,15.5C8.4,15.5,8.4,15.5,8.3,15.5C8.4,15.5, 8.3,15.5,8.3,15.5z M17.5,14c-0.1-0.1-0.5-0.4-1.9-0.4c-0.1,0-0.1,0-0.2,0c0,0,0,0, 0,0c0,0,0,0,0,0.1c0.7,0.3,1.4,0.5,1.9,0.5c0.1,0,0.1,0,0.2,0l0,0c0,0,0.1,0,0.1,0c 0,0,0,0,0-0.1c0,0,0,0,0,0C17.6,14.1,17.5,14.1,17.5,14z M19,3H5C3.9,3,3,3.9,3,5v1 4c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M17.9,14.8C17.7,14.9, 17.4,15,17,15c-0.8,0-2-0.2-3-0.7c-1.7,0.2-3,0.4-4,0.8c-0.1,0-0.1,0-0.2,0.1c-1.2, 2.1-2.2,3.1-3,3.1c-0.2,0-0.3,0-0.4-0.1l-0.5-0.3l0-0.1c-0.1-0.2-0.1-0.3-0.1-0.5c0 .1-0.5,0.7-1.4,1.9-2.1c0.2-0.1,0.5-0.3,0.9-0.5c0.3-0.5,0.6-1.1,1-1.8c0.5-1,0.8-2 ,1.1-2.9l0,0c-0.4-1.2-0.6-1.9-0.2-3.3c0.1-0.4,0.4-0.8,0.8-0.8l0.2,0c0.2,0,0.4,0. 1,0.6,0.2c0.7,0.7,0.4,2.3,0,3.6c0,0.1,0,0.1,0,0.1c0.4,1.1,1,2,1.6,2.6c0.3,0.2,0. 5,0.4,0.9,0.6c0.5,0,0.9-0.1,1.3-0.1c1.2,0,2,0.2,2.3,0.7c0.1,0.2,0.1,0.4,0.1,0.6C 18.2,14.3,18.1,14.6,17.9,14.8z M11.4,10.9c-0.2,0.7-0.6,1.5-1,2.4c-0.2,0.4-0.4,0. 7-0.6,1.1c0,0,0.1,0,0.1,0l0.1,0v0c1.3-0.5,2.5-0.8,3.3-0.9c-0.2-0.1-0.3-0.2-0.4-0 .3C12.4,12.6,11.8,11.8,11.4,10.9z"></path></g>
1223 <g id="drive-presentation"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h1 4c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,16H5V8h14V16z"></path></g>
1224 <g id="drive-script"><path d="M19,3H5C3.9,3,3,3.9,3,5l0,4h0v6h0l0,4c0,1.1,0.9,2, 2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M11,17v-3H5v-4h6V7l5,5L11,17z"></pa th></g>
1225 <g id="drive-site"><path d="M19,4H5C3.9,4,3,4.9,3,6l0,12c0,1.1,0.9,2,2,2h14c1.1, 0,2-0.9,2-2V6C21,4.9,20.1,4,19,4z M14,18H5v-4h9V18z M14,13H5V9h9V13z M19,18h-4V9 h4V18z"></path></g>
1226 <g id="drive-spreadsheet"><path d="M19,3H5C3.9,3,3,3.9,3,5l0,3h0v11c0,1.1,0.9,2, 2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,11h-8v8H9v-8H5V9h4V5h2v4h8V11z" ></path></g>
1227 <g id="drive-video"><path d="M18,4l2,4h-3l-2-4h-2l2,4h-3l-2-4H8l2,4H7L5,4H4C2.9, 4,2,4.9,2,6l0,12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V4H18z"></path></g>
1228 <g id="error"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10-10S17 .5,2,12,2z M13,17h-2v-2h2V17z M13,13h-2V7h2V13z"></path></g>
1229 <g id="event"><path d="M17,12h-5v5h5V12z M16,1v2H8V1H6v2H5C3.9,3,3,3.9,3,5l0,14c 0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-1V1H16z M19,19H5V8h14V19z" ></path></g>
1230 <g id="exit-to-app"><path d="M10.1,15.6l1.4,1.4l5-5l-5-5l-1.4,1.4l2.6,2.6H3v2h9. 7L10.1,15.6z M19,3H5C3.9,3,3,3.9,3,5v4h2V5h14v14H5v-4H3v4c0,1.1,0.9,2,2,2h14c1.1 ,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z"></path></g>
1231 <g id="expand-less"><polygon points="12,8 6,14 7.4,15.4 12,10.8 16.6,15.4 18,14 "></polygon></g>
1232 <g id="expand-more"><polygon points="16.6,8.6 12,13.2 7.4,8.6 6,10 12,16 18,10 " ></polygon></g>
1233 <g id="explore"><path d="M12,10.9c-0.6,0-1.1,0.5-1.1,1.1s0.5,1.1,1.1,1.1c0.6,0,1 .1-0.5,1.1-1.1S12.6,10.9,12,10.9z M12,2C6.5,2,2,6.5,2,12c0,5.5,4.5,10,10,10c5.5, 0,10-4.5,10-10C22,6.5,17.5,2,12,2z M14.2,14.2L6,18l3.8-8.2L18,6L14.2,14.2z"></pa th></g>
1234 <g id="extension"><path d="M20.5,11H19V7c0-1.1-0.9-2-2-2h-4V3.5C13,2.1,11.9,1,10 .5,1C9.1,1,8,2.1,8,3.5V5H4C2.9,5,2,5.9,2,7l0,3.8h1.5c1.5,0,2.7,1.2,2.7,2.7S5,16. 2,3.5,16.2H2L2,20c0,1.1,0.9,2,2,2h3.8v-1.5c0-1.5,1.2-2.7,2.7-2.7c1.5,0,2.7,1.2,2 .7,2.7V22H17c1.1,0,2-0.9,2-2v-4h1.5c1.4,0,2.5-1.1,2.5-2.5S21.9,11,20.5,11z"></pa th></g>
1235 <g id="favorite"><path d="M12,21.4L10.6,20C5.4,15.4,2,12.3,2,8.5C2,5.4,4.4,3,7.5 ,3c1.7,0,3.4,0.8,4.5,2.1C13.1,3.8,14.8,3,16.5,3C19.6,3,22,5.4,22,8.5c0,3.8-3.4,6 .9-8.6,11.5L12,21.4z"></path></g>
1236 <g id="favorite-outline"><path d="M16.5,3c-1.7,0-3.4,0.8-4.5,2.1C10.9,3.8,9.2,3, 7.5,3C4.4,3,2,5.4,2,8.5c0,3.8,3.4,6.9,8.6,11.5l1.4,1.3l1.4-1.3c5.1-4.7,8.6-7.8,8 .6-11.5C22,5.4,19.6,3,16.5,3z M12.1,18.6L12,18.6l-0.1-0.1C7.1,14.2,4,11.4,4,8.5C 4,6.5,5.5,5,7.5,5c1.5,0,3,1,3.6,2.4h1.9C13.5,6,15,5,16.5,5c2,0,3.5,1.5,3.5,3.5C2 0,11.4,16.9,14.2,12.1,18.6z"></path></g>
1237 <g id="file-download"><path d="M19,9h-4V3H9v6H5l7,7L19,9z M5,18v2h14v-2H5z"></pa th></g>
1238 <g id="file-upload"><polygon points="9,16 15,16 15,10 19,10 12,3 5,10 9,10 "><re ct x="5" y="18" width="14" height="2"></rect></polygon></g>
1239 <g id="filter"><path d="M10,18h4v-2h-4V18z M3,6v2h18V6H3z M6,13h12v-2H6V13z"></p ath></g>
1240 <g id="flag"><polygon points="14.4,6 14,4 5,4 5,21 7,21 7,14 12.6,14 13,16 20,16 20,6 "></polygon></g>
1241 <g id="flip-to-back"><path d="M9,7H7l0,2h2V7z M9,11H7v2h2V11z M9,3C7.9,3,7,3.9,7 ,5h2V3z M13,15h-2v2h2V15z M19,3v2h2C21,3.9,20.1,3,19,3z M13,3h-2v2h2V3z M9,17v-2 H7C7,16.1,7.9,17,9,17z M19,13h2v-2h-2V13z M19,9h2V7h-2V9z M19,17c1.1,0,2-0.9,2-2 h-2V17z M5,7H3v2h0l0,10c0,1.1,0.9,2,2,2h12v-2H5V7z M15,5h2V3h-2V5z M15,17h2v-2h- 2V17z"></path></g>
1242 <g id="flip-to-front"><path d="M3,13h2v-2H3L3,13z M3,17h2v-2H3V17z M5,21v-2H3C3, 20.1,3.9,21,5,21z M3,9h2V7H3V9z M15,21h2v-2h-2V21z M19,3H9C7.9,3,7,3.9,7,5v2h0v2 v6c0,1.1,0.9,2,2,2h5h4h1c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,15H9V5h10V15z M11,21h2v-2h-2V21z M7,21h2v-2H7V21z"></path></g>
1243 <g id="folder"><path d="M10,4H4C2.9,4,2,4.9,2,6l0,12c0,1.1,0.9,2,2,2h16c1.1,0,2- 0.9,2-2V8c0-1.1-0.9-2-2-2h-8L10,4z"></path></g>
1244 <g id="folder-shared"><path d="M20,6h-8l-2-2H4C2.9,4,2,4.9,2,6l0,12c0,1.1,0.9,2, 2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M15,9c1.1,0,2,0.9,2,2c0,1.1-0.9,2-2 ,2c-1.1,0-2-0.9-2-2C13,9.9,13.9,9,15,9z M19,17h-8v-1c0-1.3,2.7-2,4-2c1.3,0,4,0.7 ,4,2V17z"></path></g>
1245 <g id="forward"><polygon points="12,8 12,4 20,12 12,20 12,16 4,16 4,8 "></polygo n></g>
1246 <g id="fullscreen"><path d="M7,14H5v5h5v-2H7V14z M5,10h2V7h3V5H5V10z M17,17h-3v2 h5v-5h-2V17z M14,5v2h3v3h2V5H14z"></path></g>
1247 <g id="fullscreen-exit"><path d="M5,16h3v3h2v-5H5V16z M8,8H5v2h5V5H8V8z M14,19h2 v-3h3v-2h-5V19z M16,8V5h-2v5h5V8H16z"></path></g>
1248 <g id="gesture"><path d="M4.6,6.9C5.3,6.2,6,5.5,6.3,5.7c0.5,0.2,0,1-0.3,1.5c-0.3 ,0.4-2.9,3.9-2.9,6.3c0,1.3,0.5,2.3,1.3,3c0.8,0.6,1.7,0.7,2.6,0.5c1.1-0.3,1.9-1.4 ,3.1-2.8c1.2-1.5,2.8-3.4,4.1-3.4c1.6,0,1.6,1,1.8,1.8c-3.8,0.6-5.4,3.7-5.4,5.4c0, 1.7,1.4,3.1,3.2,3.1c1.6,0,4.3-1.3,4.7-6.1H21v-2.5h-2.5c-0.2-1.6-1.1-4.2-4-4.2c-2 .2,0-4.2,1.9-4.9,2.8c-0.6,0.7-2.1,2.5-2.3,2.7c-0.3,0.3-0.7,0.8-1.1,0.8c-0.4,0-0. 7-0.8-0.4-1.9c0.4-1.1,1.4-2.9,1.9-3.5C8.4,8,8.9,7.2,8.9,5.9C8.9,3.7,7.3,3,6.4,3C 5.1,3,4,4,3.7,4.3C3.4,4.6,3.1,4.9,2.8,5.2L4.6,6.9z M13.9,18.6c-0.3,0-0.7-0.3-0.7 -0.7c0-0.6,0.7-2.2,2.9-2.8C15.7,17.8,14.6,18.6,13.9,18.6z"></path></g>
1249 <g id="google"><path d="M16.3,13.4l-1.1-0.8c-0.4-0.3-0.8-0.7-0.8-1.4c0-0.7,0.5-1 .3,1-1.6c1.3-1,2.6-2.1,2.6-4.3c0-2.1-1.3-3.3-2-3.9h1.7L18.9,0h-6.2C8.3,0,6.1,2.8 ,6.1,5.8c0,2.3,1.8,4.8,5,4.8h0.8c-0.1,0.3-0.4,0.8-0.4,1.3c0,1,0.4,1.4,0.9,2c-1.4 ,0.1-4,0.4-5.9,1.6c-1.8,1.1-2.3,2.6-2.3,3.7c0,2.3,2.1,4.5,6.6,4.5c5.4,0,8-3,8-5. 9C18.8,15.7,17.7,14.6,16.3,13.4z M8.7,4.3c0-2.2,1.3-3.2,2.7-3.2c2.6,0,4,3.5,4,5. 5c0,2.6-2.1,3.1-2.9,3.1C10,9.7,8.7,6.6,8.7,4.3z M12.3,22.3c-3.3,0-5.4-1.5-5.4-3. 7c0-2.2,2-2.9,2.6-3.2c1.3-0.4,3-0.5,3.3-0.5c0.3,0,0.5,0,0.7,0c2.4,1.7,3.4,2.4,3. 4,4C16.9,20.8,15,22.3,12.3,22.3z"></path></g>
1250 <g id="google-plus"><path d="M21,10V7h-2v3h-3v2h3v3h2v-3h3v-2H21z M13.3,13.4l-1. 1-0.8c-0.4-0.3-0.8-0.7-0.8-1.4c0-0.7,0.5-1.3,1-1.6c1.3-1,2.6-2.1,2.6-4.3c0-2.1-1 .3-3.3-2-3.9h1.7L15.9,0H9.7C5.3,0,3.1,2.8,3.1,5.8c0,2.3,1.8,4.8,5,4.8h0.8c-0.1,0 .3-0.4,0.8-0.4,1.3c0,1,0.4,1.4,0.9,2c-1.4,0.1-4,0.4-5.9,1.6c-1.8,1.1-2.3,2.6-2.3 ,3.7c0,2.3,2.1,4.5,6.6,4.5c5.4,0,8-3,8-5.9C15.8,15.7,14.7,14.6,13.3,13.4z M5.7,4 .3c0-2.2,1.3-3.2,2.7-3.2c2.6,0,4,3.5,4,5.5c0,2.6-2.1,3.1-2.9,3.1C7,9.7,5.7,6.6,5 .7,4.3z M9.3,22.3c-3.3,0-5.4-1.5-5.4-3.7c0-2.2,2-2.9,2.6-3.2c1.3-0.4,3-0.5,3.3-0 .5c0.3,0,0.5,0,0.7,0c2.4,1.7,3.4,2.4,3.4,4C13.9,20.8,12,22.3,9.3,22.3z"></path>< /g>
1251 <g id="help"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10-10S17. 5,2,12,2z M13,19h-2v-2h2V19z M15.1,11.3l-0.9,0.9C13.4,12.9,13,13.5,13,15h-2v-0.5 c0-1.1,0.4-2.1,1.2-2.8l1.2-1.3C13.8,10.1,14,9.6,14,9c0-1.1-0.9-2-2-2c-1.1,0-2,0. 9-2,2H8c0-2.2,1.8-4,4-4c2.2,0,4,1.8,4,4C16,9.9,15.6,10.7,15.1,11.3z"></path></g>
1252 <g id="history"><path opacity="0.9" d="M12.5,2C9,2,5.9,3.9,4.3,6.8L2,4.5V11h6.5L 5.7,8.2C7,5.7,9.5,4,12.5,4c4.1,0,7.5,3.4,7.5,7.5c0,4.1-3.4,7.5-7.5,7.5c-3.3,0-6- 2.1-7.1-5H3.3c1.1,4,4.8,7,9.2,7c5.3,0,9.5-4.3,9.5-9.5S17.7,2,12.5,2z M11,7v5.1l4 .7,2.8l0.8-1.3l-4-2.4V7H11z"></path></g>
1253 <g id="home"><polygon points="10,20 10,14 14,14 14,20 19,20 19,12 22,12 12,3 2,1 2 5,12 5,20 "></polygon></g>
1254 <g id="https"><path d="M18,8h-1V6c0-2.8-2.2-5-5-5C9.2,1,7,3.2,7,6v2H6c-1.1,0-2,0 .9-2,2v10c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V10C20,8.9,19.1,8,18,8z M12,17c-1.1, 0-2-0.9-2-2s0.9-2,2-2c1.1,0,2,0.9,2,2S13.1,17,12,17z M15.1,8H8.9V6c0-1.7,1.4-3.1 ,3.1-3.1c1.7,0,3.1,1.4,3.1,3.1V8z"></path></g>
1255 <g id="inbox"><path d="M19,3H5C3.9,3,3,3.9,3,5l0,14c0,1.1,0.9,2,2,2h14c1.1,0,2-0 .9,2-2V5C21,3.9,20.1,3,19,3z M19,15h-4c0,1.7-1.3,3-3,3c-1.7,0-3-1.3-3-3H5V5h14V1 5z M16,10h-2V7h-4v3H8l4,4L16,10z"></path></g>
1256 <g id="info"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10-10S17. 5,2,12,2z M13,17h-2v-6h2V17z M13,9h-2V7h2V9z"></path></g>
1257 <g id="info-outline"><path d="M11,17h2v-6h-2V17z M12,2C6.5,2,2,6.5,2,12s4.5,10,1 0,10c5.5,0,10-4.5,10-10S17.5,2,12,2z M12,20c-4.4,0-8-3.6-8-8s3.6-8,8-8c4.4,0,8,3 .6,8,8S16.4,20,12,20z M11,9h2V7h-2V9z"></path></g>
1258 <g id="keep"><path d="M16,12V4h1V2H7v2h1v8l-2,2v2h5.2v6h1.6v-6H18v-2L16,12z"></p ath></g>
1259 <g id="label"><path d="M17.6,5.8C17.3,5.3,16.7,5,16,5L5,5C3.9,5,3,5.9,3,7v10c0,1 .1,0.9,2,2,2l11,0c0.7,0,1.3-0.3,1.6-0.8L22,12L17.6,5.8z"></path></g>
1260 <g id="label-outline"><path d="M17.6,5.8C17.3,5.3,16.7,5,16,5L5,5C3.9,5,3,5.9,3, 7v10c0,1.1,0.9,2,2,2l11,0c0.7,0,1.3-0.3,1.6-0.8L22,12L17.6,5.8z M16,17H5V7h11l3. 5,5L16,17z"></path></g>
1261 <g id="language"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10-10 S17.5,2,12,2z M18.9,8H16c-0.3-1.3-0.8-2.4-1.4-3.6C16.4,5.1,18,6.3,18.9,8z M12,4c 0.8,1.2,1.5,2.5,1.9,4h-3.8C10.5,6.6,11.2,5.2,12,4z M4.3,14C4.1,13.4,4,12.7,4,12s 0.1-1.4,0.3-2h3.4c-0.1,0.7-0.1,1.3-0.1,2s0.1,1.3,0.1,2H4.3z M5.1,16H8c0.3,1.3,0. 8,2.4,1.4,3.6C7.6,18.9,6,17.7,5.1,16z M8,8H5.1c1-1.7,2.5-2.9,4.3-3.6C8.8,5.6,8.3 ,6.7,8,8z M12,20c-0.8-1.2-1.5-2.5-1.9-4h3.8C13.5,17.4,12.8,18.8,12,20z M14.3,14H 9.7c-0.1-0.7-0.2-1.3-0.2-2s0.1-1.3,0.2-2h4.7c0.1,0.7,0.2,1.3,0.2,2S14.4,13.3,14. 3,14z M14.6,19.6c0.6-1.1,1.1-2.3,1.4-3.6h2.9C18,17.7,16.4,18.9,14.6,19.6z M16.4, 14c0.1-0.7,0.1-1.3,0.1-2s-0.1-1.3-0.1-2h3.4c0.2,0.6,0.3,1.3,0.3,2s-0.1,1.4-0.3,2 H16.4z"></path></g>
1262 <g id="launch"><path d="M19,19H5V5h7V3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1 .1,0,2-0.9,2-2v-7h-2V19z M14,3v2h3.6l-9.8,9.8l1.4,1.4L19,6.4V10h2V3H14z"></path> </g>
1263 <g id="link"><path d="M8,13h8v-2H8V13z M3.9,12c0-2.3,1.8-4.1,4.1-4.1h3V6H8c-3.3, 0-6,2.7-6,6s2.7,6,6,6h3v-1.9H8C5.7,16.1,3.9,14.3,3.9,12z M16,6h-3v1.9h3c2.3,0,4. 1,1.8,4.1,4.1c0,2.3-1.8,4.1-4.1,4.1h-3V18h3c3.3,0,6-2.7,6-6S19.3,6,16,6z"></path ></g>
1264 <g id="list"><path d="M3,13h2v-2H3V13z M3,17h2v-2H3V17z M3,9h2V7H3V9z M7,13h14v- 2H7V13z M7,17h14v-2H7V17z M7,7v2h14V7H7z"></path></g>
1265 <g id="lock"><path d="M18,8h-1V6c0-2.8-2.2-5-5-5C9.2,1,7,3.2,7,6v2H6c-1.1,0-2,0. 9-2,2v10c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V10C20,8.9,19.1,8,18,8z M12,17c-1.1,0 -2-0.9-2-2s0.9-2,2-2c1.1,0,2,0.9,2,2S13.1,17,12,17z M15.1,8H8.9V6c0-1.7,1.4-3.1, 3.1-3.1c1.7,0,3.1,1.4,3.1,3.1V8z"></path></g>
1266 <g id="lock-open"><path d="M12,17c1.1,0,2-0.9,2-2s-0.9-2-2-2c-1.1,0-2,0.9-2,2S10 .9,17,12,17z M18,8h-1V6c0-2.8-2.2-5-5-5C9.2,1,7,3.2,7,6h1.9c0-1.7,1.4-3.1,3.1-3. 1c1.7,0,3.1,1.4,3.1,3.1v2H6c-1.1,0-2,0.9-2,2v10c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2 -2V10C20,8.9,19.1,8,18,8z M18,20H6V10h12V20z"></path></g>
1267 <g id="lock-outline"><path d="M18,8h-1V6c0-2.8-2.2-5-5-5C9.2,1,7,3.2,7,6v2H6c-1. 1,0-2,0.9-2,2v10c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V10C20,8.9,19.1,8,18,8z M12,2 .9c1.7,0,3.1,1.4,3.1,3.1v2H9V6H8.9C8.9,4.3,10.3,2.9,12,2.9z M18,20H6V10h12V20z M 12,17c1.1,0,2-0.9,2-2s-0.9-2-2-2c-1.1,0-2,0.9-2,2S10.9,17,12,17z"></path></g>
1268 <g id="mail"><path d="M20,4H4C2.9,4,2,4.9,2,6l0,12c0,1.1,0.9,2,2,2h16c1.1,0,2-0. 9,2-2V6C22,4.9,21.1,4,20,4z M20,8l-8,5L4,8V6l8,5l8-5V8z"></path></g>
1269 <g id="markunread"><path d="M22,6l2-2l-2-2l-2,2l-2-2l-2,2l-2-2l-2,2l-2-2L8,4L6,2 L4,4L2,2L0,4l2,2L0,8l2,2l-2,2l2,2l-2,2l2,2l-2,2l2,2l2-2l2,2l2-2l2,2l2-2l2,2l2-2l 2,2l2-2l2,2l2-2l-2-2l2-2l-2-2l2-2l-2-2l2-2L22,6z M20,8l-8,5L4,8V6l8,5l8-5V8z"></ path></g>
1270 <g id="menu"><path d="M3,18h18v-2H3V18z M3,13h18v-2H3V13z M3,6v2h18V6H3z"></path ></g>
1271 <g id="more-horiz"><path d="M6,10c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S7.1 ,10,6,10z M18,10c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S19.1,10,18,10z M12,1 0c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S13.1,10,12,10z"></path></g>
1272 <g id="more-vert"><path d="M12,8c1.1,0,2-0.9,2-2s-0.9-2-2-2c-1.1,0-2,0.9-2,2S10. 9,8,12,8z M12,10c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S13.1,10,12,10z M12,1 6c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S13.1,16,12,16z"></path></g>
1273 <g id="print"><path d="M19,8H5c-1.7,0-3,1.3-3,3v6h4v4h12v-4h4v-6C22,9.3,20.7,8,1 9,8z M16,19H8v-5h8V19z M19,12c-0.6,0-1-0.4-1-1s0.4-1,1-1c0.6,0,1,0.4,1,1S19.6,12 ,19,12z M18,3H6v4h12V3z"></path></g>
1274 <g id="radio-button-off"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4 .5,10-10S17.5,2,12,2z M12,20c-4.4,0-8-3.6-8-8s3.6-8,8-8c4.4,0,8,3.6,8,8S16.4,20, 12,20z"></path></g>
1275 <g id="radio-button-on"><path d="M12,7c-2.8,0-5,2.2-5,5s2.2,5,5,5c2.8,0,5-2.2,5- 5S14.8,7,12,7z M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5,10-10S17.5,2,12, 2z M12,20c-4.4,0-8-3.6-8-8s3.6-8,8-8c4.4,0,8,3.6,8,8S16.4,20,12,20z"></path></g>
1276 <g id="receipt"><path d="M18,17H6v-2h12V17z M18,13H6v-2h12V13z M18,9H6V7h12V9z M 3,22l1.5-1.5L6,22l1.5-1.5L9,22l1.5-1.5L12,22l1.5-1.5L15,22l1.5-1.5L18,22l1.5-1.5 L21,22V2l-1.5,1.5L18,2l-1.5,1.5L15,2l-1.5,1.5L12,2l-1.5,1.5L9,2L7.5,3.5L6,2L4.5, 3.5L3,2V22z"></path></g>
1277 <g id="refresh"><path d="M17.6,6.4C16.2,4.9,14.2,4,12,4c-4.4,0-8,3.6-8,8s3.6,8,8 ,8c3.7,0,6.8-2.6,7.7-6h-2.1c-0.8,2.3-3,4-5.6,4c-3.3,0-6-2.7-6-6s2.7-6,6-6c1.7,0, 3.1,0.7,4.2,1.8L13,11h7V4L17.6,6.4z"></path></g>
1278 <g id="reminder"><path d="M16.9,13c1.3-1.3,2.1-3,2.1-5c0-3.9-3.1-7-7-7C8.1,1,5,4 .1,5,8c0,2,0.8,3.7,2.1,5l0,0l3.5,3.5L6,21.1l1.4,1.4L16.9,13z M15.5,11.5L15.5,11. 5L12,15.1l-3.5-3.5l0,0l0,0C7.6,10.6,7,9.4,7,8c0-2.8,2.2-5,5-5c2.8,0,5,2.2,5,5C17 ,9.4,16.4,10.6,15.5,11.5L15.5,11.5z M13.4,19.3l3.2,3.2l1.4-1.4l-3.2-3.2L13.4,19. 3z"></path></g>
1279 <g id="remove"><path d="M19,13H5v-2h14V13z"></path></g>
1280 <g id="remove-circle"><path d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10c5.5,0,10-4.5, 10-10S17.5,2,12,2z M17,13H7v-2h10V13z"></path></g>
1281 <g id="remove-circle-outline"><path d="M7,11v2h10v-2H7z M12,2C6.5,2,2,6.5,2,12s4 .5,10,10,10c5.5,0,10-4.5,10-10S17.5,2,12,2z M12,20c-4.4,0-8-3.6-8-8s3.6-8,8-8c4. 4,0,8,3.6,8,8S16.4,20,12,20z"></path></g>
1282 <g id="reply"><path d="M10,9V5l-7,7l7,7v-4.1c5,0,8.5,1.6,11,5.1C20,15,17,10,10,9 z"></path></g>
1283 <g id="reply-all"><path d="M7,8V5l-7,7l7,7v-3l-4-4L7,8z M13,9V5l-7,7l7,7v-4.1c5, 0,8.5,1.6,11,5.1C23,15,20,10,13,9z"></path></g>
1284 <g id="report"><path d="M15.7,3H8.3L3,8.3v7.5L8.3,21h7.5l5.3-5.3V8.3L15.7,3z M12 ,17.3c-0.7,0-1.3-0.6-1.3-1.3c0-0.7,0.6-1.3,1.3-1.3c0.7,0,1.3,0.6,1.3,1.3C13.3,16 .7,12.7,17.3,12,17.3z M13,13h-2V7h2V13z"></path></g>
1285 <g id="rotate-left"><path d="M7.1,8.5L5.7,7.1C4.8,8.3,4.2,9.6,4.1,11h2C6.2,10.1, 6.6,9.3,7.1,8.5z M6.1,13h-2c0.2,1.4,0.7,2.7,1.6,3.9l1.4-1.4C6.6,14.7,6.2,13.9,6. 1,13z M7.1,18.3c1.2,0.9,2.5,1.4,3.9,1.6v-2c-0.9-0.1-1.7-0.5-2.5-1L7.1,18.3z M13, 4.1V1L8.5,5.5L13,10V6.1c2.8,0.5,5,2.9,5,5.9s-2.2,5.4-5,5.9v2c3.9-0.5,7-3.9,7-7.9 S16.9,4.6,13,4.1z"></path></g>
1286 <g id="rotate-right"><path d="M15.5,5.5L11,1v3.1C7.1,4.6,4,7.9,4,12s3.1,7.4,7,7. 9v-2C8.2,17.4,6,15,6,12s2.2-5.4,5-5.9V10L15.5,5.5z M19.9,11c-0.2-1.4-0.7-2.7-1.6 -3.9l-1.4,1.4c0.5,0.8,0.9,1.6,1,2.5H19.9z M13,17.9v2c1.4-0.2,2.7-0.7,3.9-1.6l-1. 4-1.4C14.7,17.4,13.9,17.8,13,17.9z M16.9,15.5l1.4,1.4c0.9-1.2,1.5-2.5,1.6-3.9h-2 C17.8,13.9,17.4,14.7,16.9,15.5z"></path></g>
1287 <g id="save"><path d="M17,3H5C3.9,3,3,3.9,3,5l0,14c0,1.1,0.9,2,2,2h14c1.1,0,2-0. 9,2-2V7L17,3z M12,19c-1.7,0-3-1.3-3-3s1.3-3,3-3c1.7,0,3,1.3,3,3S13.7,19,12,19z M 15,9H5V5h10V9z"></path></g>
1288 <g id="schedule"><path fill-opacity="0.9" d="M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10 c5.5,0,10-4.5,10-10S17.5,2,12,2z M12,20c-4.4,0-8-3.6-8-8s3.6-8,8-8c4.4,0,8,3.6,8 ,8S16.4,20,12,20z"></path><polygon fill-opacity="0.9" points="12.5,7 11,7 11,13 16.2,16.2 17,14.9 12.5,12.2 "></polygon></g>
1289 <g id="search"><path d="M15.5,14h-0.8l-0.3-0.3c1-1.1,1.6-2.6,1.6-4.2C16,5.9,13.1 ,3,9.5,3C5.9,3,3,5.9,3,9.5S5.9,16,9.5,16c1.6,0,3.1-0.6,4.2-1.6l0.3,0.3v0.8l5,5l1 .5-1.5L15.5,14z M9.5,14C7,14,5,12,5,9.5S7,5,9.5,5C12,5,14,7,14,9.5S12,14,9.5,14z "></path></g>
1290 <g id="select-all"><path d="M3,5h2V3C3.9,3,3,3.9,3,5z M3,13h2v-2H3V13z M7,21h2v- 2H7V21z M3,9h2V7H3V9z M13,3h-2v2h2V3z M19,3v2h2C21,3.9,20.1,3,19,3z M5,21v-2H3C3 ,20.1,3.9,21,5,21z M3,17h2v-2H3V17z M9,3H7v2h2V3z M11,21h2v-2h-2V21z M19,13h2v-2 h-2V13z M19,21c1.1,0,2-0.9,2-2h-2V21z M19,9h2V7h-2V9z M19,17h2v-2h-2V17z M15,21h 2v-2h-2V21z M15,5h2V3h-2V5z M7,17h10V7H7V17z M9,9h6v6H9V9z"></path></g>
1291 <g id="send"><polygon points="2,21 23,12 2,3 2,10 17,12 2,14 "></polygon></g>
1292 <g id="settings"><path d="M19.4,13c0-0.3,0.1-0.6,0.1-1s0-0.7-0.1-1l2.1-1.7c0.2-0 .2,0.2-0.4,0.1-0.6l-2-3.5C19.5,5.1,19.3,5,19,5.1l-2.5,1c-0.5-0.4-1.1-0.7-1.7-1l- 0.4-2.6C14.5,2.2,14.2,2,14,2h-4C9.8,2,9.5,2.2,9.5,2.4L9.1,5.1C8.5,5.3,8,5.7,7.4, 6.1L5,5.1C4.7,5,4.5,5.1,4.3,5.3l-2,3.5C2.2,8.9,2.3,9.2,2.5,9.4L4.6,11c0,0.3-0.1, 0.6-0.1,1s0,0.7,0.1,1l-2.1,1.7c-0.2,0.2-0.2,0.4-0.1,0.6l2,3.5C4.5,18.9,4.7,19,5, 18.9l2.5-1c0.5,0.4,1.1,0.7,1.7,1l0.4,2.6c0,0.2,0.2,0.4,0.5,0.4h4c0.2,0,0.5-0.2,0 .5-0.4l0.4-2.6c0.6-0.3,1.2-0.6,1.7-1l2.5,1c0.2,0.1,0.5,0,0.6-0.2l2-3.5c0.1-0.2,0 .1-0.5-0.1-0.6L19.4,13z M12,15.5c-1.9,0-3.5-1.6-3.5-3.5s1.6-3.5,3.5-3.5s3.5,1.6, 3.5,3.5S13.9,15.5,12,15.5z"></path></g>
1293 <g id="settings-applications"><path d="M12,10c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2 -2S13.1,10,12,10z M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V 5C21,3.9,20.1,3,19,3z M17.2,12c0,0.2,0,0.5,0,0.7l1.5,1.2c0.1,0.1,0.2,0.3,0.1,0.4 l-1.4,2.4c-0.1,0.2-0.3,0.2-0.4,0.2l-1.7-0.7c-0.4,0.3-0.8,0.5-1.2,0.7l-0.3,1.9c0, 0.2-0.2,0.3-0.3,0.3h-2.8c-0.2,0-0.3-0.1-0.3-0.3L10,16.9c-0.4-0.2-0.8-0.4-1.2-0.7 l-1.7,0.7c-0.2,0.1-0.3,0-0.4-0.2l-1.4-2.4c-0.1-0.2,0-0.3,0.1-0.4l1.5-1.2c0-0.2,0 -0.5,0-0.7s0-0.5,0-0.7l-1.5-1.2c-0.1-0.1-0.2-0.3-0.1-0.4l1.4-2.4c0.1-0.2,0.3-0.2 ,0.4-0.2l1.7,0.7C9.2,7.6,9.6,7.3,10,7.1l0.3-1.9c0-0.2,0.2-0.3,0.3-0.3h2.8c0.2,0, 0.3,0.1,0.3,0.3L14,7.1c0.4,0.2,0.8,0.4,1.2,0.7l1.7-0.7c0.2-0.1,0.3,0,0.4,0.2l1.4 ,2.4c0.1,0.2,0,0.3-0.1,0.4l-1.5,1.2C17.2,11.5,17.2,11.8,17.2,12z"></path></g>
1294 <g id="shopping-basket"><path d="M17.2,9l-4.4-6.6C12.6,2.2,12.3,2,12,2c-0.3,0-0. 6,0.1-0.8,0.4L6.8,9H2c-0.6,0-1,0.4-1,1c0,0.1,0,0.2,0,0.3l2.5,9.3c0.2,0.8,1,1.5,1 .9,1.5h13c0.9,0,1.7-0.6,1.9-1.5l2.5-9.3c0-0.1,0-0.2,0-0.3c0-0.6-0.4-1-1-1H17.2z M9,9l3-4.4L15,9H9z M12,17c-1.1,0-2-0.9-2-2s0.9-2,2-2c1.1,0,2,0.9,2,2S13.1,17,12, 17z"></path></g>
1295 <g id="shopping-cart"><path d="M7,18c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S 8.1,18,7,18z M1,2v2h2l3.6,7.6L5.2,14C5.1,14.3,5,14.7,5,15c0,1.1,0.9,2,2,2h12v-2H 7.4c-0.1,0-0.2-0.1-0.2-0.2c0,0,0-0.1,0-0.1L8.1,13h7.4c0.8,0,1.4-0.4,1.7-1l3.6-6. 5C21,5.3,21,5.2,21,5c0-0.6-0.4-1-1-1H5.2L4.3,2H1z M17,18c-1.1,0-2,0.9-2,2s0.9,2, 2,2c1.1,0,2-0.9,2-2S18.1,18,17,18z"></path></g>
1296 <g id="sort"><path d="M3,18h6v-2H3V18z M3,6v2h18V6H3z M3,13h12v-2H3V13z"></path> </g>
1297 <g id="star"><polygon points="12,17.273 18.18,21 16.545,13.971 22,9.244 14.809,8 .627 12,2 9.191,8.627 2,9.244 7.455,13.971 5.82,21 "></polygon></g>
1298 <g id="star-half"><path d="M22,9.744l-7.191-0.617L12,2.5L9.191,9.127L2,9.744v0l0 ,0l5.455,4.727L5.82,21.5L12,17.772l0,0l6.18,3.727l-1.635-7.029L22,9.744z M12,15. 896V6.595l1.71,4.036l4.38,0.376l-3.322,2.878l0.996,4.281L12,15.896z"></path></g>
1299 <g id="star-outline"><path d="M22,9.244l-7.191-0.617L12,2L9.191,8.627L2,9.244l5. 455,4.727L5.82,21L12,17.272L18.18,21l-1.635-7.029L22,9.244z M12,15.396l-3.763,2. 27l0.996-4.281L5.91,10.507l4.38-0.376L12,6.095l1.71,4.036l4.38,0.376l-3.322,2.87 8l0.996,4.281L12,15.396z"></path></g>
1300 <g id="star-rate"><polygon points="12,14.3 15.7,17 14.3,12.6 18,10 13.5,10 12,5. 5 10.5,10 6,10 9.7,12.6 8.3,17 "></polygon></g>
1301 <g id="store"><path d="M20,4H4v2h16V4z M21,14v-2l-1-5H4l-1,5v2h1v6h10v-6h4v6h2v- 6H21z M12,18H6v-4h6V18z"></path></g>
1302 <g id="swap-horiz"><path d="M7,11l-4,4l4,4v-3h7v-2H7V11z M21,9l-4-4v3h-7v2h7v3L2 1,9z"></path></g>
1303 <g id="swap-vert"><path d="M16,17v-7h-2v7h-3l4,4l4-4H16z M9,3L5,7h3v7h2V7h3L9,3z "></path></g>
1304 <g id="tab"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2 -2V5C21,3.9,20.1,3,19,3z M19,19L5,19V5h7v4h7V19z"></path></g>
1305 <g id="text-format"><path d="M5,17v2h14v-2H5z M9.5,12.8h5l0.9,2.2h2.1L12.8,4h-1. 5L6.5,15h2.1L9.5,12.8z M12,6l1.9,5h-3.7L12,6z"></path></g>
1306 <g id="theaters"><path d="M18,3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3H18z M8 ,17H6v-2h2V17z M8,13H6v-2h2V13z M8,9H6V7h2V9z M18,17h-2v-2h2V17z M18,13h-2v-2h2V 13z M18,9h-2V7h2V9z"></path></g>
1307 <g id="thumb-down"><path d="M15,3H6C5.2,3,4.5,3.5,4.2,4.2l-3,7.1C1.1,11.5,1,11.7 ,1,12v1.9l0,0c0,0,0,0.1,0,0.1c0,1.1,0.9,2,2,2h6.3l-1,4.6c0,0.1,0,0.2,0,0.3c0,0.4 ,0.2,0.8,0.4,1.1L9.8,23l6.6-6.6c0.4-0.4,0.6-0.9,0.6-1.4V5C17,3.9,16.1,3,15,3z M1 9,3v12h4V3H19z"></path></g>
1308 <g id="thumb-up"><path d="M1,21h4V9H1V21z M23,10c0-1.1-0.9-2-2-2h-6.3l1-4.6c0-0. 1,0-0.2,0-0.3c0-0.4-0.2-0.8-0.4-1.1L14.2,1L7.6,7.6C7.2,7.9,7,8.4,7,9v10c0,1.1,0. 9,2,2,2h9c0.8,0,1.5-0.5,1.8-1.2l3-7.1c0.1-0.2,0.1-0.5,0.1-0.7V10L23,10C23,10.1,2 3,10,23,10z"></path></g>
1309 <g id="today"><path d="M19,3h-1V1h-2v2H8V1H6v2H5C3.9,3,3,3.9,3,5l0,14c0,1.1,0.9, 2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V8h14V19z"></path><rect x ="7" y="10" width="5" height="5"></rect></g>
1310 <g id="translate"><path d="M3,17.2V21h3.8L17.8,9.9l-3.8-3.8L3,17.2z M20.7,7c0.4- 0.4,0.4-1,0-1.4l-2.3-2.3c-0.4-0.4-1-0.4-1.4,0l-1.8,1.8l3.8,3.8L20.7,7z M12,19l-2 ,2h13v-2H12z"></path></g>
1311 <g id="undo"><path d="M12,5V1.5l-5,5l5,5V7c3.3,0,6,2.7,6,6s-2.7,6-6,6c-3.3,0-6-2 .7-6-6H4c0,4.4,3.6,8,8,8c4.4,0,8-3.6,8-8S16.4,5,12,5z"></path></g>
1312 <g id="unfold-less"><path d="M7.4,18.6L8.8,20l3.2-3.2l3.2,3.2l1.4-1.4L12,14L7.4, 18.6z M16.6,5.4L15.2,4L12,7.2L8.8,4L7.4,5.4L12,10L16.6,5.4z"></path></g>
1313 <g id="unfold-more"><path d="M12,5.8L15.2,9l1.4-1.4L12,3L7.4,7.6L8.8,9L12,5.8z M 12,18.2L8.8,15l-1.4,1.4L12,21l4.6-4.6L15.2,15L12,18.2z"></path></g>
1314 <g id="view-array"><path d="M4,18h3V5H4V18z M18,5v13h3V5H18z M8,18h9V5H8V18z"></ path></g>
1315 <g id="view-column"><path d="M10,18h5V5h-5V18z M4,18h5V5H4V18z M16,5v13h5V5H16z" ></path></g>
1316 <g id="view-headline"><path d="M4,15h17v-2H4V15z M4,19h17v-2H4V19z M4,11h17V9H4V 11z M4,5v2h17V5H4z"></path></g>
1317 <g id="view-list"><path d="M4,14h4v-4H4V14z M4,19h4v-4H4V19z M4,9h4V5H4V9z M9,14 h12v-4H9V14z M9,19h12v-4H9V19z M9,5v4h12V5H9z"></path></g>
1318 <g id="view-module"><path d="M4,11h5V5H4V11z M4,18h5v-6H4V18z M10,18h5v-6h-5V18z M16,18h5v-6h-5V18z M10,11h5V5h-5V11z M16,5v6h5V5H16z"></path></g>
1319 <g id="view-quilt"><path d="M10,18h5v-6h-5V18z M4,18h5V5H4V18z M16,18h5v-6h-5V18 z M10,5v6h11V5H10z"></path></g>
1320 <g id="view-stream"><path d="M4,18h17v-6H4V18z M4,5v6h17V5H4z"></path></g>
1321 <g id="visibility"><path d="M12,4.5C7,4.5,2.7,7.6,1,12c1.7,4.4,6,7.5,11,7.5c5,0, 9.3-3.1,11-7.5C21.3,7.6,17,4.5,12,4.5z M12,17c-2.8,0-5-2.2-5-5s2.2-5,5-5c2.8,0,5 ,2.2,5,5S14.8,17,12,17z M12,9c-1.7,0-3,1.3-3,3s1.3,3,3,3c1.7,0,3-1.3,3-3S13.7,9, 12,9z"></path></g>
1322 <g id="visibility-off"><path d="M12,7c2.8,0,5,2.2,5,5c0,0.6-0.1,1.3-0.4,1.8l2.9, 2.9c1.5-1.3,2.7-2.9,3.4-4.7c-1.7-4.4-6-7.5-11-7.5c-1.4,0-2.7,0.3-4,0.7l2.2,2.2C1 0.7,7.1,11.4,7,12,7z M2,4.3l2.3,2.3L4.7,7c-1.7,1.3-3,3-3.7,5c1.7,4.4,6,7.5,11,7. 5c1.5,0,3-0.3,4.4-0.8l0.4,0.4l2.9,2.9l1.3-1.3L3.3,3L2,4.3z M7.5,9.8l1.5,1.5C9,11 .6,9,11.8,9,12c0,1.7,1.3,3,3,3c0.2,0,0.4,0,0.7-0.1l1.5,1.5C13.5,16.8,12.8,17,12, 17c-2.8,0-5-2.2-5-5C7,11.2,7.2,10.5,7.5,9.8z M11.8,9l3.1,3.1c0-0.1,0-0.1,0-0.2c0 -1.7-1.3-3-3-3C11.9,9,11.9,9,11.8,9z"></path></g>
1323 <g id="warning"><path d="M1,21h22L12,2L1,21z M13,18h-2v-2h2V18z M13,14h-2v-4h2V1 4z"></path></g>
1324 <g id="work"><path d="M20,6h-4V4l-2-2h-4L8,4v2H4C2.9,6,2,6.9,2,8l0,11c0,1.1,0.9, 2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M14,6h-4V4h4V6z"></path></g>
1325 </defs></svg>
1326 </core-iconset-svg>
1327
1328 <!-- import core-icon for convenience
1329 TODO(sorvell): we'd rather do this in core-iconset but we can't until
1330 crbug.com/373461 is addressed
1331 -->
1332 <!--
1333 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
1334 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
1335 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
1336 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
1337 Code distributed by Google as part of the polymer project is also
1338 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
1339 -->
1340 <!--
1341
1342 The `core-icon` element displays an icon using CSS background image. By default an icon renders as 24px square.
1343
1344 Example using src:
1345
1346 <core-icon src="star.png"></core-icon>
1347
1348 Example setting size to 32px x 32px:
1349
1350 <core-icon src="big_star.png" size="32"></core-icon>
1351
1352 Example using icon from default iconset:
1353
1354 <core-icon icon="menu"></core-icon>
1355
1356 Example using icon `cherry` from custom iconset `fruit`:
1357
1358 <core-icon icon="fruit:cherry"></core-icon>
1359
1360 See [core-iconset](#core-iconset) and [core-iconset-svg](#core-iconset-svg) for more information about
1361 how to use a custom iconset.
1362
1363 See [core-icons](#core-icons) for the default set of icons.
1364
1365 @group Polymer Core Elements
1366 @element core-icon
1367 @extends core-theme-aware
1368 @homepage github.io
1369 -->
1370
1371
1372 <style shim-shadowdom="">/* Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
1373 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
1374 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
1375 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
1376 Code distributed by Google as part of the polymer project is also
1377 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt */
1378
1379 html /deep/ core-icon {
1380 display: inline-block;
1381 vertical-align: middle;
1382 background-repeat: no-repeat;
1383 }
1384 </style>
1385
1386 <polymer-element name="core-icon" attributes="src size icon" assetpath="../core- icon/">
1387 <script>
1388 (function() {
1389
1390 // mono-state
1391 var meta;
1392
1393 Polymer('core-icon', {
1394
1395 /**
1396 * The URL of an image for the icon. If the src property is specified,
1397 * the icon property should not be.
1398 *
1399 * @attribute src
1400 * @type string
1401 * @default ''
1402 */
1403 src: '',
1404
1405 /**
1406 * Specifies the size of the icon in pixel units.
1407 *
1408 * @attribute size
1409 * @type string
1410 * @default 24
1411 */
1412 size: 24,
1413
1414 /**
1415 * Specifies the icon name or index in the set of icons available in
1416 * the icon's icon set. If the icon property is specified,
1417 * the src property should not be.
1418 *
1419 * @attribute icon
1420 * @type string
1421 * @default ''
1422 */
1423 icon: '',
1424
1425 defaultIconset: 'icons',
1426
1427 ready: function() {
1428 if (!meta) {
1429 meta = document.createElement('core-iconset');
1430 }
1431 this.sizeChanged();
1432 },
1433
1434 sizeChanged: function() {
1435 this.style.width = this.style.height = this.size + 'px';
1436 },
1437
1438 srcChanged: function() {
1439 this.style.backgroundImage = 'url(' + this.src + ')';
1440 this.style.backgroundPosition = 'center';
1441 this.style.backgroundSize = this.size + 'px ' + this.size + 'px';
1442 },
1443
1444 getIconset: function(name) {
1445 return meta.byId(name || this.defaultIconset);
1446 },
1447
1448 iconChanged: function() {
1449 if (this.icon) {
1450 var parts = String(this.icon).split(':');
1451 var icon = parts.pop();
1452 if (icon) {
1453 var set = this.getIconset(parts.pop());
1454 if (set) {
1455 set.applyIcon(this, icon, this.activeTheme, this.size / set.iconSize );
1456 }
1457 }
1458 }
1459 }
1460
1461 });
1462
1463 })();
1464 </script>
1465
1466 </polymer-element>
1467
1468
1469 <!--
1470 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
1471 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
1472 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
1473 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
1474 Code distributed by Google as part of the polymer project is also
1475 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
1476 -->
1477
1478 <!--
1479 `core-icon-button` is an icon with button behaviors.
1480
1481 <core-icon-button src="star.png"></core-icon-button>
1482
1483 `core-icon-button` includes a default icon set. Use `icon` to specify
1484 which icon from the icon set to use.
1485
1486 <core-icon-button icon="menu"></core-icon-button>
1487
1488 See [`core-iconset`](#core-iconset) for more information about
1489 how to use a custom icon set.
1490
1491 @group Polymer Core Elements
1492 @element core-icon-button
1493 @extends core-theme-aware
1494 @homepage github.io
1495 -->
1496
1497
1498
1499
1500 <polymer-element name="core-icon-button" extends="core-theme-aware" attributes=" src icon active" assetpath="../core-icon-button/">
1501
1502 <template>
1503
1504 <style>/*
1505 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
1506 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE
1507 The complete set of authors may be found at http://polymer.github.io/AUTHORS
1508 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS
1509 Code distributed by Google as part of the polymer project is also
1510 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS
1511 */
1512
1513 :host {
1514 display: inline-block;
1515 box-sizing: border-box;
1516 -moz-box-sizing: border-box;
1517 width: 38px;
1518 height: 38px;
1519 background-image: none;
1520 border-radius: 2px;
1521 padding: 7px;
1522 margin: 2px;
1523 vertical-align: middle;
1524 font-size: 1rem;
1525 cursor: pointer;
1526 }
1527
1528 :host(.outline) {
1529 box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
1530 }
1531
1532 :host(:hover) {
1533 box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.1);
1534 }
1535
1536 :host(.selected) {
1537 background-color: rgba(0, 0, 0, 0.05);
1538 box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.12) ;
1539 }
1540
1541 :host(:active, .selected:active) {
1542 background-color: rgba(0, 0, 0, 0.05);
1543 box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.12);
1544 }
1545
1546 :host(.core-dark-theme.outline) {
1547 background-color: rgba(200, 200, 200, 0.05);
1548 box-shadow: 0 0 0 1px rgba(200, 200, 200, 0.1);
1549 }
1550
1551 :host(.core-dark-theme:hover) {
1552 background-color: rgba(200, 200, 200, 0.05);
1553 box-shadow: 0 1px 0 0 rgba(200, 200, 200, 0.12), 0 0 0 1px rgba(200, 200, 200, 0.1);
1554 }
1555
1556 :host(.core-dark-theme.selected) {
1557 background-color: rgba(220, 220, 220, 0.05);
1558 box-shadow: inset 0 1px 0 0 rgba(200, 200, 200, 0.05), 0 0 0 1px rgba(200, 200 , 200, 0.12);
1559 }
1560
1561 :host(.core-dark-theme:active, .core-dark-theme.selected:active) {
1562 background-color: rgba(200, 200, 200, 0.05);
1563 box-shadow: inset 0 1px 0 0 rgba(200, 200, 200, 0.1), 0 0 0 1px rgba(200, 200, 200, 0.12);
1564 }
1565
1566 core-icon {
1567 pointer-events: none;
1568 }
1569 </style>
1570
1571 <core-icon src="{{src}}" icon="{{icon}}"><content></content></core-icon>
1572
1573 </template>
1574
1575 <script>
1576
1577 Polymer('core-icon-button', {
1578
1579 /**
1580 * The URL of an image for the icon. Should not use `icon` property
1581 * if you are using this property.
1582 *
1583 * @attribute src
1584 * @type string
1585 * @default ''
1586 */
1587 src: '',
1588
1589 /**
1590 * If true, border is placed around the button to indicate it's
1591 * active state.
1592 *
1593 * @attribute active
1594 * @type boolean
1595 * @default false
1596 */
1597 active: false,
1598
1599 /**
1600 * Specifies the icon name or index in the set of icons available in
1601 * the icon set. Should not use `src` property if you are using this
1602 * property.
1603 *
1604 * @attribute icon
1605 * @type string
1606 * @default ''
1607 */
1608 icon: '',
1609
1610 activeChanged: function() {
1611 this.classList.toggle('selected', this.active);
1612 }
1613
1614 });
1615
1616 </script>
1617
1618 </polymer-element>
1619
1620 <!--
1621 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
1622 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
1623 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
1624 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
1625 Code distributed by Google as part of the polymer project is also
1626 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
1627 -->
1628
1629 <!--
1630 `core-toolbar` is a horizontal bar containing elements that can be used for
1631 label, navigation, search and actions.
1632
1633 <b>Example:</b>
1634
1635 <core-toolbar>
1636 <core-icon-button icon="menu" on-tap="{{menuAction}}"></core-icon-button>
1637 <div flex>Title</div>
1638 <core-icon-button icon="more" on-tap="{{moreAction}}"></core-icon-button>
1639 </core-toolbar>
1640
1641 `core-toolbar` has a standard height, but can be taller by setting `tall`
1642 class on the `core-toolbar`.
1643
1644 <core-toolbar class="tall">
1645 <core-icon-button icon="menu"></core-icon-button>
1646 </core-toolbar>
1647
1648 Apply `medium-tall` class to make the toolbar medium tall.
1649
1650 <core-toolbar class="medium-tall">
1651 <core-icon-button icon="menu"></core-icon-button>
1652 </core-toolbar>
1653
1654 When taller, actions can pin to either the top (default), middle or bottom.
1655
1656 <core-toolbar class="tall">
1657 <core-icon-button class="bottom" icon="menu"></core-icon-button>
1658 <div class="middle">Toolbar</div>
1659 </core-toolbar>
1660
1661 @group Polymer Core Elements
1662 @element core-toolbar
1663 @homepage github.io
1664 -->
1665
1666
1667
1668 <polymer-element name="core-toolbar" noscript="" assetpath="../core-toolbar/">
1669 <template>
1670
1671 <style>/*
1672 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
1673 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
1674 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
1675 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
1676 Code distributed by Google as part of the polymer project is also
1677 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
1678 */
1679
1680 :host {
1681 /* technical */
1682 display: block;
1683 position: relative;
1684 box-sizing: border-box;
1685 -moz-box-sizing: border-box;
1686 /* size */
1687 height: 64px;
1688 /* typography */
1689 font-size: 1.3em;
1690 /* transition */
1691 transition: height 0.18s ease-in;
1692 }
1693
1694 :host(.medium-tall) {
1695 height: 128px;
1696 }
1697
1698 :host(.tall) {
1699 height: 192px;
1700 }
1701
1702 .toolbar-tools {
1703 height: 64px;
1704 padding: 0 9px;
1705 }
1706
1707 /* narrow layout */
1708 :host(.narrow) {
1709 height: 56px;
1710 }
1711
1712 :host(.narrow.medium-tall) {
1713 height: 112px;
1714 }
1715
1716 :host(.narrow.tall) {
1717 height: 168px;
1718 }
1719
1720 :host(.narrow) .toolbar-tools {
1721 height: 56px;
1722 padding: 0 1px;
1723 }
1724
1725 /* middle bar */
1726 #middleBar {
1727 position: absolute;
1728 top: calc(100% / 3);
1729 right: 0;
1730 left: 0;
1731 pointer-events: none;
1732 }
1733
1734 /* bottom bar */
1735 #bottomBar {
1736 position: absolute;
1737 right: 0;
1738 bottom: 0;
1739 left: 0;
1740 pointer-events: none;
1741 }
1742
1743 /* shows bottom bar only when in normal height (!tall && !medium-tall) */
1744 :host(.no-overlap) > #topBar,
1745 :host(.no-overlap) > #middleBar {
1746 transition: -webkit-transform 0.18s ease-in;
1747 transition: transform 0.18s ease-in;
1748 }
1749
1750 :host(.no-overlap:not(.medium-tall):not(.tall)) > #topBar {
1751 -webkit-transform: translateY(-100%);
1752 transform: translateY(-100%);
1753 }
1754
1755 :host(.no-overlap:not(.medium-tall):not(.tall)) > #middleBar {
1756 -webkit-transform: translateY(-200%);
1757 transform: translateY(-200%);
1758 }
1759
1760 polyfill-next-selector { content: ':host > #middleBar > *, :host > #bottomBar > *'; }
1761 ::content[select=".middle"] > *, ::content[select=".bottom"] > * {
1762 pointer-events: visible;
1763 }
1764
1765 polyfill-next-selector { content: ':host > .toolbar-tools > *'; }
1766 ::content > * {
1767 margin: 0px 8px;
1768 }
1769
1770 polyfill-next-selector { content: ':host .core-fit, :host [core-fit]'; }
1771 ::content > .core-fit, ::content > [core-fit] {
1772 position: absolute;
1773 top: 0;
1774 right: 0;
1775 bottom: 0;
1776 left: 0;
1777 margin: 0;
1778 }
1779
1780 polyfill-next-selector { content: ':host .indent'; }
1781 ::content > .indent {
1782 margin-left: 60px;
1783 }
1784 </style>
1785
1786 <div id="bottomBar" class="toolbar-tools" center="" horizontal="" layout="">
1787 <content select=".bottom"></content>
1788 </div>
1789
1790 <div id="middleBar" class="toolbar-tools" center="" horizontal="" layout="">
1791 <content select=".middle"></content>
1792 </div>
1793
1794 <div id="topBar" class="toolbar-tools" center="" horizontal="" layout="">
1795 <content></content>
1796 </div>
1797
1798 </template>
1799 </polymer-element>
1800
1801 <!--
1802 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
1803 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
1804 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
1805 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
1806 Code distributed by Google as part of the polymer project is also
1807 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
1808 -->
1809
1810 <!--
1811 `core-header-panel` contains a header section and a content panel section. Speci al
1812 support is provided for scrolling modes when one uses a core-toolbar or equivale nt
1813 for the header section.
1814
1815 Example:
1816
1817 <core-header-panel>
1818 <core-toolbar>Header</core-toolbar>
1819 <div>Content goes here...</div>
1820 </core-header-panel>
1821
1822 If you want to use other than `core-toolbar` for the header, add
1823 `core-header` class to that element.
1824
1825 Example:
1826
1827 <core-header-panel>
1828 <div class="core-header">Header</div>
1829 <div>Content goes here...</div>
1830 </core-header-panel>
1831
1832 Use `mode` to control the header and scrolling behavior.
1833
1834 @group Polymer Core Elements
1835 @element core-header-panel
1836 @homepage github.io
1837 -->
1838
1839
1840
1841 <polymer-element name="core-header-panel" assetpath="../core-header-panel/">
1842 <template>
1843
1844 <style>/*
1845 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
1846 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
1847 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
1848 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
1849 Code distributed by Google as part of the polymer project is also
1850 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
1851 */
1852
1853 :host {
1854 display: block;
1855 position: relative;
1856 }
1857
1858 #outerContainer {
1859 position: absolute;
1860 top: 0;
1861 right: 0;
1862 bottom: 0;
1863 left: 0;
1864 overflow: auto;
1865 }
1866
1867 #mainPanel {
1868 position: relative;
1869 }
1870
1871 #mainContainer {
1872 position: relative;
1873 overflow: auto;
1874 }
1875
1876 #dropShadow {
1877 position: absolute;
1878 top: 0;
1879 left: 0;
1880 right: 0;
1881 height: 6px;
1882 box-shadow: inset 0px 5px 6px -3px rgba(0, 0, 0, 0.4);
1883 }
1884
1885 #dropShadow.hidden {
1886 display: none;
1887 }
1888
1889 /*
1890 mode: scroll
1891 */
1892 :host([mode=scroll]) #mainContainer {
1893 overflow: visible;
1894 }
1895
1896 /*
1897 mode: cover
1898 */
1899 :host([mode=cover]) #mainPanel {
1900 position: static;
1901 }
1902
1903 :host([mode=cover]) #mainContainer {
1904 position: absolute;
1905 top: 0;
1906 right: 0;
1907 bottom: 0;
1908 left: 0;
1909 }
1910
1911 :host([mode=cover]) #dropShadow {
1912 position: static;
1913 width: 100%;
1914 }
1915 </style>
1916
1917 <div id="outerContainer" on-scroll="{{scroll}}" vertical="" layout="">
1918
1919 <content id="headerContent" select="core-toolbar, .core-header"></content>
1920
1921 <div id="mainPanel" flex="" vertical="" layout="">
1922
1923 <div id="mainContainer" flex?="{{mode !== &apos;cover&apos;}}" on-scroll=" {{scroll}}">
1924 <content id="mainContent" select="*"></content>
1925 </div>
1926
1927 <div id="dropShadow"></div>
1928
1929 </div>
1930
1931 </div>
1932
1933 </template>
1934 <script>
1935
1936 Polymer('core-header-panel', {
1937
1938 publish: {
1939 /**
1940 * Controls header and scrolling behavior. Options are
1941 * `standard`, `seamed`, `waterfall`, `waterfall-tall`,
1942 * `waterfall-medium-tall`, `scroll` and `cover`.
1943 * Default is `standard`.
1944 *
1945 * `standard`: The header is a step above the panel. The header will consu me the
1946 * panel at the point of entry, preventing it from passing through to the
1947 * opposite side.
1948 *
1949 * `seamed`: The header is presented as seamed with the panel.
1950 *
1951 * `waterfall`: Similar to standard mode, but header is initially presente d as
1952 * seamed with panel, but then separates to form the step.
1953 *
1954 * `waterfall-tall`: The header is initially taller (`tall` class is added to
1955 * the header). As the user scrolls, the header separates (forming an edg e)
1956 * while condensing (`tall` class is removed from the header).
1957 *
1958 * `scroll`: The header keeps its seam with the panel, and is pushed off s creen.
1959 *
1960 * `cover`: The panel covers the whole `core-header-panel` including the
1961 * header. This allows user to style the panel in such a way that the pane l is
1962 * partially covering the header.
1963 *
1964 * <style>
1965 * core-header-panel[mode=cover]::shadow #mainContainer {
1966 * left: 80px;
1967 * }
1968 * .content {
1969 * margin: 60px 60px 60px 0;
1970 * }
1971 * </style>
1972 *
1973 * <core-header-panel mode="cover">
1974 * <core-appbar class="tall">
1975 * <core-icon-button icon="menu"></core-icon-button>
1976 * </core-appbar>
1977 * <div class="content"></div>
1978 * </core-header-panel>
1979 *
1980 * @attribute mode
1981 * @type string
1982 * @default ''
1983 */
1984 mode: {value: '', reflect: true},
1985
1986 /**
1987 * The class used in waterfall-tall mode. Change this if the header
1988 * accepts a different class for toggling height, e.g. "medium-tall"
1989 *
1990 * @attribute tallClass
1991 * @type string
1992 * @default 'tall'
1993 */
1994 tallClass: 'tall',
1995
1996 /**
1997 * If true, the drop-shadow is always shown no matter what mode is set to.
1998 *
1999 * @attribute shadow
2000 * @type boolean
2001 * @default false
2002 */
2003 shadow: false,
2004 },
2005
2006 domReady: function() {
2007 this.async('scroll');
2008 },
2009
2010 modeChanged: function() {
2011 this.scroll();
2012 },
2013
2014 get header() {
2015 return this.$.headerContent.getDistributedNodes()[0];
2016 },
2017
2018 scroll: function() {
2019 var shadowMode = {'waterfall': 1, 'waterfall-tall': 1};
2020 var noShadow = {'seamed': 1, 'cover': 1, 'scroll': 1};
2021 var tallMode = {'waterfall-tall': 1};
2022
2023 var main = this.$.mainContainer;
2024 var header = this.header;
2025
2026 var sTop = main.scrollTop;
2027 var atTop = sTop === 0;
2028
2029 if (header) {
2030 this.$.dropShadow.classList.toggle('hidden', !this.shadow &&
2031 (atTop && shadowMode[this.mode] || noShadow[this.mode]));
2032
2033 if (tallMode[this.mode]) {
2034 header.classList.toggle(this.tallClass, atTop);
2035 }
2036 }
2037 }
2038
2039 });
2040
2041 </script>
2042 </polymer-element>
2043
2044 <!--
2045 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
2046 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
2047 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
2048 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
2049 Code distributed by Google as part of the polymer project is also
2050 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
2051 -->
2052
2053
2054 <script>/**
2055 * marked - a markdown parser
2056 * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)
2057 * https://github.com/chjj/marked
2058 */
2059
2060 ;(function() {
2061
2062 /**
2063 * Block-Level Grammar
2064 */
2065
2066 var block = {
2067 newline: /^\n+/,
2068 code: /^( {4}[^\n]+\n*)+/,
2069 fences: noop,
2070 hr: /^( *[-*_]){3,} *(?:\n+|$)/,
2071 heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
2072 nptable: noop,
2073 lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,
2074 blockquote: /^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,
2075 list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
2076 html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,
2077 def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
2078 table: noop,
2079 paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
2080 text: /^[^\n]+/
2081 };
2082
2083 block.bullet = /(?:[*+-]|\d+\.)/;
2084 block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
2085 block.item = replace(block.item, 'gm')
2086 (/bull/g, block.bullet)
2087 ();
2088
2089 block.list = replace(block.list)
2090 (/bull/g, block.bullet)
2091 ('hr', '\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))')
2092 ('def', '\\n+(?=' + block.def.source + ')')
2093 ();
2094
2095 block.blockquote = replace(block.blockquote)
2096 ('def', block.def)
2097 ();
2098
2099 block._tag = '(?!(?:'
2100 + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
2101 + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
2102 + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b';
2103
2104 block.html = replace(block.html)
2105 ('comment', /<!--[\s\S]*?-->/)
2106 ('closed', /<(tag)[\s\S]+?<\/\1>/)
2107 ('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
2108 (/tag/g, block._tag)
2109 ();
2110
2111 block.paragraph = replace(block.paragraph)
2112 ('hr', block.hr)
2113 ('heading', block.heading)
2114 ('lheading', block.lheading)
2115 ('blockquote', block.blockquote)
2116 ('tag', '<' + block._tag)
2117 ('def', block.def)
2118 ();
2119
2120 /**
2121 * Normal Block Grammar
2122 */
2123
2124 block.normal = merge({}, block);
2125
2126 /**
2127 * GFM Block Grammar
2128 */
2129
2130 block.gfm = merge({}, block.normal, {
2131 fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,
2132 paragraph: /^/
2133 });
2134
2135 block.gfm.paragraph = replace(block.paragraph)
2136 ('(?!', '(?!'
2137 + block.gfm.fences.source.replace('\\1', '\\2') + '|'
2138 + block.list.source.replace('\\1', '\\3') + '|')
2139 ();
2140
2141 /**
2142 * GFM + Tables Block Grammar
2143 */
2144
2145 block.tables = merge({}, block.gfm, {
2146 nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
2147 table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
2148 });
2149
2150 /**
2151 * Block Lexer
2152 */
2153
2154 function Lexer(options) {
2155 this.tokens = [];
2156 this.tokens.links = {};
2157 this.options = options || marked.defaults;
2158 this.rules = block.normal;
2159
2160 if (this.options.gfm) {
2161 if (this.options.tables) {
2162 this.rules = block.tables;
2163 } else {
2164 this.rules = block.gfm;
2165 }
2166 }
2167 }
2168
2169 /**
2170 * Expose Block Rules
2171 */
2172
2173 Lexer.rules = block;
2174
2175 /**
2176 * Static Lex Method
2177 */
2178
2179 Lexer.lex = function(src, options) {
2180 var lexer = new Lexer(options);
2181 return lexer.lex(src);
2182 };
2183
2184 /**
2185 * Preprocessing
2186 */
2187
2188 Lexer.prototype.lex = function(src) {
2189 src = src
2190 .replace(/\r\n|\r/g, '\n')
2191 .replace(/\t/g, ' ')
2192 .replace(/\u00a0/g, ' ')
2193 .replace(/\u2424/g, '\n');
2194
2195 return this.token(src, true);
2196 };
2197
2198 /**
2199 * Lexing
2200 */
2201
2202 Lexer.prototype.token = function(src, top, bq) {
2203 var src = src.replace(/^ +$/gm, '')
2204 , next
2205 , loose
2206 , cap
2207 , bull
2208 , b
2209 , item
2210 , space
2211 , i
2212 , l;
2213
2214 while (src) {
2215 // newline
2216 if (cap = this.rules.newline.exec(src)) {
2217 src = src.substring(cap[0].length);
2218 if (cap[0].length > 1) {
2219 this.tokens.push({
2220 type: 'space'
2221 });
2222 }
2223 }
2224
2225 // code
2226 if (cap = this.rules.code.exec(src)) {
2227 src = src.substring(cap[0].length);
2228 cap = cap[0].replace(/^ {4}/gm, '');
2229 this.tokens.push({
2230 type: 'code',
2231 text: !this.options.pedantic
2232 ? cap.replace(/\n+$/, '')
2233 : cap
2234 });
2235 continue;
2236 }
2237
2238 // fences (gfm)
2239 if (cap = this.rules.fences.exec(src)) {
2240 src = src.substring(cap[0].length);
2241 this.tokens.push({
2242 type: 'code',
2243 lang: cap[2],
2244 text: cap[3]
2245 });
2246 continue;
2247 }
2248
2249 // heading
2250 if (cap = this.rules.heading.exec(src)) {
2251 src = src.substring(cap[0].length);
2252 this.tokens.push({
2253 type: 'heading',
2254 depth: cap[1].length,
2255 text: cap[2]
2256 });
2257 continue;
2258 }
2259
2260 // table no leading pipe (gfm)
2261 if (top && (cap = this.rules.nptable.exec(src))) {
2262 src = src.substring(cap[0].length);
2263
2264 item = {
2265 type: 'table',
2266 header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
2267 align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
2268 cells: cap[3].replace(/\n$/, '').split('\n')
2269 };
2270
2271 for (i = 0; i < item.align.length; i++) {
2272 if (/^ *-+: *$/.test(item.align[i])) {
2273 item.align[i] = 'right';
2274 } else if (/^ *:-+: *$/.test(item.align[i])) {
2275 item.align[i] = 'center';
2276 } else if (/^ *:-+ *$/.test(item.align[i])) {
2277 item.align[i] = 'left';
2278 } else {
2279 item.align[i] = null;
2280 }
2281 }
2282
2283 for (i = 0; i < item.cells.length; i++) {
2284 item.cells[i] = item.cells[i].split(/ *\| */);
2285 }
2286
2287 this.tokens.push(item);
2288
2289 continue;
2290 }
2291
2292 // lheading
2293 if (cap = this.rules.lheading.exec(src)) {
2294 src = src.substring(cap[0].length);
2295 this.tokens.push({
2296 type: 'heading',
2297 depth: cap[2] === '=' ? 1 : 2,
2298 text: cap[1]
2299 });
2300 continue;
2301 }
2302
2303 // hr
2304 if (cap = this.rules.hr.exec(src)) {
2305 src = src.substring(cap[0].length);
2306 this.tokens.push({
2307 type: 'hr'
2308 });
2309 continue;
2310 }
2311
2312 // blockquote
2313 if (cap = this.rules.blockquote.exec(src)) {
2314 src = src.substring(cap[0].length);
2315
2316 this.tokens.push({
2317 type: 'blockquote_start'
2318 });
2319
2320 cap = cap[0].replace(/^ *> ?/gm, '');
2321
2322 // Pass `top` to keep the current
2323 // "toplevel" state. This is exactly
2324 // how markdown.pl works.
2325 this.token(cap, top, true);
2326
2327 this.tokens.push({
2328 type: 'blockquote_end'
2329 });
2330
2331 continue;
2332 }
2333
2334 // list
2335 if (cap = this.rules.list.exec(src)) {
2336 src = src.substring(cap[0].length);
2337 bull = cap[2];
2338
2339 this.tokens.push({
2340 type: 'list_start',
2341 ordered: bull.length > 1
2342 });
2343
2344 // Get each top-level item.
2345 cap = cap[0].match(this.rules.item);
2346
2347 next = false;
2348 l = cap.length;
2349 i = 0;
2350
2351 for (; i < l; i++) {
2352 item = cap[i];
2353
2354 // Remove the list item's bullet
2355 // so it is seen as the next token.
2356 space = item.length;
2357 item = item.replace(/^ *([*+-]|\d+\.) +/, '');
2358
2359 // Outdent whatever the
2360 // list item contains. Hacky.
2361 if (~item.indexOf('\n ')) {
2362 space -= item.length;
2363 item = !this.options.pedantic
2364 ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
2365 : item.replace(/^ {1,4}/gm, '');
2366 }
2367
2368 // Determine whether the next list item belongs here.
2369 // Backpedal if it does not belong in this list.
2370 if (this.options.smartLists && i !== l - 1) {
2371 b = block.bullet.exec(cap[i + 1])[0];
2372 if (bull !== b && !(bull.length > 1 && b.length > 1)) {
2373 src = cap.slice(i + 1).join('\n') + src;
2374 i = l - 1;
2375 }
2376 }
2377
2378 // Determine whether item is loose or not.
2379 // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
2380 // for discount behavior.
2381 loose = next || /\n\n(?!\s*$)/.test(item);
2382 if (i !== l - 1) {
2383 next = item.charAt(item.length - 1) === '\n';
2384 if (!loose) loose = next;
2385 }
2386
2387 this.tokens.push({
2388 type: loose
2389 ? 'loose_item_start'
2390 : 'list_item_start'
2391 });
2392
2393 // Recurse.
2394 this.token(item, false, bq);
2395
2396 this.tokens.push({
2397 type: 'list_item_end'
2398 });
2399 }
2400
2401 this.tokens.push({
2402 type: 'list_end'
2403 });
2404
2405 continue;
2406 }
2407
2408 // html
2409 if (cap = this.rules.html.exec(src)) {
2410 src = src.substring(cap[0].length);
2411 this.tokens.push({
2412 type: this.options.sanitize
2413 ? 'paragraph'
2414 : 'html',
2415 pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',
2416 text: cap[0]
2417 });
2418 continue;
2419 }
2420
2421 // def
2422 if ((!bq && top) && (cap = this.rules.def.exec(src))) {
2423 src = src.substring(cap[0].length);
2424 this.tokens.links[cap[1].toLowerCase()] = {
2425 href: cap[2],
2426 title: cap[3]
2427 };
2428 continue;
2429 }
2430
2431 // table (gfm)
2432 if (top && (cap = this.rules.table.exec(src))) {
2433 src = src.substring(cap[0].length);
2434
2435 item = {
2436 type: 'table',
2437 header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
2438 align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
2439 cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
2440 };
2441
2442 for (i = 0; i < item.align.length; i++) {
2443 if (/^ *-+: *$/.test(item.align[i])) {
2444 item.align[i] = 'right';
2445 } else if (/^ *:-+: *$/.test(item.align[i])) {
2446 item.align[i] = 'center';
2447 } else if (/^ *:-+ *$/.test(item.align[i])) {
2448 item.align[i] = 'left';
2449 } else {
2450 item.align[i] = null;
2451 }
2452 }
2453
2454 for (i = 0; i < item.cells.length; i++) {
2455 item.cells[i] = item.cells[i]
2456 .replace(/^ *\| *| *\| *$/g, '')
2457 .split(/ *\| */);
2458 }
2459
2460 this.tokens.push(item);
2461
2462 continue;
2463 }
2464
2465 // top-level paragraph
2466 if (top && (cap = this.rules.paragraph.exec(src))) {
2467 src = src.substring(cap[0].length);
2468 this.tokens.push({
2469 type: 'paragraph',
2470 text: cap[1].charAt(cap[1].length - 1) === '\n'
2471 ? cap[1].slice(0, -1)
2472 : cap[1]
2473 });
2474 continue;
2475 }
2476
2477 // text
2478 if (cap = this.rules.text.exec(src)) {
2479 // Top-level should never reach here.
2480 src = src.substring(cap[0].length);
2481 this.tokens.push({
2482 type: 'text',
2483 text: cap[0]
2484 });
2485 continue;
2486 }
2487
2488 if (src) {
2489 throw new
2490 Error('Infinite loop on byte: ' + src.charCodeAt(0));
2491 }
2492 }
2493
2494 return this.tokens;
2495 };
2496
2497 /**
2498 * Inline-Level Grammar
2499 */
2500
2501 var inline = {
2502 escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
2503 autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
2504 url: noop,
2505 tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
2506 link: /^!?\[(inside)\]\(href\)/,
2507 reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
2508 nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
2509 strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
2510 em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
2511 code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
2512 br: /^ {2,}\n(?!\s*$)/,
2513 del: noop,
2514 text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
2515 };
2516
2517 inline._inside = /(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;
2518 inline._href = /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
2519
2520 inline.link = replace(inline.link)
2521 ('inside', inline._inside)
2522 ('href', inline._href)
2523 ();
2524
2525 inline.reflink = replace(inline.reflink)
2526 ('inside', inline._inside)
2527 ();
2528
2529 /**
2530 * Normal Inline Grammar
2531 */
2532
2533 inline.normal = merge({}, inline);
2534
2535 /**
2536 * Pedantic Inline Grammar
2537 */
2538
2539 inline.pedantic = merge({}, inline.normal, {
2540 strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
2541 em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
2542 });
2543
2544 /**
2545 * GFM Inline Grammar
2546 */
2547
2548 inline.gfm = merge({}, inline.normal, {
2549 escape: replace(inline.escape)('])', '~|])')(),
2550 url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
2551 del: /^~~(?=\S)([\s\S]*?\S)~~/,
2552 text: replace(inline.text)
2553 (']|', '~]|')
2554 ('|', '|https?://|')
2555 ()
2556 });
2557
2558 /**
2559 * GFM + Line Breaks Inline Grammar
2560 */
2561
2562 inline.breaks = merge({}, inline.gfm, {
2563 br: replace(inline.br)('{2,}', '*')(),
2564 text: replace(inline.gfm.text)('{2,}', '*')()
2565 });
2566
2567 /**
2568 * Inline Lexer & Compiler
2569 */
2570
2571 function InlineLexer(links, options) {
2572 this.options = options || marked.defaults;
2573 this.links = links;
2574 this.rules = inline.normal;
2575 this.renderer = this.options.renderer || new Renderer;
2576 this.renderer.options = this.options;
2577
2578 if (!this.links) {
2579 throw new
2580 Error('Tokens array requires a `links` property.');
2581 }
2582
2583 if (this.options.gfm) {
2584 if (this.options.breaks) {
2585 this.rules = inline.breaks;
2586 } else {
2587 this.rules = inline.gfm;
2588 }
2589 } else if (this.options.pedantic) {
2590 this.rules = inline.pedantic;
2591 }
2592 }
2593
2594 /**
2595 * Expose Inline Rules
2596 */
2597
2598 InlineLexer.rules = inline;
2599
2600 /**
2601 * Static Lexing/Compiling Method
2602 */
2603
2604 InlineLexer.output = function(src, links, options) {
2605 var inline = new InlineLexer(links, options);
2606 return inline.output(src);
2607 };
2608
2609 /**
2610 * Lexing/Compiling
2611 */
2612
2613 InlineLexer.prototype.output = function(src) {
2614 var out = ''
2615 , link
2616 , text
2617 , href
2618 , cap;
2619
2620 while (src) {
2621 // escape
2622 if (cap = this.rules.escape.exec(src)) {
2623 src = src.substring(cap[0].length);
2624 out += cap[1];
2625 continue;
2626 }
2627
2628 // autolink
2629 if (cap = this.rules.autolink.exec(src)) {
2630 src = src.substring(cap[0].length);
2631 if (cap[2] === '@') {
2632 text = cap[1].charAt(6) === ':'
2633 ? this.mangle(cap[1].substring(7))
2634 : this.mangle(cap[1]);
2635 href = this.mangle('mailto:') + text;
2636 } else {
2637 text = escape(cap[1]);
2638 href = text;
2639 }
2640 out += this.renderer.link(href, null, text);
2641 continue;
2642 }
2643
2644 // url (gfm)
2645 if (!this.inLink && (cap = this.rules.url.exec(src))) {
2646 src = src.substring(cap[0].length);
2647 text = escape(cap[1]);
2648 href = text;
2649 out += this.renderer.link(href, null, text);
2650 continue;
2651 }
2652
2653 // tag
2654 if (cap = this.rules.tag.exec(src)) {
2655 if (!this.inLink && /^<a /i.test(cap[0])) {
2656 this.inLink = true;
2657 } else if (this.inLink && /^<\/a>/i.test(cap[0])) {
2658 this.inLink = false;
2659 }
2660 src = src.substring(cap[0].length);
2661 out += this.options.sanitize
2662 ? escape(cap[0])
2663 : cap[0];
2664 continue;
2665 }
2666
2667 // link
2668 if (cap = this.rules.link.exec(src)) {
2669 src = src.substring(cap[0].length);
2670 this.inLink = true;
2671 out += this.outputLink(cap, {
2672 href: cap[2],
2673 title: cap[3]
2674 });
2675 this.inLink = false;
2676 continue;
2677 }
2678
2679 // reflink, nolink
2680 if ((cap = this.rules.reflink.exec(src))
2681 || (cap = this.rules.nolink.exec(src))) {
2682 src = src.substring(cap[0].length);
2683 link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
2684 link = this.links[link.toLowerCase()];
2685 if (!link || !link.href) {
2686 out += cap[0].charAt(0);
2687 src = cap[0].substring(1) + src;
2688 continue;
2689 }
2690 this.inLink = true;
2691 out += this.outputLink(cap, link);
2692 this.inLink = false;
2693 continue;
2694 }
2695
2696 // strong
2697 if (cap = this.rules.strong.exec(src)) {
2698 src = src.substring(cap[0].length);
2699 out += this.renderer.strong(this.output(cap[2] || cap[1]));
2700 continue;
2701 }
2702
2703 // em
2704 if (cap = this.rules.em.exec(src)) {
2705 src = src.substring(cap[0].length);
2706 out += this.renderer.em(this.output(cap[2] || cap[1]));
2707 continue;
2708 }
2709
2710 // code
2711 if (cap = this.rules.code.exec(src)) {
2712 src = src.substring(cap[0].length);
2713 out += this.renderer.codespan(escape(cap[2], true));
2714 continue;
2715 }
2716
2717 // br
2718 if (cap = this.rules.br.exec(src)) {
2719 src = src.substring(cap[0].length);
2720 out += this.renderer.br();
2721 continue;
2722 }
2723
2724 // del (gfm)
2725 if (cap = this.rules.del.exec(src)) {
2726 src = src.substring(cap[0].length);
2727 out += this.renderer.del(this.output(cap[1]));
2728 continue;
2729 }
2730
2731 // text
2732 if (cap = this.rules.text.exec(src)) {
2733 src = src.substring(cap[0].length);
2734 out += escape(this.smartypants(cap[0]));
2735 continue;
2736 }
2737
2738 if (src) {
2739 throw new
2740 Error('Infinite loop on byte: ' + src.charCodeAt(0));
2741 }
2742 }
2743
2744 return out;
2745 };
2746
2747 /**
2748 * Compile Link
2749 */
2750
2751 InlineLexer.prototype.outputLink = function(cap, link) {
2752 var href = escape(link.href)
2753 , title = link.title ? escape(link.title) : null;
2754
2755 return cap[0].charAt(0) !== '!'
2756 ? this.renderer.link(href, title, this.output(cap[1]))
2757 : this.renderer.image(href, title, escape(cap[1]));
2758 };
2759
2760 /**
2761 * Smartypants Transformations
2762 */
2763
2764 InlineLexer.prototype.smartypants = function(text) {
2765 if (!this.options.smartypants) return text;
2766 return text
2767 // em-dashes
2768 .replace(/--/g, '\u2014')
2769 // opening singles
2770 .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018')
2771 // closing singles & apostrophes
2772 .replace(/'/g, '\u2019')
2773 // opening doubles
2774 .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c')
2775 // closing doubles
2776 .replace(/"/g, '\u201d')
2777 // ellipses
2778 .replace(/\.{3}/g, '\u2026');
2779 };
2780
2781 /**
2782 * Mangle Links
2783 */
2784
2785 InlineLexer.prototype.mangle = function(text) {
2786 var out = ''
2787 , l = text.length
2788 , i = 0
2789 , ch;
2790
2791 for (; i < l; i++) {
2792 ch = text.charCodeAt(i);
2793 if (Math.random() > 0.5) {
2794 ch = 'x' + ch.toString(16);
2795 }
2796 out += '&#' + ch + ';';
2797 }
2798
2799 return out;
2800 };
2801
2802 /**
2803 * Renderer
2804 */
2805
2806 function Renderer(options) {
2807 this.options = options || {};
2808 }
2809
2810 Renderer.prototype.code = function(code, lang, escaped) {
2811 if (this.options.highlight) {
2812 var out = this.options.highlight(code, lang);
2813 if (out != null && out !== code) {
2814 escaped = true;
2815 code = out;
2816 }
2817 }
2818
2819 if (!lang) {
2820 return '<pre><code>'
2821 + (escaped ? code : escape(code, true))
2822 + '\n</code></pre>';
2823 }
2824
2825 return '<pre><code class="'
2826 + this.options.langPrefix
2827 + escape(lang, true)
2828 + '">'
2829 + (escaped ? code : escape(code, true))
2830 + '\n</code></pre>\n';
2831 };
2832
2833 Renderer.prototype.blockquote = function(quote) {
2834 return '<blockquote>\n' + quote + '</blockquote>\n';
2835 };
2836
2837 Renderer.prototype.html = function(html) {
2838 return html;
2839 };
2840
2841 Renderer.prototype.heading = function(text, level, raw) {
2842 return '<h'
2843 + level
2844 + ' id="'
2845 + this.options.headerPrefix
2846 + raw.toLowerCase().replace(/[^\w]+/g, '-')
2847 + '">'
2848 + text
2849 + '</h'
2850 + level
2851 + '>\n';
2852 };
2853
2854 Renderer.prototype.hr = function() {
2855 return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
2856 };
2857
2858 Renderer.prototype.list = function(body, ordered) {
2859 var type = ordered ? 'ol' : 'ul';
2860 return '<' + type + '>\n' + body + '</' + type + '>\n';
2861 };
2862
2863 Renderer.prototype.listitem = function(text) {
2864 return '<li>' + text + '</li>\n';
2865 };
2866
2867 Renderer.prototype.paragraph = function(text) {
2868 return '<p>' + text + '</p>\n';
2869 };
2870
2871 Renderer.prototype.table = function(header, body) {
2872 return '<table>\n'
2873 + '<thead>\n'
2874 + header
2875 + '</thead>\n'
2876 + '<tbody>\n'
2877 + body
2878 + '</tbody>\n'
2879 + '</table>\n';
2880 };
2881
2882 Renderer.prototype.tablerow = function(content) {
2883 return '<tr>\n' + content + '</tr>\n';
2884 };
2885
2886 Renderer.prototype.tablecell = function(content, flags) {
2887 var type = flags.header ? 'th' : 'td';
2888 var tag = flags.align
2889 ? '<' + type + ' style="text-align:' + flags.align + '">'
2890 : '<' + type + '>';
2891 return tag + content + '</' + type + '>\n';
2892 };
2893
2894 // span level renderer
2895 Renderer.prototype.strong = function(text) {
2896 return '<strong>' + text + '</strong>';
2897 };
2898
2899 Renderer.prototype.em = function(text) {
2900 return '<em>' + text + '</em>';
2901 };
2902
2903 Renderer.prototype.codespan = function(text) {
2904 return '<code>' + text + '</code>';
2905 };
2906
2907 Renderer.prototype.br = function() {
2908 return this.options.xhtml ? '<br/>' : '<br>';
2909 };
2910
2911 Renderer.prototype.del = function(text) {
2912 return '<del>' + text + '</del>';
2913 };
2914
2915 Renderer.prototype.link = function(href, title, text) {
2916 if (this.options.sanitize) {
2917 try {
2918 var prot = decodeURIComponent(unescape(href))
2919 .replace(/[^\w:]/g, '')
2920 .toLowerCase();
2921 } catch (e) {
2922 return '';
2923 }
2924 if (prot.indexOf('javascript:') === 0) {
2925 return '';
2926 }
2927 }
2928 var out = '<a href="' + href + '"';
2929 if (title) {
2930 out += ' title="' + title + '"';
2931 }
2932 out += '>' + text + '</a>';
2933 return out;
2934 };
2935
2936 Renderer.prototype.image = function(href, title, text) {
2937 var out = '<img src="' + href + '" alt="' + text + '"';
2938 if (title) {
2939 out += ' title="' + title + '"';
2940 }
2941 out += this.options.xhtml ? '/>' : '>';
2942 return out;
2943 };
2944
2945 /**
2946 * Parsing & Compiling
2947 */
2948
2949 function Parser(options) {
2950 this.tokens = [];
2951 this.token = null;
2952 this.options = options || marked.defaults;
2953 this.options.renderer = this.options.renderer || new Renderer;
2954 this.renderer = this.options.renderer;
2955 this.renderer.options = this.options;
2956 }
2957
2958 /**
2959 * Static Parse Method
2960 */
2961
2962 Parser.parse = function(src, options, renderer) {
2963 var parser = new Parser(options, renderer);
2964 return parser.parse(src);
2965 };
2966
2967 /**
2968 * Parse Loop
2969 */
2970
2971 Parser.prototype.parse = function(src) {
2972 this.inline = new InlineLexer(src.links, this.options, this.renderer);
2973 this.tokens = src.reverse();
2974
2975 var out = '';
2976 while (this.next()) {
2977 out += this.tok();
2978 }
2979
2980 return out;
2981 };
2982
2983 /**
2984 * Next Token
2985 */
2986
2987 Parser.prototype.next = function() {
2988 return this.token = this.tokens.pop();
2989 };
2990
2991 /**
2992 * Preview Next Token
2993 */
2994
2995 Parser.prototype.peek = function() {
2996 return this.tokens[this.tokens.length - 1] || 0;
2997 };
2998
2999 /**
3000 * Parse Text Tokens
3001 */
3002
3003 Parser.prototype.parseText = function() {
3004 var body = this.token.text;
3005
3006 while (this.peek().type === 'text') {
3007 body += '\n' + this.next().text;
3008 }
3009
3010 return this.inline.output(body);
3011 };
3012
3013 /**
3014 * Parse Current Token
3015 */
3016
3017 Parser.prototype.tok = function() {
3018 switch (this.token.type) {
3019 case 'space': {
3020 return '';
3021 }
3022 case 'hr': {
3023 return this.renderer.hr();
3024 }
3025 case 'heading': {
3026 return this.renderer.heading(
3027 this.inline.output(this.token.text),
3028 this.token.depth,
3029 this.token.text);
3030 }
3031 case 'code': {
3032 return this.renderer.code(this.token.text,
3033 this.token.lang,
3034 this.token.escaped);
3035 }
3036 case 'table': {
3037 var header = ''
3038 , body = ''
3039 , i
3040 , row
3041 , cell
3042 , flags
3043 , j;
3044
3045 // header
3046 cell = '';
3047 for (i = 0; i < this.token.header.length; i++) {
3048 flags = { header: true, align: this.token.align[i] };
3049 cell += this.renderer.tablecell(
3050 this.inline.output(this.token.header[i]),
3051 { header: true, align: this.token.align[i] }
3052 );
3053 }
3054 header += this.renderer.tablerow(cell);
3055
3056 for (i = 0; i < this.token.cells.length; i++) {
3057 row = this.token.cells[i];
3058
3059 cell = '';
3060 for (j = 0; j < row.length; j++) {
3061 cell += this.renderer.tablecell(
3062 this.inline.output(row[j]),
3063 { header: false, align: this.token.align[j] }
3064 );
3065 }
3066
3067 body += this.renderer.tablerow(cell);
3068 }
3069 return this.renderer.table(header, body);
3070 }
3071 case 'blockquote_start': {
3072 var body = '';
3073
3074 while (this.next().type !== 'blockquote_end') {
3075 body += this.tok();
3076 }
3077
3078 return this.renderer.blockquote(body);
3079 }
3080 case 'list_start': {
3081 var body = ''
3082 , ordered = this.token.ordered;
3083
3084 while (this.next().type !== 'list_end') {
3085 body += this.tok();
3086 }
3087
3088 return this.renderer.list(body, ordered);
3089 }
3090 case 'list_item_start': {
3091 var body = '';
3092
3093 while (this.next().type !== 'list_item_end') {
3094 body += this.token.type === 'text'
3095 ? this.parseText()
3096 : this.tok();
3097 }
3098
3099 return this.renderer.listitem(body);
3100 }
3101 case 'loose_item_start': {
3102 var body = '';
3103
3104 while (this.next().type !== 'list_item_end') {
3105 body += this.tok();
3106 }
3107
3108 return this.renderer.listitem(body);
3109 }
3110 case 'html': {
3111 var html = !this.token.pre && !this.options.pedantic
3112 ? this.inline.output(this.token.text)
3113 : this.token.text;
3114 return this.renderer.html(html);
3115 }
3116 case 'paragraph': {
3117 return this.renderer.paragraph(this.inline.output(this.token.text));
3118 }
3119 case 'text': {
3120 return this.renderer.paragraph(this.parseText());
3121 }
3122 }
3123 };
3124
3125 /**
3126 * Helpers
3127 */
3128
3129 function escape(html, encode) {
3130 return html
3131 .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;')
3132 .replace(/</g, '&lt;')
3133 .replace(/>/g, '&gt;')
3134 .replace(/"/g, '&quot;')
3135 .replace(/'/g, '&#39;');
3136 }
3137
3138 function unescape(html) {
3139 return html.replace(/&([#\w]+);/g, function(_, n) {
3140 n = n.toLowerCase();
3141 if (n === 'colon') return ':';
3142 if (n.charAt(0) === '#') {
3143 return n.charAt(1) === 'x'
3144 ? String.fromCharCode(parseInt(n.substring(2), 16))
3145 : String.fromCharCode(+n.substring(1));
3146 }
3147 return '';
3148 });
3149 }
3150
3151 function replace(regex, opt) {
3152 regex = regex.source;
3153 opt = opt || '';
3154 return function self(name, val) {
3155 if (!name) return new RegExp(regex, opt);
3156 val = val.source || val;
3157 val = val.replace(/(^|[^\[])\^/g, '$1');
3158 regex = regex.replace(name, val);
3159 return self;
3160 };
3161 }
3162
3163 function noop() {}
3164 noop.exec = noop;
3165
3166 function merge(obj) {
3167 var i = 1
3168 , target
3169 , key;
3170
3171 for (; i < arguments.length; i++) {
3172 target = arguments[i];
3173 for (key in target) {
3174 if (Object.prototype.hasOwnProperty.call(target, key)) {
3175 obj[key] = target[key];
3176 }
3177 }
3178 }
3179
3180 return obj;
3181 }
3182
3183
3184 /**
3185 * Marked
3186 */
3187
3188 function marked(src, opt, callback) {
3189 if (callback || typeof opt === 'function') {
3190 if (!callback) {
3191 callback = opt;
3192 opt = null;
3193 }
3194
3195 opt = merge({}, marked.defaults, opt || {});
3196
3197 var highlight = opt.highlight
3198 , tokens
3199 , pending
3200 , i = 0;
3201
3202 try {
3203 tokens = Lexer.lex(src, opt)
3204 } catch (e) {
3205 return callback(e);
3206 }
3207
3208 pending = tokens.length;
3209
3210 var done = function() {
3211 var out, err;
3212
3213 try {
3214 out = Parser.parse(tokens, opt);
3215 } catch (e) {
3216 err = e;
3217 }
3218
3219 opt.highlight = highlight;
3220
3221 return err
3222 ? callback(err)
3223 : callback(null, out);
3224 };
3225
3226 if (!highlight || highlight.length < 3) {
3227 return done();
3228 }
3229
3230 delete opt.highlight;
3231
3232 if (!pending) return done();
3233
3234 for (; i < tokens.length; i++) {
3235 (function(token) {
3236 if (token.type !== 'code') {
3237 return --pending || done();
3238 }
3239 return highlight(token.text, token.lang, function(err, code) {
3240 if (code == null || code === token.text) {
3241 return --pending || done();
3242 }
3243 token.text = code;
3244 token.escaped = true;
3245 --pending || done();
3246 });
3247 })(tokens[i]);
3248 }
3249
3250 return;
3251 }
3252 try {
3253 if (opt) opt = merge({}, marked.defaults, opt);
3254 return Parser.parse(Lexer.lex(src, opt), opt);
3255 } catch (e) {
3256 e.message += '\nPlease report this to https://github.com/chjj/marked.';
3257 if ((opt || marked.defaults).silent) {
3258 return '<p>An error occured:</p><pre>'
3259 + escape(e.message + '', true)
3260 + '</pre>';
3261 }
3262 throw e;
3263 }
3264 }
3265
3266 /**
3267 * Options
3268 */
3269
3270 marked.options =
3271 marked.setOptions = function(opt) {
3272 merge(marked.defaults, opt);
3273 return marked;
3274 };
3275
3276 marked.defaults = {
3277 gfm: true,
3278 tables: true,
3279 breaks: false,
3280 pedantic: false,
3281 sanitize: false,
3282 smartLists: false,
3283 silent: false,
3284 highlight: null,
3285 langPrefix: 'lang-',
3286 smartypants: false,
3287 headerPrefix: '',
3288 renderer: new Renderer,
3289 xhtml: false
3290 };
3291
3292 /**
3293 * Expose
3294 */
3295
3296 marked.Parser = Parser;
3297 marked.parser = Parser.parse;
3298
3299 marked.Renderer = Renderer;
3300
3301 marked.Lexer = Lexer;
3302 marked.lexer = Lexer.lex;
3303
3304 marked.InlineLexer = InlineLexer;
3305 marked.inlineLexer = InlineLexer.output;
3306
3307 marked.parse = marked;
3308
3309 if (typeof exports === 'object') {
3310 module.exports = marked;
3311 } else if (typeof define === 'function' && define.amd) {
3312 define(function() { return marked; });
3313 } else {
3314 this.marked = marked;
3315 }
3316
3317 }).call(function() {
3318 return this || (typeof window !== 'undefined' ? window : global);
3319 }());
3320 </script>
3321
3322
3323 <!--
3324 Element wrapper for the `marked` (http://marked.org/) library.
3325
3326 @class marked-element
3327 @blurb Element wrapper for the marked library.
3328 @status alpha
3329 @snap snap.png
3330 -->
3331 <polymer-element name="marked-element" attributes="text" assetpath="../marked-el ement/">
3332 <script>
3333
3334 Polymer('marked-element', {
3335
3336 text: '',
3337
3338 attached: function() {
3339 marked.setOptions({
3340 highlight: this.highlight.bind(this)
3341 });
3342 if (!this.text) {
3343 this.text = this.innerHTML;
3344 }
3345 },
3346
3347 textChanged: function () {
3348 this.innerHTML = marked(this.text);
3349 },
3350
3351 highlight: function(code, lang) {
3352 var event = this.fire('marked-js-highlight', {code: code, lang: lang});
3353 return event.detail.code || code;
3354 }
3355
3356 });
3357
3358 </script>
3359 </polymer-element>
3360
3361
3362 <script>var hljs=new function(){function k(v){return v.replace(/&/gm,"&amp;").re place(/</gm,"&lt;").replace(/>/gm,"&gt;")}function t(v){return v.nodeName.toLowe rCase()}function i(w,x){var v=w&&w.exec(x);return v&&v.index==0}function d(v){re turn Array.prototype.map.call(v.childNodes,function(w){if(w.nodeType==3){return b.useBR?w.nodeValue.replace(/\n/g,""):w.nodeValue}if(t(w)=="br"){return"\n"}retu rn d(w)}).join("")}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNo de.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^language-/ ,"")});return v.filter(function(x){return j(x)||x=="no-highlight"})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}retur n v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSib ling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(t(A)=="br"){z+=1}else{if(A .nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);v.push({event:"st op",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0]. offset!=y[0].offset){return(w[0].offset<y[0].offset)?w:y}return y[0].event=="sta rt"?w:y}function A(H){function G(I){return" "+I.nodeName+'="'+k(I.value)+'"'}F+= "<"+t(H)+Array.prototype.map.call(H.attributes,G).join("")+">"}function E(G){F+= "</"+t(G)+">"}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.len gth){var D=B();F+=k(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse( ).forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x); z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop ()}v(D.splice(0,1)[0])}}return F+k(C.substr(x))}function m(y){function v(z){retu rn(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":" "))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){ var z={};function E(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(functio n(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})}if(typeof D.k=="string "){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k= z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b=D.bK.split(" ").join( "|")}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w (D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i )}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if( F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c= B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(func tion(F){return F.bK?"\\.?\\b("+F.b+")\\b\\.?":F.b}).concat([D.tE]).concat([D.i]) .map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){retur n null}};D.continuation={}}x(y)}function c(S,L,J,R){function v(U,V){for(var T=0; T<V.c.length;T++){if(i(V.c[T].bR,U)){return V.c[T]}}}function z(U,T){if(i(U.eR,T )){return U}if(U.eW){return z(U.parent,T)}}function A(T,U){return !J&&i(U.iR,T)} function E(V,T){var U=M.cI?T[0].toLowerCase():T[0];return V.k.hasOwnProperty(U)& &V.k[U]}function w(Z,X,W,V){var T=V?"":b.classPrefix,U='<span class="'+T,Y=W?"": "</span>";U+=Z+'">';return U+X+Y}function N(){var U=k(C);if(!I.k){return U}var T ="";var X=0;I.lR.lastIndex=0;var V=I.lR.exec(U);while(V){T+=U.substr(X,V.index-X );var W=E(I,V);if(W){H+=W[1];T+=w(W[0],V[0])}else{T+=V[0]}X=I.lR.lastIndex;V=I.l R.exec(U)}return T+U.substr(X)}function F(){if(I.sL&&!f[I.sL]){return k(C)}var T =I.sL?c(I.sL,C,true,I.continuation.top):g(C);if(I.r>0){H+=T.r}if(I.subLanguageMo de=="continuous"){I.continuation.top=T.top}return w(T.language,T.value,false,tru e)}function Q(){return I.sL!==undefined?F():N()}function P(V,U){var T=V.cN?w(V.c N,"",true):"";if(V.rB){D+=T;C=""}else{if(V.eB){D+=k(U)+T;C=""}else{D+=T;C=U}}I=O bject.create(V,{parent:{value:I}})}function G(T,X){C+=T;if(X===undefined){D+=Q() ;return 0}var V=v(X,I);if(V){D+=Q();P(V,X);return V.rB?0:X.length}var W=z(I,X);i f(W){var U=I;if(!(U.rE||U.eE)){C+=X}D+=Q();do{if(I.cN){D+="</span>"}H+=I.r;I=I.p arent}while(I!=W.parent);if(U.eE){D+=k(X)}C="";if(W.starts){P(W.starts,"")}retur n U.rE?0:X.length}if(A(X,I)){throw new Error('Illegal lexeme "'+X+'" for mode "' +(I.cN||"<unnamed>")+'"')}C+=X;return X.length||1}var M=j(S);if(!M){throw new Er ror('Unknown language: "'+S+'"')}m(M);var I=R||M;var D="";for(var K=I;K!=M;K=K.p arent){if(K.cN){D=w(K.cN,D,true)}}var C="";var H=0;try{var B,y,x=0;while(true){I .t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.in dex+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+="</span>"}}ret urn{r:H,value:D,language:S,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){ return{r:0,value:k(L)}}else{throw O}}}function g(y,x){x=x||b.languages||Object.k eys(f);var v={r:0,value:k(y)};var w=v;x.forEach(function(z){if(!j(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.languag e){v.second_best=w}return v}function h(v){if(b.tabReplace){v=v.replace(/^((<[^>] +>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR) {v=v.replace(/\n/g,"<br>")}return v}function p(z){var y=d(z);var A=r(z);if(A=="n o-highlight"){return}var v=A?c(A,y,true):g(y);var w=u(z);if(w.length){var x=docu ment.createElementNS("http://www.w3.org/1999/xhtml","pre");x.innerHTML=v.value;v .value=q(w,u(x),y)}v.value=h(v.value);z.innerHTML=v.value;z.className+=" hljs "+ (!A&&v.language||"");z.result={language:v.language,re:v.r};if(v.second_best){z.s econd_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPre fix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b ,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorA ll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener(" DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};fu nction e(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y ]=v})}}function j(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=g; this.fixMarkup=h;this.highlightBlock=p;this.configure=s;this.initHighlighting=l; this.initHighlightingOnLoad=a;this.registerLanguage=e;this.getLanguage=j;this.in herit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.N R="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+ )([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*| \\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[| \\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN: "string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\ \n",c:[this.BE]};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment" ,b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:t his.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.B NR,r:0};this.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/ \[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"t itle",b:this.UIR,r:0}}();hljs.registerLanguage("scilab",function(a){var b=[a.CNM ,{cN:"string",b:"'|\"",e:"'|\"",c:[a.BE,{b:"''"}]}];return{k:{keyword:"abort bre ak case clear catch continue do elseif else endfunction end for functionglobal i f pause return resume select try then while%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumpr od deff disp errorexec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isemptyisinfisnan isvector lasterror length load linspace list listf iles log10 log2 logmax min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand realround sinh sin size gsort sprintf sqrt strcat strcmps tring s um system tanh tantype typename warning zeros matrix"},i:'("|#|/\\*|\\s+/\\w+)', c:[{cN:"function",bK:"function endfunction",e:"$",k:"function endfunction|10",c: [a.UTM,{cN:"params",b:"\\(",e:"\\)"},],},{cN:"transposed_variable",b:"[a-zA-Z_][ a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*" ,r:0,c:b},{cN:"comment",b:"//",e:"$"}].concat(b)}});hljs.registerLanguage("xml", function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"ph p",subLanguageMode:"continuous"};var b={eW:true,i:/</,r:0,c:[d,{cN:"attribute",b :c,r:0},{b:"=",r:0,c:[{cN:"value",v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/} ]}]}]};return{aliases:["html"],cI:true,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10 ,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\! \\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"s tyle"},c:[b],starts:{e:"</style>",rE:true,sL:"css"}},{cN:"tag",b:"<script(?=\\s| >|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascri pt"}},{b:"<%",e:"%>",sL:"vbscript"},d,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag ",b:"</?",e:"/?>",c:[{cN:"title",b:"[^ /><]+",r:0},b]}]}});hljs.registerLanguage ("asciidoc",function(a){return{c:[{cN:"comment",b:"^/{4,}\\n",e:"\\n/{4,}$",r:10 },{cN:"comment",b:"^//",e:"$",r:0},{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\ n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"header",b:"^(={1,5}) .+?( \\1)?$",r:10},{cN:"h eader",b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$",r:10},{cN:"attribute",b:"^:.+?:" ,e:"\\s",eE:true,r:10},{cN:"attribute",b:"^\\[.+?\\]$",r:0},{cN:"blockquote",b:" ^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4, }$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10}, {cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"label",b:"^(NOTE|TIP|IMP ORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{ 2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|') ",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0} ,{cN:"smartquote",b:"``.+?''",r:10},{cN:"smartquote",b:"`.+?'",r:10},{cN:"code", b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{cN:"horizontal_rul e",b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\ [.*?\\]",rB:true,c:[{b:"(link|image:?):",r:0},{cN:"link_url",b:"\\w",e:"[^\\[]+" ,r:0},{cN:"link_label",b:"\\[",e:"\\]",eB:true,eE:true,r:0}],r:10}]}});hljs.regi sterLanguage("coffeescript",function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",lite ral:"true false null undefined yes no on off",reserved:"case default function va r void with const let enum export import native __hasProp __extends __slice __bi nd __indexOf",built_in:"npm require console print module exports global window d ocument"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var f=c.inherit(c.TM,{b:a});var e={cN :"subst",b:/#\{/,e:/}/,k:b};var d=[c.BNM,c.inherit(c.CNM,{starts:{e:"(\\s*/)?",r :0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[c.BE]},{b:/'/,e:/'/,c:[c.BE]},{b:/"""/ ,e:/"""/,c:[c.BE,e]},{b:/"/,e:/"/,c:[c.BE,e]}]},{cN:"regexp",v:[{b:"///",e:"///" ,c:[e,c.HCM]},{b:"//[gim]*",r:0},{b:"/\\S(\\\\.|[^\\n])*?/[gim]*(?=\\s|\\W|$)"}] },{cN:"property",b:"@"+a},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"}];e.c=d;r eturn{k:b,c:d.concat([{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"function",b:"("+ a+"\\s*=\\s*)?(\\(.*\\))?\\s*\\B[-=]>",e:"[-=]>",rB:true,c:[f,{cN:"params",b:"\\ (",rB:true,c:[{b:/\(/,e:/\)/,k:b,c:["self"].concat(d)}]}]},{cN:"class",bK:"class ",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:true,i:/[:="\[\]]/,c:[f]},f]},{cN:"att ribute",b:a+":",e:":",rB:true,eE:true,r:0}])}});hljs.registerLanguage("fix",func tion(a){return{c:[{b:/[^\u2401\u0001]+/,e:/[\u2401\u0001]/,eE:true,rB:true,rE:fa lse,c:[{b:/([^\u2401\u0001=]+)/,e:/=([^\u2401\u0001=]+)/,rE:true,rB:false,cN:"at tribute"},{b:/=/,e:/([\u2401\u0001])/,eE:true,eB:true,cN:"string"}]}],cI:true}}) ;hljs.registerLanguage("mel",function(a){return{k:"int float string vector matri x if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP add PanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimCons traint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit amb ientLight angle angleBetween animCone animCurveEditor animDisplay animView annot ate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVert exCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPutty Ctx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSlid erGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attri buteExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bak eClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename ba senameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendS hape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice bou ndary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu but ton buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack cam era cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil chan geSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterM ap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRe nderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore close Curve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldRe porter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEdi tor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLay out commandEcho commandLine commandPort compactHairSystem componentEditor compos itingInterop computePolysetVolume condition cone confirmDialog connectAttr conne ctControl connectDynamic connectJoint connectionInfo constrain constrainValue co nstructionHistory container containsMultibyte contextInfo control convertFromOld Layers convertIffToPsd convertLightmap convertSolidTx convertTessellation conver tUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothS et cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel c pProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSol verTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor c reateLayeredPsdFile createMotionField createNewShelf createNode createRenderLaye r createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTr averse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx cur veCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface c urveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox d efaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnused Brushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devic ePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirma p dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly di splayAffected displayColor displayCull displayLevelOfDetail displayPref displayR GBColor displaySmoothness displayStats displayString displaySurface distanceDimC ontext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct do ubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator dupl icate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpressio n dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dy namicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRen derLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTe mplate effector emit emitter enableDevice encodeString endString endsWith env eq uivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoun dingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression e xpressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflus h fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo fil etest filletCurve filter filterCurve filterExpand filterStudioImport findAllInte rsections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCa cheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout f ormat fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamm a gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassificatio n getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl g radientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualM ap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttracto r HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel h eadsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox ho tkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton icon TextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList icon TextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandl eCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertK notSurface instance instanceable instancer intField intFieldGrp intScrollBar int Slider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConn ected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isV alidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterTy pe joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyfram e keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyfr ameRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRe gionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegio nTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchIm ageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog l ightList lightListEditor lightListPanel lightlink lineIntersection linearPrecisi on linstep listAnimatable listAttr listCameras listConnections listDeviceAttachm ents listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices lis tMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTra nsforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPlugin LanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longName Of lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive ma kePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manip MoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleCon text manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor m enuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJo int modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoF K moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle n ameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeI conButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint norm alize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect n urbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbs UVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType obj ectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface o ffsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orb it orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paint EffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHi story paramDimContext paramDimension paramLocator parent parentConstraint partic le particleExists particleInstancer particleRenderInfo partition pasteKey pathAn imation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixe lMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInf o pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrix Mult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend p olyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAver ageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyC acheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorS et polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet poly CreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjectio n polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEd ge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet poly ExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyI nfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMa pDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet pol yMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveF acet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex po lyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection po lyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPy ramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint pol ySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToF aceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere pol ySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySpli tVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propM odCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile pu tenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp ra dioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles rand state rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh re freshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstanc e removePanelCategory rename renameAttr renameSelectionList renameUI render rend erGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProc ess renderLayerUnparent renderManip renderPartition renderQualityNode renderSett ings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCa mera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_t o_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu save PrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scal eComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf s criptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray s eed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx se lectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNo des selectionConnection separator setAttr setAttrEnumResource setAttrMapping set AttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenK eyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInp utDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr se tPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeo metryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare sh elfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign sim plify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoo thCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCt x snapshot soft softMod softModCtx sort sound soundControl source spaceLocator s phere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squar eSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stit chSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains str ingArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stri ngArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoPro jection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdLi stComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror sub dToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoo thness substitute substituteAllString substituteGeometry substring surface surfa ceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolChe ckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext tex ManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleConte xt texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx te xt textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textu reWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath t oggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus to upper trace track trackCtx transferAttributes transformCompare transformLimits t ranslator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbu lence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE use rCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera view ClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volume Axis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPr ef wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList x form",i:"</",c:[a.CNM,a.ASM,a.QSM,{cN:"string",b:"`",e:"`",c:[a.BE]},{cN:"variab le",v:[{b:"\\$\\d"},{b:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},{b :"\\*(\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)",r:0}]},a.CLCM,a.CBLCLM]}});hljs.r egisterLanguage("objectivec",function(a){var d={keyword:"int float while char ex port sizeof typedef const struct for union unsigned long volatile static bool mu table if do return goto void enum else break extern asm case short default doubl e register explicit signed typename this switch continue wchar_t inline readonly assign self synchronized id nonatomic super unichar IBOutlet IBAction strong we ak @private @protected @public @try @property @end @throw @catch @finally @synth esize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UI TextView UIWebView MKMapView UISegmentedControl NSObject UITableViewDelegate UIT ableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonIt em UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSiz e UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNu mber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollV iew UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NS NotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NST imeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NS URLRequest NSURLConnection UIInterfaceOrientation MPMoviePlayerController dispat ch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};var c=/[ a-zA-Z@][a-zA-Z0-9_]*/;var b="@interface @class @protocol @implementation";retur n{k:d,l:c,i:"</",c:[a.CLCM,a.CBLCLM,a.CNM,a.QSM,{cN:"string",b:"'",e:"[^\\\\]'", i:"[^\\\\][^']"},{cN:"preprocessor",b:"#import",e:"$",c:[{cN:"title",b:'"',e:'"' },{cN:"title",b:"<",e:">"}]},{cN:"preprocessor",b:"#",e:"$"},{cN:"class",b:"("+b .split(" ").join("|")+")\\b",e:"({|$)",k:b,l:c,c:[a.UTM]},{cN:"variable",b:"\\." +a.UIR,r:0}]}});hljs.registerLanguage("apache",function(a){var b={cN:"number",b: "[\\$%]\\d+"};return{cI:true,c:[a.HCM,{cN:"tag",b:"</?",e:">"},{cN:"keyword",b:/ \w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecon d documentroot sethandler errordocument loadmodule options header listen serverr oot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b :"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,a.QSM]} }],i:/\S/}});hljs.registerLanguage("livecodeserver",function(a){var e={cN:"varia ble",b:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",r:0};var b={cN:"comment", e:"$",v:[a.CBLCLM,a.HCM,{b:"--",},{b:"[^:]//",}]};var d=a.inherit(a.TM,{v:[{b:"\ \b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{b:"\\b_[a-z0-9\\-]+"}]});var c=a.inherit(a.TM,{ b:"\\b([A-Za-z0-9_\\-]+)\\b"});return{cI:false,k:{keyword:"after byte bytes engl ish the until http forever descending using line real8 with seventh for stdout f inally element word fourth before black ninth sixth characters chars stderr uInt 1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middl e mid at else of catch then third it file milliseconds seconds second secs sec i nt1 int1s int4 int4s internet int2 int2s normal text item last long detailed eff ective uInt4 uInt4s repeat end repeat URL in try into switch to words https toke n binfile each tenth as ticks tick system real4 by dateItems without char charac ter ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if",constant:"SIX TEN FORMFEED NINE ZERO NONE SPA CE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nin e zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVER SION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_ READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",operator:"div mod wr ap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",built_in:"put abs acos aliasReference annuity arrayDec ode arrayEncode asin atan atan2 average avg base64Decode base64Encode baseConver t binaryDecode binaryEncode byteToNum cachedURL cachedURLs charToNum cipherNames commandNames compound compress constantNames cos date dateFormat decompress dir ectories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents fold ers format functionNames global globals hasMemory hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLEr rorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeader s libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond millise conds min monthNames num number numToByte numToChar offset open openfiles openPr ocesses openProcessIDs openSockets paramCount param params peerAddress pendingMe ssages platform processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRec ordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLength s revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDat abaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDa tabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_column bynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnna mes revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connect ionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefi rst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist rev db_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumbe rOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlo b revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttr ibute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildName s revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXM LNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_Cr eateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_Execute revXMLRPC_GetH ost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_GetParamCount re vXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSo cket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerate Items revZipOpenArchives round sec secs seconds sha1Digest shell shortFilePath s in specialFolderPath sqrt standardDeviation statRound stdDev sum sysError system Version tan tempName tick ticks time to toLower toUpper transpose trunc uniDecod e uniEncode upper URLDecode URLEncode URLStatus value variableNames version wait Depth weekdayNames wordOffset add breakpoint cancel clear local variable file wo rd line folder directory URL close socket process combine constant convert creat e new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadT oFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetA ll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSet FTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback loa d multiply socket process post seek rel relative read from process rename replac e require resetAll revAddXMLNode revAppendXML revCloseCursor revCloseDatabase re vCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDele teXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsert XMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextReco rd revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revR ollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam r evXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXML RPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod r evXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedIt emWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToF ile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZi pReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort s plit subtract union unload wait write"},c:[e,{cN:"keyword",b:"\\bend\\sif\\b"},{ cN:"function",bK:"function",e:"$",c:[e,c,a.ASM,a.QSM,a.BNM,a.CNM,d]},{cN:"functi on",bK:"end",e:"$",c:[c,d]},{cN:"command",bK:"command on",e:"$",c:[e,c,a.ASM,a.Q SM,a.BNM,a.CNM,d]},{cN:"command",bK:"end",e:"$",c:[c,d]},{cN:"preprocessor",b:"< \\?rev|<\\?lc|<\\?livecode",r:10},{cN:"preprocessor",b:"<\\?"},{cN:"preprocessor ",b:"\\?>"},b,a.ASM,a.QSM,a.BNM,a.CNM,d],i:";$|^\\[|^="}});hljs.registerLanguage ("glsl",function(a){return{k:{keyword:"atomic_uint attribute bool break bvec2 bv ec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dm at2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do dou ble dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage 2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer i imageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS im age2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout i nt invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isampler CubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 ma t3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sa mpler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2 DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuff er samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DM S uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usampler CubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly ",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMat erial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogC oord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_Front Color gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMate rial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_Max ClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombined AtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOu tputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCoun terBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragme ntInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors g l_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryIma geUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGe ometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputCo mponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxI mageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexel Offset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_ MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOu tputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputCo mponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuf fers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_Max TessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEva luationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLeve l gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTe xtureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_M axVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_M axVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_Min ProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatri xInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_Mo delViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_M odelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTe xCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_Ob jectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Po int gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_Pr ojectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl _ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePo sition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_Tex Coord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTransp ose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVer tex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bi tfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB flo atBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicEx change imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imag eStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset int erpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanE qual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 no ise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 pack Snorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract ro und roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2 DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh te xelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1D ProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3 DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather tex tureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod t extureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSiz e transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpack Half2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorro w gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},i:'"',c:[a.CLC M,a.CBLCLM,a.CNM,{cN:"preprocessor",b:"#",e:"$"}]}});hljs.registerLanguage("lass o",function(d){var b="[a-zA-Z_][a-zA-Z0-9_.]*";var i="<\\?(lasso(script)?|=)";va r c="\\]|\\?>";var g={literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decima l duration integer map pair string tag xml null bytes list queue set stack stati carray tie local var variable global data self inherited",keyword:"error_code er ror_msg error_pop error_push error_reset cache database_names database_schemanam es database_tablenames define_tag define_type email_batch encode_set html_commen t handle handle_error header if inline iterate ljax_target link link_currentacti on link_currentgroup link_currentrecord link_detail link_firstgroup link_firstre cord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgrou p link_prevrecord log loop namespace_using output_none portal private protect re cords referer referrer repeating resultset rows search_args search_arguments sel ect sort_args sort_arguments thread_atomic value_list while abort case else if_e mpty if_false if_null if_true loop_abort loop_continue loop_count params params_ up return return_value run_children soap_definetag soap_lastrequest soap_lastres ponse tag_name ascending average by define descending do equals frozen group han dle_failure import in into join let match max min on order parent protected prov ide public require returnhome skip split_thread sum take thread to trait type wh ere with yield yieldhome"};var a={cN:"comment",b:"<!--",e:"-->",r:0};var j={cN:" preprocessor",b:"\\[noprocess\\]",starts:{cN:"markup",e:"\\[/noprocess\\]",rE:tr ue,c:[a]}};var e={cN:"preprocessor",b:"\\[/noprocess|"+i};var h={cN:"variable",b :"'"+b+"'"};var f=[d.CLCM,{cN:"javadoc",b:"/\\*\\*!",e:"\\*/"},d.CBLCLM,d.inheri t(d.CNM,{b:d.CNR+"|-?(infinity|nan)\\b"}),d.inherit(d.ASM,{i:null}),d.inherit(d. QSM,{i:null}),{cN:"string",b:"`",e:"`"},{cN:"variable",v:[{b:"[#$]"+b},{b:"#",e: "\\d+",i:"\\W"}]},{cN:"tag",b:"::\\s*",e:b,i:"\\W"},{cN:"attribute",b:"\\.\\.\\. |-"+d.UIR},{cN:"subst",v:[{b:"->\\s*",c:[h]},{b:":=|/(?!\\w)=?|[-+*%=<>&|!?\\\\] +",r:0}]},{cN:"built_in",b:"\\.\\.?",r:0,c:[h]},{cN:"class",bK:"define",rE:true, e:"\\(|=>",c:[d.inherit(d.TM,{b:d.UIR+"(=(?!>))?"})]}];return{aliases:["ls","las soscript"],cI:true,l:b+"|&[lg]t;",k:g,c:[{cN:"preprocessor",b:c,r:0,starts:{cN:" markup",e:"\\[|"+i,rE:true,r:0,c:[a]}},j,e,{cN:"preprocessor",b:"\\[no_square_br ackets",starts:{e:"\\[/no_square_brackets\\]",l:b+"|&[lg]t;",k:g,c:[{cN:"preproc essor",b:c,r:0,starts:{cN:"markup",e:i,rE:true,c:[a]}},j,e].concat(f)}},{cN:"pre processor",b:"\\[",r:0},{cN:"shebang",b:"^#!.+lasso9\\b",r:10}].concat(f)}});hlj s.registerLanguage("mathematica",function(a){return{aliases:["mma"],l:"(\\$|\\b) "+a.IR+"\\b",k:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDas hing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness Absolu teTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDela y ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle Ac yclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix Adj ustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After A iryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ Alg ebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolyn omial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics Algebrai cUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroup Close AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScr iptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDi rection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity Ann uityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceEl ements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCs ch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax Ar gMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess A rray ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayResh ape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRat ioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTa skObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAct ion AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpac ings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMul tiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes Autoru nSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords A xes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Backgrou nd BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilt er BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow Bartlet tWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLem arieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket Beg inFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution B eniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution Ber noulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess Bernst einBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZe ro Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistributi on BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve Bezie rCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierF unction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryRead List BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProces s BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImporta nce BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr B itSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNutta llWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Bl ock BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFu nction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinte rms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribut ion Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins B oxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra Bra cketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheT est BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve 3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSpl ineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge Bu sinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox Butt onBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandab le ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNot ebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrderin g C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDista nce Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD Cardin alBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation C DFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracke tOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpress ion CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog Cel lEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrame Color CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroup Data CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel Cel lLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject Ce llOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGener atingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncod ing CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial Chara cterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction Ch artElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT Chebys hevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptio ns ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDis tribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear Clea rAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNote book ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseConto urIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArray s CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colo n ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuan tize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter Col orSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidt hs CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBound aryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Compleme nt CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex C omplexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundE xpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProc ess Compress CompressedData Condition ConditionalExpression Conditioned Cone Con eBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congr uent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents Connec tedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePr int Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPaddin g ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction Con tinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ Co ntinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics Con tourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours Conto urShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecom position ControllableModelQ ControllerDuration ControllerInformation ControllerI nformationData ControllerLinking ControllerManipulate ControllerMethod Controlle rPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript Con vertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 Coo rdinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformD ata CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTa g CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance C orrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWi ndow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncremen ts CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance Covari anceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProc ess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDir ectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePaletteP acket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImporta nce CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatri x Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomi al Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashin g DataCompression DataDistribution DataRange DataReversed Date DateDelimiters Da teDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern Date Plus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution Da wsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound De BruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle Def aultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultF ont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFra meStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType Def aultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage De faultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions Defau ltOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType De faultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues De fer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition D egree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverse Lexicographic Deinitialization Del Deletable Delete DeleteBorderComponents Delet eCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallCom ponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime Delimite rMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot De pendentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilte r DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebo ok DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilari ty DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRoo tReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce Differ entiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ Dih edralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges D irectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory Direc toryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve Dirichle tDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintP acket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTra nsform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains Discr eteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistributi on DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform Discrete WaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch Dispe rsionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImag ePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePac ket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariabl e DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest D istributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSS tring Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow Doubl eLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeft RightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow Do ubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar Dow nArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVecto rBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee Do wnTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation D ynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent Dynami cModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting Dynam icUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E Eccentric ityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeCol or EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDet ect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeL ist EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyl e EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings Edit Distance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenve ctors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp Ellip ticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ El lipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound E mphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintP acket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket End OfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPac ket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions E rrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianG raphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell Eval uationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor Evalu ationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ Ev entData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWin dow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDe nominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction Expone ntialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMov ingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export Exp ortAutoReplacements ExportPacket ExportString Expression ExpressionCell Expressi onPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers Ext entSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive Extrem eValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Facto rial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms Fact orTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPa cket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileB yteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileName s FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve Fille dCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond Financ ialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindCl ique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdg eCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFu nction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsom orphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndep endentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKCl ub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFl ow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue Find Permutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover Fin dVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGro upData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 Fisc herGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistri bution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flat ten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontP roperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontV ariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConv ert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Four ier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransfor m FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix Fouri erMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoef ficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions Fr actionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDi stribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday Frobeniu sNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFract ion FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventAct ions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString Fron tEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVers ion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGr aphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation Fu nctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMar gins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction Gaug eFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter Ga ussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General Generalized LinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFu nction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicC losing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyDa ta GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess Geome tricDistribution GeometricMean GeometricMeanFilter GeometricTransformation Geome tricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformat ionBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionX YZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePack et GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebre akInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher Global ClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzM akehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradien t GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjoi ntUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphH ighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics 3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions Graph icsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBo xOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsD ata GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3 DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHi ghlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLa yout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPr opertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle Grap hUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers Gr idBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridC reationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMa rgins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCent ralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements Gr oupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChai n Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribut ion HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatr ix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean Har monicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head Head Compose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart He lpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition Her miteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexa hedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph Highlight Image HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram His togram3D HistogramDistribution HistogramList HistogramTransform HistogramTransfo rmInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDT est Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern Hol dRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm Horizonta lGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDist ribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta Hyperbo licDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hyper geometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Reg ularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistributi on HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink Hype rlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Ima ge3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspec tRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels Image Clip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners I mageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket Image Deconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffe ct ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter Im ageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspect iveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize Im ageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSize Action ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies I mport ImportAutoReplacements ImportString ImprovementImportance In IncidenceGrap h IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension Includ ePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFra ction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality Inexa ctNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initi alization InitializationCell InitializationCellEvaluation InitializationCellWarn ing InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint I nput InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBo x InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook Inp utPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormP acket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptio ns InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigit s IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction Interpolating Polynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPre cision Interpretation InterpretationBox InterpretationBoxOptions InterpretationF unction InterpretTemplate InterquartileRange Interrupt InterruptSettings Interse ction Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse Invers eBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWavele tTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform Invers eFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions In verseGammaDistribution InverseGammaRegularized InverseGaussianDistribution Inver seGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTr ansform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction In verseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleA pplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGra phQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS Jacobi DC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD Jacobi SN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 J arqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox Join Form JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree K atzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei Kelvin Ker KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObje ct Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTou rGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDe composition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language La nguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter La placianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData L atticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInfor mation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftAr row LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVe ctorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTr iangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUp Vector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended Legend Function LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize L egendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessE qualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCh aracter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunction Load LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightG reen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple Light Red LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositionin gTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransfor m LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearS olve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart L ineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction Lin eIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity Lin eSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCre ate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnima te ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlo t ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpo lation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLog Plot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxO ptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStre amDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorP lot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoeffic ient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoC reate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox L ocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma Log GammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit L ogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDist ribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqu al Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequenceP ositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback Loo pFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize Lowpass Filter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUB ackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsG roupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPage Setup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority Mak eBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Mani pulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAPr ocess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity Matc hLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC Mathieu CharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPri me MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM 24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm Ma trixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend Max Detect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxI terations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion M axStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistri bution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShif tFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution M emberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEval uator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences M esh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageL ist MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaChara cters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min Mi nDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRe cursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDa taMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Mo dal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentC onvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList Monom ialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPo ints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph Morphol ogicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance Mous eAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAvera ge MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterI talics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution Mu ltinormalDistribution MultiplicativeOrder Multiplicity Multiselection Multivaria teHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistri bution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBer noulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndP ackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Ne gative NegativeBinomialDistribution NegativeMultinomialDistribution Neighborhood Graph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWh ile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPri mitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGri dLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVar iables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMulti ply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPosit ive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize Normali zedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCup Cap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose N otebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate Not ebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject Noteboo kGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookIn formation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen Not ebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnOb ject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSav eAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu Noteboo kWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterF ullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde N otHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEq ual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlan tEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPre cedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTria ngle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEq ual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceed s NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSuperse tEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NPr obability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant Numbe rFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives N umberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm Numb erFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSe parator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindo w NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatri x ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupO N OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerVi ew OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSetti ngs OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox Opti onValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputContr ollabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGroupi ng OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit Outp utStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox Overl ayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRigh t PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters Page HeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart P airedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook Pal ettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled Pane Selector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD Pa ragraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo Parallel Evaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct P arallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricND Solve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect Paren tDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCor relationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenW indow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCel ls PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest Pau liMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelatio nTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram Peri odogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLe ngth PermutationList PermutationListQ PermutationMax PermutationMin PermutationO rder PermutationPower PermutationProduct PermutationReplace Permutations Permuta tionSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGra ph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piece wise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoti ng PixelConstrained PixelValue PixelValuePositions Placed Placeholder Placeholde rReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange Plo tRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer P odStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLege nd PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess Poisso nWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMa rkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD Polyn omialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainde r PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupM enuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ Po ssibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod Powe rModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Pre cedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde P recision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPat h Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraph Distribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ Pri meQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print Pri ntAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStar tingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism Pris mBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOpti ons PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability Proba bilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitMode lFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessState Domain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicato r ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect P rotected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidB ox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity Q uantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueuePropertie s Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBo xOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon R amanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice Ra ndomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutati on RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProces s Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raste r3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize Raste rSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBo xes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real R ealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists Recor dSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleC hart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox Re ferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix R eflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold Reli abilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsync hronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemovePrope rty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions Re newalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue Repl aceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacke t ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnEx pressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse Rever seBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph Rever seUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistri bution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right Right Arrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVec tor RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector Rig htTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVecto r RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImpor tance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant R ootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBox Options RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row R owAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce Ro wsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleFo rm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions R ussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSo undList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete Save Definitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOr igin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix Sca lingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject Sc heduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnviro nment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMulti pliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution Sect ionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Sele ct Selectable SelectComponents SelectedCells SelectedNotebook Selection Selectio nAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle Selecti onCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCel l SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlacehold er SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicCom ponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold Se quenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetA lphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNoteb ookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNo tebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPo sition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetV alue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoSt yles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisi bleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxF orm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay S hrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest S ignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ S implify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics S ingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransfo rm SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Sl ider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideVie w Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWaterma nSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKerne lDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbo ve SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningC haracters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPack et SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity Spellin gCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions Spelli ngSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY Spherical HankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion Sp heroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime Sphero idalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime S pheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegr ee SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOpti ons Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR Squa reSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion Square Wave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardFor m Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingS tepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimension s StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpa ceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacket Transform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor Sti eltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataV ariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling Stre amDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamS tyle String StringBreak StringByteCount StringCases StringCount StringDrop Strin gExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLe ngth StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringR eplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton Strin gSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapper Boxes StrokeForm StructuralImportance StructuredArray StructuredSelection Struve H StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOp tions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing Styl eNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph S ubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresu ltants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtr act SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTil de SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscri pt SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd Su rdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction Surviv alModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchL egend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricM atrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray Symmet rizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax Synt axForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput Sys temException SystemHelpPath SystemInformation SystemInformationData SystemOpen S ystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete S ystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsMod elLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignment s TableDepth TableDirections TableForm TableHeadings TableSpacing TableView Tabl eViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagB oxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tal ly Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank T ensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBo x TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlig nment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextF orm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRender ing TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefo re ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Threa d ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times Times By TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeM odel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpress ion ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransf orm TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariation Filter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan Tra ckedSymbols TradingChart TraditionalForm TraditionalFunctionNotation Traditional Notation TraditionalOrder TransferFunctionCancel TransferFunctionExpand Transfer FunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTrans form TransferFunctionZeros TransformationFunction TransformationFunctions Transf ormationMatrix TransformedDistribution TransformedField Translate TranslationTra nsform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendSt yle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorLis t Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution Tsal lisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCu rveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBox Options Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMach ine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Undero verscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBo x UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ Undocume ntedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated Un iformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Unio n UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitS implify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unse t UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update U pdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow U pEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsamp le UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronou s URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get Validat ionLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables V ariance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribut ion VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling Vect orDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vecto rs VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber V ertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCo ordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilari ty VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete Vert exDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunctio n VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTex tureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge Ver ticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix View Point ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical Virtu alGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll W aitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometri cDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest Watts StrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImag ePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyC onnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistri bution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPri me WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatr ix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which Wh ile White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter Wien erProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSele ct WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins W indowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitl e WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuan tity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch Word Separators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xno r Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Ze ta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $Activ ationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrderi ng $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTar get $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSettin g $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $De faultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $ DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $For matType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $H TTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $I nputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirec tory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $Lau nchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $L icenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $Loa dedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $Machi neID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseP rocesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Mess ages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumbe r $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $Operating System $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $Par entLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $P erformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRea d $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductIn formation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirector y $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $ SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $Syn chronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $Sy stemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUn it $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $Tr acePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirec tory $UserName $Version $VersionNumber",c:[{cN:"comment",b:/\(\*/,e:/\*\)/},a.AS M,a.QSM,a.CNM,{cN:"list",b:/\{/,e:/\}/,i:/:/}]}});hljs.registerLanguage("tex",fu nction(a){var d={cN:"command",b:"\\\\[a-zA-Zа-яА-я]+[\\*]?"};var c={cN:"command" ,b:"\\\\[^a-zA-Zа-яА-я0-9]"};var b={cN:"special",b:"[{}\\[\\]\\&#~]",r:0};return {c:[{b:"\\\\[a-zA-Zа-яА-я]+[\\*]? *= *-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em) ?",rB:true,c:[d,c,{cN:"number",b:" *=",e:"-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex |em)?",eB:true}],r:10},d,c,b,{cN:"formula",b:"\\$\\$",e:"\\$\\$",c:[d,c,b],r:0}, {cN:"formula",b:"\\$",e:"\\$",c:[d,c,b],r:0},{cN:"comment",b:"%",e:"$",r:0}]}}); hljs.registerLanguage("cs",function(b){var a="abstract as base bool break byte c ase catch char checked const continue decimal default delegate do double else en um event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override par ams private protected public readonly ref return sbyte sealed short sizeof stack alloc static string struct switch this throw true try typeof uint ulong unchecke d unsafe ushort using virtual volatile void while async await ascending descendi ng from get group into join let orderby partial select set value var where yield ";return{k:a,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"///|<! --|-->"},{cN:"xmlDocTag",b:"</?",e:">"}]},b.CLCM,b.CBLCLM,{cN:"preprocessor",b:" #",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},b.ASM,b.QSM,b.CNM,{bK: "protected public private internal",e:/[{;=]/,k:a,c:[{bK:"class namespace interf ace",starts:{c:[b.TM]}},{b:b.IR+"\\s*\\(",rB:true,c:[b.TM]}]}]}});hljs.registerL anguage("css",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*";var c={cN:"function",b :b+"\\(",e:"\\)",c:["self",a.NM,a.ASM,a.QSM]};return{cI:true,i:"[=/|']",c:[a.CBL CLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:" attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\ (\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face pag e"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:true,eE:tr ue,r:0,c:[c,a.ASM,a.QSM,a.NM]}]},{cN:"tag",b:b,r:0},{cN:"rules",b:"{",e:"}",i:"[ ^\\s]",r:0,c:[a.CBLCLM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attri bute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE :true,c:[c,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"impo rtant",b:"!important"}]}}]}]}]}});hljs.registerLanguage("python",function(a){var f={cN:"prompt",b:/^(>>>|\.\.\.) /};var b={cN:"string",c:[a.BE],v:[{b:/(u|b)?r?' ''/,e:/'''/,c:[f],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[f],r:10},{b:/(u|r|ur)'/,e:/' /,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/,},{b:/(b|br)"/,e:/"/,},a.A SM,a.QSM]};var d={cN:"number",r:0,v:[{b:a.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ] ?"},{b:a.CNR+"[lLjJ]?"}]};var e={cN:"params",b:/\(/,e:/\)/,c:["self",f,d,b]};var c={e:/:/,i:/[${=;\n]/,c:[a.UTM,e]};return{k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not wi th class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[f,d,b,a.HCM,a.inh erit(c,{cN:"function",bK:"def",r:10}),a.inherit(c,{cN:"class",bK:"class"}),{cN:" decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("profil e",function(a){return{c:[a.CNM,{cN:"built_in",b:"{",e:"}$",eB:true,eE:true,c:[a. ASM,a.QSM],r:0},{cN:"filename",b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e: ":",eE:true},{cN:"header",b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|1 0 cumtime|10 filename",r:10},{cN:"summary",b:"function calls",e:"$",c:[a.CNM],r: 10},a.ASM,a.QSM,{cN:"function",b:"\\(",e:"\\)$",c:[a.UTM],r:0}]}});hljs.register Language("django",function(a){var b={cN:"filter",b:/\|[A-Za-z]+\:?/,k:"truncatew ords removetags linebreaksbr yesno get_digit timesince random striptags filesize format escape linebreaks length_is ljust rjust cut urlize fix_ampersands title f loatformat capfirst pprint divisibleby add make_list unordered_list urlencode ti meuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dicts ortreversed default_if_none pluralize lower join center default truncatewords_ht ml upper length phone2numeric wordwrap time addslashes slugify first escapejs fo rce_escape iriencode last safe safeseq truncatechars localize unlocalize localti me utc timezone",c:[{cN:"argument",b:/"/,e:/"/},{cN:"argument",b:/'/,e:/'/}]};re turn{cI:true,sL:"xml",subLanguageMode:"continuous",c:[{cN:"template_comment",b:/ \{%\s*comment\s*%}/,e:/\{%\s*endcomment\s*%}/},{cN:"template_comment",b:/\{#/,e: /#}/},{cN:"template_tag",b:/\{%/,e:/%}/,k:"comment endcomment load templatetag i fchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal wi dthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape en dautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_avai lable_languages get_current_language_bidi get_language_info get_language_info_li st localize endlocalize localtime endlocaltime timezone endtimezone get_current_ timezone verbatim",c:[b]},{cN:"variable",b:/\{\{/,e:/}}/,c:[b]}]}});hljs.registe rLanguage("nginx",function(c){var b={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/} /},{b:"[\\$\\@]"+c.UIR}]};var a={eW:true,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last per manent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[c.HCM,{cN:"str ing",c:[c.BE,b],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s ",eW:true,eE:true},{cN:"regexp",c:[c.BE,b],v:[{b:"\\s\\^",e:"\\s|{|;",rE:true},{ b:"~\\*?\\s+",e:"\\s|{|;",rE:true},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\ \*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\ \b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},b]};return{c:[c.HCM,{b:c.UI R+"\\s",e:";|{",rB:true,c:[c.inherit(c.UTM,{starts:a})],r:0}],i:"[^\\s\\}]"}});h ljs.registerLanguage("smalltalk",function(a){var b="[a-z][a-zA-Z0-9_]*";var d={c N:"char",b:"\\$.{1}"};var c={cN:"symbol",b:"#"+a.UIR};return{k:"self super nil t rue false thisContext",c:[{cN:"comment",b:'"',e:'"'},a.ASM,{cN:"class",b:"\\b[A- Z][A-Za-z0-9_]*",r:0},{cN:"method",b:b+":",r:0},a.CNM,c,d,{cN:"localvars",b:"\\| [ ]*"+b+"([ ]+"+b+")*[ ]*\\|",rB:true,e:/\|/,i:/\S/,c:[{b:"(\\|[ ]*)?"+b}]},{cN: "array",b:"\\#\\(",e:"\\)",c:[a.ASM,d,a.CNM,c]}]}});hljs.registerLanguage("sql", function(a){return{cI:true,i:/[<>]/,c:[{cN:"operator",b:"\\b(begin|end|start|com mit|rollback|savepoint|lock|alter|create|drop|rename|call|delete|do|handler|inse rt|load|replace|select|truncate|update|set|show|pragma|grant|merge)\\b(?!:)",e:" ;",eW:true,k:{keyword:"all partial global month current_timestamp using go revok e smallint indicator end-exec disconnect zone with character assertion to add cu rrent_user usage input local alter match collate real then rollback get read tim estamp session_user not integer bit unique day minute desc insert execute like i like|2 level decimal drop continue isolation found where constraints domain righ t national some module transaction relative second connect escape close system_u ser for deferred section cast current sqlstate allocate intersect deallocate num eric public preserve full goto initially asc no key output collation group by un ion session both last language constraint column of space foreign deferrable pri or connection unknown action commit view or first into float year primary cascad ed except restrict set references names table outer open select size are rows fr om prepare distinct leading create only next inner authorization schema correspo nding option declare precision immediate else timezone_minute external varying t ranslation true case exception join hour default double scroll value cursor desc riptor values dec fetch procedure delete and false int is describe char as at in varchar null trailing any absolute current_time end grant privileges when cross check write current_date pad begin temporary exec time update catalog user sql date on identity timezone_hour natural whenever interval work order cascade diag nostics nchar having left call do handler load replace truncate start lock show pragma exists number trigger if before after each row merge matched database",ag gregate:"count sum min max avg"},c:[{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}]}, {cN:"string",b:'"',e:'"',c:[a.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[a.BE]},a .CNM]},a.CBLCLM,{cN:"comment",b:"--",e:"$"}]}});hljs.registerLanguage("oxygene", function(b){var g="abstract add and array as asc aspect assembly async begin bre ak block by case class concat const copy constructor continue create default del egate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally fla gs for forward from function future global group has if implementation implement s implies in index inherited inline interface into invariants is iterator join l ocked locking loop matching method mod module namespace nested new nil not notif y nullable of old on operator or order out override parallel params partial pinn ed private procedure property protected public queryable raise read readonly rec ord reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit u nsafe until uses using var virtual raises volatile where while with write xor yi eld await mapped deprecated stdcall cdecl pascal register safecall overload libr ary platform reference packed strict published autoreleasepool selector strong w eak unretained";var a={cN:"comment",b:"{",e:"}",r:0};var e={cN:"comment",b:"\\(\ \*",e:"\\*\\)",r:10};var c={cN:"string",b:"'",e:"'",c:[{b:"''"}]};var d={cN:"str ing",b:"(#\\d+)+"};var f={cN:"function",bK:"function constructor destructor proc edure method",e:"[:;]",k:"function constructor|10 destructor|10 procedure|10 met hod|10",c:[b.TM,{cN:"params",b:"\\(",e:"\\)",k:g,c:[c,d]},a,e]};return{cI:true,k :g,i:'("|\\$[G-Zg-z]|\\/\\*|</)',c:[a,e,b.CLCM,c,d,b.NM,f,{cN:"class",b:"=\\bcla ss\\b",e:"end;",k:g,c:[c,d,a,e,b.CLCM,f]}]}});hljs.registerLanguage("actionscrip t",function(a){var c="[a-zA-Z_$][a-zA-Z0-9_$]*";var b="([*]|[a-zA-Z_$][a-zA-Z0-9 _$]*)";var d={cN:"rest_arg",b:"[.]{3}",e:c,r:10};return{k:{keyword:"as break cas e catch class const continue default delete do dynamic each else extends final f inally for function get if implements import in include instanceof interface int ernal is namespace native new override package private protected public return s et static super switch this throw try typeof use var void while with",literal:"t rue false null undefined"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{cN:"package",bK :"package",e:"{",c:[a.TM]},{cN:"class",bK:"class interface",e:"{",c:[{bK:"extend s implements"},a.TM]},{cN:"preprocessor",bK:"import include",e:";"},{cN:"functio n",bK:"function",e:"[{;]",i:"\\S",c:[a.TM,{cN:"params",b:"\\(",e:"\\)",c:[a.ASM, a.QSM,a.CLCM,a.CBLCLM,d]},{cN:"type",b:":",e:b,r:10}]}]}});hljs.registerLanguage ("ruleslanguage",function(a){return{k:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUT E|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUN TSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCR EATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTAT USCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDG ETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOAD ACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 IN TDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTD LOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION |5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDRE PLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE |5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 I NTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU |5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELET EEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOAD EXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADAC CTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIS T|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVER RIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVE NUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND U IDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_ NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GE TDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALU E PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATE FROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DB DATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYL ASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX H ISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVAR FROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEAS ON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONF IGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAV E_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BI TAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM F REXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SI N SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGH T RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in :"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFI LE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODE GETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEG ETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATT RIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},c:[a.CLCM,a.CBLCLM,a.ASM,a. QSM,a.CNM,{cN:"array",b:"#[a-zA-Z .]+"}]}});hljs.registerLanguage("mizar",functi on(a){return{k:["environ vocabularies notations constructors definitions registr ations theorems schemes requirements","begin end definition registration cluster existence pred func defpred deffunc theorem proof","let take assume then thus h ence ex for st holds consider reconsider such that and in provided of as from"," be being by means equals implies iff redefine define now not or attr is mode sup pose per cases set","thesis contradiction scheme reserve struct","correctness co mpatibility coherence symmetry assymetry reflexivity irreflexivity","connectedne ss uniqueness commutativity idempotence involutiveness projectivity"].join(" "), c:[{cN:"comment",b:"::",e:"$"}]}});hljs.registerLanguage("handlebars",function(b ){var a="each in with if else unless bindattr action collection debugger log out let template unbound view yield";return{cI:true,sL:"xml",subLanguageMode:"contin uous",c:[{cN:"expression",b:"{{",e:"}}",c:[{cN:"begin-block",b:"#[a-zA-Z- .]+",k :a},{cN:"string",b:'"',e:'"'},{cN:"end-block",b:"\\/[a-zA-Z- .]+",k:a},{cN:"vari able",b:"[a-zA-Z-.]+",k:a}]}]}});hljs.registerLanguage("scss",function(a){var c= "[a-zA-Z-][a-zA-Z0-9_-]*";var d={cN:"function",b:c+"\\(",e:"\\)",c:["self",a.NM, a.ASM,a.QSM]};var b={cN:"hexcolor",b:"#[0-9A-Fa-f]+"};var e={cN:"attribute",b:"[ A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[d ,b,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"important",b:"!important"}]}};return{cI:true,i :"[=/|']",c:[a.CLCM,a.CBLCLM,{cN:"function",b:c+"\\(",e:"\\)",c:["self",a.NM,a.A SM,a.QSM]},{cN:"id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"class",b:"\\.[A-Za-z0-9_-]+" ,r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"tag",b:"\\b(a|abbr|acronym |address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|ca ption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|em bed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|h group|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|me ta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|prog ress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub| sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r: 0},{cN:"pseudo",b:":(visited|valid|root|right|required|read-write|read-only|out- range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-chi ld|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in -range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabl ed|empty|disabled|default|checked|before|after|active)"},{cN:"pseudo",b:"::(afte r|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|valu e)"},{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|wido ws|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function |transition-property|transition-duration|transition-delay|transition|transform-s tyle|transform-origin|transform|top|text-underline-position|text-transform|text- shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decor ation-line|text-decoration-color|text-decoration|text-align-last|text-align|tab- size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin |perspective|page-break-inside|page-break-before|page-break-after|padding-top|pa dding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-w rap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|or phans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav- left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|mar gin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style -position|list-style-image|list-style|line-height|letter-spacing|left|justify-co ntent|initial|inherit|ime-mode|image-orientation|image-resolution|image-renderin g|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style |font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|fon t-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-f low|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|c ounter-reset|counter-increment|content|column-width|column-span|column-rule-widt h|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column- count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before| break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|borde r-top-width|border-top-style|border-top-right-radius|border-top-left-radius|bord er-top-color|border-top|border-style|border-spacing|border-right-width|border-ri ght-style|border-right-color|border-right|border-radius|border-left-width|border -left-style|border-left-color|border-left|border-image-width|border-image-source |border-image-slice|border-image-repeat|border-image-outset|border-image|border- color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-righ t-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|back ground-size|background-repeat|background-position|background-origin|background-i mage|background-color|background-clip|background-attachment|background|backface- visibility|auto|animation-timing-function|animation-play-state|animation-name|an imation-iteration-count|animation-fill-mode|animation-duration|animation-directi on|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s] "},{cN:"value",b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-id eographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick |text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize |super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize| rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|ov erline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat |no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|low er-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|ke ep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-bloc k|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideog raph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dot ted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disa bled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|cap italize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|b aseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{cN:"value",b:":" ,e:";",c:[b,a.NM,a.QSM,a.ASM,{cN:"important",b:"!important"}]},{cN:"at_rule",b:" @",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[d,a.QSM,a.ASM,b,a.NM,{cN:"prepro cessor",b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}});hljs.registerLanguage("perl",function( c){var d="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddi r qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exis ts index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink se mget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname g etgrnam study formline endhostent times chop length gethostent getnetent pack ge tprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next op en msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbynam e reset chdir grep split require caller lcfirst until warn while values shift te lldir getpwuid my getprotobynumber delete and sort uc defined srand accept packa ge seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent n o crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map s tat getlogin unless elsif truncate exec keys glob tied closedirioctl socket read link eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when";var f={cN:"s ubst",b:"[$@]\\{",e:"\\}",k:d};var g={b:"->{",e:"}"};var a={cN:"variable",v:[{b: /\$\d/},{b:/[\$\%\@\*](\^\w\b|#\w+(\:\:\w+)*|{\w+}|\w+(\:\:\w*)*)/},{b:/[\$\%\@\ *][^\s\w{]/,r:0}]};var e={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5};var h=[c.BE,f,a];var b=[a,c.HCM,e,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:true},g,{ cN:"string",c:h,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\] ",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q [qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[c.BE]},{b:' "',e:'"'},{b:"`",e:"`",c:[c.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[ ],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\. [0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+c.RSR+"|\\b(split|return|print|reverse|gr ep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[c.HCM,e,{cN:"regexp",b:" (s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:" /[a-z]*",c:[c.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"o perator",b:"-\\w\\b",r:0}];f.c=b;g.c=b;return{k:d,c:b}});hljs.registerLanguage(" ini",function(a){return{cI:true,i:/\S/,c:[{cN:"comment",b:";",e:"$"},{cN:"title" ,b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[ {cN:"value",eW:true,k:"on off true false yes no",c:[a.QSM,a.NM],r:0}]}]}});hljs. registerLanguage("erlang",function(i){var c="[a-z'][a-zA-Z0-9_']*";var o="("+c+" :"+c+"|"+c+")";var f={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun let not of orelse|10 query receive rem try when xor",literal:"false true"};var l={cN:"comment",b:"%",e:"$",r:0};var e={cN:"numb er",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0};var g={b:"fun \\s+"+c+"/\\d+"};var n={b:o+"\\(",e:"\\)",rB:true,r:0,c:[{cN:"function_name",b:o ,r:0},{b:"\\(",e:"\\)",eW:true,rE:true,r:0}]};var h={cN:"tuple",b:"{",e:"}",r:0} ;var a={cN:"variable",b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0};var m={cN:"variable",b: "[A-Z][a-zA-Z0-9_]*",r:0};var b={b:"#"+i.UIR,r:0,rB:true,c:[{cN:"record_name",b: "#"+i.UIR,r:0},{b:"{",e:"}",r:0}]};var k={bK:"fun receive if try case",e:"end",k :f};k.c=[l,g,i.inherit(i.ASM,{cN:""}),k,n,i.QSM,e,h,a,m,b];var j=[l,g,k,n,i.QSM, e,h,a,m,b];n.c[1].c=j;h.c=j;b.c[1].c=j;var d={cN:"params",b:"\\(",e:"\\)",c:j};r eturn{k:f,i:"(</|\\*=|\\+=|-=|/=|/\\*|\\*/|\\(\\*|\\*\\))",c:[{cN:"function",b:" ^"+c+"\\s*\\(",e:"->",rB:true,i:"\\(|#|//|/\\*|\\\\|:|;",c:[d,i.inherit(i.TM,{b: c})],starts:{e:";|\\.",k:f,c:j}},l,{cN:"pp",b:"^-",e:"\\.",r:0,eE:true,rB:true,l :"-"+i.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -d oc -vsn -import -include -include_lib -compile -define -else -endif -file -behav iour -behavior",c:[d]},e,i.QSM,b,a,m,h]}});hljs.registerLanguage("1c",function(b ){var f="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*";var c="возврат дата для если и или и наче иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции кон еццикла константа не перейти перем перечисление по пока попытка прервать продолж ить процедура строка тогда фс функция цикл число экспорт";var e="ansitooem oemto ansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбр анныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц заве ршитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл знач ениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв к омандасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартно гоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколич ествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначи тьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начне дели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр опис аниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу о ткрытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимя пользователя получитьвремята получитьдатута получитьдокументта получитьзначенияо тбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа пред упреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезн ачение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдоку мента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции созд атьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвоз врата стрдлина стрзаменить стрколичествострок стрполучитьстроку стрчисловхожден ий сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат це л шаблон";var a={cN:"dquote",b:'""'};var d={cN:"string",b:'"',e:'"|$',c:[a]};var g={cN:"string",b:"\\|",e:'"|$',c:[a]};return{cI:true,l:f,k:{keyword:c,built_in: e},c:[b.CLCM,b.NM,d,g,{cN:"function",b:"(процедура|функция)",e:"$",l:f,k:"процед ура функция",c:[b.inherit(b.TM,{b:f}),{cN:"tail",eW:true,c:[{cN:"params",b:"\\(" ,e:"\\)",l:f,k:"знач",c:[d,g]},{cN:"export",b:"экспорт",eW:true,l:f,k:"экспорт", c:[b.CLCM]}]},b.CLCM]},{cN:"preprocessor",b:"#",e:"$"},{cN:"date",b:"'\\d{2}\\.\ \d{2}\\.(\\d{2}|\\d{4})'"}]}});hljs.registerLanguage("haskell",function(f){var g ={cN:"comment",v:[{b:"--",e:"$"},{b:"{-",e:"-}",c:["self"]}]};var e={cN:"pragma" ,b:"{-#",e:"#-}"};var b={cN:"preprocessor",b:"^#",e:"$"};var d={cN:"type",b:"\\b [A-Z][\\w']*",r:0};var c={cN:"container",b:"\\(",e:"\\)",i:'"',c:[e,g,b,{cN:"typ e",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},f.inherit(f.TM,{b:"[_a-z][\\w']*" })]};var a={cN:"container",b:"{",e:"}",c:c.c};return{k:"let in if then else case of where do module import hiding qualified type data newtype deriving class ins tance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{cN:"module",b:"\\bmodule\\b", e:"where",k:"module where",c:[c,g],i:"\\W\\.|;"},{cN:"import",b:"\\bimport\\b",e :"$",k:"import|0 qualified as hiding",c:[c,g],i:"\\W\\.|;"},{cN:"class",b:"^(\\s *)?(class|instance)\\b",e:"where",k:"class family instance where",c:[d,c,g]},{cN :"typedef",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype derivin g",c:[e,g,d,c,a]},{cN:"default",bK:"default",e:"$",c:[d,c,g]},{cN:"infix",bK:"in fix infixl infixr",e:"$",c:[f.CNM,g]},{cN:"foreign",b:"\\bforeign\\b",e:"$",k:"f oreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[d,f.QSM, g]},{cN:"shebang",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},e,g,b,f.QSM,f.CNM,d ,f.inherit(f.TM,{b:"^[_a-z][\\w']*"}),{b:"->|<-"}]}});hljs.registerLanguage("del phi",function(b){var a="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or priva te static exit index inherited to else stdcall override shr asm far resourcestri ng finalization packed virtual out and protected library do xorwrite goto near f unction end div overload object unit begin string on inline repeat until destruc tor write message program with read initialization except default nil if case cd ecl in downto threadvar of try pascal const external constructor type public the n implementation finally published procedure";var e={cN:"comment",v:[{b:/\{/,e:/ \}/,r:0},{b:/\(\*/,e:/\*\)/,r:10}]};var c={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]} ;var d={cN:"string",b:/(#\d+)+/};var f={b:b.IR+"\\s*=\\s*class\\s*\\(",rB:true,c :[b.TM]};var g={cN:"function",bK:"function constructor destructor procedure",e:/ [:;]/,k:"function constructor|10 destructor|10 procedure|10",c:[b.TM,{cN:"params ",b:/\(/,e:/\)/,k:a,c:[c,d]},e]};return{cI:true,k:a,i:/("|\$[G-Zg-z]|\/\*|<\/)/, c:[e,b.CLCM,c,d,b.NM,f,g]}});hljs.registerLanguage("markdown",function(a){return {c:[{cN:"header",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL :"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[ *_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b: "^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{cN:"hori zontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].+?[\\)\\]]",rB:true,c: [{cN:"link_label",b:"\\[",e:"\\]",eB:true,rE:true,r:0},{cN:"link_url",b:"\\]\\(" ,e:"\\)",eB:true,eE:true},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:true,eE:tru e,}],r:10},{b:"^\\[.+\\]:",e:"$",rB:true,c:[{cN:"link_reference",b:"\\[",e:"\\]" ,eB:true,eE:true},{cN:"link_url",b:"\\s",e:"$"}]}]}});hljs.registerLanguage("avr asm",function(a){return{cI:true,k:{keyword:"adc add adiw and andi asr bclr bld b rbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv c lz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out p op push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",bu ilt_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r2 0 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr 1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tc nt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c o cr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr port g ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr s psr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pi nf"},c:[a.CBLCLM,{cN:"comment",b:";",e:"$",r:0},a.CNM,a.BNM,{cN:"number",b:"\\b( \\$[a-zA-Z0-9]+|0o[0-7]+)"},a.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^'] "},{cN:"label",b:"^[A-Za-z0-9_.$]+:"},{cN:"preprocessor",b:"#",e:"$"},{cN:"prepr ocessor",b:"\\.[a-zA-Z]+"},{cN:"localvars",b:"@[0-9]+"}]}});hljs.registerLanguag e("lisp",function(h){var k="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\ +\\*\\/\\<\\=\\>\\&\\#!]*";var l="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\ \+|\\-)?\\d+)?";var j={cN:"shebang",b:"^#!",e:"$"};var b={cN:"literal",b:"\\b(t{ 1}|nil)\\b"};var d={cN:"number",v:[{b:l,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7 ]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"},{b:"#c\\("+l+" +"+l,e:"\\)"}]};var g=h.inherit(h.QSM,{i:null});var m={cN:"comment",b:";",e:"$"};var f={cN:"variabl e",b:"\\*",e:"\\*"};var n={cN:"keyword",b:"[:&]"+k};var c={b:"\\(",e:"\\)",c:["s elf",b,g,d]};var a={cN:"quoted",c:[d,g,f,n,c],v:[{b:"['`]\\(",e:"\\)",},{b:"\\(q uote ",e:"\\)",k:{title:"quote"},}]};var i={cN:"list",b:"\\(",e:"\\)"};var e={eW :true,r:0};i.c=[{cN:"title",b:k},e];e.c=[a,i,b,d,g,m,f,n];return{i:/\S/,c:[d,j,b ,g,m,a,i]}});hljs.registerLanguage("vbnet",function(a){return{cI:true,k:{keyword :"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare defau lt delegate dim distinct do each equals else elseif end enum erase error event e xit explicit finally for friend from function get global goto group handles if i mplements imports in inherits interface into is isfalse isnot istrue join key le t lib like loop me mid mod module mustinherit mustoverride mybase myclass namesp ace narrowing new next not notinheritable notoverridable of off on operator opti on optional or order orelse overloads overridable overrides paramarray partial p reserve private property protected public raiseevent readonly redim rem removeha ndler resume return select set shadows shared skip static step stop structure st rict sub synclock take text then throw to try unicode until using when where whi le widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cc har cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decim al directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing "},i:"//|{|}|endif|gosub|variant|wend",c:[a.inherit(a.QSM,{c:[{b:'""'}]}),{cN:"c omment",b:"'",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"'''|<!--|-->"},{cN:"xmlDocTag" ,b:"</?",e:">"},]},a.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elseif end re gion externalsource"},]}});hljs.registerLanguage("axapta",function(a){return{k:" false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case s hort default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint l ike dispaly edit client server ttsbegin ttscommit str real date container anytyp e common div mod",c:[a.CLCM,a.CBLCLM,a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"#", e:"$"},{cN:"class",bK:"class interface",e:"{",i:":",c:[{cN:"inheritance",bK:"ext ends implements",r:10},a.UTM]}]}});hljs.registerLanguage("ocaml",function(a){ret urn{k:{keyword:"and as assert asr begin class constraint do done downto else end exception external false for fun function functor if in include inherit initial izer land lazy let lor lsl lsr lxor match method mod module mutable new object o f open or private rec ref sig struct then to true try type val virtual when whil e with parser value",built_in:"bool char float int list unit array exn option in t32 int64 nativeint format4 format6 lazy_t in_channel out_channel string",},i:/\ /\//,c:[{cN:"string",b:'"""',e:'"""'},{cN:"comment",b:"\\(\\*",e:"\\*\\)",c:["se lf"]},{cN:"class",bK:"type",e:"\\(|=|$",c:[a.UTM]},{cN:"annotation",b:"\\[<",e:" >\\]"},a.CBLCLM,a.inherit(a.ASM,{i:null}),a.inherit(a.QSM,{i:null}),a.CNM]}});hl js.registerLanguage("erlang-repl",function(a){return{k:{special_functions:"spawn spawn_link self",reserved:"after and andalso|10 band begin bnot bor bsl bsr bxo r case catch cond div end fun if let not of or orelse|10 query receive rem try w hen xor"},c:[{cN:"prompt",b:"^[0-9]+> ",r:10},{cN:"comment",b:"%",e:"$"},{cN:"nu mber",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},a.ASM,a.QSM ,{cN:"constant",b:"\\?(::)?([A-Z]\\w*(::)?)+"},{cN:"arrow",b:"->"},{cN:"ok",b:"o k"},{cN:"exclamation_mark",b:"!"},{cN:"function_or_atom",b:"(\\b[a-z'][a-zA-Z0-9 _']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{cN:"variable",b:"[A- Z][a-zA-Z0-9_']*",r:0}]}});hljs.registerLanguage("vala",function(a){return{k:{ke yword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int6 4 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unow ned owned async signal static abstract interface override while do for foreach e lse switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true null"},c:[{cN:"class",bK:"class interface deleg ate namespace",e:"{",i:"[^,:\\n\\s\\.]",c:[a.UTM]},a.CLCM,a.CBLCLM,{cN:"string", b:'"""',e:'"""',r:5},a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"^#",e:"$",r:2},{cN: "constant",b:" [A-Z_]+ ",r:0}]}});hljs.registerLanguage("dos",function(a){return {cI:true,k:{flow:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",keyword:"shift cd dir echo setlocal endlocal set pause copy",stream:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",winutils:"ping net ipconfig taskkill xcopy ren del"},c:[{cN:"envvar",b:"%%[^ ]"},{cN:"envvar", b:"%[^ ]+?%"},{cN:"envvar",b:"![^ ]+?!"},{cN:"number",b:"\\b\\d+",r:0},{cN:"comm ent",b:"@?rem",e:"$"}]}});hljs.registerLanguage("clojure",function(l){var e={bui lt_in:"def cond apply if-not if-let if not not= = &lt; < > &lt;= <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number ? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? cha r? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop l etfn drop-last take-last drop-while while intern condp case reduced cycle split- at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await- for let agent atom send send-off release-pending-sends add-watch mapv filterv re move-watch agent-error restart-agent set-error-handler error-handler set-error-m ode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or whe n when-not when-let comp juxt partial sequence memoize constantly complement ide ntity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defm ulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys v als key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint big integer bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn ti me re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset- meta! commute get-validator alter ref-set ref-history-count ref-min-history ref- max-history ensure sync io! new next conj set! to-array future future-call into- array aset gen-class reduce map filter find empty hash-map hash-set sorted-map s orted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc disso c list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-re st max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec u nchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked -subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"};var f="[a-zA-Z_0-9\\ !\\.\\?\\-\\+\\*\\/\\<\\=\\>\\&\\#\\$';]+";var a="[\\s:\\(\\{]+\\d+(\\.\\d+)?";v ar d={cN:"number",b:a,r:0};var j=l.inherit(l.QSM,{i:null});var o={cN:"comment",b :";",e:"$",r:0};var n={cN:"collection",b:"[\\[\\{]",e:"[\\]\\}]"};var c={cN:"com ment",b:"\\^"+f};var b={cN:"comment",b:"\\^\\{",e:"\\}"};var h={cN:"attribute",b :"[:]"+f};var m={cN:"list",b:"\\(",e:"\\)"};var g={eW:true,k:{literal:"true fals e nil"},r:0};var i={k:e,l:f,cN:"title",b:f,starts:g};m.c=[{cN:"comment",b:"comme nt"},i,g];g.c=[m,j,c,b,o,h,n,d];n.c=[m,j,c,o,h,n,d];return{i:/\S/,c:[o,m,{cN:"pr ompt",b:/^=> /,starts:{e:/\n\n|\Z/}}]}});hljs.registerLanguage("go",function(a){ var b={keyword:"break default func interface select case map struct chan else go to package switch const fallthrough if range type continue for import return var go defer",constant:"true false iota nil",typename:"bool byte complex64 complex1 28 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new pan ic print println real recover delete"};return{aliases:["golang"],k:b,i:"</",c:[a .CLCM,a.CBLCLM,a.QSM,{cN:"string",b:"'",e:"[^\\\\]'"},{cN:"string",b:"`",e:"`"}, {cN:"number",b:"[^a-zA-Z_0-9](\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\ -)?\\d+)?",r:0},a.CNM]}});hljs.registerLanguage("json",function(a){var e={litera l:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true ,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true ,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inheri t(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}});hljs .registerLanguage("rust",function(b){var c={cN:"number",b:"\\b(0[xb][A-Za-z0-9_] +|[0-9_]+(\\.[0-9_]+)?([uif](8|16|32|64)?)?)",r:0};var a="assert bool break char check claim comm const cont copy dir do drop else enum extern export f32 f64 fa il false float fn for i16 i32 i64 i8 if impl int let log loop match mod move mut priv pub pure ref return self static str struct task true trait type u16 u32 u6 4 u8 uint unsafe use vec while";return{k:a,i:"</",c:[b.CLCM,b.CBLCLM,b.inherit(b .QSM,{i:null}),b.ASM,c,{cN:"function",bK:"fn",e:"(\\(|<)",c:[b.UTM]},{cN:"prepro cessor",b:"#\\[",e:"\\]"},{bK:"type",e:"(=|<)",c:[b.UTM],i:"\\S"},{bK:"trait enu m",e:"({|<)",c:[b.UTM],i:"\\S"}]}});hljs.registerLanguage("java",function(b){var a="false synchronized int abstract float private char boolean static null if co nst for true while long throw strictfp finally protected import native final ret urn void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws";ret urn{k:a,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"(^| \\s)@[A-Za-z]+"}],r:10},b.CLCM,b.CBLCLM,b.ASM,b.QSM,{bK:"protected public privat e",e:/[{;=]/,k:a,c:[{cN:"class",bK:"class interface",eW:true,i:/[:"<>]/,c:[{bK:" extends implements",r:10},b.UTM]},{b:b.UIR+"\\s*\\(",rB:true,c:[b.UTM]}]},b.CNM, {cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("lua",function(b){var a="\\[=*\\[";var e="\\]=*\\]";var c={b:a,e:e,c:["self"]};var d=[{cN:"comment",b :"--(?!"+a+")",e:"$"},{cN:"comment",b:"--"+a,e:e,c:[c],r:10}];return{l:b.UIR,k:{ keyword:"and break do else elseif end false for if in local nil not or repeat re turn then true until while",built_in:"_G _VERSION assert collectgarbage dofile e rror getfenv getmetatable ipairs load loadfile loadstring module next pairs pcal l print rawequal rawget rawset require select setfenv setmetatable tonumber tost ring type unpack xpcall coroutine debug io math os package string table"},c:d.co ncat([{cN:"function",bK:"function",e:"\\)",c:[b.inherit(b.TM,{b:"([_a-zA-Z]\\w*\ \.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:true,c:d}].concat( d)},b.CNM,b.ASM,b.QSM,{cN:"string",b:a,e:e,c:[c],r:10}])}});hljs.registerLanguag e("rsl",function(a){return{k:{keyword:"float color point normal vector matrix wh ile for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filt erstep floor format fresnel incident length lightsource log match max min mod no ise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shad ow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textur einfo trace transform vtransform xcomp ycomp zcomp"},i:"</",c:[a.CLCM,a.CBLCLM,a .QSM,a.ASM,a.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"shader",bK:"surface displa cement light volume imager",e:"\\("},{cN:"shading",bK:"illuminate illuminance ga ther",e:"\\("}]}});hljs.registerLanguage("d",function(x){var b={keyword:"abstrac t alias align asm assert auto body break byte case cast catch class const contin ue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invar iant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchro nized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __ EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat i real long real short string ubyte ucent uint ulong ushort wchar wstring",literal :"false null true"};var c="(0|[1-9][\\d_]*)",q="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_ ]+?\\d)",h="0[bB][01_]+",v="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*) ",y="0[xX]"+v,p="([eE][+-]?"+q+")",o="("+q+"(\\.\\d*|"+p+")|\\d+\\."+q+q+"|\\."+ c+p+"?)",k="(0[xX]("+v+"\\."+v+"|\\.?"+v+")[pP][+-]?"+q+")",l="("+c+"|"+h+"|"+y+ ")",n="("+k+"|"+o+")";var z="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3} |x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};";var m={cN:"number",b:"\\b"+ l+"(L|u|U|Lu|LU|uL|UL)?",r:0};var j={cN:"number",b:"\\b("+n+"([fF]|L|i|[fF]i|Li) ?|"+l+"(i|[fF]i|Li))",r:0};var s={cN:"string",b:"'("+z+"|.)",e:"'",i:"."};var r= {b:z,r:0};var w={cN:"string",b:'"',c:[r],e:'"[cwd]?'};var f={cN:"string",b:'[rq] "',e:'"[cwd]?',r:5};var u={cN:"string",b:"`",e:"`[cwd]?"};var i={cN:"string",b:' x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10};var t={cN:"string",b:'q"\\{',e:'\\}"'};var e={cN:"shebang",b:"^#!",e:"$",r:5};var g={cN:"preprocessor",b:"#(line)",e:"$",r :5};var d={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"};var a={cN:"comment",b:"\\/\ \+",c:["self"],e:"\\+\\/",r:10};return{l:x.UIR,k:b,c:[x.CLCM,x.CBLCLM,a,i,w,f,u, t,j,m,s,e,g,d]}});hljs.registerLanguage("javascript",function(a){return{aliases: ["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof d elete let yield const class",literal:"true false null undefined NaN Infinity",bu ilt_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent enc odeURI encodeURIComponent escape unescape Object Function Boolean Error EvalErro r InternalError RangeError ReferenceError StopIteration SyntaxError TypeError UR IError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray Array Buffer DataView JSON Intl arguments require"},c:[{cN:"pi",b:/^\s*('|")use strict ('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|th row)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,a.REGEXP_MODE,{b:/</,e:/> ;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,c:[a.inherit(a.TM,{b: /[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBLCLM],i:/[ "'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("r" ,function(a){var b="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[a.HCM,{b:b, l:b,k:{keyword:"function if in break next repeat else for return switch while tr y tryCatch|10 stop warning require library attach detach source setMethod setGen eric setGroupGeneric setClass ...|10",literal:"NULL NA TRUE FALSE T F Inf NaN NA _integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:" 0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r: 0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*) ?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\ b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[a.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]} ]}});hljs.registerLanguage("ruby",function(e){var h="[a-zA-Z_]\\w*[!?=]?|[-+~]\\ @|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var g="and false then d efined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor";var a={cN:"yardoctag",b:"@[A-Za-z]+"};var i={cN:"comment",v:[{b:"#",e:"$",c:[a]},{b: "^\\=begin",e:"^\\=end",c:[a],r:10},{b:"^__END__",e:"\\n$"}]};var c={cN:"subst", b:"#\\{",e:"}",k:g};var d={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/} ,{b:"%[qw]?\\(",e:"\\)"},{b:"%[qw]?\\[",e:"\\]"},{b:"%[qw]?{",e:"}"},{b:"%[qw]?< ",e:">",r:10},{b:"%[qw]?/",e:"/",r:10},{b:"%[qw]?%",e:"%",r:10},{b:"%[qw]?-",e:" -",r:10},{b:"%[qw]?\\|",e:"\\|",r:10},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u [A-Fa-f0-9]{4}|\\?\S)\b/}]};var b={cN:"params",b:"\\(",e:"\\)",k:g};var f=[d,i,{ cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(: :\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+e.IR+"::) ?"+e.IR}]},i]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[e.inherit(e.TM,{b:h}),b, i]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[d,{b :h}],r:0},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"number",b:"(\\b0[0-7_]+)| (\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable" ,b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[i,{cN:"regexp",c:[e .BE,c],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z ]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];c.c=f;b.c=f;return {k:g,c:f}});hljs.registerLanguage("haml",function(a){return{cI:true,c:[{cN:"doct ype",b:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},{cN :"comment",b:"^\\s*(!=#|=#|-#|/).*$",r:0},{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n ",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"title",b:"\\w+"},{cN:"value",b:"[#\\. ]\\w+"},{b:"{\\s*",e:"\\s*}",eE:true,c:[{b:":\\w+\\s*=>",e:",\\s+",rB:true,eW:tr ue,c:[{cN:"symbol",b:":\\w+"},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'" },{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e:"\\s*\\)",eE:true,c:[{b:"\\w+\\s*=",e:"\\s+" ,rB:true,eW:true,c:[{cN:"attribute",b:"\\w+",r:0},{cN:"string",b:'"',e:'"'},{cN: "string",b:"'",e:"'"},{b:"\\w+",r:0}]},]}]},{cN:"bullet",b:"^\\s*[=~]\\s*",r:0}, {b:"#{",starts:{e:"}",sL:"ruby"}}]}});hljs.registerLanguage("brainfuck",function (b){var a={cN:"literal",b:"[\\+\\-]",r:0};return{c:[{cN:"comment",b:"[^\\[\\]\\. ,\\+\\-<> \r\n]",rE:true,e:"[\\[\\]\\.,\\+\\-<> \r\n]",r:0},{cN:"title",b:"[\\[\ \]]",r:0},{cN:"string",b:"[\\.,]",r:0},{b:/\+\+|\-\-/,rB:true,c:[a]},a]}});hljs. registerLanguage("matlab",function(a){var b=[a.CNM,{cN:"string",b:"'",e:"'",c:[a .BE,{b:"''"}]}];return{k:{keyword:"break case catch classdef continue else elsei f end enumerated events for function global if methods otherwise parfor persiste nt properties return spmd switch try while",built_in:"sin sind sinh asin asind a sinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec sec d sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nt hroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betai nc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factor ial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat ra nd randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fl iplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute sh iftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pas cal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"funct ion",bK:"function",e:"$",c:[a.UTM,{cN:"params",b:"\\(",e:"\\)"},{cN:"params",b:" \\[",e:"\\]"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\ \.']+)",e:"",r:0},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",c:b,r:0},{cN:"cell",b:"\ \{",e:"\\}'*[\\.']*",c:b,i:/:/},{cN:"comment",b:"\\%",e:"$"}].concat(b)}});hljs. registerLanguage("vbscript",function(a){return{cI:true,k:{keyword:"call class co nst dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redi m rem select case set stop sub while wend with end to elseif is or xor and not c lass_initialize class_terminate default preserve in me byval byref step resume g oto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getre f string weekdayname rnd dateadd monthname now day minute isarray cbool round fo rmatcurrency conversions csng timevalue second year space abs clng timeserial fi xs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeri c log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scr iptenginebuildversion scriptengine split scriptengineminorversion cint sin datep art ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true f alse null nothing empty"},i:"//",c:[a.inherit(a.QSM,{c:[{b:'""'}]}),{cN:"comment ",b:/'/,e:/$/,r:0},a.CNM]}});hljs.registerLanguage("fsharp",function(a){return{k :"abstract and as assert base begin class default delegate do done downcast down to elif else end exception extern false finally for fun function global if in in herit inline interface internal lazy let match member module mutable namespace n ew null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",c:[{cN:"string",b:'@"', e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},{cN:"comment",b:"\\(\\*",e:"\\ *\\)"},{cN:"class",bK:"type",e:"\\(|=|$",c:[a.UTM]},{cN:"annotation",b:"\\[<",e: ">\\]"},{cN:"attribute",b:"\\B('[A-Za-z])\\b",c:[a.BE]},a.CLCM,a.inherit(a.QSM,{ i:null}),a.CNM]}});hljs.registerLanguage("makefile",function(a){var b={cN:"varia ble",b:/\$\(/,e:/\)/,c:[a.BE]};return{c:[a.HCM,{b:/^\w+\s*\W*=/,rB:true,r:0,star ts:{cN:"constant",e:/\s*\W*=/,eE:true,starts:{e:/$/,r:0,c:[b],}}},{cN:"title",b: /^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/ ,e:/$/,c:[a.QSM,b]}]}});hljs.registerLanguage("diff",function(a){return{c:[{cN:" chunk",r:10,v:[{b:/^\@\@ +\-\d+,\d+ +\+\d+,\d+ +\@\@$/},{b:/^\*\*\* +\d+,\d+ +\* \*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/ },{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e: /$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^ \\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("rib",functio n(a){return{k:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylin der DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler E xposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon Geom etricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interio r LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeText ure Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opa city Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter Pixel Samples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Proced ural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Sc ale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform Trans formBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd", i:"</",c:[a.HCM,a.CNM,a.ASM,a.QSM]}});hljs.registerLanguage("http",function(a){r eturn{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\ d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN :"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true ,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]} });hljs.registerLanguage("autohotkey",function(b){var d={cN:"escape",b:"`[\\s\\S ]"};var c={cN:"comment",b:";",e:"$",r:0};var a=[{cN:"built_in",b:"A_[a-zA-Z0-9]+ "},{cN:"built_in",bK:"ComSpec Clipboard ClipboardAll ErrorLevel"}];return{cI:tru e,k:{keyword:"Break Continue Else Gosub If Loop Return While",literal:"A true fa lse NOT AND OR"},c:a.concat([d,b.inherit(b.QSM,{c:[d]}),c,{cN:"number",b:b.NR,r: 0},{cN:"var_expand",b:"%",e:"%",i:"\\n",c:[d]},{cN:"label",c:[d],v:[{b:'^[^\\n"; ]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,",r:10}])}});hljs.registerLan guage("php",function(b){var e={cN:"variable",b:"\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9 _\x7f-\xff]*"};var a={cN:"preprocessor",b:/<\?(php)?|\?>/};var c={cN:"string",c: [b.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},b.inherit(b.ASM,{i:null}),b.inherit(b. QSM,{i:null})]};var d={v:[b.BNM,b.CNM]};return{cI:true,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhil e or const for endforeach self var while isset public protected exit foreach thr ow elseif include __FILE__ empty require_once do xor return parent clone use __C LASS__ __LINE__ else break print eval new catch __METHOD__ case exception defaul t die require __FUNCTION__ enddeclare final try switch continue endfor endif dec lare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yiel d finally",c:[b.CLCM,b.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\ s@[A-Za-z]+"},a]},{cN:"comment",b:"__halt_compiler.+?;",eW:true,k:"__halt_compil er",l:b.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[b.BE]},a,e,{cN: "function",bK:"function",e:/[;{]/,i:"\\$|\\[|%",c:[b.UTM,{cN:"params",b:"\\(",e: "\\)",c:["self",e,b.CBLCLM,c,d]}]},{cN:"class",bK:"class interface",e:"{",i:/[:\ (\$"]/,c:[{bK:"extends implements",r:10},b.UTM]},{bK:"namespace",e:";",i:/[\.']/ ,c:[b.UTM]},{bK:"use",e:";",c:[b.UTM]},{b:"=>"},c,d]}});hljs.registerLanguage("c make",function(a){return{cI:true,k:{keyword:"add_custom_command add_custom_targe t add_definitions add_dependencies add_executable add_library add_subdirectory a dd_test aux_source_directory break build_command cmake_minimum_required cmake_po licy configure_file create_test_sourcelist define_property else elseif enable_la nguage enable_testing endforeach endfunction endif endmacro endwhile execute_pro cess export find_file find_library find_package find_path find_program fltk_wrap _ui foreach function get_cmake_property get_directory_property get_filename_comp onent get_property get_source_file_property get_target_property get_test_propert y if include include_directories include_external_msproject include_regular_expr ession install link_directories load_cache load_command macro mark_as_advanced m essage option output_required_files project qt_wrap_cpp qt_wrap_ui remove_defini tions return separate_arguments set set_directory_properties set_property set_so urce_files_properties set_target_properties set_tests_properties site_name sourc e_group string target_link_libraries try_compile try_run unset variable_watch wh ile build_name exec_program export_library_dependencies install_files install_pr ograms install_targets link_libraries make_directory remove subdir_depends subdi rs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or",operator:"equal less grea ter strless strgreater strequal matches"},c:[{cN:"envvar",b:"\\${",e:"}"},a.HCM, a.QSM,a.NM]}});hljs.registerLanguage("bash",function(b){var a={cN:"variable",v:[ {b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]};var d={cN:"string",b:/"/,e:/"/,c:[b .BE,a,{cN:"variable",b:/\$\(/,e:/\)/,c:[b.BE]}]};var c={cN:"string",b:/'/,e:/'/} ;return{l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false", built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonl y getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -g t -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function", b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[b.inherit(b.TM,{b:/\w[\w\d_]*/})],r:0}, b.HCM,b.NM,d,c,a]}});hljs.registerLanguage("applescript",function(a){var b=a.inh erit(a.QSM,{i:""});var d={cN:"params",b:"\\(",e:"\\)",c:["self",a.CNM,b]};var c= [{cN:"comment",b:"--",e:"$",},{cN:"comment",b:"\\(\\*",e:"\\*\\)",c:["self",{b:" --",e:"$"}]},a.HCM];return{k:{keyword:"about above after against and around as a t back before beginning behind below beneath beside between but by considering c ontain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is i t its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the then third through thru timeout times to transaction try until wh ere while whose with without",constant:"AppleScript false linefeed return pi quo te result space tab true",type:"alias application boolean class constant date fi le integer list number real record string text",command:"activate beep count del ay launch log offset read round run say summarize write",property:"character cha racters contents day frontmost id item length month name paragraph paragraphs re st reverse running time version weekday word words year"},c:[b,a.CNM,{cN:"type", b:"\\bPOSIX file\\b"},{cN:"command",b:"\\b(clipboard info|the clipboard|info for |list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof| current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components| ASCII (character|number)|localized string|choose (application|color|file|file na me|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*retu rn\\b"},{cN:"constant",b:"\\b(text item delimiters|current application|missing v alue)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|le ss) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|afte r)|a (ref|reference))\\b"},{cN:"property",b:"\\b(POSIX path|(date|time) string|q uoted form)\\b"},{cN:"function_start",bK:"on",i:"[${=;\\n]",c:[a.UTM,d]}].concat (c),i:"//"}});hljs.registerLanguage("vhdl",function(a){return{cI:true,k:{keyword :"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function gener ate generic group guarded if impure in inertial inout is label library linkage l iteral loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register r eject release rem report restrict restrict_guarantee return rol ror select seque nce severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length n atural positive string bit_vector file_open_kind file_open_status std_ulogic std _ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer _vector real_vector time_vector"},i:"{",c:[a.CBLCLM,{cN:"comment",b:"--",e:"$"}, a.QSM,a.CNM,{cN:"literal",b:"'(U|X|0|1|Z|W|L|H|-)'",c:[a.BE]},{cN:"attribute",b: "'[A-Za-z](_?[A-Za-z0-9])*",c:[a.BE]}]}});hljs.registerLanguage("parser3",functi on(a){return{sL:"xml",r:0,c:[{cN:"comment",b:"^#",e:"$"},{cN:"comment",b:"\\^rem {",e:"}",r:10,c:[{b:"{",e:"}",c:["self"]}]},{cN:"preprocessor",b:"^@(?:BASE|USE| CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\- ]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b: "\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},a.CNM]}});hljs.register Language("scala",function(a){var c={cN:"annotation",b:"@[A-Za-z]+"};var b={cN:"s tring",b:'u?r?"""',e:'"""',r:10};return{k:"type yield lazy override def with val var false true sealed abstract private trait object null if for while throw fin ally protected extends import final return else break new catch super class case package default try this match continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e: "\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,b,a.ASM,a.QSM, {cN:"class",b:"((case )?class |object |trait )",e:"({|$)",i:":",k:"case class tr ait object",c:[{bK:"extends with",r:10},a.UTM,{cN:"params",b:"\\(",e:"\\)",c:[a. ASM,a.QSM,b,c]}]},a.CNM,c]}});hljs.registerLanguage("cpp",function(a){var b={key word:"false int float while private char catch export virtual operator sizeof dy namic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namesp ace unsigned long throw volatile static protected bool template mutable if publi c friend do return goto auto void enum else break new extern using true class as m case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_ t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary",built_in:"std string cin cout cerr clog stringstrea m istringstream ostringstream auto_ptr deque list queue stack vector map set bit set multiset multimap unordered_set unordered_map unordered_multiset unordered_m ultimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exi t exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl is digit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper l abs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar p uts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strc spn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprin tf vprintf vsprintf"};return{aliases:["c"],k:b,i:"</",c:[a.CLCM,a.CBLCLM,a.QSM,{ cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+) (u|U|l|L|ul|UL|f|F)"},a.CNM,{cN:"preprocessor",b:"#",e:"$",c:[{b:"include\\s*<", e:">",i:"\\n"},a.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector |map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset |unordered_multimap|array)\\s*<",e:">",k:b,r:10,c:["self"]}]}});</script>
3363
3364
3365
3366 <!--
3367 Element wrapper for the `highlightjs` (http://highlightjs.org/) library.
3368
3369 ##### Example
3370
3371 <highlightjs-element text="def somefunc(param1='', param2=0):"></highlightjs -element>
3372
3373 ##### Example
3374
3375 <highlightjs-element>
3376 <template>
3377
3378 <link rel="import" href="/components/polymer/polymer.html">
3379 <polymer-element name="proto-element">
3380 <template>
3381 <span>I'm <b>proto-element</b>. Check out my prototype.</span>
3382 </template>
3383 <script>
3384 Polymer({
3385 });
3386 </script>
3387 </polymer-element>
3388
3389 </template>
3390 </highlightjs-element>
3391
3392 @class highlightjs-element
3393 @blurb Element wrapper for the highlightjs library.
3394 @status alpha
3395 @snap snap.png
3396 -->
3397 <polymer-element name="highlightjs-element" attributes="text" assetpath="../high lightjs-element/">
3398
3399 <template>
3400
3401 <style>
3402 :host {
3403 display: block;
3404 }
3405 </style>
3406
3407 <style>/*
3408
3409 Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiac s.Org>
3410
3411 */
3412
3413 .hljs {
3414 display: block; padding: 0.5em;
3415 background: #F0F0F0;
3416 }
3417
3418 .hljs,
3419 .hljs-subst,
3420 .hljs-tag .hljs-title,
3421 .lisp .hljs-title,
3422 .clojure .hljs-built_in,
3423 .nginx .hljs-title {
3424 color: black;
3425 }
3426
3427 .hljs-string,
3428 .hljs-title,
3429 .hljs-constant,
3430 .hljs-parent,
3431 .hljs-tag .hljs-value,
3432 .hljs-rules .hljs-value,
3433 .hljs-rules .hljs-value .hljs-number,
3434 .hljs-preprocessor,
3435 .hljs-pragma,
3436 .haml .hljs-symbol,
3437 .ruby .hljs-symbol,
3438 .ruby .hljs-symbol .hljs-string,
3439 .hljs-aggregate,
3440 .hljs-template_tag,
3441 .django .hljs-variable,
3442 .smalltalk .hljs-class,
3443 .hljs-addition,
3444 .hljs-flow,
3445 .hljs-stream,
3446 .bash .hljs-variable,
3447 .apache .hljs-tag,
3448 .apache .hljs-cbracket,
3449 .tex .hljs-command,
3450 .tex .hljs-special,
3451 .erlang_repl .hljs-function_or_atom,
3452 .asciidoc .hljs-header,
3453 .markdown .hljs-header,
3454 .coffeescript .hljs-attribute {
3455 color: #800;
3456 }
3457
3458 .smartquote,
3459 .hljs-comment,
3460 .hljs-annotation,
3461 .hljs-template_comment,
3462 .diff .hljs-header,
3463 .hljs-chunk,
3464 .asciidoc .hljs-blockquote,
3465 .markdown .hljs-blockquote {
3466 color: #888;
3467 }
3468
3469 .hljs-number,
3470 .hljs-date,
3471 .hljs-regexp,
3472 .hljs-literal,
3473 .hljs-hexcolor,
3474 .smalltalk .hljs-symbol,
3475 .smalltalk .hljs-char,
3476 .go .hljs-constant,
3477 .hljs-change,
3478 .lasso .hljs-variable,
3479 .makefile .hljs-variable,
3480 .asciidoc .hljs-bullet,
3481 .markdown .hljs-bullet,
3482 .asciidoc .hljs-link_url,
3483 .markdown .hljs-link_url {
3484 color: #080;
3485 }
3486
3487 .hljs-label,
3488 .hljs-javadoc,
3489 .ruby .hljs-string,
3490 .hljs-decorator,
3491 .hljs-filter .hljs-argument,
3492 .hljs-localvars,
3493 .hljs-array,
3494 .hljs-attr_selector,
3495 .hljs-important,
3496 .hljs-pseudo,
3497 .hljs-pi,
3498 .haml .hljs-bullet,
3499 .hljs-doctype,
3500 .hljs-deletion,
3501 .hljs-envvar,
3502 .hljs-shebang,
3503 .apache .hljs-sqbracket,
3504 .nginx .hljs-built_in,
3505 .tex .hljs-formula,
3506 .erlang_repl .hljs-reserved,
3507 .hljs-prompt,
3508 .asciidoc .hljs-link_label,
3509 .markdown .hljs-link_label,
3510 .vhdl .hljs-attribute,
3511 .clojure .hljs-attribute,
3512 .asciidoc .hljs-attribute,
3513 .lasso .hljs-attribute,
3514 .coffeescript .hljs-property,
3515 .hljs-phony {
3516 color: #88F
3517 }
3518
3519 .hljs-keyword,
3520 .hljs-id,
3521 .hljs-title,
3522 .hljs-built_in,
3523 .hljs-aggregate,
3524 .css .hljs-tag,
3525 .hljs-javadoctag,
3526 .hljs-phpdoc,
3527 .hljs-yardoctag,
3528 .smalltalk .hljs-class,
3529 .hljs-winutils,
3530 .bash .hljs-variable,
3531 .apache .hljs-tag,
3532 .go .hljs-typename,
3533 .tex .hljs-command,
3534 .asciidoc .hljs-strong,
3535 .markdown .hljs-strong,
3536 .hljs-request,
3537 .hljs-status {
3538 font-weight: bold;
3539 }
3540
3541 .asciidoc .hljs-emphasis,
3542 .markdown .hljs-emphasis {
3543 font-style: italic;
3544 }
3545
3546 .nginx .hljs-built_in {
3547 font-weight: normal;
3548 }
3549
3550 .coffeescript .javascript,
3551 .javascript .xml,
3552 .lasso .markup,
3553 .tex .hljs-formula,
3554 .xml .javascript,
3555 .xml .vbscript,
3556 .xml .css,
3557 .xml .hljs-cdata {
3558 opacity: 0.5;
3559 }
3560 </style>
3561 <style>/* Base16 Atelier Forest Light - Theme */
3562 /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-sch emes/forest) */
3563 /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempso n/base16) */
3564 /* https://github.com/jmblog/color-themes-for-highlightjs */
3565
3566 /* Atelier Forest Light Comment */
3567 .hljs-comment,
3568 .hljs-title {
3569 color: #766e6b;
3570 }
3571
3572 /* Atelier Forest Light Red */
3573 .hljs-variable,
3574 .hljs-attribute,
3575 .hljs-tag,
3576 .hljs-regexp,
3577 .ruby .hljs-constant,
3578 .xml .hljs-tag .hljs-title,
3579 .xml .hljs-pi,
3580 .xml .hljs-doctype,
3581 .html .hljs-doctype,
3582 .css .hljs-id,
3583 .css .hljs-class,
3584 .css .hljs-pseudo {
3585 color: #f22c40;
3586 }
3587
3588 /* Atelier Forest Light Orange */
3589 .hljs-number,
3590 .hljs-preprocessor,
3591 .hljs-pragma,
3592 .hljs-built_in,
3593 .hljs-literal,
3594 .hljs-params,
3595 .hljs-constant {
3596 color: #df5320;
3597 }
3598
3599 /* Atelier Forest Light Yellow */
3600 .hljs-ruby .hljs-class .hljs-title,
3601 .css .hljs-rules .hljs-attribute {
3602 color: #d5911a;
3603 }
3604
3605 /* Atelier Forest Light Green */
3606 .hljs-string,
3607 .hljs-value,
3608 .hljs-inheritance,
3609 .hljs-header,
3610 .ruby .hljs-symbol,
3611 .xml .hljs-cdata {
3612 color: #5ab738;
3613 }
3614
3615 /* Atelier Forest Light Aqua */
3616 .css .hljs-hexcolor {
3617 color: #00ad9c;
3618 }
3619
3620 /* Atelier Forest Light Blue */
3621 .hljs-function,
3622 .python .hljs-decorator,
3623 .python .hljs-title,
3624 .ruby .hljs-function .hljs-title,
3625 .ruby .hljs-title .hljs-keyword,
3626 .perl .hljs-sub,
3627 .javascript .hljs-title,
3628 .coffeescript .hljs-title {
3629 color: #407ee7;
3630 }
3631
3632 /* Atelier Forest Light Purple */
3633 .hljs-keyword,
3634 .javascript .hljs-function {
3635 color: #6666ea;
3636 }
3637
3638 .hljs {
3639 display: block;
3640 background: #f1efee;
3641 color: #68615e;
3642 padding: 0.5em;
3643 }
3644
3645 .coffeescript .javascript,
3646 .javascript .xml,
3647 .tex .hljs-formula,
3648 .xml .javascript,
3649 .xml .vbscript,
3650 .xml .css,
3651 .xml .hljs-cdata {
3652 opacity: 0.5;
3653 }
3654 </style>
3655
3656 <pre id="content"></pre>
3657
3658 </template>
3659
3660 <script>
3661
3662 Polymer('highlightjs-element', {
3663
3664 ready: function() {
3665 if (!this.text) {
3666 if (this.firstElementChild && this.firstElementChild.localName === 'te mplate') {
3667 this.text = this.firstElementChild.innerHTML;
3668 } else {
3669 this.text = this.innerHTML;
3670 }
3671 }
3672 },
3673
3674 textChanged: function() {
3675 this.$.content.innerHTML = hljs.highlightAuto(this.text || '').value;
3676 }
3677
3678 });
3679
3680 </script>
3681
3682 </polymer-element>
3683
3684 <script>(function(scope) {
3685
3686 var ContextFreeParser = {
3687 parse: function(text) {
3688 var top = {};
3689 var entities = [];
3690 var current = top;
3691 var subCurrent = {};
3692
3693 var scriptDocCommentClause = '\\/\\*\\*([\\s\\S]*?)\\*\\/';
3694 var htmlDocCommentClause = '<!--([\\s\\S]*?)-->';
3695
3696 // matches text between /** and */ inclusive and <!-- and --> inclusive
3697 var docCommentRegex = new RegExp(scriptDocCommentClause + '|' + htmlDocCom mentClause, 'g');
3698
3699 // acquire all script doc comments
3700 var docComments = text.match(docCommentRegex) || [];
3701
3702 // each match represents a single block of doc comments
3703 docComments.forEach(function(m) {
3704 // unify line ends, remove all comment characters, split into individual lines
3705 var lines = m.replace(/\r\n/g, '\n').replace(/^\s*\/\*\*|^\s*\*\/|^\s*\* ?|^\s*\<\!-\-|^s*\-\-\>/gm, '').split('\n');
3706
3707 // pragmas (@-rules) must occur on a line by themselves
3708 var pragmas = [];
3709 // filter lines whose first non-whitespace character is @ into the pragm a list
3710 // (and out of the `lines` array)
3711 lines = lines.filter(function(l) {
3712 var m = l.match(/\s*@([\w-]*) (.*)/);
3713 if (!m) {
3714 return true;
3715 }
3716 pragmas.push(m);
3717 });
3718
3719 // collect all other text into a single block
3720 var code = lines.join('\n');
3721
3722 // process pragmas
3723 pragmas.forEach(function(m) {
3724 var pragma = m[1], content = m[2];
3725 switch (pragma) {
3726
3727 // currently all entities are either @class or @element
3728 case 'class':
3729 case 'element':
3730 current = {
3731 name: content,
3732 description: code
3733 };
3734 entities.push(current);
3735 break;
3736
3737 // an entity may have these describable sub-features
3738 case 'attribute':
3739 case 'property':
3740 case 'method':
3741 case 'event':
3742 subCurrent = {
3743 name: content,
3744 description: code
3745 };
3746 var label = pragma == 'property' ? 'properties' : pragma + 's';
3747 makePragma(current, label, subCurrent);
3748 break;
3749
3750 // sub-feature pragmas
3751 case 'default':
3752 case 'type':
3753 subCurrent[pragma] = content;
3754 break;
3755
3756 // everything else
3757 default:
3758 current[pragma] = content;
3759 break;
3760 }
3761 });
3762
3763 // utility function, yay hoisting
3764 function makePragma(object, pragma, content) {
3765 var p$ = object;
3766 var p = p$[pragma];
3767 if (!p) {
3768 p$[pragma] = p = [];
3769 }
3770 p.push(content);
3771 }
3772
3773 });
3774
3775 if (entities.length === 0) {
3776 entities.push({name: 'Entity', description: '**Undocumented**'});
3777 }
3778 return entities;
3779 }
3780 };
3781
3782 if (typeof module !== 'undefined' && module.exports) {
3783 module.exports = ContextFreeParser;
3784 } else {
3785 scope.ContextFreeParser = ContextFreeParser;
3786 }
3787
3788 })(this);</script>
3789 <!--
3790 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
3791 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
3792 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
3793 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
3794 Code distributed by Google as part of the polymer project is also
3795 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
3796 -->
3797
3798 <!--
3799 @group Polymer Core Elements
3800
3801 The `core-ajax` element exposes `XMLHttpRequest` functionality.
3802
3803 <core-ajax
3804 auto
3805 url="http://gdata.youtube.com/feeds/api/videos/"
3806 params='{"alt":"json", "q":"chrome"}'
3807 handleAs="json"
3808 on-core-response="{{handleResponse}}"></core-ajax>
3809
3810 With `auto` set to `true`, the element performs a request whenever
3811 its `url` or `params` properties are changed.
3812
3813 Note: The `params` attribute must be double quoted JSON.
3814
3815 You can trigger a request explicitly by calling `go` on the
3816 element.
3817
3818 @element core-ajax
3819 @status beta
3820 @homepage github.io
3821 -->
3822 <!--
3823 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
3824 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
3825 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
3826 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
3827 Code distributed by Google as part of the polymer project is also
3828 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
3829 -->
3830 <!--
3831 /**
3832 * @group Polymer Core Elements
3833 *
3834 * core-xhr can be used to perform XMLHttpRequests.
3835 *
3836 * <core-xhr id="xhr"></core-xhr>
3837 * ...
3838 * this.$.xhr.request({url: url, params: params, callback: callback});
3839 *
3840 * @element core-xhr
3841 */
3842 -->
3843
3844
3845
3846 <polymer-element name="core-xhr" hidden assetpath="../core-ajax/">
3847
3848 <script>
3849
3850 Polymer('core-xhr', {
3851
3852 /**
3853 * Sends a HTTP request to the server and returns the XHR object.
3854 *
3855 * @method request
3856 * @param {Object} inOptions
3857 * @param {String} inOptions.url The url to which the request is sent.
3858 * @param {String} inOptions.method The HTTP method to use, default is GET.
3859 * @param {boolean} inOptions.sync By default, all requests are sent as ynchronously. To send synchronous requests, set to true.
3860 * @param {Object} inOptions.params Data to be sent to the server.
3861 * @param {Object} inOptions.body The content for the request body for POST method.
3862 * @param {Object} inOptions.headers HTTP request headers.
3863 * @param {String} inOptions.responseType The response type. Default is 'text'.
3864 * @param {boolean} inOptions.withCredentials Whether or not to send cr edentials on the request. Default is false.
3865 * @param {Object} inOptions.callback Called when request is completed.
3866 * @returns {Object} XHR object.
3867 */
3868 request: function(options) {
3869 var xhr = new XMLHttpRequest();
3870 var url = options.url;
3871 var method = options.method || 'GET';
3872 var async = !options.sync;
3873 //
3874 var params = this.toQueryString(options.params);
3875 if (params && method == 'GET') {
3876 url += (url.indexOf('?') > 0 ? '&' : '?') + params;
3877 }
3878 var xhrParams = this.isBodyMethod(method) ? (options.body || params) : n ull;
3879 //
3880 xhr.open(method, url, async);
3881 if (options.responseType) {
3882 xhr.responseType = options.responseType;
3883 }
3884 if (options.withCredentials) {
3885 xhr.withCredentials = true;
3886 }
3887 this.makeReadyStateHandler(xhr, options.callback);
3888 this.setRequestHeaders(xhr, options.headers);
3889 xhr.send(xhrParams);
3890 if (!async) {
3891 xhr.onreadystatechange(xhr);
3892 }
3893 return xhr;
3894 },
3895
3896 toQueryString: function(params) {
3897 var r = [];
3898 for (var n in params) {
3899 var v = params[n];
3900 n = encodeURIComponent(n);
3901 r.push(v == null ? n : (n + '=' + encodeURIComponent(v)));
3902 }
3903 return r.join('&');
3904 },
3905
3906 isBodyMethod: function(method) {
3907 return this.bodyMethods[(method || '').toUpperCase()];
3908 },
3909
3910 bodyMethods: {
3911 POST: 1,
3912 PUT: 1,
3913 DELETE: 1
3914 },
3915
3916 makeReadyStateHandler: function(xhr, callback) {
3917 xhr.onreadystatechange = function() {
3918 if (xhr.readyState == 4) {
3919 callback && callback.call(null, xhr.response, xhr);
3920 }
3921 };
3922 },
3923
3924 setRequestHeaders: function(xhr, headers) {
3925 if (headers) {
3926 for (var name in headers) {
3927 xhr.setRequestHeader(name, headers[name]);
3928 }
3929 }
3930 }
3931
3932 });
3933
3934 </script>
3935
3936 </polymer-element>
3937
3938 <polymer-element name="core-ajax" attributes="url handleAs auto params response method headers body contentType withCredentials" assetpath="../core-ajax/">
3939 <script>
3940
3941 Polymer('core-ajax', {
3942 /**
3943 * Fired when a response is received.
3944 *
3945 * @event core-response
3946 */
3947
3948 /**
3949 * Fired when an error is received.
3950 *
3951 * @event core-error
3952 */
3953
3954 /**
3955 * Fired whenever a response or an error is received.
3956 *
3957 * @event core-complete
3958 */
3959
3960 /**
3961 * The URL target of the request.
3962 *
3963 * @attribute url
3964 * @type string
3965 * @default ''
3966 */
3967 url: '',
3968
3969 /**
3970 * Specifies what data to store in the `response` property, and
3971 * to deliver as `event.response` in `response` events.
3972 *
3973 * One of:
3974 *
3975 * `text`: uses `XHR.responseText`.
3976 *
3977 * `xml`: uses `XHR.responseXML`.
3978 *
3979 * `json`: uses `XHR.responseText` parsed as JSON.
3980 *
3981 * `arraybuffer`: uses `XHR.response`.
3982 *
3983 * `blob`: uses `XHR.response`.
3984 *
3985 * `document`: uses `XHR.response`.
3986 *
3987 * @attribute handleAs
3988 * @type string
3989 * @default 'text'
3990 */
3991 handleAs: '',
3992
3993 /**
3994 * If true, automatically performs an Ajax request when either `url` or `p arams` changes.
3995 *
3996 * @attribute auto
3997 * @type boolean
3998 * @default false
3999 */
4000 auto: false,
4001
4002 /**
4003 * Parameters to send to the specified URL, as JSON.
4004 *
4005 * @attribute params
4006 * @type string (JSON)
4007 * @default ''
4008 */
4009 params: '',
4010
4011 /**
4012 * Returns the response object.
4013 *
4014 * @attribute response
4015 * @type Object
4016 * @default null
4017 */
4018 response: null,
4019
4020 /**
4021 * The HTTP method to use such as 'GET', 'POST', 'PUT', or 'DELETE'.
4022 * Default is 'GET'.
4023 *
4024 * @attribute method
4025 * @type string
4026 * @default ''
4027 */
4028 method: '',
4029
4030 /**
4031 * HTTP request headers to send.
4032 *
4033 * Example:
4034 *
4035 * <core-ajax
4036 * auto
4037 * url="http://somesite.com"
4038 * headers='{"X-Requested-With": "XMLHttpRequest"}'
4039 * handleAs="json"
4040 * on-core-response="{{handleResponse}}"></core-ajax>
4041 *
4042 * @attribute headers
4043 * @type Object
4044 * @default null
4045 */
4046 headers: null,
4047
4048 /**
4049 * Optional raw body content to send when method === "POST".
4050 *
4051 * Example:
4052 *
4053 * <core-ajax method="POST" auto url="http://somesite.com"
4054 * body='{"foo":1, "bar":2}'>
4055 * </core-ajax>
4056 *
4057 * @attribute body
4058 * @type Object
4059 * @default null
4060 */
4061 body: null,
4062
4063 /**
4064 * Content type to use when sending data.
4065 *
4066 * @attribute contentType
4067 * @type string
4068 * @default 'application/x-www-form-urlencoded'
4069 */
4070 contentType: 'application/x-www-form-urlencoded',
4071
4072 /**
4073 * Set the withCredentials flag on the request.
4074 *
4075 * @attribute withCredentials
4076 * @type boolean
4077 * @default false
4078 */
4079 withCredentials: false,
4080
4081 ready: function() {
4082 this.xhr = document.createElement('core-xhr');
4083 },
4084
4085 receive: function(response, xhr) {
4086 if (this.isSuccess(xhr)) {
4087 this.processResponse(xhr);
4088 } else {
4089 this.error(xhr);
4090 }
4091 this.complete(xhr);
4092 },
4093
4094 isSuccess: function(xhr) {
4095 var status = xhr.status || 0;
4096 return !status || (status >= 200 && status < 300);
4097 },
4098
4099 processResponse: function(xhr) {
4100 var response = this.evalResponse(xhr);
4101 this.response = response;
4102 this.fire('core-response', {response: response, xhr: xhr});
4103 },
4104
4105 error: function(xhr) {
4106 var response = xhr.status + ': ' + xhr.responseText;
4107 this.fire('core-error', {response: response, xhr: xhr});
4108 },
4109
4110 complete: function(xhr) {
4111 this.fire('core-complete', {response: xhr.status, xhr: xhr});
4112 },
4113
4114 evalResponse: function(xhr) {
4115 return this[(this.handleAs || 'text') + 'Handler'](xhr);
4116 },
4117
4118 xmlHandler: function(xhr) {
4119 return xhr.responseXML;
4120 },
4121
4122 textHandler: function(xhr) {
4123 return xhr.responseText;
4124 },
4125
4126 jsonHandler: function(xhr) {
4127 var r = xhr.responseText;
4128 try {
4129 return JSON.parse(r);
4130 } catch (x) {
4131 return r;
4132 }
4133 },
4134
4135 documentHandler: function(xhr) {
4136 return xhr.response;
4137 },
4138
4139 blobHandler: function(xhr) {
4140 return xhr.response;
4141 },
4142
4143 arraybufferHandler: function(xhr) {
4144 return xhr.response;
4145 },
4146
4147 urlChanged: function() {
4148 if (!this.handleAs) {
4149 var ext = String(this.url).split('.').pop();
4150 switch (ext) {
4151 case 'json':
4152 this.handleAs = 'json';
4153 break;
4154 }
4155 }
4156 this.autoGo();
4157 },
4158
4159 paramsChanged: function() {
4160 this.autoGo();
4161 },
4162
4163 autoChanged: function() {
4164 this.autoGo();
4165 },
4166
4167 // TODO(sorvell): multiple side-effects could call autoGo
4168 // during one micro-task, use a job to have only one action
4169 // occur
4170 autoGo: function() {
4171 if (this.auto) {
4172 this.goJob = this.job(this.goJob, this.go, 0);
4173 }
4174 },
4175
4176 /**
4177 * Performs an Ajax request to the specified URL.
4178 *
4179 * @method go
4180 */
4181 go: function() {
4182 var args = this.xhrArgs || {};
4183 // TODO(sjmiles): we may want XHR to default to POST if body is set
4184 args.body = this.body || args.body;
4185 args.params = this.params || args.params;
4186 if (args.params && typeof(args.params) == 'string') {
4187 args.params = JSON.parse(args.params);
4188 }
4189 args.headers = this.headers || args.headers || {};
4190 if (args.headers && typeof(args.headers) == 'string') {
4191 args.headers = JSON.parse(args.headers);
4192 }
4193 if (this.contentType) {
4194 args.headers['content-type'] = this.contentType;
4195 }
4196 if (this.handleAs === 'arraybuffer' || this.handleAs === 'blob' ||
4197 this.handleAs === 'document') {
4198 args.responseType = this.handleAs;
4199 }
4200 args.withCredentials = this.withCredentials;
4201 args.callback = this.receive.bind(this);
4202 args.url = this.url;
4203 args.method = this.method;
4204 return args.url && this.xhr.request(args);
4205 }
4206
4207 });
4208
4209 </script>
4210 </polymer-element>
4211
4212
4213 <!--
4214 Scrapes source documentation data from input text or url.
4215
4216 @class context-free-parser
4217 -->
4218 <polymer-element name="context-free-parser" attributes="url text data" assetpath ="../context-free-parser/">
4219 <template>
4220
4221 <core-ajax url="{{url}}" response="{{text}}" auto=""></core-ajax>
4222
4223 </template>
4224 <script>
4225
4226 Polymer('context-free-parser', {
4227
4228 text: null,
4229
4230 textChanged: function() {
4231 if (this.text) {
4232 var entities = ContextFreeParser.parse(this.text);
4233 if (!entities || entities.length === 0) {
4234 entities = [
4235 {name: this.url.split('/').pop(), description: '**Undocumented**'}
4236 ];
4237 }
4238 this.data = { classes: entities };
4239 }
4240 },
4241
4242 dataChanged: function() {
4243 this.fire('data-ready');
4244 }
4245
4246 });
4247
4248 </script>
4249 </polymer-element>
4250
4251
4252 <!--
4253
4254 Displays formatted source documentation scraped from input urls.
4255
4256 @element core-doc-page
4257 -->
4258
4259 <polymer-element name="core-doc-page" attributes="data" assetpath="../core-doc-v iewer/elements/">
4260
4261 <!--
4262
4263 Set url to add documentation from that location to the view.
4264
4265 @attribute url
4266 @type String
4267 -->
4268
4269 <template>
4270
4271 <style>/*
4272
4273 Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiac s.Org>
4274
4275 */
4276
4277 .hljs {
4278 display: block; padding: 0.5em;
4279 background: #F0F0F0;
4280 }
4281
4282 .hljs,
4283 .hljs-subst,
4284 .hljs-tag .hljs-title,
4285 .lisp .hljs-title,
4286 .clojure .hljs-built_in,
4287 .nginx .hljs-title {
4288 color: black;
4289 }
4290
4291 .hljs-string,
4292 .hljs-title,
4293 .hljs-constant,
4294 .hljs-parent,
4295 .hljs-tag .hljs-value,
4296 .hljs-rules .hljs-value,
4297 .hljs-rules .hljs-value .hljs-number,
4298 .hljs-preprocessor,
4299 .hljs-pragma,
4300 .haml .hljs-symbol,
4301 .ruby .hljs-symbol,
4302 .ruby .hljs-symbol .hljs-string,
4303 .hljs-aggregate,
4304 .hljs-template_tag,
4305 .django .hljs-variable,
4306 .smalltalk .hljs-class,
4307 .hljs-addition,
4308 .hljs-flow,
4309 .hljs-stream,
4310 .bash .hljs-variable,
4311 .apache .hljs-tag,
4312 .apache .hljs-cbracket,
4313 .tex .hljs-command,
4314 .tex .hljs-special,
4315 .erlang_repl .hljs-function_or_atom,
4316 .asciidoc .hljs-header,
4317 .markdown .hljs-header,
4318 .coffeescript .hljs-attribute {
4319 color: #800;
4320 }
4321
4322 .smartquote,
4323 .hljs-comment,
4324 .hljs-annotation,
4325 .hljs-template_comment,
4326 .diff .hljs-header,
4327 .hljs-chunk,
4328 .asciidoc .hljs-blockquote,
4329 .markdown .hljs-blockquote {
4330 color: #888;
4331 }
4332
4333 .hljs-number,
4334 .hljs-date,
4335 .hljs-regexp,
4336 .hljs-literal,
4337 .hljs-hexcolor,
4338 .smalltalk .hljs-symbol,
4339 .smalltalk .hljs-char,
4340 .go .hljs-constant,
4341 .hljs-change,
4342 .lasso .hljs-variable,
4343 .makefile .hljs-variable,
4344 .asciidoc .hljs-bullet,
4345 .markdown .hljs-bullet,
4346 .asciidoc .hljs-link_url,
4347 .markdown .hljs-link_url {
4348 color: #080;
4349 }
4350
4351 .hljs-label,
4352 .hljs-javadoc,
4353 .ruby .hljs-string,
4354 .hljs-decorator,
4355 .hljs-filter .hljs-argument,
4356 .hljs-localvars,
4357 .hljs-array,
4358 .hljs-attr_selector,
4359 .hljs-important,
4360 .hljs-pseudo,
4361 .hljs-pi,
4362 .haml .hljs-bullet,
4363 .hljs-doctype,
4364 .hljs-deletion,
4365 .hljs-envvar,
4366 .hljs-shebang,
4367 .apache .hljs-sqbracket,
4368 .nginx .hljs-built_in,
4369 .tex .hljs-formula,
4370 .erlang_repl .hljs-reserved,
4371 .hljs-prompt,
4372 .asciidoc .hljs-link_label,
4373 .markdown .hljs-link_label,
4374 .vhdl .hljs-attribute,
4375 .clojure .hljs-attribute,
4376 .asciidoc .hljs-attribute,
4377 .lasso .hljs-attribute,
4378 .coffeescript .hljs-property,
4379 .hljs-phony {
4380 color: #88F
4381 }
4382
4383 .hljs-keyword,
4384 .hljs-id,
4385 .hljs-title,
4386 .hljs-built_in,
4387 .hljs-aggregate,
4388 .css .hljs-tag,
4389 .hljs-javadoctag,
4390 .hljs-phpdoc,
4391 .hljs-yardoctag,
4392 .smalltalk .hljs-class,
4393 .hljs-winutils,
4394 .bash .hljs-variable,
4395 .apache .hljs-tag,
4396 .go .hljs-typename,
4397 .tex .hljs-command,
4398 .asciidoc .hljs-strong,
4399 .markdown .hljs-strong,
4400 .hljs-request,
4401 .hljs-status {
4402 font-weight: bold;
4403 }
4404
4405 .asciidoc .hljs-emphasis,
4406 .markdown .hljs-emphasis {
4407 font-style: italic;
4408 }
4409
4410 .nginx .hljs-built_in {
4411 font-weight: normal;
4412 }
4413
4414 .coffeescript .javascript,
4415 .javascript .xml,
4416 .lasso .markup,
4417 .tex .hljs-formula,
4418 .xml .javascript,
4419 .xml .vbscript,
4420 .xml .css,
4421 .xml .hljs-cdata {
4422 opacity: 0.5;
4423 }
4424 </style>
4425 <style>:host {
4426 display: block;
4427 position: relative;
4428 }
4429
4430 #panel {
4431 position: absolute;
4432 top: 0;
4433 left: 0;
4434 height: 100%;
4435 width: 100%;
4436 }
4437
4438 .main {
4439 padding: 0 72px;
4440 max-width: 832px;
4441 margin: 0 auto;
4442 }
4443
4444 markedjs-element {
4445 display: block;
4446 }
4447
4448 h1 {
4449 font-size: 52px;
4450 color: #E91E63
4451 }
4452
4453 .element {
4454 font-size: 21px;
4455 }
4456
4457 .name {
4458 /* typography */
4459 color: white;
4460 /* font-size: 14px; */
4461 font-size: 12px;
4462 font-weight: bold;
4463 text-decoration: none;
4464 /* colors / effects */
4465 background-color: #999;
4466 box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.1);
4467 box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.1);
4468 border-radius: 2px;
4469 cursor: pointer;
4470 /* metrics */
4471 display: inline-block;
4472 padding: 4px 12px 5px 12px;
4473 margin: 4px 0;
4474 }
4475
4476 .ntitle {
4477 font-size: 26px;
4478 padding-bottom: 4px;
4479 border-bottom: 1px solid whitesmoke;
4480 }
4481
4482 .box {
4483 margin-bottom: 40px;
4484 }
4485
4486 .top pre {
4487 padding: 12px 13px;
4488 background-color: #f8f8f8;
4489 }
4490
4491 code {
4492 font-family: Consolas, monospace;
4493 border: 1px solid #ddd;
4494 background-color: #f8f8f8;
4495 border-radius: 3px;
4496 padding: 0 3px;
4497 }
4498
4499 pre code {
4500 max-width: 832px;
4501 white-space: pre-wrap;
4502 overflow: hidden;
4503 border: none;
4504 }
4505
4506 /**/
4507
4508 .details {
4509 display: flex;
4510 }
4511
4512 .details-name {
4513 flex: 1;
4514 }
4515
4516 .details-info {
4517 flex: 2;
4518 }
4519
4520 .attribute-box {
4521 }
4522
4523 .attribute-box .details {
4524 background-color: #FFF9C4;
4525 padding: 8px 16px;
4526 border-bottom: 1px solid #D1CCA1;
4527 }
4528
4529 .attribute-box .ntitle {
4530 padding: 24px 16px;
4531 }
4532
4533 .attribute-box code {
4534 color: #FFAB40;
4535 border: none;
4536 background-color: transparent;
4537 border-radius: none;
4538 padding: 0;
4539 font-size: 1.2em;
4540 }
4541
4542 .property-box .ntitle {
4543 padding: 24px 16px;
4544 }
4545
4546 .property-box code {
4547 color: #4285F4;
4548 border: none;
4549 background-color: transparent;
4550 border-radius: none;
4551 padding: 0;
4552 font-size: 1.2em;
4553 }
4554
4555 .property-box .details {
4556 background-color: lightblue;
4557 padding: 8px 16px;
4558 border-bottom: 1px solid #D1CCA1;
4559 }
4560
4561 .method-box {
4562 }
4563
4564 .method-box .details {
4565 background-color: #F0F4C3;
4566 padding: 8px 16px;
4567 border-bottom: 1px solid #D1CCA1;
4568 }
4569
4570 .method-box .ntitle {
4571 background-color: #9E9D24;
4572 padding: 24px 16px;
4573 }
4574
4575 .method-box code {
4576 color: #9E9D24;
4577 border: none;
4578 background-color: transparent;
4579 border-radius: none;
4580 padding: 0;
4581 font-size: 1.2em;
4582 }
4583
4584 .event-box {
4585 }
4586
4587 .event-box .details {
4588 background-color: #B2DFDB;
4589 padding: 8px 16px;
4590 border-bottom: 1px solid #92B7B3;
4591 }
4592
4593 .event-box .ntitle {
4594 background-color: #009688;
4595 padding: 24px 16px;
4596 }
4597
4598 .event-box code {
4599 color: #009688;
4600 border: none;
4601 background-color: transparent;
4602 border-radius: none;
4603 padding: 0;
4604 font-size: 1.2em;
4605 }
4606
4607 </style>
4608
4609 <core-header-panel id="panel" mode="waterfall">
4610
4611 <!--<core-toolbar>
4612 <span style="margin: 0 72px;">{{data.name}}</span>
4613 </core-toolbar>-->
4614
4615 <div class="main" on-marked-js-highlight="{{hilight}}">
4616
4617 <h1 style="font-size: 52px; color: #E91E63;">
4618 {{data.name}}
4619 </h1>
4620
4621 <p>
4622 <core-icon icon="home"></core-icon>&nbsp;<a href="{{data | homepageFil ter}}">Home Page</a>
4623 </p>
4624
4625 <template if="{{data.extends}}">
4626 <section class="box">
4627 <div class="ntitle">Extends</div>
4628 <p><a href="#{{data.extends}}">{{data.extends}}</a></p>
4629 </section>
4630 </template>
4631
4632 <template if="{{data.description}}">
4633 <section class="box top">
4634 <div class="ntitle">Summary</div>
4635 <marked-element text="{{data.description}}"></marked-element>
4636 </section>
4637 </template>
4638
4639 <template if="{{data.attributes.length}}">
4640 <section class="box attribute-box">
4641 <div class="ntitle" style="background-color: #FFAB40; color: white;" >Attributes</div>
4642 <template repeat="{{data.attributes}}">
4643 <div class="details">
4644 <div class="details-name">
4645 <p><code>{{name}}</code></p>
4646 </div>
4647 <div class="details-info">
4648 <p><code>{{type}}</code></p>
4649 <marked-element text="{{description}}"></marked-element>
4650 </div>
4651 </div>
4652 </template>
4653 </section>
4654 </template>
4655
4656 <template if="{{data.properties.length}}">
4657 <section class="box property-box">
4658 <div class="ntitle" style="background-color: #4285F4; color: white;" >Properties</div>
4659 <template repeat="{{data.properties}}">
4660 <div class="details">
4661 <div class="details-name">
4662 <p><code>{{name}}</code></p>
4663 </div>
4664 <div class="details-info">
4665 <p><code>{{type}}</code></p>
4666 <marked-element text="{{description}}"></marked-element>
4667 </div>
4668 </div>
4669 </template>
4670 </section>
4671 </template>
4672
4673 <template if="{{data.events.length}}">
4674 <section class="box event-box">
4675 <div class="ntitle" style="color: white;">Events</div>
4676 <template repeat="{{data.events}}">
4677 <div class="details">
4678 <div class="details-name">
4679 <p><code>{{name}}</code></p>
4680 </div>
4681 <div class="details-info">
4682 <marked-element text="{{description}}"></marked-element>
4683 </div>
4684 </div>
4685 </template>
4686 </section>
4687 </template>
4688
4689 <template if="{{data.methods.length}}">
4690 <section class="box method-box">
4691 <div class="ntitle" style="color: white;">Methods</div>
4692 <template repeat="{{data.methods}}">
4693 <div class="details">
4694 <div class="details-name">
4695 <p><code>{{name}}</code></p>
4696 </div>
4697 <div class="details-info">
4698 <marked-element text="{{description}}"></marked-element>
4699 </div>
4700 </div>
4701 </template>
4702 </section>
4703 </template>
4704
4705 </div>
4706
4707 </core-header-panel>
4708
4709 </template>
4710
4711 <script>
4712
4713 Polymer('core-doc-page', {
4714
4715 hilight: function(event, detail, sender) {
4716 detail.code = hljs.highlightAuto(detail.code).value;
4717 },
4718
4719 homepageFilter: function(data) {
4720 if (!data) {
4721 return '';
4722 }
4723 if (!data.homepage || data.homepage === 'github.io') {
4724 return '//polymer.github.io/' + data.name;
4725 } else {
4726 return data.homepage;
4727 }
4728 }
4729
4730 });
4731
4732 </script>
4733
4734 </polymer-element>
4735
4736
4737
4738
4739 <!--
4740 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4741 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
4742 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
4743 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
4744 Code distributed by Google as part of the polymer project is also
4745 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
4746 -->
4747
4748 <!--
4749 `core-menu` is a selector which styles to looks like a menu.
4750
4751 <core-menu selected="0">
4752 <core-item icon="settings" label="Settings"></core-item>
4753 <core-item icon="dialog" label="Dialog"></core-item>
4754 <core-item icon="search" label="Search"></core-item>
4755 </core-menu>
4756
4757 When an item is selected the `core-selected` class is added to it. The user can
4758 use the class to add more stylings to the selected item.
4759
4760 core-item.core-selected {
4761 color: red;
4762 }
4763
4764 The `selectedItem` property references the selected item.
4765
4766 <core-menu selected="0" selectedItem="{{item}}">
4767 <core-item icon="settings" label="Settings"></core-item>
4768 <core-item icon="dialog" label="Dialog"></core-item>
4769 <core-item icon="search" label="Search"></core-item>
4770 </core-menu>
4771
4772 <div>selected label: {{item.label}}</div>
4773
4774 The `core-select` event signals selection change.
4775
4776 <core-menu selected="0" on-core-select="{{selectAction}}">
4777 <core-item icon="settings" label="Settings"></core-item>
4778 <core-item icon="dialog" label="Dialog"></core-item>
4779 <core-item icon="search" label="Search"></core-item>
4780 </core-menu>
4781
4782 ...
4783
4784 selectAction: function(e, detail) {
4785 if (detail.isSelected) {
4786 var selectedItem = detail.item;
4787 ...
4788 }
4789 }
4790
4791 @group Polymer Core Elements
4792 @element core-menu
4793 @extends core-selector
4794 -->
4795
4796 <!--
4797 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4798 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
4799 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
4800 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
4801 Code distributed by Google as part of the polymer project is also
4802 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
4803 -->
4804
4805 <!--
4806 @group Polymer Core Elements
4807
4808 `<core-selector>` is used to manage a list of elements that can be selected.
4809
4810 The attribute `selected` indicates which item element is being selected.
4811 The attribute `multi` indicates if multiple items can be selected at once.
4812 Tapping on the item element would fire `core-activate` event. Use
4813 `core-select` event to listen for selection changes.
4814
4815 Example:
4816
4817 <core-selector selected="0">
4818 <div>Item 1</div>
4819 <div>Item 2</div>
4820 <div>Item 3</div>
4821 </core-selector>
4822
4823 `<core-selector>` is not styled. Use the `core-selected` CSS class to style the selected element.
4824
4825 <style>
4826 .item.core-selected {
4827 background: #eee;
4828 }
4829 </style>
4830 ...
4831 <core-selector>
4832 <div class="item">Item 1</div>
4833 <div class="item">Item 2</div>
4834 <div class="item">Item 3</div>
4835 </core-selector>
4836
4837 @element core-selector
4838 @status stable
4839 @homepage github.io
4840 -->
4841
4842 <!--
4843 Fired when an item's selection state is changed. This event is fired both
4844 when an item is selected or deselected. The `isSelected` detail property
4845 contains the selection state.
4846
4847 @event core-select
4848 @param {Object} detail
4849 @param {boolean} detail.isSelected true for selection and false for deselectio n
4850 @param {Object} detail.item the item element
4851 -->
4852 <!--
4853 Fired when an item element is tapped.
4854
4855 @event core-activate
4856 @param {Object} detail
4857 @param {Object} detail.item the item element
4858 -->
4859
4860
4861 <!--
4862 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4863 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
4864 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
4865 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
4866 Code distributed by Google as part of the polymer project is also
4867 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
4868 -->
4869 <!--
4870 @group Polymer Core Elements
4871
4872 The `<core-selection>` element is used to manage selection state. It has no
4873 visual appearance and is typically used in conjunction with another element.
4874 For example, [core-selector](../core-selector)
4875 use a `<core-selection>` to manage selection.
4876
4877 To mark an item as selected, call the `select(item)` method on
4878 `<core-selection>`. The item itself is an argument to this method.
4879
4880 The `<core-selection>`element manages selection state for any given set of
4881 items. When an item is selected, the `core-select` event is fired.
4882
4883 The attribute `multi` indicates if multiple items can be selected at once.
4884
4885 Example:
4886
4887 <polymer-element name="selection-example">
4888 <template>
4889 <style>
4890 polyfill-next-selector { content: ':host > .selected'; }
4891 ::content > .selected {
4892 font-weight: bold;
4893 font-style: italic;
4894 }
4895 </style>
4896 <ul on-tap="{{itemTapAction}}">
4897 <content></content>
4898 </ul>
4899 <core-selection id="selection" multi
4900 on-core-select="{{selectAction}}"></core-selection>
4901 </template>
4902 <script>
4903 Polymer('selection-example', {
4904 itemTapAction: function(e, detail, sender) {
4905 this.$.selection.select(e.target);
4906 },
4907 selectAction: function(e, detail, sender) {
4908 detail.item.classList.toggle('selected', detail.isSelected);
4909 }
4910 });
4911 </script>
4912 </polymer-element>
4913
4914 <selection-example>
4915 <li>Red</li>
4916 <li>Green</li>
4917 <li>Blue</li>
4918 </selection-example>
4919
4920 @element core-selection
4921 -->
4922
4923 <!--
4924 Fired when an item's selection state is changed. This event is fired both
4925 when an item is selected or deselected. The `isSelected` detail property
4926 contains the selection state.
4927
4928 @event core-select
4929 @param {Object} detail
4930 @param {boolean} detail.isSelected true for selection and false for de-selecti on
4931 @param {Object} detail.item the item element
4932 -->
4933
4934
4935 <polymer-element name="core-selection" attributes="multi" hidden assetpath="../c ore-selection/">
4936 <script>
4937 Polymer('core-selection', {
4938 /**
4939 * If true, multiple selections are allowed.
4940 *
4941 * @attribute multi
4942 * @type boolean
4943 * @default false
4944 */
4945 multi: false,
4946 ready: function() {
4947 this.clear();
4948 },
4949 clear: function() {
4950 this.selection = [];
4951 },
4952 /**
4953 * Retrieves the selected item(s).
4954 * @method getSelection
4955 * @returns Returns the selected item(s). If the multi property is true,
4956 * getSelection will return an array, otherwise it will return
4957 * the selected item or undefined if there is no selection.
4958 */
4959 getSelection: function() {
4960 return this.multi ? this.selection : this.selection[0];
4961 },
4962 /**
4963 * Indicates if a given item is selected.
4964 * @method isSelected
4965 * @param {any} item The item whose selection state should be checked.
4966 * @returns Returns true if `item` is selected.
4967 */
4968 isSelected: function(item) {
4969 return this.selection.indexOf(item) >= 0;
4970 },
4971 setItemSelected: function(item, isSelected) {
4972 if (item !== undefined && item !== null) {
4973 if (isSelected) {
4974 this.selection.push(item);
4975 } else {
4976 var i = this.selection.indexOf(item);
4977 if (i >= 0) {
4978 this.selection.splice(i, 1);
4979 }
4980 }
4981 this.fire("core-select", {isSelected: isSelected, item: item});
4982 }
4983 },
4984 /**
4985 * Set the selection state for a given `item`. If the multi property
4986 * is true, then the selected state of `item` will be toggled; otherwise
4987 * the `item` will be selected.
4988 * @method select
4989 * @param {any} item: The item to select.
4990 */
4991 select: function(item) {
4992 if (this.multi) {
4993 this.toggle(item);
4994 } else if (this.getSelection() !== item) {
4995 this.setItemSelected(this.getSelection(), false);
4996 this.setItemSelected(item, true);
4997 }
4998 },
4999 /**
5000 * Toggles the selection state for `item`.
5001 * @method toggle
5002 * @param {any} item: The item to toggle.
5003 */
5004 toggle: function(item) {
5005 this.setItemSelected(item, !this.isSelected(item));
5006 }
5007 });
5008 </script>
5009 </polymer-element>
5010
5011
5012 <polymer-element name="core-selector" attributes="selected multi valueattr selec tedClass selectedProperty selectedAttribute selectedItem selectedModel selectedI ndex notap target itemsSelector activateEvent" assetpath="../core-selector/">
5013
5014 <template>
5015 <core-selection id="selection" multi="{{multi}}" on-core-select="{{selection Select}}"></core-selection>
5016 <content id="items" select="*"></content>
5017 </template>
5018
5019 <script>
5020
5021 Polymer('core-selector', {
5022
5023 /**
5024 * Gets or sets the selected element. Default to use the index
5025 * of the item element.
5026 *
5027 * If you want a specific attribute value of the element to be
5028 * used instead of index, set "valueattr" to that attribute name.
5029 *
5030 * Example:
5031 *
5032 * <core-selector valueattr="label" selected="foo">
5033 * <div label="foo"></div>
5034 * <div label="bar"></div>
5035 * <div label="zot"></div>
5036 * </core-selector>
5037 *
5038 * In multi-selection this should be an array of values.
5039 *
5040 * Example:
5041 *
5042 * <core-selector id="selector" valueattr="label" multi>
5043 * <div label="foo"></div>
5044 * <div label="bar"></div>
5045 * <div label="zot"></div>
5046 * </core-selector>
5047 *
5048 * this.$.selector.selected = ['foo', 'zot'];
5049 *
5050 * @attribute selected
5051 * @type Object
5052 * @default null
5053 */
5054 selected: null,
5055
5056 /**
5057 * If true, multiple selections are allowed.
5058 *
5059 * @attribute multi
5060 * @type boolean
5061 * @default false
5062 */
5063 multi: false,
5064
5065 /**
5066 * Specifies the attribute to be used for "selected" attribute.
5067 *
5068 * @attribute valueattr
5069 * @type string
5070 * @default 'name'
5071 */
5072 valueattr: 'name',
5073
5074 /**
5075 * Specifies the CSS class to be used to add to the selected element.
5076 *
5077 * @attribute selectedClass
5078 * @type string
5079 * @default 'core-selected'
5080 */
5081 selectedClass: 'core-selected',
5082
5083 /**
5084 * Specifies the property to be used to set on the selected element
5085 * to indicate its active state.
5086 *
5087 * @attribute selectedProperty
5088 * @type string
5089 * @default ''
5090 */
5091 selectedProperty: '',
5092
5093 /**
5094 * Specifies the property to be used to set on the selected element
5095 * to indicate its active state.
5096 *
5097 * @attribute selectedProperty
5098 * @type string
5099 * @default 'active'
5100 */
5101 selectedAttribute: 'active',
5102
5103 /**
5104 * Returns the currently selected element. In multi-selection this returns
5105 * an array of selected elements.
5106 *
5107 * @attribute selectedItem
5108 * @type Object
5109 * @default null
5110 */
5111 selectedItem: null,
5112
5113 /**
5114 * In single selection, this returns the model associated with the
5115 * selected element.
5116 *
5117 * @attribute selectedModel
5118 * @type Object
5119 * @default null
5120 */
5121 selectedModel: null,
5122
5123 /**
5124 * In single selection, this returns the selected index.
5125 *
5126 * @attribute selectedIndex
5127 * @type number
5128 * @default -1
5129 */
5130 selectedIndex: -1,
5131
5132 /**
5133 * The target element that contains items. If this is not set
5134 * core-selector is the container.
5135 *
5136 * @attribute target
5137 * @type Object
5138 * @default null
5139 */
5140 target: null,
5141
5142 /**
5143 * This can be used to query nodes from the target node to be used for
5144 * selection items. Note this only works if the 'target' property is set.
5145 *
5146 * Example:
5147 *
5148 * <core-selector target="{{$.myForm}}" itemsSelector="input[type=radi o]"></core-selector>
5149 * <form id="myForm">
5150 * <label><input type="radio" name="color" value="red"> Red</label> <br>
5151 * <label><input type="radio" name="color" value="green"> Green</lab el> <br>
5152 * <label><input type="radio" name="color" value="blue"> Blue</label > <br>
5153 * <p>color = {{color}}</p>
5154 * </form>
5155 *
5156 * @attribute itemSelector
5157 * @type string
5158 * @default ''
5159 */
5160 itemsSelector: '',
5161
5162 /**
5163 * The event that would be fired from the item element to indicate
5164 * it is being selected.
5165 *
5166 * @attribute activateEvent
5167 * @type string
5168 * @default 'tap'
5169 */
5170 activateEvent: 'tap',
5171
5172 /**
5173 * Set this to true to disallow changing the selection via the
5174 * `activateEvent`.
5175 *
5176 * @attribute notap
5177 * @type boolean
5178 * @default false
5179 */
5180 notap: false,
5181
5182 ready: function() {
5183 this.activateListener = this.activateHandler.bind(this);
5184 this.observer = new MutationObserver(this.updateSelected.bind(this));
5185 if (!this.target) {
5186 this.target = this;
5187 }
5188 },
5189
5190 get items() {
5191 if (!this.target) {
5192 return [];
5193 }
5194 var nodes = this.target !== this ? (this.itemsSelector ?
5195 this.target.querySelectorAll(this.itemsSelector) :
5196 this.target.children) : this.$.items.getDistributedNodes();
5197 return Array.prototype.filter.call(nodes || [], function(n) {
5198 return n && n.localName !== 'template';
5199 });
5200 },
5201
5202 targetChanged: function(old) {
5203 if (old) {
5204 this.removeListener(old);
5205 this.observer.disconnect();
5206 this.clearSelection();
5207 }
5208 if (this.target) {
5209 this.addListener(this.target);
5210 this.observer.observe(this.target, {childList: true});
5211 this.updateSelected();
5212 }
5213 },
5214
5215 addListener: function(node) {
5216 node.addEventListener(this.activateEvent, this.activateListener);
5217 },
5218
5219 removeListener: function(node) {
5220 node.removeEventListener(this.activateEvent, this.activateListener);
5221 },
5222
5223 get selection() {
5224 return this.$.selection.getSelection();
5225 },
5226
5227 selectedChanged: function() {
5228 this.updateSelected();
5229 },
5230
5231 updateSelected: function() {
5232 this.validateSelected();
5233 if (this.multi) {
5234 this.clearSelection();
5235 this.selected && this.selected.forEach(function(s) {
5236 this.valueToSelection(s);
5237 }, this);
5238 } else {
5239 this.valueToSelection(this.selected);
5240 }
5241 },
5242
5243 validateSelected: function() {
5244 // convert to an array for multi-selection
5245 if (this.multi && !Array.isArray(this.selected) &&
5246 this.selected !== null && this.selected !== undefined) {
5247 this.selected = [this.selected];
5248 }
5249 },
5250
5251 clearSelection: function() {
5252 if (this.multi) {
5253 this.selection.slice().forEach(function(s) {
5254 this.$.selection.setItemSelected(s, false);
5255 }, this);
5256 } else {
5257 this.$.selection.setItemSelected(this.selection, false);
5258 }
5259 this.selectedItem = null;
5260 this.$.selection.clear();
5261 },
5262
5263 valueToSelection: function(value) {
5264 var item = (value === null || value === undefined) ?
5265 null : this.items[this.valueToIndex(value)];
5266 this.$.selection.select(item);
5267 },
5268
5269 updateSelectedItem: function() {
5270 this.selectedItem = this.selection;
5271 },
5272
5273 selectedItemChanged: function() {
5274 if (this.selectedItem) {
5275 var t = this.selectedItem.templateInstance;
5276 this.selectedModel = t ? t.model : undefined;
5277 } else {
5278 this.selectedModel = null;
5279 }
5280 this.selectedIndex = this.selectedItem ?
5281 parseInt(this.valueToIndex(this.selected)) : -1;
5282 },
5283
5284 valueToIndex: function(value) {
5285 // find an item with value == value and return it's index
5286 for (var i=0, items=this.items, c; (c=items[i]); i++) {
5287 if (this.valueForNode(c) == value) {
5288 return i;
5289 }
5290 }
5291 // if no item found, the value itself is probably the index
5292 return value;
5293 },
5294
5295 valueForNode: function(node) {
5296 return node[this.valueattr] || node.getAttribute(this.valueattr);
5297 },
5298
5299 // events fired from <core-selection> object
5300 selectionSelect: function(e, detail) {
5301 this.updateSelectedItem();
5302 if (detail.item) {
5303 this.applySelection(detail.item, detail.isSelected);
5304 }
5305 },
5306
5307 applySelection: function(item, isSelected) {
5308 if (this.selectedClass) {
5309 item.classList.toggle(this.selectedClass, isSelected);
5310 }
5311 if (this.selectedProperty) {
5312 item[this.selectedProperty] = isSelected;
5313 }
5314 if (this.selectedAttribute && item.setAttribute) {
5315 if (isSelected) {
5316 item.setAttribute(this.selectedAttribute, '');
5317 } else {
5318 item.removeAttribute(this.selectedAttribute);
5319 }
5320 }
5321 },
5322
5323 // event fired from host
5324 activateHandler: function(e) {
5325 if (!this.notap) {
5326 var i = this.findDistributedTarget(e.target, this.items);
5327 if (i >= 0) {
5328 var item = this.items[i];
5329 var s = this.valueForNode(item) || i;
5330 if (this.multi) {
5331 if (this.selected) {
5332 this.addRemoveSelected(s);
5333 } else {
5334 this.selected = [s];
5335 }
5336 } else {
5337 this.selected = s;
5338 }
5339 this.asyncFire('core-activate', {item: item});
5340 }
5341 }
5342 },
5343
5344 addRemoveSelected: function(value) {
5345 var i = this.selected.indexOf(value);
5346 if (i >= 0) {
5347 this.selected.splice(i, 1);
5348 } else {
5349 this.selected.push(value);
5350 }
5351 this.valueToSelection(value);
5352 },
5353
5354 findDistributedTarget: function(target, nodes) {
5355 // find first ancestor of target (including itself) that
5356 // is in nodes, if any
5357 while (target && target != this) {
5358 var i = Array.prototype.indexOf.call(nodes, target);
5359 if (i >= 0) {
5360 return i;
5361 }
5362 target = target.parentNode;
5363 }
5364 }
5365 });
5366 </script>
5367 </polymer-element>
5368
5369
5370 <style shim-shadowdom="">/*
5371 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
5372 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
5373 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5374 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
5375 Code distributed by Google as part of the polymer project is also
5376 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
5377 */
5378
5379 html /deep/ core-menu {
5380 display: block;
5381 margin: 12px;
5382 }
5383
5384 polyfill-next-selector { content: 'core-menu > core-item'; }
5385 html /deep/ core-menu::shadow ::content > core-item {
5386 cursor: default;
5387 }
5388 </style>
5389
5390 <polymer-element name="core-menu" extends="core-selector" noscript="" assetpath= "../core-menu/"></polymer-element>
5391
5392 <!--
5393 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
5394 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
5395 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5396 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
5397 Code distributed by Google as part of the polymer project is also
5398 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
5399 -->
5400
5401 <!--
5402 `core-item` is a simple line-item object: a label and/or an icon that can also
5403 act as a link.
5404
5405 Example:
5406
5407 <core-item icon="settings" label="Settings"></core-item>
5408
5409 To use as a link, put &lt;a&gt; element in the item.
5410
5411 Example:
5412
5413 <core-item icon="settings" label="Settings">
5414 <a href="#settings" target="_self"></a>
5415 </core-item>
5416
5417 @group Polymer Core Elements
5418 @element core-item
5419 @homepage github.io
5420 -->
5421
5422
5423
5424 <style shim-shadowdom="">/*
5425 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
5426 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
5427 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5428 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
5429 Code distributed by Google as part of the polymer project is also
5430 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
5431 */
5432
5433 html /deep/ core-item {
5434 display: block;
5435 position: relative;
5436 height: 40px;
5437 white-space: nowrap;
5438 }
5439
5440 html /deep/ core-item.core-selected {
5441 font-weight: bold;
5442 }
5443
5444 html /deep/ core-item::shadow core-icon {
5445 margin: 0 16px 0 4px;
5446 }
5447
5448 html /deep/ core-item::shadow ::content > a {
5449 position: absolute;
5450 top: 0;
5451 right: 0;
5452 bottom: 0;
5453 left: 0;
5454 }
5455 </style>
5456
5457 <polymer-element name="core-item" attributes="label icon src" horizontal="" cent er="" layout="" assetpath="../core-item/">
5458 <template>
5459
5460 <core-icon src="{{src}}" icon="{{icon}}" hidden?="{{!src &amp;&amp; !icon}}">< /core-icon>{{label}}<content></content>
5461
5462 </template>
5463 <script>
5464
5465 Polymer('core-item', {
5466
5467 /**
5468 * The URL of an image for the icon.
5469 *
5470 * @attribute src
5471 * @type string
5472 * @default ''
5473 */
5474
5475 /**
5476 * Specifies the icon from the Polymer icon set.
5477 *
5478 * @attribute icon
5479 * @type string
5480 * @default ''
5481 */
5482
5483 /**
5484 * Specifies the label for the menu item.
5485 *
5486 * @attribute label
5487 * @type string
5488 * @default ''
5489 */
5490
5491 });
5492
5493 </script>
5494 </polymer-element>
5495
5496
5497 <!--
5498 @class core-doc-toc
5499 -->
5500
5501 <polymer-element name="core-doc-toc" attributes="data selected" assetpath="../co re-doc-viewer/elements/">
5502
5503 <template>
5504
5505 <style>:host {
5506 display: block;
5507 position: relative;
5508 border-right: 1px solid silver;
5509 }
5510
5511 core-header-panel {
5512 position: absolute;
5513 top: 0;
5514 left: 0;
5515 height: 100%;
5516 width: 100%;
5517 }
5518
5519 core-toolbar {
5520 background-color: #eeeeee;
5521 }
5522 </style>
5523
5524 <core-header-panel mode="waterfall">
5525
5526 <!-- <core-toolbar theme="core-light-theme">
5527 <core-icon-button icon="menu"></core-icon-button>
5528 <span core-flex>Topics</span>
5529 <core-icon-button icon="search" on-tap="{{searchAction}}"></core-icon-bu tton>
5530 </core-toolbar>
5531
5532 <core-toolbar id="searchBar" style="background-color: #C2185B; position: a bsolute; top: 0; left: 0; right: 0; opacity: 0; display: none;" class="seamed" t heme="core-dark-theme">
5533 <core-icon-button icon="search"></core-icon-button>
5534 <core-icon-button icon="close" on-tap="{{closeSearchAction}}"></core-ico n-button>
5535 </core-toolbar>-->
5536
5537 <core-menu selected="{{selected}}">
5538 <template repeat="{{data}}">
5539 <core-item><a href="#{{name}}">{{name}}</a></core-item>
5540 </template>
5541 </core-menu>
5542
5543 </core-header-panel>
5544
5545 </template>
5546
5547 <script>
5548
5549 Polymer('core-doc-toc', {
5550
5551 searchAction: function() {
5552 this.$.searchBar.style.opacity = 1;
5553 this.$.searchBar.style.display = '';
5554 },
5555
5556 closeSearchAction: function() {
5557 this.$.searchBar.style.opacity = 0;
5558 this.$.searchBar.style.display = 'none';
5559 }
5560
5561 });
5562
5563 </script>
5564
5565 </polymer-element>
5566
5567
5568
5569 <!--
5570 Displays formatted source documentation scraped from input urls.
5571
5572 @class core-doc-viewer
5573 @homepage github.io
5574 -->
5575
5576 <polymer-element name="core-doc-viewer" attributes="sources route url" assetpath ="../core-doc-viewer/">
5577
5578 <template>
5579
5580 <style>
5581
5582 core-doc-toc {
5583 display: none;
5584 width: 332px;
5585 overflow-x: hidden;
5586 }
5587
5588 </style>
5589
5590 <context-free-parser url="{{url}}" on-data-ready="{{parserDataReady}}"></con text-free-parser>
5591
5592 <template repeat="{{sources}}">
5593 <context-free-parser url="{{}}" on-data-ready="{{parserDataReady}}"></cont ext-free-parser>
5594 </template>
5595
5596 <core-layout></core-layout>
5597 <core-doc-toc id="toc" data="{{classes}}" selected="{{selected}}"></core-doc -toc>
5598 <core-doc-page core-flex="" data="{{data}}"></core-doc-page>
5599
5600 </template>
5601
5602 <script>
5603
5604 Polymer('core-doc-viewer', {
5605 /**
5606 * A single file to parse for docs
5607 *
5608 * @attribute url
5609 * @type Array
5610 * @default ''
5611 */
5612
5613 /**
5614 * Class documentation extracted from the parser
5615 *
5616 * @property classes
5617 * @type Array
5618 * @default []
5619 */
5620 classes: [],
5621
5622 /**
5623 * Files to parse for docs
5624 *
5625 * @attribute sources
5626 * @type Array
5627 * @default []
5628 */
5629 sources: [],
5630
5631 ready: function() {
5632 window.addEventListener('hashchange', this.parseLocationHash.bind(this)) ;
5633 this.parseLocationHash();
5634 },
5635
5636 parseLocationHash: function() {
5637 this.route = window.location.hash.slice(1);
5638 },
5639
5640 routeChanged: function() {
5641 this.validateRoute();
5642 },
5643
5644 validateRoute: function() {
5645 if (this.route) {
5646 this.classes.some(function(c) {
5647 if (c.name === this.route) {
5648 this.data = c;
5649 this.route = '';
5650 return;
5651 }
5652 }, this);
5653 }
5654 },
5655
5656 selectedChanged: function() {
5657 this.data = this.classes[this.selected];
5658 },
5659
5660 parserDataReady: function(event) {
5661 this.assimilateData(event.target.data);
5662 },
5663
5664 assimilateData: function(data) {
5665 this.classes = this.classes.concat(data.classes);
5666 this.classes.sort(function(a, b) {
5667 var na = a && a.name.toLowerCase(), nb = b && b.name.toLowerCase();
5668 return (na < nb) ? -1 : (na == nb) ? 0 : 1;
5669 });
5670 if (!this.data && !this.route && this.classes.length) {
5671 this.data = this.classes[0];
5672 }
5673 if (this.classes.length > 1) {
5674 this.$.toc.style.display = 'block';
5675 }
5676 this.validateRoute();
5677 }
5678
5679 });
5680
5681 </script>
5682
5683 </polymer-element>
5684
5685
5686
5687 <!--
5688
5689 Implements the default landing page for Polymer components.
5690
5691 `<core-component-page>` can render an information page for any component.
5692 Polymer components use this component in `index.html` to provide the standard la nding page.
5693
5694 `<core-component-page>` is _vulcanized_, which means it contains all it's depend encies baked in.
5695 Therefore, this component is intended to be used only by itself in a page.
5696
5697 This *-dev package contains the raw source and the dependency manifest necessary
5698 to reconstruct `core-component-page\core-component-page.html` via vulcanize.
5699
5700 `<core-component-page>` will set the page title automatically.
5701
5702 @group Polymer Core Elements
5703 @element core-component-page
5704
5705 -->
5706
5707 <polymer-element name="core-component-page" attributes="moduleName sources" asse tpath="../core-component-page-dev/">
5708
5709 <template>
5710
5711 <style>/*
5712 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
5713 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
5714 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
5715 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
5716 Code distributed by Google as part of the polymer project is also
5717 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
5718 */
5719
5720 :host {
5721 font-family: Arial, sans-serif;
5722 height: 100vh;
5723 }
5724
5725 h2 {
5726 display: inline-block;
5727 margin: 8px 6px;
5728 vertical-align: middle;
5729 }
5730
5731 .choiceB, .choiceC, .choiceD {
5732 /* typography */
5733 color: white;
5734 /* font-size: 14px; */
5735 font-size: 12px;
5736 font-weight: bold;
5737 text-decoration: none;
5738 /* colors / effects */
5739 background-color: #4285F4;
5740 box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.1);
5741 box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.1);
5742 border-radius: 2px;
5743 cursor: pointer;
5744 /* metrics */
5745 display: inline-block;
5746 padding: 4px 12px 5px 12px;
5747 margin: 4px 0;
5748 }
5749
5750 .appbar {
5751 background-color: #E91E63;
5752 color: white;
5753 }
5754 </style>
5755
5756 <core-layout vertical=""></core-layout>
5757
5758 <core-toolbar class="appbar">
5759 <span>{{moduleName}}</span>
5760 <a class="choiceC" target="_blank" href="../{{moduleName}}/demo.html">demo </a>
5761 </core-toolbar>
5762
5763 <core-doc-viewer core-flex="" url="{{url}}" sources="{{sources}}"></core-doc -viewer>
5764
5765 </template>
5766
5767 <script>
5768
5769 Polymer('core-component-page', {
5770
5771 moduleName: '',
5772 // TODO(sjmiles): needed this to force Object type for deserialization
5773 sources: [],
5774
5775 ready: function() {
5776 this.moduleName = this.moduleName || this.findModuleName();
5777 },
5778
5779 moduleNameChanged: function() {
5780 document.title = this.moduleName;
5781 this.url = !this.sources.length && this.moduleName ? this.moduleName + ' .html' : '';
5782 },
5783
5784 findModuleName: function() {
5785 var path = location.pathname.split('/');
5786 var name = path.pop() || path.pop();
5787 if (name.indexOf('.html') >= 0) {
5788 name = path.pop();
5789 }
5790 return name || '';
5791 }
5792
5793 });
5794
5795 </script>
5796
5797 </polymer-element>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698