| /** | 
 |  * Copyright 2015 Google Inc. All Rights Reserved. | 
 |  * | 
 |  * Licensed under the Apache License, Version 2.0 (the "License"); | 
 |  * you may not use this file except in compliance with the License. | 
 |  * You may obtain a copy of the License at | 
 |  * | 
 |  *     http://www.apache.org/licenses/LICENSE-2.0 | 
 |  * | 
 |  * Unless required by applicable law or agreed to in writing, software | 
 |  * distributed under the License is distributed on an "AS IS" BASIS, | 
 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 |  * See the License for the specific language governing permissions and | 
 |  * limitations under the License. | 
 |  */ | 
 |  | 
 | /* Common styles and definitions. */ | 
 |  | 
 | @import "//fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset=latin,cyrillic-ext,greek-ext,cyrillic,greek,vietnamese,latin-ext"; | 
 | @import "//fonts.googleapis.com/css?family=Source+Code+Pro"; | 
 | *, | 
 | *::after, | 
 | *::before { | 
 |   box-sizing: border-box; | 
 |   margin: 0; | 
 |   padding: 0; | 
 | } | 
 | h1, h2, h3, h4, h5, h6 { | 
 |   font-weight: normal; | 
 |   margin: .25em 0 .5em; | 
 | } | 
 | h1 { | 
 |   font-size: 2em; | 
 | } | 
 | h2 { | 
 |   font-size: 1.5em; | 
 | } | 
 | h3 { | 
 |   font-size: 1.3em; | 
 | } | 
 | h4, h5, h6 { | 
 |   font-size: 14px; | 
 |   font-style: italic; | 
 | } | 
 | ul, ol { | 
 |   list-style: none; | 
 | } | 
 |  | 
 | /* Utility classes */ | 
 |  | 
 | .u-sha1 { | 
 |   background-color: #f1f2f3; | 
 |   color: #000; | 
 |   font-size: 13px; | 
 | } | 
 | .u-pre { | 
 |   font-size: 10pt; | 
 |   font-weight: 500; | 
 |   white-space: pre; | 
 | } | 
 | .u-lineNum { | 
 |   border-right: 1px solid #f1f2f3; | 
 |   color: #666; | 
 |   display: inline-block; | 
 |   min-width: 3em; | 
 |   text-align: right; | 
 | } | 
 | .u-noSelect { | 
 |   -webkit-user-select: none; | 
 |   -moz-user-select: none; | 
 |   -ms-user-select: none; | 
 |   user-select: none; | 
 | } | 
 | .u-monospace { | 
 |   font-family: 'Source Code Pro', monospace; | 
 | } | 
 |  | 
 | /* Common.soy */ | 
 |  | 
 | .Site { | 
 |   background: #fff; | 
 |   color: #000; | 
 |   display: -ms-flexbox; | 
 |   display: flex; | 
 |   font: 14px/1.54 'Open Sans', sans-serif; | 
 |   min-height: 100vh; | 
 |   -ms-flex-direction: column; | 
 |   flex-direction: column; | 
 | } | 
 | .Site-header, | 
 | .Site-footer { | 
 |   background: #eee; | 
 |   -ms-flex: none; | 
 |   flex: none; | 
 | } | 
 | .Site-header--withNavbar { | 
 |   background: #fff; | 
 | } | 
 | .Site-content { | 
 |   -ms-flex: 1 0 auto; | 
 |   flex: 1 0 auto; | 
 |   padding: 20px; | 
 | } | 
 | .Container { | 
 |   margin: 0 auto; | 
 |   max-width: 980px; | 
 | } | 
 | .Container--fullWidth { | 
 |   max-width: none; | 
 | } | 
 | .Header, | 
 | .Footer { | 
 |   -ms-flex-align: center; | 
 |   align-items: center; | 
 |   display: -ms-flexbox; | 
 |   display: flex; | 
 |   padding: 20px; | 
 | } | 
 | .Site-header--withNavbar .Header { | 
 |   max-width: 980px; | 
 |   margin: 0 auto; | 
 |   padding: 10px 0; | 
 | } | 
 | .Header-title, | 
 | .Header-image { | 
 |   display: -ms-flexbox; | 
 |   display: flex; | 
 |   -ms-flex: 1; | 
 |   flex: 1; | 
 | } | 
 | .Header-anchor { | 
 |   color: #666; | 
 |   font-size: 32px; | 
 |   font-weight: 300; | 
 |   text-decoration: none; | 
 | } | 
 | .Header-anchorLogo { | 
 |   display: inline-block; | 
 |   margin-right: 10px; | 
 |   vertical-align: middle; | 
 | } | 
 | .Header-nav { | 
 |   background: #eee; | 
 |   padding: 15px 0; | 
 | } | 
 | .Header-menu { | 
 |   display: -ms-flexbox; | 
 |   display: flex; | 
 |   -ms-flex-pack: end; | 
 |   justify-content: flex-end; | 
 | } | 
 | .Header-menuItem { | 
 |   color: #00e; | 
 |   display: inline-block; | 
 |   margin-left: 15px; | 
 | } | 
 | .Header-menuItem--noAction { | 
 |   color: inherit; | 
 | } | 
 | .Breadcrumbs { | 
 |   font-size: 18px; | 
 |   margin-bottom: 20px; | 
 | } | 
 | .Breadcrumbs-crumb { | 
 |   color: #00e; | 
 | } | 
 | .Breadcrumbs-crumb:last-child { | 
 |   color: #000; | 
 |   font-weight: bold; | 
 | } | 
 | .Footer { | 
 |   color: #666; | 
 | } | 
 | .Footer-poweredBy { | 
 |   -ms-flex: 1; | 
 |   flex: 1; | 
 | } | 
 | .Footer-formats, | 
 | .Footer-links { | 
 |   display: -ms-flexbox; | 
 |   display: flex; | 
 |   -ms-flex-pack: end; | 
 |   justify-content: flex-end; | 
 | } | 
 | .Footer-formatsItem { | 
 |   display: inline-block; | 
 | } | 
 | .Footer-formatsItem:first-child { | 
 |   margin-right: 20px; | 
 | } | 
 | .Footer-link { | 
 |   display: inline-block; | 
 |   margin-left: 10px; | 
 | } | 
 | .RepoList-item { | 
 |   display: -ms-flexbox; | 
 |   display: flex; | 
 |   left: -10px; | 
 |   padding: 5px 0 5px 10px; | 
 |   position: relative; | 
 |   white-space: nowrap; | 
 |   width: calc(100% + 20px); | 
 | } | 
 | .RepoList-item:link, | 
 | .RepoList-item:visited { | 
 |   text-decoration: none; | 
 | } | 
 | .RepoList-item:hover { | 
 |   background: #eee; | 
 | } | 
 | .RepoList-item--header { | 
 |   font-weight: bold; | 
 |   margin: 0; | 
 | } | 
 | .RepoList-item--header:hover { | 
 |   background: #fff; | 
 | } | 
 | .RepoList-itemName, | 
 | .RepoList-itemDescription { | 
 |   display: inline-block; | 
 | } | 
 | .RepoList-itemName { | 
 |   margin-right: 10px; | 
 |   min-width: 25%; | 
 |   text-decoration: underline; | 
 | } | 
 | .RepoList-item--header > .RepoList-itemName { | 
 |   text-decoration: none; | 
 | } | 
 | .RepoList-itemDescription { | 
 |   color: #000; | 
 |   -ms-flex: 1; | 
 |   flex: 1; | 
 |   overflow: hidden; | 
 |   text-overflow: ellipsis; | 
 | } | 
 |  | 
 | /* RepositoryIndex.soy */ | 
 |  | 
 | .RepoDescription { | 
 |   margin: 10px 0; | 
 | } | 
 | .RepoMirroredFrom { | 
 |   margin: 10px 0; | 
 |   color: #666; | 
 | } | 
 | .CloneRepo { | 
 |   background: #eee; | 
 |   margin-bottom: 20px; | 
 |   padding: 10px; | 
 | } | 
 | .CloneRepo-title { | 
 |   margin-bottom: 2px; | 
 | } | 
 | .CloneRepo-command { | 
 |   border: 1px solid #ccc; | 
 |   border-radius: 4px; | 
 |   display: block; | 
 |   font-size: inherit; | 
 |   padding: 10px; | 
 |   width: 100%; | 
 | } | 
 | .RepoShortlog { | 
 |   display: -ms-flexbox; | 
 |   display: flex; | 
 | } | 
 | .RepoShortlog-refs { | 
 |   -ms-flex: none !important; | 
 |   flex: none !important; | 
 |   width: 20%; | 
 | } | 
 | .RepoShortlog-refs > .RefList:first-child { | 
 |   margin: 0; | 
 | } | 
 | .RepoShortlog-log { | 
 |   -ms-flex: 1; | 
 |   flex: 1; | 
 |   width: 80%; | 
 | } | 
 | .RepoIndexDoc { | 
 |   border-top: 1px solid #ddd; | 
 |   margin-top: 20px; | 
 |   padding-top: 5px; | 
 | } | 
 |  | 
 | /* RefList.soy */ | 
 |  | 
 | .Refs {} | 
 | .RefList { | 
 |   margin: 15px 0; | 
 | } | 
 | .RefList-title { | 
 |   margin: 0; | 
 | } | 
 | .RefList-items {} | 
 | .RefList-item { | 
 |   padding: 2px 0; | 
 | } | 
 |  | 
 | /* LogDetail.soy */ | 
 |  | 
 | .LogNav { | 
 |   margin: 10px 0; | 
 |   text-align: center; | 
 | } | 
 | .CommitLog {} | 
 | .CommitLog-item { | 
 |   padding: 2px 0; | 
 | } | 
 | .CommitLog-item--oneline:hover { | 
 |   background: #eee; | 
 | } | 
 | .CommitLog-item--full { | 
 |   margin-bottom: 20px; | 
 | } | 
 | .CommitLog-item--empty { | 
 |   padding: 10px 0; | 
 |   text-align: center; | 
 | } | 
 | .CommitLog-sha1 { | 
 |   border-radius: 3px; | 
 |   display: inline-block; | 
 |   margin-right: 3px; | 
 |   padding: 2px 4px; | 
 |   text-align: center; | 
 | } | 
 | .CommitLog-time { | 
 |   color: #666; | 
 | } | 
 | .CommitLog-branchLabel { | 
 |   color: #dd4b39; | 
 | } | 
 | .CommitLog-tagLabel { | 
 |   color: #093; | 
 | } | 
 | .CommitLog-rename { | 
 |   font-size: 0.9em; | 
 |   display: block; | 
 |   padding-left: 5px; | 
 | } | 
 |  | 
 | /* ObjectDetail.soy */ | 
 |  | 
 | .Metadata { | 
 |   margin-bottom: 15px; | 
 | } | 
 | .Metadata-title { | 
 |   font-weight: bold; | 
 |   padding-right: 10px; | 
 |   text-align: right; | 
 | } | 
 | .MetadataMessage { | 
 |   background-color: #fafafa; | 
 |   border: 1px solid #ccc; | 
 |   color: #000; | 
 |   margin: 0; | 
 |   padding: 12px; | 
 |   white-space: pre-wrap; | 
 | } | 
 | .DiffTree { | 
 |   margin: 10px 0 5px; | 
 | } | 
 | .DiffTree-action { | 
 |   margin-left: .5em; | 
 | } | 
 | .DiffTree-action--add { | 
 |   color: #060; | 
 | } | 
 | .DiffTree-action--delete { | 
 |   color: #600; | 
 | } | 
 | .DiffTree-action--rename, | 
 | .DiffTree-action--copy { | 
 |   color: #006; | 
 | } | 
 | .DiffSummary {} | 
 | .TreeDetail-sha1, | 
 | .BlobSha1 { | 
 |   margin: 10px 0; | 
 |   padding: 5px 10px; | 
 | } | 
 | .FileList { | 
 |   margin-left: 25px; | 
 | } | 
 | .FileList-item { | 
 |   padding: 1px 0; | 
 |   position: relative; | 
 | } | 
 | .FileList-item:hover { | 
 |   background: #eee; | 
 | } | 
 | .FileList-item::before { | 
 |   left: -22px; | 
 |   position: absolute; | 
 |   top: 4px; | 
 | } | 
 | .FileList-itemLink { | 
 |   display: block; | 
 | } | 
 | /* Tree icons are taken from the public domain Tango icons: | 
 |  * http://tango.freedesktop.org/Tango_Icon_Library | 
 |  * Compressed with pngcrush -brute -rem tEXt -rem tIME -rem iTXt -rem zTXt */ | 
 | .FileList-item--gitTree::before { | 
 |   /* places/folder.png */ | 
 |   content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAAb5JREFUOMulkr1KA0EQgGdvTwwnYmER0gQsrFKmSy+pLESw9Qm0F/ICNnba+h6iEOuAEWslKJKTOyJJvIT72d1xZuOFC0giOLA77O7Mt/PnNptN+I+49Xr9GhH3f3mb0v1ht9vtLAUYYw5ItkgDL3KyD8PhcLvdbl/WarXT3DjLMnAcR/f7/YfxeKwtgC5RKQVhGILWeg4hQ6hUKjWyucmhLFEUuWR3QYBWAZABQ9i5CCmXy16pVALP80BKaaG+70MQBLvzFMjRKKXh8j6FSYKF7ITdEWLa4/ktokN74wiqjSMpnVcbQZqmEJHz+ckeCPFjWKwULpyspAqhdXVXdcnZcPjsIgn+2BsVA8jVYuWlgJ3yBj0icgq2uoK+lg4t+ZvLomSKamSQ4AI5BcMADtMhyNoSgNIISUaFNtwlazcDcBc4gjjVwCWid2usCWroYEhnaqbzFJLUzAHIXRDChXCcQP8zhkSZ5eNLgHAUzwDcRu4CoIRn/wsGUQIIy4Vr9TH6SYFCNzw4nALn5627K4vIttOUOwfa5YnrDYzt/9OLv9I5l8kk5hZ3XLO20b7tbR7zHLy/BX8G0IeBEM7ZN1NGIaFUaKLgAAAAAElFTkSuQmCC); | 
 | } | 
 | .FileList-item--symlink::before { | 
 |   /* actions/edit-redo.png */ | 
 |   content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABZUlEQVQ4y2NgIAL4zWL7D8TGDOQCqAEg7Ey2Aes+58AMcSSkmB2I3YB4HhCfh9kOMoCgIUAJMyDe2D+b58jKe553133M+r/uU/b/zV+L/y97n/i/+JIYbkOAAl5AfGLNTde/69+n/1/4MuD/gtsqKBhkALIh5S0M1jDN2kC8a+UNt/8b36f+X3JP5f/0u1pwjeuvS8E1g3DpZQm4ITAD5s09ZPBq49uE/0vvq4E1gPCJC5z/yy+IoGgG4a5HJqjeCJ3Pc2vjy+T/ux4Y/j99Rfz/7GtK/xfeUkbBN+8pY9cMAkFzuT5uepPy/+w1lf+TF3L/Q4p3OD5zRQ67Zlg873vk9n/mMlaQ5EcgLgZiA2R5nJphCjbfNP8LVeCBJyUa40xpO+5afQXS/8jKC0DJg+uPKx+bOJf1HDYXEJPW46JW8LcduKYzbdZMph4gn4ccQxSAOAuIo4FYdvsKFpYdK1iYCekDACq5JXDHGJhDAAAAAElFTkSuQmCC); | 
 | } | 
 | .FileList-item--regularFile::before { | 
 |   /* mimetypes/text-x-generic.png */ | 
 |   content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtElEQVQ4ja2TSw7CIBRFu0r3wyIYsAMHDl1CC92IDqC0wAbQi4Fo5VOMJGcAyT33vQEDY+xCCPGdnIZ48NB7kPkSLMvipZQBpVQC70Br7Y0xZQGC4zj6aZoCnPMPhBBtwb41NoN1XesCBHPNhyfI7fziFu6HJti3IgS0vrcFuZ3Btm2JpmC/M5jnOdEU5JoRstYmigKES80x7JyrC+IE7+1xAoSrgp//AqX02vsbn5nz8K/zAP9CzjbgFoHjAAAAAElFTkSuQmCC); | 
 | } | 
 | .FileList-item--executableFile::before { | 
 |   /* mimetypes/text-x-script.png */ | 
 |   content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA7ADsAOwdIxY2AAAACXBIWXMAAAsTAAALEwEAmpwYAAABOklEQVQ4T5WTTYqDQBBGPdKcZnIJdy7EVRByBQPi0iwHAlGT0YBHcG82kkV2VnffoKar7FYzIQYLPtqffq+rEJ04jn/CMMSV+XZs0YO1RcyLoO/7MdAD9gAI8wiK+CyYA0IDFABhrmFBAHNYbwYTIxFyWN8KwAiEmIEaknqVUposCoBBGE8cIGUipUKp5IJAzOe2JxI0pG1b3Gw2+Hg8FjoQzy0rLVAavt0GuGkaXrfb7avAzs0CNcHtDD4ejwzTve/7X/9GGFqn2QmkDmzbBJ9OJ8yyDNM0Rdd1J8mzgDqQPDNJLFwUBZ7PZ7xcLizwPI9gfj+NYAX2k+kx7vc7byrLEquqwuv1ivv9HpMk4ec6Uwfvqus63lzXNeZ5zoIRpoqiKP/09wVBwNDhcOB1t9v9OmuLTnw62dQfVIHPYx/I/0kAAAAASUVORK5CYII=); | 
 | } | 
 | .FileList-item--gitlink::before { | 
 |   /* emblems/emblem-symbolic-link.png */ | 
 |   content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAABO0lEQVQ4T7WT3U6EMBCF92m99yGMZuODGL01eueyXqjvwc+WUlooUPkfZxq3sQEvJLHJSQvlfDOnDbub/dUFCrZof3t9uaPF1kFeBwjD8E+apukfAVEUQRzHkCQJJKfEznES43tUGP0OIOMheIGn50e4f7izCo4H4GkKDEXPBIviCIZh8AFkfv94g5Qx4Jw7AOn4Grh1iqATdrUAEJmxFLIsgzzPQSnpQc4SIkMIh7ZtfQCjys6soNQlVFW1AEgpQWQCjDE+gHIKIaxZo7mu69UOiqJwRXxAxnFDQllS5XUzSeO+kmoJoOzUni41NE1tM9JBTdMII85d14FpjI2lihUA9wCNA8zzDOM4WkBjvgFqrQO8ulzmNgLl/8SPyTT0WL3vLLBGsNZ6HUBV1tT3vROd/Fk/AZt/Z/J+AUN8ayghXmezAAAAAElFTkSuQmCC); | 
 | } | 
 | .FileContents { | 
 |   border-collapse: collapse; | 
 |   border-spacing: 0; | 
 |   margin: 10px 0; | 
 | } | 
 | .FileContents-line { | 
 |   border: none; | 
 | } | 
 | .FileContents-lineNum { | 
 |   padding-right: 10px; | 
 |   width: 1%; | 
 | } | 
 | /* Used to prevent copying the line number. */ | 
 | .FileContents-lineNum::before { | 
 |   color: #aaa; | 
 |   content: attr(data-line-number); | 
 |   cursor: pointer; | 
 | } | 
 | .FileContents-lineContents { | 
 |   line-height: 1.3em; | 
 |   min-height: 1em; | 
 |   padding-left: 10px; | 
 | } | 
 | .FileContents-lineContents:target { | 
 |   background: #cfd8dc; | 
 | } | 
 | .InlineReadme { | 
 |   border-top: 1px solid #ddd; | 
 |   margin: 10px 0; | 
 |   padding: 7px 0; | 
 | } | 
 | .InlineReadme-path { | 
 |   color: #666; | 
 | } | 
 |  | 
 | /* BlameDetail.soy */ | 
 |  | 
 | .Blame { | 
 |   border-collapse: collapse; | 
 |   font-size: 8pt; | 
 |   margin: 0 auto; | 
 | } | 
 | .Blame-region--bg1 { | 
 |   background: #fff; | 
 | } | 
 | .Blame-region--bg2 { | 
 |   background: #f1f2f3; | 
 | } | 
 | .Blame-sha1, | 
 | .Blame-author, | 
 | .Blame-time, | 
 | .Blame-regionLink { | 
 |   font-size: 8pt; | 
 |   padding: 0 3px; | 
 |   white-space: nowrap; | 
 | } | 
 | .Blame-regionLink { | 
 |   text-align: right; | 
 | } | 
 | .Blame-lineNum .u-lineNum { | 
 |   padding: 0 8px; | 
 |   text-align: right; | 
 | } | 
 | .Blame-lineNum:hover { | 
 |   text-decoration: underline; | 
 | } | 
 | .Blame-lineContent { | 
 |   font-size: 9pt; | 
 |   line-height: 1.3em; | 
 |   padding: 0 8px; | 
 | } | 
 |  | 
 | /* DiffDetail.soy */ | 
 |  | 
 | .Diff { | 
 |   margin: 10px 0; | 
 | } | 
 | .Diff-fileIndex { | 
 |   color: #444; | 
 |   font-weight: bold; | 
 | } | 
 | .Diff-unified { | 
 |   border-bottom: 1px solid #ddd; | 
 |   border-top: 1px solid #ddd; | 
 |   padding: 10px 0; | 
 | } | 
 | .Diff-hunk { | 
 |   color: #00c; | 
 | } | 
 | .Diff-delete { | 
 |   color: #c00; | 
 | } | 
 | .Diff-insert { | 
 |   color: #080; | 
 | } |