.app_page #header {
    height: 100px;
    position: relative;
}
.app_page #header .row {
    height: 100px
}
.app_page #header #smartfees_logo {
    display: block;
    width: 235px;
    height: 75px;
    background: url(/images/common/branding/SmartFees-blue.png) no-repeat left 0;
    color: #fff;
    font-size: 1px;
    margin: 20px 0 0px -10px;
}
.app_page #header .login_menu {
    position: absolute;
    top: 35px;
    right: 15px;
    font-size: 14px;
}
.app_page #header .login_menu * {
    display: inline-block
}
.app_page #header .login_menu a {
    color: #00adef;
    text-decoration: none
}
.app_page #header .login_menu span.divider {
    padding: 0 10px;
    font-size: 14px
}
.app_page .row {
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    *zoom: 1;
}
.app_page .row:before,
.app_page .row:after {
    content: '';
    display: table
}
.app_page .row:after {
    clear: both
}
.app_page .app {
    max-width: 960px;
    margin: 0 auto
}
.app_page .tabs {
    background: url("/images/common/branding/grey_gradient.png") repeat-x top left;
    height: 53px;
    border: 1px solid #222;
    border-radius: 5px 5px 0 0;
}
.app_page .tabs a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    background: url("/images/common/branding/blue_gradient.png") repeat-x top left;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
    margin: 10px 0 0 8px;
    border: 1px solid #447486;
    border-width: 1px 1px 0 1px;
}
.app_page .tabs a:first-child {
    margin-left: 15px
}
.app_page .tabs a.active {
    background: url("/images/common/branding/white_gradient.png") repeat-x top left;
    color: #959393;
    border: 1px solid #b9b9b9;
    border-width: 1px 1px 0 1px;
    -webkit-box-shadow: 0 -2px 7px rgba(0, 0, 0, 0.3);
    box-shadow: 0 -2px 7px rgba(0, 0, 0, 0.3)
}
.app_page .tab_content {
    padding-top: 35px;
    padding-bottom: 55px;
    border: 1px solid #c2cad8;
    border-width: 0 1px 1px 1px;
    z-index: 1;
    position: relative;
    background-color: #fff;
    *zoom: 1;
}
.app_page .tab_content:before,
.app_page .tab_content:after {
    content: '';
    display: table
}
.app_page .tab_content:after {
    clear: both
}
.app_page .sub_menu {
    width: 23%;
    float: left;
}
.app_page .sub_menu ul {
    margin: 0;
    padding: 0;
    border: 1px solid #c2cad8;
    border-radius: 3px;
    margin: 0 0 0 16px;
}
.app_page .sub_menu ul li {
    float: none;
    list-style-type: none;
    padding: 0;
    margin: 0
}
.app_page .sub_menu ul a {
    background: url("/images/common/branding/grey_gradient_small.png") repeat-x top left;
    height: 30px;
    line-height: 32px;
    font-size: 13px;
    padding: 0 4px 0 13px;
    border-bottom: 1px solid #fff;
    border-top: 1px solid #e8dfce;
    color: #1589c2;
    text-decoration: none;
    display: block
}
.app_page .sub_menu ul li:first-child a {
    border-top: none
}
.app_page .sub_menu ul li:last-child a {
    border-bottom: none
}
.app_page .sub_menu ul .active a {
    color: #222;
    background-color: #eae9e9;
    background-image: none
}
.app_page .inner_tabbed_content {
    width: 75%;
    float: right
}
.app_page .inner_tabs a {
    background-color: #eee;
    border: 1px solid #c2cad8;
    border-width: 1px 1px 0 1px;
    display: inline-block;
    margin: 0 1px 0 0;
    text-decoration: none;
    font-size: 12px;
    padding: 7px 10px;
    color: #222;
}
.app_page .inner_tabs a.active {
    background-color: #fff;
    color: #1589c2;
    font-weight: bold;
    border-bottom: none;
    position: relative;
    z-index: 2
}
.app_page .inner_tab_content {
    border: 1px solid #c2cad8;
    margin: -1px 20px 0 0;
    padding: 15px;
    position: relative;
    z-index: 1;
    *zoom: 1;
}
.app_page .inner_tab_content:before,
.app_page .inner_tab_content:after {
    content: '';
    display: table
}
.app_page .inner_tab_content:after {
    clear: both
}
.app_page .inner_tab_content label {
    width: 100%;
    display: block;
    font-size: 14px;
    margin: 0 0 22px 0
}
.app_page .inner_tab_content input,
.app_page .inner_tab_content select {
    float: right;
    width: 60%;
    border-radius: 2px;
    border: 1px solid #c2cad8;
    height: 22px;
    line-height: 22px;
    color: #4d5968;
    text-indent: 2px;
}
.app_page .inner_tab_content input.small,
.app_page .inner_tab_content select.small {
    width: 20%;
    margin-right: 40%
}
.app_page .inner_tab_content span.required {
    color: #d13f19
}
.app_page .inner_tab_content button {
    font-size: 14px;
    background-color: #00adef;
    color: #fff;
    padding: 8px 12px;
    float: right;
    border: none;
    margin: 30px 0 0 0
}
.app_page #footer {
    background-color: #4d5968;
    height: 170px;
    padding-top: 10px;
    position:initial;
    *position:absolute
}
.app_page #footer ul.footer_menu {
    margin: 0;
    padding: 0;
    display: inline-block;
    *display: inline;
}
.app_page #footer ul.footer_menu li {
    float: none;
    list-style-type: none;
    padding: 0;
    margin: 0
}
.app_page #footer ul.footer_menu li {
    display: inline-block;
    *display: inline;
}
.app_page #footer ul.footer_menu li a {
    border-right: 1px solid #fff;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    padding-right: 9px;
    height: 12px;
    display: inline-block;
    line-height: 12px;    
    margin-right: 4px;
    *display: inline
}
.app_page #footer ul.footer_menu li:last-child a {
    border-right: 0
}
.app_page #footer p.copyright {
    display: inline-block;
    font-size: 12px;
    text-align: center;
    color: #ccc;
    *display:inline;
}/*
.login_page #header {
    background: #00adef url("Content/images/common/branding/header-gradient-bckgrnd.jpg") no-repeat top center/cover;
    background-color: #00adef;
    height: 308px;
    margin-bottom: 20px;
    position: relative;
}
.login_page #header .row {
    height: 308px
}
.login_page #header #smartfees_logo {
    position: absolute;
    bottom: 80px;
    left: 0;
}
.login_page #header #closing_corp_logo {
    position: absolute;
    top: 50px;
    right: 10px;
}*/
.login_page .row {
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    *zoom: 1;
}
.login_page .row:before,
.login_page .row:after {
    content: '';
    display: table
}
.login_page .row:after {
    clear: both
}
.login_page h2 {
    font-size: 18px;
    font-weight: lighter
}
.login_page h1 {
    font-size: 24px;
    font-weight: lighter
}
.login_page p {
    color: #4d5968;
    font-size: 14px;
}
.login_page p.callout {
    font-size: 18px;
    line-height: 30px
}
.login_page p a {
    color: #00adef;
    text-decoration: none
}
.login_page .content {
    padding: 0 30px
}
.login_page .solutions {
    width: 56%;
    float: left
}
.login_page .login_form {
    width: 40%;
    float: right;
}
.login_page .login_form form {
    *zoom: 1;
}
.login_page .login_form form:before,
.login_page .login_form form:after {
    content: '';
    display: table
}
.login_page .login_form form:after {
    clear: both
}
.login_page .login_form input[type=text],
.login_page .login_form input[type=password] {
    width: 100%;
    border: 1px solid #c2cad8;
    border-left: 2px solid #00adef;
    padding: 9px 10px 9px 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 5px 0;
}
.login_page .login_form input[type=text][name=username],
.login_page .login_form input[type=password][name=username] {
    background: url("/images/common/branding/icon_person.png") no-repeat 8px 9px
}
.login_page .login_form input[type=text][name=password],
.login_page .login_form input[type=password][name=password] {
    background: url("/images/common/branding/icon_lock.png") no-repeat 8px 9px
}
.login_page .login_form label.remember {
    margin-top: 10px;
    float: left;
}
.login_page .login_form label.remember input[type=checkbox] {
    width: 18px;
    height: 18px;
    position: relative;
    bottom: -2px;
}
.login_page .login_form button {
    cursor: pointer;
    font-size: 14px;
    background-color: #00adef;
    color: #fff;
    padding: 8px 12px;
    float: right;
    border: none;
    margin: 10px 0 0 5px;
}

.login_page hr {
    border: none;
    border-bottom: 1px solid #eee;
    clear: both;
    margin: 30px 0 30px -10%;
    width: 120%
}
.login_page #footer {
    max-width: 960px;
    margin: 70px auto 0 auto;
}
.login_page #footer ul.footer_menu {
    margin: 0;
    padding: 0;
    text-align: center;
}
.login_page #footer ul.footer_menu li {
    float: none;
    list-style-type: none;
    padding: 0;
    margin: 0
}
.login_page #footer ul.footer_menu li {
    display: inline-block;    
}
.login_page #footer ul.footer_menu li a {
    border-right: 1px solid #4d5968;
    color: #00adef;
    text-decoration: none;
    font-size: 12px;
    padding-right: 9px;
    height: 12px;
    display: inline-block;
    line-height: 12px;
    margin-right: 4px
}
.login_page #footer ul.footer_menu li:last-child a {
    border-right: 0
}
.login_page #footer p.copyright {
    font-size: 12px;
    text-align: center;
    margin-top: 20px
}
.app_page #header {
    height: 100px;
    position: relative;
}
.app_page #header .row {
    height: 100px
}
.app_page #header #smartfees_logo {
   display: block;
    width: 235px;
    height: 75px;
    background: url(/images/common/branding/SmartFees-blue.png) no-repeat left 0;
    color: #fff;
    font-size: 1px;
    margin: 20px 0 0px -10px;
}
.app_page #header .login_menu {
    position: absolute;
    top: 35px;
    right: 15px;
    font-size: 14px;
}
.app_page #header .login_menu * {
    display: inline-block;
   *display: inline;
}
.app_page #header .login_menu a {
    color: #00adef;
    text-decoration: none
}
.app_page #header .login_menu span.divider {
    padding: 0 10px;
    font-size: 14px
}
.app_page .row {
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    *zoom: 1;
}
.app_page .row:before,
.app_page .row:after {
    content: '';
    display: table
}
.app_page .row:after {
    clear: both
}
.app_page .app {
    max-width: 960px;
    margin: 0 auto
}
.app_page .tabs {
    background: url("/images/common/branding/grey_gradient.png") repeat-x top left;
    height: 53px;
    border: 1px solid #222;
    border-radius: 5px 5px 0 0;
}
.app_page .tabs a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    background: url("/images/common/branding/blue_gradient.png") repeat-x top left;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
    margin: 10px 0 0 8px;
    border: 1px solid #447486;
    border-width: 1px 1px 0 1px;
}
.app_page .tabs a:first-child {
    margin-left: 15px
}
.app_page .tabs a.active {
    background: url("/images/common/branding/white_gradient.png") repeat-x top left;
    color: #959393;
    border: 1px solid #b9b9b9;
    border-width: 1px 1px 0 1px;
    -webkit-box-shadow: 0 -2px 7px rgba(0, 0, 0, 0.3);
    box-shadow: 0 -2px 7px rgba(0, 0, 0, 0.3)
}
.app_page .tab_content {
    padding-top: 35px;
    padding-bottom: 55px;
    border: 1px solid #c2cad8;
    border-width: 0 1px 1px 1px;
    z-index: 1;
    position: relative;
    background-color: #fff;
    *zoom: 1;
}
.app_page .tab_content:before,
.app_page .tab_content:after {
    content: '';
    display: table
}
.app_page .tab_content:after {
    clear: both
}
.app_page .sub_menu {
    width: 23%;
    float: left;
}
.app_page .sub_menu ul {
    margin: 0;
    padding: 0;
    border: 1px solid #c2cad8;
    border-radius: 3px;
    margin: 0 0 0 16px;
}
.app_page .sub_menu ul li {
    float: none;
    list-style-type: none;
    padding: 0;
    margin: 0
}
.app_page .sub_menu ul a {
    background: url("/images/common/branding/grey_gradient_small.png") repeat-x top left;
    height: 30px;
    line-height: 32px;
    font-size: 13px;
    padding: 0 4px 0 13px;
    border-bottom: 1px solid #fff;
    border-top: 1px solid #e8dfce;
    color: #1589c2;
    text-decoration: none;
    display: block
}
.app_page .sub_menu ul li:first-child a {
    border-top: none
}
.app_page .sub_menu ul li:last-child a {
    border-bottom: none
}
.app_page .sub_menu ul .active a {
    color: #222;
    background-color: #eae9e9;
    background-image: none
}
.app_page .inner_tabbed_content {
    width: 75%;
    float: right
}
.app_page .inner_tabs a {
    background-color: #eee;
    border: 1px solid #c2cad8;
    border-width: 1px 1px 0 1px;
    display: inline-block;
    margin: 0 1px 0 0;
    text-decoration: none;
    font-size: 12px;
    padding: 7px 10px;
    color: #222;
}
.app_page .inner_tabs a.active {
    background-color: #fff;
    color: #1589c2;
    font-weight: bold;
    border-bottom: none;
    position: relative;
    z-index: 2
}
.app_page .inner_tab_content {
    border: 1px solid #c2cad8;
    margin: -1px 20px 0 0;
    padding: 15px;
    position: relative;
    z-index: 1;
    *zoom: 1;
}
.app_page .inner_tab_content:before,
.app_page .inner_tab_content:after {
    content: '';
    display: table
}
.app_page .inner_tab_content:after {
    clear: both
}
.app_page .inner_tab_content label {
    width: 100%;
    display: block;
    font-size: 14px;
    margin: 0 0 22px 0
}
.app_page .inner_tab_content input,
.app_page .inner_tab_content select {
    float: right;
    width: 60%;
    border-radius: 2px;
    border: 1px solid #c2cad8;
    height: 22px;
    line-height: 22px;
    color: #4d5968;
    text-indent: 2px;
}
.app_page .inner_tab_content input.small,
.app_page .inner_tab_content select.small {
    width: 20%;
    margin-right: 40%
}
.app_page .inner_tab_content span.required {
    color: #d13f19
}
.app_page .inner_tab_content button {
    font-size: 14px;
    background-color: #00adef;
    color: #fff;
    padding: 8px 12px;
    float: right;
    border: none;
    margin: 30px 0 0 0
}
.app_page #footer {
    background-color: #4d5968;
    height: 50px;
    padding-top: 10px;
    position:initial;
    *position:absolute;
}
.app_page #footer ul.footer_menu {
    margin: 0;
    padding: 0;
    display: inline-block;
    *display: inline;
}
.app_page #footer ul.footer_menu li {
    float: none;
    list-style-type: none;
    padding: 0;
    margin: 0
}
.app_page #footer ul.footer_menu li {
    display: inline-block;
    *display: inline;
}
.app_page #footer ul.footer_menu li a {
    border-right: 1px solid #fff;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    padding-right: 9px;
    height: 12px;
    display: inline-block;
    line-height: 12px;    
    margin-right: 4px;
    *display: inline
}
.app_page #footer ul.footer_menu li:last-child a {
    border-right: 0
}
.app_page #footer p.copyright {
    display: inline-block;
    font-size: 12px;
    text-align: center;
    color: #ccc;
    *display: inline;
}
.login_page #header {
    background:#433582 url('/images/common/branding/header-gradient-bckgrnd.jpg') no-repeat;
    background-size: cover;
    /*background-color: #00adef;*/
    height: 240px;
    margin-bottom: 20px;
    position: relative;
    width:100%;
}
.login_page #header .row {
    height: 240px
}
.login_page #header #smartfees_logo {
    position: absolute;
    bottom: 80px;
    left: 0;
}
.login_page #header #closing_corp_logo {
    position: absolute;
    top: 50px;
    right: 10px;
}
.login_page .row {
    max-width: 960px;
    margin: 0 auto;
    position: relative;
    *zoom: 1;
}
.login_page .row:before,
.login_page .row:after {
    content: '';
    display: table
}
.login_page .row:after {
    clear: both
}
.login_page h2 {
    font-size: 18px;
    font-weight: lighter
}
.login_page h1 {
    font-size: 24px;
    font-weight: lighter
}
.login_page p {
    color: #4d5968;
    font-size: 14px;
}
.login_page p.callout {
    font-size: 18px;
    line-height: 30px
}
.login_page p a {
    color: #00adef;
    text-decoration: none
}
.login_page .content {
    padding: 0 30px
}
.login_page .solutions {
    width: 56%;
    float: left
}
.login_page .login_form {
    width: 40%;
    float: right;
}
.login_page .login_form form {
    *zoom: 1;
}
.login_page .login_form form:before,
.login_page .login_form form:after {
    content: '';
    display: table
}
.login_page .login_form form:after {
    clear: both
}
.login_page .login_form input[type=text],
.login_page .login_form input[type=password] {
    width: 100%;
    border: 1px solid #c2cad8;
    border-left: 2px solid #00adef;
    padding: 9px 10px 9px 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 5px 0;
    *width: 88%;
}
.login_page .login_form input[type=text][name=username],
.login_page .login_form input[type=password][name=username] {
    background: url("/images/common/branding/icon_person.png") no-repeat 8px 9px
}
.login_page .login_form input[type=text][name=password],
.login_page .login_form input[type=password][name=password] {
    background: url("/images/common/branding/icon_lock.png") no-repeat 8px 9px
}
.login_page .login_form label.remember {
    margin-top: 10px;
    float: left;
}
.login_page .login_form label.remember input[type=checkbox] {
    width: 18px;
    height: 18px;
    position: relative;
    bottom: -2px;
}
.login_page .login_form button {
    cursor: pointer;
    font-size: 14px;
    background-color: #00adef;
    color: #fff;
    padding: 8px 12px;
    float: right;
    border: none;
    margin: 10px 0 0 5px;
}
.login_page hr {
    border: none;
    border-bottom: 1px solid #eee;
    clear: both;
    margin: 30px 0 30px -10%;
    width: 120%
}
.login_page #footer {
    max-width: 960px;
    margin: 70px auto 0 auto;
}
.login_page #footer ul.footer_menu {
    margin: 0;
    padding: 0;
    text-align: center;
}
.login_page #footer ul.footer_menu li {
    float: none;
    list-style-type: none;
    padding: 0;
    margin: 0
}
.login_page #footer ul.footer_menu li {
    display: inline;
}
.login_page #footer ul.footer_menu li a {
    border-right: 1px solid #4d5968;
    color: #00adef;
    text-decoration: none;
    font-size: 12px;
    padding-right: 9px;
    height: 12px;
    display: inline-block;
    line-height: 12px;
    margin-right: 4px
}
.login_page #footer ul.footer_menu li:last-child a {
    border-right: 0
}
.login_page #footer p.copyright {
    font-size: 12px;
    text-align: center;
    margin-top: 20px
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}
body {
    margin: 0;
    padding: 0;
}
a {
    border: none
}
img {
    border: none
}

.release_notes_page, .document_library_page {
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    color: #444;
}

.release_notes_page #header {
    background-size: cover;
    height: 120px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    border-bottom: 1px solid black;
}

.release_notes_page #header img {
    height: 40px;
    width: auto;
}


.release_notes_page #header .row {
    height: 120px
}

.release_notes_page #header h1 {
    position: absolute;
    bottom: 5px;
    left: 0;
    font-weight: 200;
    font-size: 35px;
}

.release_notes_header h1 {
    font-weight: 200;
    font-size: 35px;
}

.release_notes_page #header #corelogic_logo {
    position: absolute;
    top: 40px;
}

.release_notes_page .row {
    max-width: 65%;
    margin: 0 auto;
    position: relative;
    *zoom: 1;
}

.release_notes_page table thead{
    display:none;
}

#releaseNotesTable a {
    text-decoration: none;
    color: #007b88;
    font-family: Montserrat, Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 17px;
}


#releaseNotesTable a:hover {
    color: #03a9f4;
}

.release-calendar-button {
    text-decoration: none;
    background-color: #007b88;
    padding: 13px 35px;
    color: #fff !important;
    display: inline-block;
    position: relative;
    text-transform: uppercase;
    text-align: center;
    font-style: normal;
    font-family: 'Montserrat';
    font-weight: 500;
    font-size:14px;
}

.published-date {
    color: #747474;
    font-size: 14px;
}

.release-calendar-button:hover {
    background-color: #03a9f4;
}

.release-notes-grid {
    width: 70%;
    float: left;
}

.release-notes-calendar {
    width: 30%;
    margin-left: auto
}

.document_library_page #header {
    background-size: cover;
    height: 120px;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    border-bottom: 1px solid black;
}

.document_library_page #header .row {
    height: 120px
}

.document_library_page #header img {
    height: 40px;
    width: auto;
}

.document_library_page #header h1 {
    position: absolute;
    bottom: 5px;
    left: 0;
    font-weight: 200;
    font-size: 35px;
    color: rgb(255, 255, 255);
}

.document_library_header h1 {
    font-weight: 200;
    font-size: 35px;
}

.document_library_page #header #corelogic_logo {
    position: absolute;
    top: 40px;
}

.document_library_page .row {
    max-width: 65%;
    margin: 0 auto;
    position: relative;
    *zoom: 1;
}

.document_library_page table thead {
    display: none;
}

.document-library {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    height: 100px;
    border: 1px solid #cbc9c9;
    padding: 20px;
}

#documentLibrariesTable a {
    text-decoration: none;
    color: #4a8eff;
}

.document-library .filename {
    position: relative;
    font-size: 14pt;
    font-weight: 700;
    word-wrap:break-word;
}

#documentLibrariesTable a:hover {
    color: #03a9f4;
}

.document-library-download {
    text-decoration: none;
    background-color: #4a8eff;
    padding: 7.5px 16px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    display: inline-block;
    position: relative;
    border-radius: 4px;
    letter-spacing: 1px;
    font-family: Rubik, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    border: 1px solid transparent;
    line-height:1.5;
    float:right;
}

.fileinfo {
    margin-top: 10px;
}

.fileinfo img {
    height:11px;
    width:11px
}

.fileinfo span {
    color: #5087d9;
    font-size: 80%;
}

.fileinfo span.filesize {
    margin-left:10px;
}

.calendar-icon {
    border: none;
    height: 12px;
    background-color: #fff;
    margin-right: 5px;
}

.document-library-filelist {
    float: left;
    position: absolute;
    width: 50%;
    white-space: normal;
}

.document-library-filelist .download-img {
    width: 13%;
    float: left;
}

.document-library-filelist .download-img img {
    width: 60px;
}
.document-library-filelist .filelist-content {
    width: 87%;
    float: right;
}

.download-buttons-content {
    float: right;
    width:45%
}

.document_library_page .published-date {
    font-style: italic;
}

.demolink-content {
    margin-top:27px;
}

.demolink-content p {
    line-height: 1.714285714;
    margin: 0 0 27px;
}

.demolink-content p a {
    color: #21759b;
}

.demolink-content p a:hover {
    color: #2d3647;
}

.demolink-content p a:visited {
    color:#9f9f9f;
}











/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltcG9ydHMvcGFnZXMvX2FwcC5zdHlsIiwiLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3Bvc2l0aW9ucy5zdHlsIiwiLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2ZsZXguc3R5bCIsIi4uL25vZGVfbW9kdWxlcy9qZWV0L3N0eWx1cy9qZWV0L19ncmlkLnN0eWwiLCIuLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvdmVuZG9yLnN0eWwiLCIuLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvYm9yZGVyLnN0eWwiLCIuLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvYm9yZGVyLXJhZGl1cy5zdHlsIiwiLi4vbm9kZV9tb2R1bGVzL2F4aXMvYXhpcy90eXBvZ3JhcGh5LnN0eWwiLCJpbXBvcnRzL3BhZ2VzL19sb2dpbi5zdHlsIiwiYXBwLnN0eWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0Msa0JBQ0MsT0FBUSxNQUNSLFNBQVUsVUFDVix1QkFDQyxPQUFRLE1BQ1Qsa0NDRkEsU0FBc0IsU0FHVixPQUE0QyxLQUE1QyxLQUE0QyxNREN4RCw4QkNKQSxTQUFzQixTQUdWLElBQTRDLEtBQTVDLE1BQTRDLEtER3ZELFVBQVcsTUFDWCxnQ0VXQyxRQUFTLGFGVFYsZ0NBQ0MsTUFBTyxRQUNQLGdCQUFpQixLQUNsQiwyQ0FDQyxRQUFTLE9BQ1QsVUFBVyxLQUNkLGVBQ0MsVUFBVyxNQUNYLE9BQVEsT0FDUixTQUFVLFNHdVFULE1BQU0sR0FFUCxzQkFBVSxxQkFDUixRQUFTLEdEMVFULFFBQVMsTUM2UVgscUJBQ0UsTUFBTyxLSDVRVixlQUNDLFVBQVcsTUFDWCxPQUFRLE9BRVQsZ0JJc2RHLFdBQVcscURKcGRiLE9BQVEsS0tyQk4sT0FBUSxlQzJDVixjQUFjLGFObkJkLGtCRVhFLFFBQVMsYUZhVixNQUFPLEtBQ1AsZ0JBQWlCLEtJOGNoQixXQUFXLHFESjVjWixRQUFTLFVBQ1QsVUFBVyxLQUNYLFlBQWEsS01ZZCxjQUFjLFlOVmIsT0FBUSxhS2pDUCxPQUFRLGtCTG1DVCxhQUFjLGVBQ2QsOEJBQ0MsWUFBYSxLQUNkLHlCSW1jQyxXQUFXLHNESmpjWCxNQUFPLFFLeENQLE9BQVEsa0JMMENSLGFBQWMsY0lSQSxtQkFBRywyQkFSTixXQUFHLDJCSmtCakIsdUJBQ0MsWUFBYSxLQUNiLGVBQWdCLEtLOUNkLE9BQVEsa0JMZ0RWLGFBQWMsY0FDZCxRQUFTLEVBQ1QsU0FBVSxTQUNWLGlCQUFrQixLR2lPakIsTUFBTSxHQUVQLDhCQUFVLDZCQUNSLFFBQVMsR0QxUVQsUUFBUyxNQzZRWCw2QkFDRSxNQUFPLEtIck9WLG9CQUNDLE1BQU8sSUFDUCxNQUFPLE1BQ1AsdUJPaVJBLE9BQVEsRUFDUixRQUFTLEVGM1VQLE9BQVEsa0JDMkNWLGNBQWMsSU5rQmIsT0FBUSxZT2dSVCwwQkFDRSxNQUFPLEtBQ1AsZ0JBQWlCLEtBQ2pCLFFBQVMsRUFDVCxPQUFRLEVQblJULHlCSTJhQyxXQUFXLDJESnphWCxPQUFRLEtBQ1IsWUFBYSxLQUNiLFVBQVcsS0FDWCxRQUFTLGFBQ1QsY0FBZSxlQUNmLFdBQVksa0JBQ1osTUFBTyxRQUNQLGdCQUFpQixLRTFEakIsUUFBUyxNRjREVix3Q0FDQyxXQUFZLEtBQ2IsdUNBQ0MsY0FBZSxLQUNoQixpQ0FDQyxNQUFPLEtBQ1AsaUJBQWtCLFFJZ2FsQixpQkFBaUIsS0o5WnBCLGdDQUNDLE1BQU8sSUFDUCxNQUFPLE1BR1Asd0JBQ0MsaUJBQWtCLEtLdkZqQixPQUFRLGtCTHlGVCxhQUFjLGNFNUViLFFBQVMsYUY4RVYsT0FBUSxVQUNSLGdCQUFpQixLQUNqQixVQUFXLEtBQ1gsUUFBUyxTQUNULE1BQU8sTUFDUCwrQkFDQyxpQkFBa0IsS0FDbEIsTUFBTyxRQUNQLFlBQWEsS0FDYixjQUFlLEtBQ2YsU0FBVSxTQUNWLFFBQVMsRUFFWiw2Qkt4R0csT0FBUSxrQkwwR1YsT0FBUSxjQUNSLFFBQVMsS0FDVCxTQUFVLFNBQ1YsUUFBUyxFR3VLUixNQUFNLEdBRVAsb0NBQVUsbUNBQ1IsUUFBUyxHRDFRVCxRQUFTLE1DNlFYLG1DQUNFLE1BQU8sS0g1S1QsbUNBQ0MsTUFBTyxLRW5HTixRQUFTLE1GcUdWLFVBQVcsS0FDWCxPQUFRLFdBQ1QsbUNBQU8sb0NBQ04sTUFBTyxNQUNQLE1BQU8sSU0zRVIsY0FBYyxJRDNDWixPQUFRLGtCTHlIVCxPQUFRLEtBQ1IsWUFBYSxLQUNiLE1BQU8sUUFDUCxZQUFhLEtBQ2IsbUZBQ0MsTUFBTyxJQUNQLGFBQWMsSUFDaEIsMkNBQ0MsTUFBTyxRQUNSLG9DQUNDLFVBQVcsS0FDWCxpQkFBa0IsUUFDbEIsTUFBTyxLQUNQLFFBQVMsU0FDVCxNQUFPLE1LdklOLE9BQVEsS0x5SVQsT0FBUSxXQUVWLGtCQUNDLGlCQUFrQixRQUNsQixPQUFRLE1BQ1IsWUFBYSxNQUNiLGlDTzJMQSxPQUFRLEVBQ1IsUUFBUyxFTDlUUCxRQUFTLGNLZ1VYLG9DQUNFLE1BQU8sS0FDUCxnQkFBaUIsS0FDakIsUUFBUyxFQUNULE9BQVEsRVAvTFQsb0NFcklDLFFBQVMsY0Z1SVQsc0NBQ0MsYUFBYyxlQUNkLE1BQU8sS0FDUCxnQkFBaUIsS0FDakIsVUFBVyxLQUNYLGNBQWUsSUFDZixPQUFRLEtFN0lULFFBQVMsYUYrSVIsWUFBYSxLQUNiLGFBQWMsSUFDZixpREFDQyxhQUFjLEVBQ2pCLDhCRW5KRSxRQUFTLGFGcUpWLFVBQVcsS0FDWCxXQUFZLE9BQ1osTUFBTyxLUTVLVCxvQkppZkcsV0FBVyxnRkkvZWIsaUJBQWtCLFFBQ2xCLE9BQVEsTUFDUixjQUFlLEtBQ2YsU0FBVSxVQUNWLHlCQUNDLE9BQVEsTUFDVCxvQ1BMQSxTQUFzQixTQUdWLE9BQTRDLEtBQTVDLEtBQTRDLEdPSXhELHVDUFBBLFNBQXNCLFNBR1YsSUFBNEMsS0FBNUMsTUFBNEMsTU9NekQsaUJBQ0MsVUFBVyxNQUNYLE9BQVEsT0FDUixTQUFVLFNMNlFULE1BQU0sR0FFUCx3QkFBVSx1QkFDUixRQUFTLEdEMVFULFFBQVMsTUM2UVgsdUJBQ0UsTUFBTyxLS2xSVixlQUNDLFVBQVcsS0FDWCxZQUFhLFFBQ2QsZUFDQyxVQUFXLEtBQ1gsWUFBYSxRQUNkLGNBQ0MsTUFBTyxRQUNQLFVBQVcsTUFDWCxzQkFDQyxVQUFXLEtBQ1gsWUFBYSxLQUNkLGdCQUNDLE1BQU8sUUFDUCxnQkFBaUIsS0FDbkIscUJBQ0MsUUFBUyxPQUNWLHVCQUNDLE1BQU8sSUFDUCxNQUFPLEtBQ1Isd0JBQ0MsTUFBTyxJQUNQLE1BQU8sT0FDUCw2QkxvUEMsTUFBTSxHQUVQLG9DQUFVLG1DQUNSLFFBQVMsR0QxUVQsUUFBUyxNQzZRWCxtQ0FDRSxNQUFPLEtLelBULDJDQUFvQiwrQ0FDbkIsTUFBTyxLSG5DTixPQUFRLGtCR3FDVCxZQUFhLGtCQUNiLFFBQVMsa0JKSk0sbUJBQUcsV0FBSCxnQkFBRyxXQVJOLFdBQUcsV0ljZixPQUFRLE9BQ1IsNEhKZ2NDLFdBQVcsbURJOWJaLDRISjhiQyxXQUFXLGlESTViYix1Q0FDQyxXQUFZLEtBQ1osTUFBTyxNQUNQLDhEQUNDLE1BQU8sS0FDUCxPQUFRLEtQdkRWLFNBQXNCLFNBR1YsT0FBNEMsTU9zRHhELCtCQUNDLFVBQVcsS0FDWCxpQkFBa0IsUUFDbEIsTUFBTyxLQUNQLFFBQVMsU0FDVCxNQUFPLE1IekROLE9BQVEsS0cyRFQsT0FBUSxXQUNWLGVINURHLE9BQVEsS0c4RFYsY0FBZSxlQUNmLE1BQU8sS0FDUCxPQUFRLGlCQUNSLE1BQU8sS0FFUixvQkFDQyxVQUFXLE1BQ1gsT0FBUSxrQkFDUixtQ0RvUUEsT0FBUSxFQUNSLFFBQVMsRUNuUVIsV0FBWSxRRHFRYixzQ0FDRSxNQUFPLEtBQ1AsZ0JBQWlCLEtBQ2pCLFFBQVMsRUFDVCxPQUFRLEVDeFFULHNDTjVEQyxRQUFTLGNNOERULHdDQUNDLGFBQWMsa0JBQ2QsTUFBTyxRQUNQLGdCQUFpQixLQUNqQixVQUFXLEtBQ1gsY0FBZSxJQUNmLE9BQVEsS05wRVQsUUFBUyxhTXNFUixZQUFhLEtBQ2IsYUFBYyxJQUNmLG1EQUNDLGFBQWMsRUFDakIsZ0NBQ0MsVUFBVyxLQUNYLFdBQVksT0FDWixXQUFZLEtSbEdkLGtCQUNDLE9BQVEsTUFDUixTQUFVLFVBQ1YsdUJBQ0MsT0FBUSxNQUNULGtDQ0ZBLFNBQXNCLFNBR1YsT0FBNEMsS0FBNUMsS0FBNEMsTURDeEQsOEJDSkEsU0FBc0IsU0FHVixJQUE0QyxLQUE1QyxNQUE0QyxLREd2RCxVQUFXLE1BQ1gsZ0NFV0MsUUFBUyxhRlRWLGdDQUNDLE1BQU8sUUFDUCxnQkFBaUIsS0FDbEIsMkNBQ0MsUUFBUyxPQUNULFVBQVcsS0FDZCxlQUNDLFVBQVcsTUFDWCxPQUFRLE9BQ1IsU0FBVSxTR3VRVCxNQUFNLEdBRVAsc0JBQVUscUJBQ1IsUUFBUyxHRDFRVCxRQUFTLE1DNlFYLHFCQUNFLE1BQU8sS0g1UVYsZUFDQyxVQUFXLE1BQ1gsT0FBUSxPQUVULGdCSXNkRyxXQUFXLHFESnBkYixPQUFRLEtLckJOLE9BQVEsZUMyQ1YsY0FBYyxhTm5CZCxrQkVYRSxRQUFTLGFGYVYsTUFBTyxLQUNQLGdCQUFpQixLSThjaEIsV0FBVyxxREo1Y1osUUFBUyxVQUNULFVBQVcsS0FDWCxZQUFhLEtNWWQsY0FBYyxZTlZiLE9BQVEsYUtqQ1AsT0FBUSxrQkxtQ1QsYUFBYyxlQUNkLDhCQUNDLFlBQWEsS0FDZCx5QkltY0MsV0FBVyxzREpqY1gsTUFBTyxRS3hDUCxPQUFRLGtCTDBDUixhQUFjLGNJUkEsbUJBQUcsMkJBUk4sV0FBRywyQkprQmpCLHVCQUNDLFlBQWEsS0FDYixlQUFnQixLSzlDZCxPQUFRLGtCTGdEVixhQUFjLGNBQ2QsUUFBUyxFQUNULFNBQVUsU0FDVixpQkFBa0IsS0dpT2pCLE1BQU0sR0FFUCw4QkFBVSw2QkFDUixRQUFTLEdEMVFULFFBQVMsTUM2UVgsNkJBQ0UsTUFBTyxLSHJPVixvQkFDQyxNQUFPLElBQ1AsTUFBTyxNQUNQLHVCT2lSQSxPQUFRLEVBQ1IsUUFBUyxFRjNVUCxPQUFRLGtCQzJDVixjQUFjLElOa0JiLE9BQVEsWU9nUlQsMEJBQ0UsTUFBTyxLQUNQLGdCQUFpQixLQUNqQixRQUFTLEVBQ1QsT0FBUSxFUG5SVCx5QkkyYUMsV0FBVywyREp6YVgsT0FBUSxLQUNSLFlBQWEsS0FDYixVQUFXLEtBQ1gsUUFBUyxhQUNULGNBQWUsZUFDZixXQUFZLGtCQUNaLE1BQU8sUUFDUCxnQkFBaUIsS0UxRGpCLFFBQVMsTUY0RFYsd0NBQ0MsV0FBWSxLQUNiLHVDQUNDLGNBQWUsS0FDaEIsaUNBQ0MsTUFBTyxLQUNQLGlCQUFrQixRSWdhbEIsaUJBQWlCLEtKOVpwQixnQ0FDQyxNQUFPLElBQ1AsTUFBTyxNQUdQLHdCQUNDLGlCQUFrQixLS3ZGakIsT0FBUSxrQkx5RlQsYUFBYyxjRTVFYixRQUFTLGFGOEVWLE9BQVEsVUFDUixnQkFBaUIsS0FDakIsVUFBVyxLQUNYLFFBQVMsU0FDVCxNQUFPLE1BQ1AsK0JBQ0MsaUJBQWtCLEtBQ2xCLE1BQU8sUUFDUCxZQUFhLEtBQ2IsY0FBZSxLQUNmLFNBQVUsU0FDVixRQUFTLEVBRVosNkJLeEdHLE9BQVEsa0JMMEdWLE9BQVEsY0FDUixRQUFTLEtBQ1QsU0FBVSxTQUNWLFFBQVMsRUd1S1IsTUFBTSxHQUVQLG9DQUFVLG1DQUNSLFFBQVMsR0QxUVQsUUFBUyxNQzZRWCxtQ0FDRSxNQUFPLEtINUtULG1DQUNDLE1BQU8sS0VuR04sUUFBUyxNRnFHVixVQUFXLEtBQ1gsT0FBUSxXQUNULG1DQUFPLG9DQUNOLE1BQU8sTUFDUCxNQUFPLElNM0VSLGNBQWMsSUQzQ1osT0FBUSxrQkx5SFQsT0FBUSxLQUNSLFlBQWEsS0FDYixNQUFPLFFBQ1AsWUFBYSxLQUNiLG1GQUNDLE1BQU8sSUFDUCxhQUFjLElBQ2hCLDJDQUNDLE1BQU8sUUFDUixvQ0FDQyxVQUFXLEtBQ1gsaUJBQWtCLFFBQ2xCLE1BQU8sS0FDUCxRQUFTLFNBQ1QsTUFBTyxNS3ZJTixPQUFRLEtMeUlULE9BQVEsV0FFVixrQkFDQyxpQkFBa0IsUUFDbEIsT0FBUSxNQUNSLFlBQWEsTUFDYixpQ08yTEEsT0FBUSxFQUNSLFFBQVMsRUw5VFAsUUFBUyxjS2dVWCxvQ0FDRSxNQUFPLEtBQ1AsZ0JBQWlCLEtBQ2pCLFFBQVMsRUFDVCxPQUFRLEVQL0xULG9DRXJJQyxRQUFTLGNGdUlULHNDQUNDLGFBQWMsZUFDZCxNQUFPLEtBQ1AsZ0JBQWlCLEtBQ2pCLFVBQVcsS0FDWCxjQUFlLElBQ2YsT0FBUSxLRTdJVCxRQUFTLGFGK0lSLFlBQWEsS0FDYixhQUFjLElBQ2YsaURBQ0MsYUFBYyxFQUNqQiw4QkVuSkUsUUFBUyxhRnFKVixVQUFXLEtBQ1gsV0FBWSxPQUNaLE1BQU8sS1E1S1Qsb0JKaWZHLFdBQVcsZ0ZJL2ViLGlCQUFrQixRQUNsQixPQUFRLE1BQ1IsY0FBZSxLQUNmLFNBQVUsVUFDVix5QkFDQyxPQUFRLE1BQ1Qsb0NQTEEsU0FBc0IsU0FHVixPQUE0QyxLQUE1QyxLQUE0QyxHT0l4RCx1Q1BQQSxTQUFzQixTQUdWLElBQTRDLEtBQTVDLE1BQTRDLE1PTXpELGlCQUNDLFVBQVcsTUFDWCxPQUFRLE9BQ1IsU0FBVSxTTDZRVCxNQUFNLEdBRVAsd0JBQVUsdUJBQ1IsUUFBUyxHRDFRVCxRQUFTLE1DNlFYLHVCQUNFLE1BQU8sS0tsUlYsZUFDQyxVQUFXLEtBQ1gsWUFBYSxRQUNkLGVBQ0MsVUFBVyxLQUNYLFlBQWEsUUFDZCxjQUNDLE1BQU8sUUFDUCxVQUFXLE1BQ1gsc0JBQ0MsVUFBVyxLQUNYLFlBQWEsS0FDZCxnQkFDQyxNQUFPLFFBQ1AsZ0JBQWlCLEtBQ25CLHFCQUNDLFFBQVMsT0FDVix1QkFDQyxNQUFPLElBQ1AsTUFBTyxLQUNSLHdCQUNDLE1BQU8sSUFDUCxNQUFPLE9BQ1AsNkJMb1BDLE1BQU0sR0FFUCxvQ0FBVSxtQ0FDUixRQUFTLEdEMVFULFFBQVMsTUM2UVgsbUNBQ0UsTUFBTyxLS3pQVCwyQ0FBb0IsK0NBQ25CLE1BQU8sS0huQ04sT0FBUSxrQkdxQ1QsWUFBYSxrQkFDYixRQUFTLGtCSkpNLG1CQUFHLFdBQUgsZ0JBQUcsV0FSTixXQUFHLFdJY2YsT0FBUSxPQUNSLDRISmdjQyxXQUFXLG1ESTliWiw0SEo4YkMsV0FBVyxpREk1YmIsdUNBQ0MsV0FBWSxLQUNaLE1BQU8sTUFDUCw4REFDQyxNQUFPLEtBQ1AsT0FBUSxLUHZEVixTQUFzQixTQUdWLE9BQTRDLE1Pc0R4RCwrQkFDQyxVQUFXLEtBQ1gsaUJBQWtCLFFBQ2xCLE1BQU8sS0FDUCxRQUFTLFNBQ1QsTUFBTyxNSHpETixPQUFRLEtHMkRULE9BQVEsV0FDVixlSDVERyxPQUFRLEtHOERWLGNBQWUsZUFDZixNQUFPLEtBQ1AsT0FBUSxpQkFDUixNQUFPLEtBRVIsb0JBQ0MsVUFBVyxNQUNYLE9BQVEsa0JBQ1IsbUNEb1FBLE9BQVEsRUFDUixRQUFTLEVDblFSLFdBQVksUURxUWIsc0NBQ0UsTUFBTyxLQUNQLGdCQUFpQixLQUNqQixRQUFTLEVBQ1QsT0FBUSxFQ3hRVCxzQ041REMsUUFBUyxjTThEVCx3Q0FDQyxhQUFjLGtCQUNkLE1BQU8sUUFDUCxnQkFBaUIsS0FDakIsVUFBVyxLQUNYLGNBQWUsSUFDZixPQUFRLEtOcEVULFFBQVMsYU1zRVIsWUFBYSxLQUNiLGFBQWMsSUFDZixtREFDQyxhQUFjLEVBQ2pCLGdDQUNDLFVBQVcsS0FDWCxXQUFZLE9BQ1osV0FBWSxLQzNGZixXQUNDLFlBQVksV0FDWixXQUFXLE1BQ1gsSUFBb0Msa0NBRXJDLEVMOEJrQixtQkFBRyxXQUFILGdCQUFHLFdBUk4sV0FBRyxXS25CbEIsS0FDQyxPQUFRLEVBQ1IsUUFBUyxFQUNULFlBQXVCLGlCQUV4QixFSlpJLE9BQVEsS0llWixJSmZJLE9BQVEiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZVJvb3QiOiIvc291cmNlLyIsInNvdXJjZXNDb250ZW50IjpbIi5hcHBfcGFnZVxyXG5cdCNoZWFkZXJcclxuXHRcdGhlaWdodDogMTAwcHhcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZVxyXG5cdFx0LnJvd1xyXG5cdFx0XHRoZWlnaHQ6IDEwMHB4XHJcblx0XHQjc21hcnRmZWVzX2xvZ29cclxuXHRcdFx0YWJzb2x1dGU6IGJvdHRvbSAzMHB4IGxlZnQgMTVweFxyXG5cdFx0LmxvZ2luX21lbnVcclxuXHRcdFx0YWJzb2x1dGU6IHRvcCAzNXB4IHJpZ2h0IDE1cHhcclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4XHJcblx0XHRcdCogXHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrXHJcblx0XHRcdGFcclxuXHRcdFx0XHRjb2xvcjogJGJsdWVcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmVcclxuXHRcdFx0c3Bhbi5kaXZpZGVyXHJcblx0XHRcdFx0cGFkZGluZzogMCAxMHB4XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4XHJcblx0LnJvd1xyXG5cdFx0bWF4LXdpZHRoOiA5NjBweFxyXG5cdFx0bWFyZ2luOiAwIGF1dG9cclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZVxyXG5cdFx0Y2YoKVxyXG5cdC5hcHBcclxuXHRcdG1heC13aWR0aDogJHJvd193aWR0aFxyXG5cdFx0bWFyZ2luOiAwIGF1dG9cclxuXHRcdFxyXG5cdC50YWJzXHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9ncmV5X2dyYWRpZW50LnBuZycpIHJlcGVhdC14IHRvcCBsZWZ0XHJcblx0XHRoZWlnaHQ6IDUzcHhcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrXHRcclxuXHRcdGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwXHJcblx0XHRhXHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9ja1xyXG5cdFx0XHRjb2xvcjogd2hpdGVcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lXHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2JsdWVfZ3JhZGllbnQucG5nJykgcmVwZWF0LXggdG9wIGxlZnRcclxuXHRcdFx0cGFkZGluZzogMTJweCAyMHB4XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweFxyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZFxyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMFxyXG5cdFx0XHRtYXJnaW46IDEwcHggMCAwIDhweFxyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjNDQ3NDg2XHJcblx0XHRcdGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweFxyXG5cdFx0XHQmOmZpcnN0LWNoaWxkXHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHhcclxuXHRcdFx0Ji5hY3RpdmVcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy93aGl0ZV9ncmFkaWVudC5wbmcnKSByZXBlYXQteCB0b3AgbGVmdFx0XHRcdFxyXG5cdFx0XHRcdGNvbG9yOiAjOTU5MzkzXHJcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI0I5QjlCOVxyXG5cdFx0XHRcdGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweFxyXG5cdFx0XHRcdGJveC1zaGFkb3coMCAtMnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMykpXHJcblx0LnRhYl9jb250ZW50XHJcblx0XHRwYWRkaW5nLXRvcDogMzVweFxyXG5cdFx0cGFkZGluZy1ib3R0b206IDU1cHhcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodF9ncmV5XHJcblx0XHRib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHhcclxuXHRcdHotaW5kZXg6IDFcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZVxyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGVcclxuXHRcdGNmKClcclxuXHRcclxuXHQuc3ViX21lbnVcclxuXHRcdHdpZHRoOiAyMyVcclxuXHRcdGZsb2F0OiBsZWZ0XHJcblx0XHR1bFxyXG5cdFx0XHRyZXNldC1saXN0KClcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0X2dyZXlcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4XHJcblx0XHRcdG1hcmdpbjogMCAwIDAgMTZweFxyXG5cdFx0XHRhXHJcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZ3JleV9ncmFkaWVudF9zbWFsbC5wbmcnKSByZXBlYXQteCB0b3AgbGVmdFxyXG5cdFx0XHRcdGhlaWdodDogMzBweFxyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMnB4XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4XHJcblx0XHRcdFx0cGFkZGluZzogMCA0cHggMCAxM3B4XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlXHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNFOERGQ0VcclxuXHRcdFx0XHRjb2xvcjogJG1lZGl1bV9ibHVlXHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lXHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2tcclxuXHRcdFx0bGk6Zmlyc3QtY2hpbGQgYVxyXG5cdFx0XHRcdGJvcmRlci10b3A6IG5vbmVcclxuXHRcdFx0bGk6bGFzdC1jaGlsZCBhXHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZVxyXG5cdFx0XHQuYWN0aXZlIGFcclxuXHRcdFx0XHRjb2xvcjogYmxhY2tcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFOUU5XHJcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZVxyXG5cdC5pbm5lcl90YWJiZWRfY29udGVudFxyXG5cdFx0d2lkdGg6IDc1JVxyXG5cdFx0ZmxvYXQ6IHJpZ2h0XHJcblx0XHRcclxuXHQuaW5uZXJfdGFic1xyXG5cdFx0YVxyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlcl9ncmV5XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodF9ncmV5XHJcblx0XHRcdGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweFxyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2tcclxuXHRcdFx0bWFyZ2luOiAwIDFweCAwIDBcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lXHJcblx0XHRcdGZvbnQtc2l6ZTogMTJweFxyXG5cdFx0XHRwYWRkaW5nOiA3cHggMTBweFxyXG5cdFx0XHRjb2xvcjogYmxhY2tcclxuXHRcdFx0Ji5hY3RpdmVcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZVxyXG5cdFx0XHRcdGNvbG9yOiAkbWVkaXVtX2JsdWVcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZFxyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmVcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmVcclxuXHRcdFx0XHR6LWluZGV4OiAyXHJcblx0XHRcdFx0XHJcblx0LmlubmVyX3RhYl9jb250ZW50XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleVxyXG5cdFx0bWFyZ2luOiAtMXB4IDIwcHggMCAwXHJcblx0XHRwYWRkaW5nOiAxNXB4XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmVcclxuXHRcdHotaW5kZXg6IDFcclxuXHRcdGNmKClcclxuXHRcdGxhYmVsXHJcblx0XHRcdHdpZHRoOiAxMDAlXHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrXHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweFxyXG5cdFx0XHRtYXJnaW46IDAgMCAyMnB4IDBcclxuXHRcdGlucHV0LCBzZWxlY3RcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0XHJcblx0XHRcdHdpZHRoOiA2MCVcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodF9ncmV5XHJcblx0XHRcdGhlaWdodDogMjJweFxyXG5cdFx0XHRsaW5lLWhlaWdodDogMjJweFxyXG5cdFx0XHRjb2xvcjogJGdyZXlcclxuXHRcdFx0dGV4dC1pbmRlbnQ6IDJweFxyXG5cdFx0XHQmLnNtYWxsXHJcblx0XHRcdFx0d2lkdGg6IDIwJVxyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNDAlXHJcblx0XHRzcGFuLnJlcXVpcmVkXHJcblx0XHRcdGNvbG9yOiByZWRcclxuXHRcdGJ1dHRvblxyXG5cdFx0XHRmb250LXNpemU6IDE0cHhcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWVcclxuXHRcdFx0Y29sb3I6IHdoaXRlXHJcblx0XHRcdHBhZGRpbmc6IDhweCAxMnB4XHJcblx0XHRcdGZsb2F0OiByaWdodFxyXG5cdFx0XHRib3JkZXI6IG5vbmVcclxuXHRcdFx0bWFyZ2luOiAzMHB4IDAgMCAwXHJcblxyXG5cdCNmb290ZXJcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlX2dyZXlcclxuXHRcdGhlaWdodDogMTcwcHhcclxuXHRcdHBhZGRpbmctdG9wOiAxMHB4XHJcblx0XHR1bC5mb290ZXJfbWVudVxyXG5cdFx0XHRyZXNldC1saXN0KClcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrXHJcblx0XHRcdGxpXHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrXHJcblx0XHRcdFx0YVxyXG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgd2hpdGVcclxuXHRcdFx0XHRcdGNvbG9yOiB3aGl0ZVxyXG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lXHJcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHhcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDlweFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMnB4XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2tcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMnB4XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDRweFxyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCBhXHJcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDBcclxuXHRcdHAuY29weXJpZ2h0XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9ja1xyXG5cdFx0XHRmb250LXNpemU6IDEycHhcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyXHJcblx0XHRcdGNvbG9yOiAjY2NjXHJcbiIsIi8vIGhlbHBlclxuXG4tcG9zKHR5cGUsIGFyZ3MpXG4gIGkgPSAwXG4gIHBvc2l0aW9uOiB1bnF1b3RlKHR5cGUpXG4gIGZvciBqIGluICgxLi40KVxuICAgIGlmIGxlbmd0aChhcmdzKSA+IGlcbiAgICAgIHthcmdzW2ldfTogYXJnc1tpICsgMV0gaXMgYSAndW5pdCcgPyBhcmdzW2kgKz0gMV0gOiAwXG4gICAgaSArPSAxXG5cbi8qXG4gKiBQb3NpdGlvbiB1dGlsaXR5LlxuICpcbiAqIFN5bm9wc2lzOlxuICpcbiAqICAgZml4ZWQ6IDxwb3M+IFtuXSA8cG9zPiBbbl1cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICAgZml4ZWQ6IHRvcCBsZWZ0XG4gKiAgICAgZml4ZWQ6IHRvcCA1cHggbGVmdFxuICogICAgIGZpeGVkOiB0b3AgbGVmdCA1cHhcbiAqICAgICBmaXhlZDogdG9wIDVweCBsZWZ0IDVweFxuICpcbiAqL1xuXG5maXhlZCgpXG4gIC1wb3MoJ2ZpeGVkJywgYXJndW1lbnRzKVxuXG4vKlxuICogUG9zaXRpb24gdXRpbGl0eS5cbiAqXG4gKiBTeW5vcHNpczpcbiAqXG4gKiAgIGFic29sdXRlOiA8cG9zPiBbbl0gPHBvcz4gW25dXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICAgIGFic29sdXRlOiB0b3AgbGVmdFxuICogICAgIGFic29sdXRlOiB0b3AgNXB4IGxlZnRcbiAqICAgICBhYnNvbHV0ZTogdG9wIGxlZnQgNXB4XG4gKiAgICAgYWJzb2x1dGU6IHRvcCA1cHggbGVmdCA1cHhcbiAqXG4gKi9cblxuYWJzb2x1dGUoKVxuICAtcG9zKCdhYnNvbHV0ZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFBvc2l0aW9uIHV0aWxpdHkuXG4gKlxuICogU3lub3BzaXM6XG4gKlxuICogICByZWxhdGl2ZTogPHBvcz4gW25dIDxwb3M+IFtuXVxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgICByZWxhdGl2ZTogdG9wIGxlZnRcbiAqICAgICByZWxhdGl2ZTogdG9wIDVweCBsZWZ0XG4gKiAgICAgcmVsYXRpdmU6IHRvcCBsZWZ0IDVweFxuICogICAgIHJlbGF0aXZlOiB0b3AgNXB4IGxlZnQgNXB4XG4gKlxuICovXG5cbnJlbGF0aXZlKClcbiAgLXBvcygncmVsYXRpdmUnLCBhcmd1bWVudHMpXG4iLCIvKlxuICogVmVuZG9yIFwiZGlzcGxheTogZmxleFwiIHN1cHBvcnQgd2l0aCBmYWxsYmFjayB0byBvYnNvbGV0ZSB2ZXJzaW9ucy5cbiAqL1xuXG5mbGV4LXZlcnNpb24gPz0gYm94IGZsZXhcblxuLy9cbi8vIDEuIERpc3BsYXkgdmFsdWVzXG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleC1jb250YWluZXJzXG4vL1xuZGlzcGxheSh0eXBlLCBhcmdzLi4uKVxuICBpZiBmbGV4ID09IHR5cGUgfHwgaW5saW5lLWZsZXggPT0gdHlwZVxuICAgIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICAgIGlmIGZsZXggPT0gdHlwZVxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCBhcmdzXG4gICAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShib3ggYXJncywgb25seTogbW96IHdlYmtpdClcbiAgICAgIGVsc2VcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94IGFyZ3NcbiAgICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGlubGluZS1ib3ggYXJncywgb25seTogbW96IHdlYmtpdClcbiAgICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKSAvLyBvdmVyd3JpdGVzIG9sZCB3ZWJraXRcbiAgZWxzZVxuICAgIGRpc3BsYXk6IGFyZ3VtZW50c1xuXG4vKlxuICogTmV3IHN5bnRheCBmb3IgYnJvd3NlcnMgbGlrZSBHb29nbGUgQ2hyb21lLlxuICogUGx1cyBhIHRyYW5zbGF0aW9uIHRvIHRoZSBvbGQgc3ludGF4LCBpZiBwb3NzaWJsZS5cbiAqL1xuXG5cbi8vXG4vLyA1LiBPcmRlcmluZyBhbmQgT3JpZW50YXRpb25cbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNvcmRlcmluZy1hbmQtb3JpZW50YXRpb25cbi8vXG4tZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oZGlyZWN0aW9uKVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgaWYgcm93LXJldmVyc2UgPT0gZGlyZWN0aW9uIHx8IGNvbHVtbi1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtZGlyZWN0aW9uJywgcmV2ZXJzZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAgIGlmIHJvdyA9PSBkaXJlY3Rpb24gfHwgcm93LXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1vcmllbnQnLCBob3Jpem9udGFsLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuICAgIGVsc2UgaWYgY29sdW1uID09IGRpcmVjdGlvbiB8fCBjb2x1bW4tcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LW9yaWVudCcsIHZlcnRpY2FsLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4tZmxleC1vYnNvbGV0ZS13cmFwKHZhbHVlKVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgLy8gV0FSTjogd3JhcC1yZXZlcnNlIGRvZXMgbm90IGhhdmUgYSBib3ggZXF1aXZhbGVudC4gVGhpcyB3aWxsIHJlbmRlciBpbiBkaWZmZXJlbnQgbWFubmVyc1xuICAgIC8vICAgIG9uIGJveCB2cy4gZmxleCB2YWx1ZXMuXG4gICAgaWYgJ3dyYXAnID09IHZhbHVlIHx8IHdyYXAtcmV2ZXJzZSA9PSB2YWx1ZVxuICAgICAgdmVuZG9yKCdib3gtbGluZXMnLCBtdWx0aXBsZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcbiAgICBlbHNlIGlmIG5vd3JhcCA9PSB2YWx1ZVxuICAgICAgdmVuZG9yKCdib3gtbGluZXMnLCBzaW5nbGUsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbmZsZXgtZGlyZWN0aW9uKGRpcmVjdGlvbilcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGRpcmVjdGlvbilcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cbmZsZXgtd3JhcCh2YWx1ZSlcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcCh2YWx1ZSlcblxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC13cmFwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cbmZsZXgtZmxvdygpXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihhcmd1bWVudHNbMF0pXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihhcmd1bWVudHNbMV0pXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAoYXJndW1lbnRzWzBdKVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKGFyZ3VtZW50c1sxXSlcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZmxvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5cbm9yZGVyKClcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LW9yZGluYWwtZ3JvdXAnLCBhcmd1bWVudHMsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LW9yZGVyJywgYXJndW1lbnRzLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ29yZGVyJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cblxuLy9cbi8vIDcuIEZsZXhpYmlsaXR5XG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleGliaWxpdHlcbi8vXG5mbGV4LWdyb3coZ3Jvd3RoKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtZmxleCcsIGdyb3d0aClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZ3JvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5mbGV4LWJhc2lzKClcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtYmFzaXMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleC1zaHJpbmsoKVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1zaHJpbmsnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleChncm93dGgpXG5cbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHNocmluayA9IDFcblxuICAgIGlmIG5vbmUgPT0gZ3Jvd3RoIHx8IGluaXRpYWwgPT0gZ3Jvd3RoXG4gICAgICAvLyBXZWxsIGtub3duIHZhbHVlc1xuICAgICAgc2hyaW5rID0gMCBpZiBub25lID09IGdyb3d0aFxuICAgICAgZ3Jvd3RoID0gMFxuICAgIGVsc2UgaWYgaXMtd2lkdGgoZ3Jvd3RoKSA9PSB0cnVlXG4gICAgICAvLyBCYXNpcyBpcyBkZWZpbmVkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXJcbiAgICAgIGdyb3d0aCA9IGFyZ3VtZW50c1sxXSB8fCAwXG4gICAgICBzaHJpbmsgPSBhcmd1bWVudHNbMl0gaWYgMyA8PSBsZW5ndGgoYXJndW1lbnRzKVxuICAgIGVsc2UgaWYgYXJndW1lbnRzWzFdICYmIGlzLXdpZHRoKGFyZ3VtZW50c1sxXSkgPT0gZmFsc2VcbiAgICAgIC8vIEdyb3d0aCBpcyBmaXJzdCBhbmQgc2hyaW5rIGlzIHNlY29uZFxuICAgICAgc2hyaW5rID0gYXJndW1lbnRzWzFdXG5cbiAgICAvLyBTaW5jZSB3ZSBjYW4ndCBtYWtlIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGdyb3dpbmcgYW5kIHNocmlua2luZyBpbiB0aGUgYm94IG1vZGVsLCB0YWtlXG4gICAgLy8gdGhlIG9uZSB0aGF0IHByb3ZpZGVzIHRoZSBtb3N0IGZsZXhpYmlsaXR5LlxuICAgIHZlbmRvcignYm94LWZsZXgnLCBtYXgoZ3Jvd3RoLCBzaHJpbmspLCBpZ25vcmU6IG1zKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5cbi8vIGNvbnZlcnRzIHRoZSBqdXN0aWZpY2F0aW9uIGFsaWdubWVudFxuLWNvbnZlcnQtanVzdGlmeShhbGlnbilcbiAgaWYgZmxleC1zdGFydCA9PSBhbGlnblxuICAgIHJldHVybiBzdGFydFxuICBlbHNlIGlmIGZsZXgtZW5kID09IGFsaWduXG4gICAgcmV0dXJuIGVuZFxuICBlbHNlIGlmIHNwYWNlLWFyb3VuZCA9PSBhbGlnblxuICAgIHJldHVybiBkaXN0cmlidXRlXG4gIGVsc2UgaWYgc3BhY2UtYmV0d2VlbiA9PSBhbGlnblxuICAgIHJldHVybiBqdXN0aWZ5XG4gIGVsc2VcbiAgICByZXR1cm4gYWxpZ25cblxuLy9cbi8vIDguIEFsaWdubWVudFxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2FsaWdubWVudFxuLy9cbmp1c3RpZnktY29udGVudChhbGlnbilcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtcGFjaycsIC1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ2p1c3RpZnktY29udGVudCcsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmFsaWduLWNvbnRlbnQoYWxpZ24pXG4gIC8vIFdBUk46IE9ic29sZXRlIHNwZWMgZG9lcyBub3QgYWxsb3cgZm9yIGFkanVzdG1lbnQgaGVyZVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1saW5lLXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdhbGlnbi1jb250ZW50JywgYWxpZ24sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLy8gY29udmVydHMgYWxpZ25tZW50IGZyb20gJ2ZsZXgnIHRvIG5vcm1hbCB2YWx1ZVxuLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKVxuICBpZiBmbGV4LXN0YXJ0ID09IGFsaWduXG4gICAgcmV0dXJuIHN0YXJ0XG4gIGVsc2UgaWYgZmxleC1lbmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZW5kXG4gIGVsc2VcbiAgICByZXR1cm4gYWxpZ25cblxuYWxpZ24taXRlbXMoYWxpZ24pXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdhbGlnbi1pdGVtcycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5hbGlnbi1zZWxmKGFsaWduKVxuICAvLyBXQVJOOiBPYnNvbGV0ZSBzcGVjIGRvZXMgbm90IGFsbG93IGZvciBvdmVycmlkaW5nIGFsaWdubWVudCBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYWxpZ24tc2VsZicsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gICAgdmVuZG9yKCdmbGV4LWl0ZW0tYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBvbmx5OiBtcylcbiIsIi8qKlxuICogU3R5bGUgYW4gZWxlbWVudCBhcyBhIGNvbHVtbiB3aXRoIGEgZ3V0dGVyLlxuICogQHBhcmFtIHtudW1iZXJ9IFtyYXRpb3M9MV0gLSBBIHdpZHRoIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXIgYXMgYSBmcmFjdGlvbi5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbb2Zmc2V0PTBdIC0gQSBvZmZzZXQgc3BlY2lmaWVkIGFzIGEgZnJhY3Rpb24gKHNlZSByYXRpb3MpLlxuICogQHBhcmFtIHtudW1iZXJ9IFtjeWNsZT0wXSAtIEVhc2lseSBjcmVhdGUgYW4gbnRoIGNvbHVtbiBncmlkIHdoZXJlIGN5Y2xlIGVxdWFscyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMuXG4gKiBAcGFyYW0ge251bWJlcn0gW3VuY3ljbGU9MF0gLSBVbmRvIGEgcHJldmlvdXMgY3ljbGUgdmFsdWUgdG8gYWxsb3cgZm9yIGEgbmV3IG9uZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbZ3V0dGVyPWplZXQuZ3V0dGVyXSAtIFNwZWNpZnkgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNvbnRhaW5lcnMgd2lkdGguXG4gKi9cbmNvbHVtbihyYXRpb3MgPSAxLCBvZmZzZXQgPSAwLCBjeWNsZSA9IDAsIHVuY3ljbGUgPSAwLCBndXR0ZXIgPSBqZWV0Lmd1dHRlcilcbiAgc2lkZSA9IGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKVxuICBvcHBvc2l0ZS1zaWRlID0gb3Bwb3NpdGUtcG9zaXRpb24oc2lkZSlcbiAgY29sdW1uLXdpZHRocyA9IGplZXQtZ2V0LWNvbHVtbihyYXRpb3MsIGd1dHRlcilcbiAgbWFyZ2luLWxhc3QgPSAwXG4gIG1hcmdpbi1sID0gbWFyZ2luLWxhc3RcbiAgbWFyZ2luLXIgPSBjb2x1bW4td2lkdGhzWzFdXG5cbiAgdW5sZXNzIG9mZnNldCA9PSAwXG4gICAgaWYgb2Zmc2V0IDwgMFxuICAgICAgb2Zmc2V0ICo9IC0xXG4gICAgICBvZmZzZXQgPSBqZWV0LWdldC1jb2x1bW4ob2Zmc2V0LCBjb2x1bW4td2lkdGhzWzFdKVswXVxuICAgICAgbWFyZ2luLXIgPSBtYXJnaW4tbGFzdCA9IG9mZnNldCArIGNvbHVtbi13aWR0aHNbMV0gKiAyXG4gICAgZWxzZVxuICAgICAgb2Zmc2V0ID0gamVldC1nZXQtY29sdW1uKG9mZnNldCwgY29sdW1uLXdpZHRoc1sxXSlbMF1cbiAgICAgIG1hcmdpbi1sID0gb2Zmc2V0ICsgY29sdW1uLXdpZHRoc1sxXVxuXG4gIGNmKClcbiAgZmxvYXQ6IHNpZGVcbiAgY2xlYXI6IG5vbmVcbiAgdGV4dC1hbGlnbjogaW5oZXJpdFxuICB3aWR0aDogKGNvbHVtbi13aWR0aHNbMF0pJVxuICBtYXJnaW4te3NpZGV9OiAobWFyZ2luLWwpJVxuICBtYXJnaW4te29wcG9zaXRlLXNpZGV9OiAobWFyZ2luLXIpJVxuXG4gIGlmIHVuY3ljbGUgIT0gMFxuICAgICY6bnRoLWNoaWxkKHt1bmN5Y2xlfW4pXG4gICAgICBtYXJnaW4te29wcG9zaXRlLXNpZGV9OiAobWFyZ2luLXIpJVxuICAgICAgZmxvYXQ6IHNpZGVcbiAgICAmOm50aC1jaGlsZCh7dW5jeWNsZX1uKzEpXG4gICAgICBjbGVhcjogbm9uZVxuXG4gIGlmIGN5Y2xlICE9IDBcbiAgICAmOm50aC1jaGlsZCh7Y3ljbGV9bilcbiAgICAgIG1hcmdpbi17b3Bwb3NpdGUtc2lkZX06IChtYXJnaW4tbGFzdCklXG4gICAgICBmbG9hdDogb3Bwb3NpdGUtc2lkZVxuICAgICY6bnRoLWNoaWxkKHtjeWNsZX1uKzEpXG4gICAgICBjbGVhcjogYm90aFxuICAgZWxzZVxuICAgICY6bGFzdC1jaGlsZFxuICAgICAgbWFyZ2luLXtvcHBvc2l0ZS1zaWRlfTogKG1hcmdpbi1sYXN0KSVcblxuLyoqXG4gKiBBbiBhbGlhcyBmb3IgdGhlIGNvbHVtbiBtaXhpbi5cbiAqL1xuY29sID0gY29sdW1uXG5cbi8qKlxuICogR2V0IHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBhbmQgbm90aGluZyBlbHNlLlxuICogQHBhcmFtIHtudW1iZXJ9IFtyYXRpb3M9MV0gLSBBIHdpZHRoIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXIgYXMgYSBmcmFjdGlvbi5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbZz1qZWV0Lmd1dHRlcl0gLSBTcGVjaWZ5IHRoZSBndXR0ZXIgd2lkdGggYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBjb250YWluZXJzIHdpZHRoLlxuICovXG5jb2x1bW4td2lkdGgocmF0aW9zID0gMSwgZyA9IGplZXQuZ3V0dGVyKVxuICByYXRpb3MgPSBqZWV0LXJldmVyc2UocmF0aW9zKSB1bmxlc3MgamVldC5wYXJlbnQtZmlyc3QgaXMgdHJ1ZVxuICB3ID0gMTAwXG5cbiAgZm9yIHJhdGlvIGluIHJhdGlvc1xuICAgIHcgPSAxMDAgKiByYXRpbyAtIGcgKyByYXRpbyAqIGdcblxuICByZXR1cm4gdyArICclJ1xuXG4vKipcbiAqIEFuIGFsaWFzIGZvciB0aGUgY29sdW1uLXdpZHRoIGZ1bmN0aW9uLlxuICovXG5jdyA9IGNvbHVtbi13aWR0aFxuXG4vKipcbiAqIEdldCB0aGUgZ3V0dGVyIHNpemUgb2YgYSBjb2x1bW4gYW5kIG5vdGhpbmcgZWxzZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbcmF0aW9zPTFdIC0gQSB3aWR0aCByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyIGFzIGEgZnJhY3Rpb24uXG4gKiBAcGFyYW0ge251bWJlcn0gW2c9amVldC5ndXR0ZXJdIC0gU3BlY2lmeSB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgY29udGFpbmVycyB3aWR0aC5cbiAqL1xuY29sdW1uLWd1dHRlcihyYXRpb3MgPSAxLCBnID0gamVldC5ndXR0ZXIpXG4gIHJhdGlvcyA9IGplZXQtcmV2ZXJzZShyYXRpb3MpIHVubGVzcyBqZWV0LnBhcmVudC1maXJzdCBpcyB0cnVlXG4gIHcgPSAxMDBcblxuICBmb3IgcmF0aW8gaW4gcmF0aW9zXG4gICAgZyA9IGcgLyB3ICogMTAwXG5cbiAgcmV0dXJuIGcgKyAnJSdcblxuLyoqXG4gKiBBbiBhbGlhcyBmb3IgdGhlIGNvbHVtbi1ndXR0ZXIgZnVuY3Rpb24uXG4gKi9cbmNnID0gY29sdW1uLWd1dHRlclxuXG4vKipcbiAqIFN0eWxlIGFuIGVsZW1lbnQgYXMgYSBjb2x1bW4gd2l0aG91dCBhbnkgZ3V0dGVycyBmb3IgYSBzZWFtbGVzcyByb3cuXG4gKiBAcGFyYW0ge251bWJlcn0gW3JhdGlvcz0xXSAtIEEgd2lkdGggcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lciBhcyBhIGZyYWN0aW9uLlxuICogQHBhcmFtIHtudW1iZXJ9IFtvZmZzZXQ9MF0gLSBBIG9mZnNldCBzcGVjaWZpZWQgYXMgYSBmcmFjdGlvbiAoc2VlIHJhdGlvcykuXG4gKiBAcGFyYW0ge251bWJlcn0gW2N5Y2xlPTBdIC0gRWFzaWx5IGNyZWF0ZSBhbiBudGggY29sdW1uIGdyaWQgd2hlcmUgY3ljbGUgZXF1YWxzIHRoZSBudW1iZXIgb2YgY29sdW1ucy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbdW5jeWNsZT0wXSAtIFVuZG8gYSBwcmV2aW91cyBjeWNsZSB2YWx1ZSB0byBhbGxvdyBmb3IgYSBuZXcgb25lLlxuICovXG5zcGFuKHJhdGlvID0gMSwgb2Zmc2V0ID0gMCwgY3ljbGUgPSAwLCB1bmN5Y2xlID0gMClcbiAgc2lkZSA9IGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKVxuICBvcHBvc2l0ZS1zaWRlID0gb3Bwb3NpdGUtcG9zaXRpb24oc2lkZSlcbiAgc3Bhbi13aWR0aCA9IGplZXQtZ2V0LXNwYW4ocmF0aW8pXG4gIG1hcmdpbi1yID0gMFxuICBtYXJnaW4tbCA9IG1hcmdpbi1yXG5cbiAgdW5sZXNzIG9mZnNldCA9PSAwXG4gICAgaWYgb2Zmc2V0IDwgMFxuICAgICAgb2Zmc2V0ICo9IC0xXG4gICAgICBtYXJnaW4tciA9IGplZXQtZ2V0LXNwYW4ob2Zmc2V0KVxuICAgIGVsc2VcbiAgICAgIG1hcmdpbi1sID0gamVldC1nZXQtc3BhbihvZmZzZXQpXG5cbiAgY2YoKVxuICBmbG9hdDogc2lkZVxuICBjbGVhcjogbm9uZVxuICB0ZXh0LWFsaWduOiBpbmhlcml0XG4gIHdpZHRoOiAoc3Bhbi13aWR0aCklXG4gIG1hcmdpbi17c2lkZX06IChtYXJnaW4tbCklXG4gIG1hcmdpbi17b3Bwb3NpdGUtc2lkZX06IChtYXJnaW4tciklXG5cbiAgaWYgY3ljbGUgIT0gMFxuICAgICY6bnRoLWNoaWxkKHtjeWNsZX1uKVxuICAgICAgZmxvYXQ6IG9wcG9zaXRlLXNpZGVcbiAgICAmOm50aC1jaGlsZCh7Y3ljbGV9biArIDEpXG4gICAgICBjbGVhcjogYm90aFxuXG4gIGlmIHVuY3ljbGUgIT0gMFxuICAgICY6bnRoLWNoaWxkKHt1bmN5Y2xlfW4pXG4gICAgICBmbG9hdDogc2lkZVxuICAgICY6bnRoLWNoaWxkKHt1bmN5Y2xlfW4gKyAxKVxuICAgICAgY2xlYXI6IG5vbmVcblxuLyoqXG4gKiBSZW9yZGVyIGNvbHVtbnMgd2l0aG91dCBhbHRlcmluZyB0aGUgSFRNTC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbcmF0aW9zPTBdIC0gU3BlY2lmeSBob3cgZmFyIGFsb25nIHlvdSB3YW50IHRoZSBlbGVtZW50IHRvIG1vdmUuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NvbC1vci1zcGFuPWNvbHVtbl0gLSBTcGVjaWZ5IHdoZXRoZXIgdGhlIGVsZW1lbnQgaGFzIGEgZ3V0dGVyIG9yIG5vdC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbZ3V0dGVyPWplZXQuZ3V0dGVyXSAtIFNwZWNpZnkgdGhlIGd1dHRlciB3aWR0aCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGNvbnRhaW5lcnMgd2lkdGguXG4gKi9cbnNoaWZ0KHJhdGlvcyA9IDAsIGNvbC1vci1zcGFuID0gY29sdW1uLCBndXR0ZXIgPSBqZWV0Lmd1dHRlcilcbiAgdHJhbnNsYXRlID0gJydcbiAgc2lkZSA9IGplZXQtZ2V0LWxheW91dC1kaXJlY3Rpb24oKVxuXG4gIGlmIHNpZGUgPT0gcmlnaHRcbiAgICByYXRpb3MgPSBqZWV0LXJlcGxhY2UtbnRoKHJhdGlvcywgMCwgcmF0aW9zWzBdICogLTEpXG5cbiAgaWYgY29sLW9yLXNwYW4gPT0gY29sdW1uIG9yIGNvbC1vci1zcGFuID09IGNvbCBvciBjb2wtb3Itc3BhbiA9PSBjXG4gICAgY29sdW1uLXdpZHRocyA9IGplZXQtZ2V0LWNvbHVtbihyYXRpb3MsIGd1dHRlcilcbiAgICB0cmFuc2xhdGUgPSBjb2x1bW4td2lkdGhzWzBdICsgY29sdW1uLXdpZHRoc1sxXVxuICBlbHNlXG4gICAgdHJhbnNsYXRlID0gamVldC1nZXQtc3BhbihyYXRpb3MpXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIGxlZnQ6ICh0cmFuc2xhdGUpJVxuXG4vKipcbiAqIFJlc2V0IGFuIGVsZW1lbnQgdGhhdCBoYXMgaGFkIHNoaWZ0KCkgYXBwbGllZCB0byBpdC5cbiAqL1xudW5zaGlmdCgpXG4gIHBvc2l0aW9uOiBzdGF0aWNcbiAgbGVmdDogMFxuXG4vKipcbiAqIFZpZXcgdGhlIGdyaWQgYW5kIGl0cyBsYXllcnMgZm9yIGVhc3kgZGVidWdnaW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IFtjb2xvcj1ibGFja10gLSBUaGUgYmFja2dyb3VuZCB0aW50IGFwcGxpZWQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtpbXBvcnRhbnQ9ZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgc3R5bGUgYXMgIWltcG9ydGFudC5cbiAqL1xuZWRpdChjb2xvciA9IGJsYWNrLCBpbXBvcnRhbnQgPSBmYWxzZSlcbiAgaWYgaW1wb3J0YW50XG4gICAgKlxuICAgICAgYmFja2dyb3VuZDogcmdiYShjb2xvciwgNSUpICFpbXBvcnRhbnRcbiAgZWxzZVxuICAgICpcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoY29sb3IsIDUlKVxuXG4vKipcbiAqICBBbGlhcyBmb3IgZWRpdCgpLlxuICovXG5kZWJ1ZyA9IGVkaXRcblxuLyoqXG4gKiBIb3Jpem9udGFsbHkgY2VudGVyIGFuIGVsZW1lbnQuXG4gKiBAcGFyYW0ge251bWJlcn0gW21heC13aWR0aD1qZWV0Lm1heC13aWR0aF0gLSBUaGUgbWF4IHdpZHRoIHRoZSBlbGVtZW50IGNhbiBiZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbcGFkPTBdIC0gU3BlY2lmeSB0aGUgZWxlbWVudCdzIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG4gKi9cbmNlbnRlcihtYXgtd2lkdGggPSBqZWV0Lm1heC13aWR0aCwgcGFkID0gMClcbiAgY2YoKVxuICB3aWR0aDogYXV0b1xuICBtYXgtd2lkdGg6IG1heC13aWR0aFxuICBmbG9hdDogbm9uZVxuICBkaXNwbGF5OiB1bnF1b3RlKCdibG9jaycpXG4gIG1hcmdpbi1yaWdodDogYXV0b1xuICBtYXJnaW4tbGVmdDogYXV0b1xuICBwYWRkaW5nLWxlZnQ6IHBhZFxuICBwYWRkaW5nLXJpZ2h0OiBwYWRcblxuLyoqXG4gKiBVbmNlbnRlciBhbiBlbGVtZW50LlxuICovXG51bmNlbnRlcigpXG4gIG1heC13aWR0aDogbm9uZVxuICBtYXJnaW4tcmlnaHQ6IDBcbiAgbWFyZ2luLWxlZnQ6IDBcbiAgcGFkZGluZy1sZWZ0OiAwXG4gIHBhZGRpbmctcmlnaHQ6IDBcblxuLyoqXG4gKiBTdGFjayBhbiBlbGVtZW50IHNvIHRoYXQgbm90aGluZyBpcyBlaXRoZXIgc2lkZSBvZiBpdC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbcGFkPTBdIC0gU3BlY2lmeSB0aGUgZWxlbWVudCdzIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG4gKiBAcGFyYW0ge2JvbGxlYW4vc3RyaW5nfSBbYWxpZ249ZmFsc2VdIC0gU3BlY2lmeSB0aGUgdGV4dCBhbGlnbiBmb3IgdGhlIGVsZW1lbnQuXG4gKi9cbnN0YWNrKHBhZCA9IDAsIGFsaWduID0gZmFsc2UpXG4gIHNpZGUgPSBqZWV0LWdldC1sYXlvdXQtZGlyZWN0aW9uKClcbiAgb3Bwb3NpdGUtc2lkZSA9IG9wcG9zaXRlLXBvc2l0aW9uKHNpZGUpXG5cbiAgZGlzcGxheTogdW5xdW90ZSgnYmxvY2snKVxuICBjbGVhcjogYm90aFxuICBmbG9hdDogbm9uZVxuICB3aWR0aDogMTAwJVxuICBtYXJnaW4tbGVmdDogYXV0b1xuICBtYXJnaW4tcmlnaHQ6IGF1dG9cblxuICAmOmZpcnN0LWNoaWxkXG4gICAgbWFyZ2luLXtzaWRlfTogYXV0b1xuXG4gICY6bGFzdC1jaGlsZFxuICAgIG1hcmdpbi17b3Bwb3NpdGUtc2lkZX06IGF1dG9cblxuICBpZiBwYWQgIT0gMFxuICAgIHBhZGRpbmctbGVmdDogcGFkXG4gICAgcGFkZGluZy1yaWdodDogcGFkXG5cbiAgaWYgKGFsaWduIGlzIG5vdCBmYWxzZSlcbiAgICBpZiAoYWxpZ24gPT0gY2VudGVyKSBvciAoYWxpZ24gPT0gYylcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlclxuICAgIGlmIChhbGlnbiA9PSBsZWZ0KSBvciAoYWxpZ24gPT0gbClcbiAgICAgIHRleHQtYWxpZ246IGxlZnRcbiAgICBpZiAoYWxpZ24gPT0gcmlnaHQpIG9yIChhbGlnbiA9PSByKVxuICAgICAgdGV4dC1hbGlnbjogcmlnaHRcblxuLyoqXG4gKiBVbnN0YWNrIGFuIGVsZW1lbnQuXG4gKi9cbnVuc3RhY2soKVxuICBzaWRlID0gamVldC1nZXQtbGF5b3V0LWRpcmVjdGlvbigpXG4gIG9wcG9zaXRlLXNpZGUgPSBvcHBvc2l0ZS1wb3NpdGlvbihzaWRlKVxuXG4gIHRleHQtYWxpZ246IHNpZGVcbiAgZGlzcGxheTogaW5saW5lXG4gIGNsZWFyOiBub25lXG4gIHdpZHRoOiBhdXRvXG4gIG1hcmdpbi1sZWZ0OiAwXG4gIG1hcmdpbi1yaWdodDogMFxuXG4gICY6Zmlyc3QtY2hpbGRcbiAgICBtYXJnaW4te3NpZGV9OiAwXG5cbiAgJjpsYXN0LWNoaWxkXG4gICAgbWFyZ2luLXtvcHBvc2l0ZS1zaWRlfTogMFxuXG4vKipcbiAqIENlbnRlciBhbiBlbGVtZW50IG9uIGVpdGhlciBvciBib3RoIGF4ZXMuXG4gKiBAcmVxdWlyZXMgQSBwYXJlbnQgY29udGFpbmVyIHdpdGggcmVsYXRpdmUgcG9zaXRpb25pbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2RpcmVjdGlvbj1ib3RoXSAtIFNwZWNpZnkgd2hpY2ggYXhlcyB0byBjZW50ZXIgdGhlIGVsZW1lbnQgb24uXG4gKi9cbmFsaWduKGRpcmVjdGlvbiA9IGJvdGgpXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkXG5cbiAgaWYgKGRpcmVjdGlvbiA9PSBob3Jpem9udGFsKSBvciAoZGlyZWN0aW9uID09IGgpXG4gICAgbGVmdDogNTAlXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG4gIGVsc2UgaWYgKGRpcmVjdGlvbiA9PSB2ZXJ0aWNhbCkgb3IgKGRpcmVjdGlvbiA9PSB2KVxuICAgIHRvcDogNTAlXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpXG4gIGVsc2VcbiAgICB0b3A6IDUwJVxuICAgIGxlZnQ6IDUwJVxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXG5cbi8qKlxuICogQXBwbHkgYSBjbGVhcmZpeCB0byBhbiBlbGVtZW50LlxuICovXG5jZigpXG4gICp6b29tOiAxXG5cbiAgJjpiZWZvcmUsICY6YWZ0ZXJcbiAgICBjb250ZW50OiAnJ1xuICAgIGRpc3BsYXk6IHRhYmxlXG5cbiAgJjphZnRlclxuICAgIGNsZWFyOiBib3RoXG4iLCJ1c2UoJy4uL25vZGVzL3ZlbmRvci1oZWxwZXJzLmpzJylcbkBpbXBvcnQgJ2NvbmZpZydcblxuLypcbiAqIEFsaWFzIFwibm93cmFwXCIgYXMgXCJuby13cmFwXCIuXG4gKi9cblxubm8td3JhcCA9IHVucXVvdGUoJ25vd3JhcCcpXG5cbi8qXG4gKiBIZWxwZXIgdG8gZmluZCBvdXQgaWYgYSBnaXZlbiB2YWx1ZSBpcyBhIHdpZHRoXG4gKi9cblxuaXMtd2lkdGgodmFsKVxuICBpZiBhdXRvID09IHZhbFxuICAgIHJldHVybiB0cnVlXG4gIGVsc2UgaWYgdmFsICYmICd1bml0JyA9PSB0eXBlKHZhbClcbiAgICAvLyBTdHlsdXMgZG9lcyBub3Qgc2hvcnQgY2lyY3VpdCBzbyB3ZSBuZWVkIHRvIHBlcmZvcm0gdGhpcyBhcyBhIGRpc3RpbmN0XG4gICAgLy8gb3BlcmF0aW9uIHRvIHByZXZlbnQgZXJyb3JzXG4gICAgcmV0dXJuICcnICE9IHVuaXQodmFsKVxuICByZXR1cm4gZmFsc2VcblxuLypcbiAqIFZlbmRvciBzdXBwb3J0IGZvciB0aGUgZ2l2ZW4gcHJvcCAvIGFyZ3VtZW50cywgb3B0aW9uYWxseSBzcGVjaWZ5aW5nIHRoZVxuICogb25seSBwcmVmaXhlcyB0byB1dGlsaXplLCBvciB0aG9zZSB3aGljaCBzaG91bGQgYmUgaWdub3JlZC5cbiAqL1xuXG52ZW5kb3IocHJvcCwgYXJncywgb25seSA9IG51bGwsIGlnbm9yZSA9IG51bGwsIHZlbmRvci1wcm9wZXJ0eSA9IHRydWUpXG4gIG5lZWRfbm9ybWFsaXplID0gIXZlbmRvci1wcm9wZXJ0eSBvciBwcm9wIGluICgndHJhbnNpdGlvbicgJ3RyYW5zaXRpb24tcHJvcGVydHknICdib3JkZXItaW1hZ2UnICdib3JkZXItaW1hZ2Utc2xpY2UnKVxuICBmb3IgcHJlZml4IGluIHZlbmRvci1wcmVmaXhlc1xuICAgIHVubGVzcyAob25seSBhbmQgIShwcmVmaXggaW4gb25seSkpIG9yIChpZ25vcmUgYW5kIHByZWZpeCBpbiBpZ25vcmUpXG4gICAgICBpZiBvZmZpY2lhbCA9PSBwcmVmaXhcbiAgICAgICAgaWYgbmVlZF9ub3JtYWxpemVcbiAgICAgICAgICB7cHJvcH06IG5vcm1hbGl6ZShwcm9wLCgnJXMnICUgYXJncykpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7cHJvcH06IGFyZ3NcbiAgICAgIGVsc2VcbiAgICAgICAgbmV3cHJvcCA9IHByb3BcbiAgICAgICAgbmV3cHJvcCA9ICctJyArIHByZWZpeCArICctJyArIHByb3AgaWYgdmVuZG9yLXByb3BlcnR5XG5cbiAgICAgICAgaWYgbmVlZF9ub3JtYWxpemVcbiAgICAgICAgICB7bmV3cHJvcH06IG5vcm1hbGl6ZShwcm9wLCgnJXMnICUgYXJncykscHJlZml4KVxuICAgICAgICBlbHNlXG4gICAgICAgICAge25ld3Byb3B9OiBhcmdzXG4vKlxuICogVmVuZG9yaXplIHRoZSBnaXZlbiB2YWx1ZS5cbiAqL1xuXG52ZW5kb3ItdmFsdWUoYXJnLCBvbmx5ID0gbnVsbCwgaWdub3JlID0gbnVsbClcbiAgcHJvcCA9IGN1cnJlbnQtcHJvcGVydHlbMF1cbiAgZm9yIHByZWZpeCBpbiB2ZW5kb3ItcHJlZml4ZXNcbiAgICB1bmxlc3MgKG9ubHkgYW5kICEocHJlZml4IGluIG9ubHkpKSBvciAoaWdub3JlIGFuZCBwcmVmaXggaW4gaWdub3JlKSBvciBvZmZpY2lhbCA9PSBwcmVmaXhcbiAgICAgIGFkZC1wcm9wZXJ0eShwcm9wLCAnLSVzLSVzJyAlIChwcmVmaXggYXJnKSlcbiAgYXJnXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtc2hhZG93XCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtc2hhZG93KClcbiAgdmVuZG9yKCdib3gtc2hhZG93JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ1c2VyLXNlbGVjdFwiIHN1cHBvcnQuXG4gKi9cblxudXNlci1zZWxlY3QoKVxuICB2ZW5kb3IoJ3VzZXItc2VsZWN0JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWNvdW50XCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tY291bnQoKVxuICB2ZW5kb3IoJ2NvbHVtbi1jb3VudCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1nYXBcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1nYXAoKVxuICB2ZW5kb3IoJ2NvbHVtbi1nYXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZVwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGUtY29sb3JcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlLWNvbG9yKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZS1jb2xvcicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlLXdpZHRoXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZS13aWR0aCgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUtd2lkdGgnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZS1zdHlsZVwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUtc3R5bGUoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlLXN0eWxlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXdpZHRoXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4td2lkdGgoKVxuICB2ZW5kb3IoJ2NvbHVtbi13aWR0aCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1zcGFuXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tc3BhbigpXG4gIHZlbmRvcignY29sdW1uLXNwYW4nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1maWxsXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tZmlsbCgpXG4gIHZlbmRvcignY29sdW1uLWZpbGwnLCBhcmd1bWVudHMsIG9ubHk6IG1veilcblxuLypcbiAqIExlZ2FjeSBzeW50YXggc3VwcG9ydCBmb3IgYmFja2dyb3VuZC1jbGlwIGFuZCBiYWNrZ3JvdW5kLW9yaWdpblxuICovXG5cbmxlZ2FjeS1iZy12YWx1ZXMocHJvcGVydHksIGFyZ3MpXG4gIGxlZ2FjeV9hcmdzID0gKClcbiAgaW1wb3J0YW5jZSA9IHVucXVvdGUoJycpXG4gIGZvciBzdWJhcmdzIGluIGFyZ3NcbiAgICBmb3IgYXJnIGluIHN1YmFyZ3NcbiAgICAgIGlmIGFyZyBpbiAoYm9yZGVyLWJveCBwYWRkaW5nLWJveCBjb250ZW50LWJveClcbiAgICAgICAgYXJnID0gdW5xdW90ZSgnYm9yZGVyJykgIGlmIGFyZyA9PSBib3JkZXItYm94XG4gICAgICAgIGFyZyA9IHVucXVvdGUoJ3BhZGRpbmcnKSBpZiBhcmcgPT0gcGFkZGluZy1ib3hcbiAgICAgICAgYXJnID0gdW5xdW90ZSgnY29udGVudCcpIGlmIGFyZyA9PSBjb250ZW50LWJveFxuICAgICAgaWYgYXJnICE9ICchaW1wb3J0YW50J1xuICAgICAgICBwdXNoKGxlZ2FjeV9hcmdzLGFyZylcbiAgICAgIGVsc2VcbiAgICAgICAgaW1wb3J0YW5jZSA9ICFpbXBvcnRhbnRcbiAgdmVuZG9yKHByb3BlcnR5LCB1bnF1b3RlKGpvaW4oJywgJyxsZWdhY3lfYXJncykpIGltcG9ydGFuY2UsIG9ubHk6IG1veiB3ZWJraXQpXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZ3JvdW5kLWNsaXBcIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtY2xpcCgpXG4gIGlmIGFyZ3VtZW50c1swXSA9PSB0ZXh0XG4gICAgdmVuZG9yKCdiYWNrZ3JvdW5kLWNsaXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdClcbiAgZWxzZVxuICAgIGxlZ2FjeS1iZy12YWx1ZXMoJ2JhY2tncm91bmQtY2xpcCcsIGFyZ3VtZW50cylcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYmFja2dyb3VuZC1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtb3JpZ2luKClcbiAgbGVnYWN5LWJnLXZhbHVlcygnYmFja2dyb3VuZC1vcmlnaW4nLCBhcmd1bWVudHMpXG4gIGJhY2tncm91bmQtb3JpZ2luOiBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcImJhY2tncm91bmQtc2l6ZVwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1zaXplKClcbiAgdmVuZG9yKCdiYWNrZ3JvdW5kLXNpemUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2Zvcm1cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zZm9ybSgpXG4gIHZlbmRvcigndHJhbnNmb3JtJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNmb3JtLW9yaWdpblwiIHN1cHBvcnQuXG4gKi9cbnRyYW5zZm9ybS1vcmlnaW4oKVxuICAgIHZlbmRvcigndHJhbnNmb3JtLW9yaWdpbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zZm9ybS1zdHlsZVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNmb3JtLXN0eWxlKClcbiAgdmVuZG9yKCd0cmFuc2Zvcm0tc3R5bGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3JkZXItaW1hZ2VcIiBzdXBwb3J0LlxuICovXG5cbmJvcmRlci1pbWFnZSgpXG4gIHZlbmRvcignYm9yZGVyLWltYWdlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG8gb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uKClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1wcm9wZXJ0eVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1wcm9wZXJ0eSgpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1wcm9wZXJ0eScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tZHVyYXRpb25cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24tZHVyYXRpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24tZHVyYXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1kZWxheVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1kZWxheSgpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1kZWxheScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImJhY2tmYWNlLXZpc2liaWxpdHlcIiBzdXBwb3J0LlxuICovXG5cbmJhY2tmYWNlLXZpc2liaWxpdHkoKVxuICB2ZW5kb3IoJ2JhY2tmYWNlLXZpc2liaWxpdHknLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJwZXJzcGVjdGl2ZVwiIHN1cHBvcnQuXG4gKi9cblxucGVyc3BlY3RpdmUoKVxuICBpZiBtaXhpblxuICAgIHZlbmRvcigncGVyc3BlY3RpdmUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG4gIGVsc2VcbiAgICAncGVyc3BlY3RpdmUoJXMpJyAlIGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwicGVyc3BlY3RpdmUtb3JpZ2luXCIgc3VwcG9ydC5cbiAqL1xuXG5wZXJzcGVjdGl2ZS1vcmlnaW4oKVxuICB2ZW5kb3IoJ3BlcnNwZWN0aXZlLW9yaWdpbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIE9wYWNpdHkgd2l0aCBjb25kaXRpb25hbCBJRSBzdXBwb3J0LlxuICovXG5cbm9wYWNpdHkobiwgYXJncy4uLilcbiAgb3BhY2l0eTogbiBhcmdzXG4gIGlmIHN1cHBvcnQtZm9yLWllXG4gICAgaWYgbiA9PSBpbmhlcml0IG9yIG4gPT0gaW5pdGlhbFxuICAgICAgLW1zLWZpbHRlcjogbiBhcmdzXG4gICAgICBmaWx0ZXI6IG4gYXJnc1xuICAgIGVsc2VcbiAgICAgIHZhbCA9IHJvdW5kKG4gKiAxMDApXG4gICAgICBpZiB2YWwgPT0gMTAwXG4gICAgICAgIC1tcy1maWx0ZXI6IG5vbmUgYXJnc1xuICAgICAgICBmaWx0ZXI6IG5vbmUgYXJnc1xuICAgICAgZWxzZVxuICAgICAgICAtbXMtZmlsdGVyOiAnXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0lcylcIicgJSB2YWwgYXJnc1xuICAgICAgICBmaWx0ZXI6ICdhbHBoYShvcGFjaXR5PSVzKScgJSB2YWwgYXJnc1xuXG4vKlxuICogVmVuZG9yIFwidGV4dC1zaXplLWFkanVzdFwiXG4gKi9cblxudGV4dC1zaXplLWFkanVzdCgpXG4gIHZlbmRvcigndGV4dC1zaXplLWFkanVzdCcsIGFyZ3VtZW50cylcblxuLypcbiAqIEFsaWFzIHRoZSBcIndoaXRlLXNwYWNlXCIgcHJvcGVydHkuXG4gKi9cblxud2hpdGVzcGFjZSgpXG4gIHdoaXRlLXNwYWNlOiBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcImJveC1zaXppbmdcIiBzdXBwb3J0LlxuICovXG5cbmJveC1zaXppbmcoKVxuICB2ZW5kb3IoJ2JveC1zaXppbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtb3JpZW50XCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtb3JpZW50KClcbiAgdmVuZG9yKCdib3gtb3JpZW50JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LWZsZXgtZ3JvdXBcIiBzdXBwb3J0LlxuICovXG5cbmJveC1mbGV4LWdyb3VwKClcbiAgdmVuZG9yKCdib3gtZmxleC1ncm91cCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1vcmRpbmFsLWdyb3VwXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtb3JkaW5hbC1ncm91cCgpXG4gIHZlbmRvcignYm94LW9yZGluYWwtZ3JvdXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cblxuLypcbiAqIFZlbmRvciBcImJveC1hbGlnblwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWFsaWduKClcbiAgdmVuZG9yKCdib3gtYWxpZ24nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtcGFja1wiIHN1cHBvcnQuXG4gKi9cblxuYm94LXBhY2soKVxuICB2ZW5kb3IoJ2JveC1wYWNrJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LWRpcmVjdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWRpcmVjdGlvbigpXG4gIHZlbmRvcignYm94LWRpcmVjdGlvbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24nLCBhcmd1bWVudHMpXG5cblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1uYW1lXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tbmFtZSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLW5hbWUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZHVyYXRpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kdXJhdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLWR1cmF0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWRlbGF5XCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZGVsYXkoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1kZWxheScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1kaXJlY3Rpb25cIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kaXJlY3Rpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1kaXJlY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24taXRlcmF0aW9uLWNvdW50XCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24taXRlcmF0aW9uLWNvdW50KClcbiAgdmVuZG9yKCdhbmltYXRpb24taXRlcmF0aW9uLWNvdW50JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1wbGF5LXN0YXRlXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tcGxheS1zdGF0ZSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLXBsYXktc3RhdGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZmlsbC1tb2RlXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tZmlsbC1tb2RlKClcbiAgdmVuZG9yKCdhbmltYXRpb24tZmlsbC1tb2RlJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiaHlwaGVuc1wiIHN1cHBvcnQuXG4gKi9cblxuaHlwaGVucygpXG4gIHZlbmRvcignaHlwaGVucycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImFwcGVhcmFuY2VcIiBzdXBwb3J0LlxuICovXG5cbmFwcGVhcmFuY2UoKVxuICB2ZW5kb3IoJ2FwcGVhcmFuY2UnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0YWItc2l6ZVwiIHN1cHBvcnQuXG4gKi9cblxudGFiLXNpemUoKVxuICB2ZW5kb3IoJ3RhYi1zaXplJywgYXJndW1lbnRzLCBvbmx5OiBtb3ogbyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcIm92ZXJmbG93LXNjcm9sbGluZ1wiIHN1cHBvcnQuXG4gKi9cblxub3ZlcmZsb3ctc2Nyb2xsaW5nKClcbiAgdmVuZG9yKCdvdmVyZmxvdy1zY3JvbGxpbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRleHQtb3ZlcmZsb3dcIiBzdXBwb3J0LCAsIC1vLSBmb3Igb3BlcmEgOS4qIC0gMTAuKlxuICovXG5cbnRleHQtb3ZlcmZsb3coKVxuICB2ZW5kb3IoJ3RleHQtb3ZlcmZsb3cnLCBhcmd1bWVudHMsIG9ubHk6IG9mZmljaWFsIG8pXG5cbi8qXG4gKiBWZW5kb3IgXCJ0ZXh0LXNpemUtYWRqdXN0XCIgc3VwcG9ydC5cbiAqL1xudGV4dC1zaXplLWFkanVzdCgpXG4gIHZlbmRvcigndGV4dC1zaXplLWFkanVzdCcsIGFyZ3VtZW50cywgb25seTogb2ZmaWNpYWwgd2Via2l0IG1zKVxuXG4vKlxuICogVmVuZG9yIFwiZm9udC1zbW9vdGhpbmdcIiBzdXBwb3J0LCB3ZWJraXQgb25seS5cbiAqL1xuZm9udC1zbW9vdGhpbmcoKVxuICB2ZW5kb3IoJ2ZvbnQtc21vb3RoaW5nJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQpXG5cblxuLyoqXG4gKiBWZW5kb3IgaW5wdXQtcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIgc3VwcG9ydC5cbiAqXG4gKiBFeGFtcGxlczpcbiAqICAgIC8vIERlZmF1bHQgc3ludGF4XG4gKiAgICBib2R5XG4gKiAgICAgIHBsYWNlaG9sZGVyKGNvbG9yICMzMzMsIGZvbnQtd2VpZ2h0IG5vcm1hbClcbiAqXG4gKiAgICAvLyBUaGUgY29tbWEgaXMgaW1wb3J0YW50XG4gKiAgICAucGxhY2Vob2xkZXItcmVkXG4gKiAgICAgIHBsYWNlaG9sZGVyKGNvbG9yIHJlZCwpXG4gKlxuICogICAgLy8gV2UgY2FuIHBhc3MgYSBmdW5jdGlvblxuICogICAgZ3JlZW4tcGxhY2Vob2xkZXIoKVxuICogICAgICBjb2xvciBncmVlblxuICogICAgLnBsYWNlaG9sZGVyLWdyZWVuXG4gKiAgICAgIHBsYWNlaG9sZGVyKGdyZWVuLXBsYWNlaG9sZGVyKVxuICpcbiAqICAgIC8vIFdlIGNhbiBwYXNzIGEgaGFzaFxuICogICAgdGV4dGFyZWFcbiAqICAgICAgcGxhY2Vob2xkZXIoKGZvbnQtc3R5bGUgaXRhbGljKSAoZm9udC13ZWlnaHQgYm9sZCkgKHBhZGRpbmcgJzRweCAxMHB4JykpXG4gKi9cbnBsYWNlaG9sZGVyKClcbiAgZm9yIHYgaW4gJzotd2Via2l0LWlucHV0JyAnLW1veicgJzotbW96JyAnLW1zLWlucHV0J1xuICAgICY6e3Z9LXBsYWNlaG9sZGVyXG4gICAgICBmb3IgcGFpciBpbiBhcmd1bWVudHNcbiAgICAgICAgaWYgdHlwZW9mKHBhaXIpID09ICdmdW5jdGlvbidcbiAgICAgICAgICBwYWlyKClcbiAgICAgICAgZWxzZSBpZiBwYWlyIGlzIG5vdCBudWxsICYmIHBhaXJbMF0gaXMgbm90IG51bGxcbiAgICAgICAgICB7cGFpclswXX06IHR5cGUocGFpclsxXSkgPT0gJ3N0cmluZycgPyBzKHBhaXJbMV0pIDogcGFpclsxXVxuaW5wdXQtcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlclxuXG4vKlxuICogVmVuZG9yIGJhY2tncm91bmQgc3VwcG9ydCAoZ3JhZGllbnRzKS5cbiAqL1xuXG5iYWNrZ3JvdW5kKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBiYWNrZ3JvdW5kIGFyZ3VtZW50c1xuXG5iYWNrZ3JvdW5kLWltYWdlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQtaW1hZ2UnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBiYWNrZ3JvdW5kLWltYWdlIGFyZ3VtZW50c1xuXG5jdXJzb3IoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignY3Vyc29yJywgYXJndW1lbnRzLCB2ZW5kb3ItcHJvcGVydHk6IGZhbHNlKVxuICBlbHNlXG4gICAgY3Vyc29yIGFyZ3VtZW50c1xuXG5saXN0LXN0eWxlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2xpc3Qtc3R5bGUnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBsaXN0LXN0eWxlIGFyZ3VtZW50c1xuXG5saXN0LXN0eWxlLWltYWdlKClcbiAgaWYgbWF0Y2goJy1ncmFkaWVudFxcKCcsICcnK2FyZ3VtZW50cylcbiAgICB2ZW5kb3IoJ2xpc3Qtc3R5bGUtaW1hZ2UnLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBsaXN0LXN0eWxlLWltYWdlIGFyZ3VtZW50c1xuIiwiLypcbiAqIGJvcmRlcjogPGNvbG9yPlxuICogYm9yZGVyOiAuLi5cbiAqL1xuXG5ib3JkZXIoY29sb3IsIGFyZ3MuLi4pXG4gIGlmIGNvbG9yIGlzIGEgJ2NvbG9yJ1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yIGFyZ3NcbiAgZWxzZVxuICAgIGJvcmRlcjogYXJndW1lbnRzXG4iLCIvKlxuICogSGVscGVyIGZvciBib3JkZXItcmFkaXVzKCkuXG4gKi9cblxuLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuICBpZiBsZW5ndGgocG9zKSA9PSAzXG4gICAgLy8gYm9yZGVyLXJhZGl1czogPHRvcCB8IGJvdHRvbT4gPGxlZnQgfCByaWdodD4gPG4+XG4gICAgeSA9IHBvc1swXVxuICAgIHggPSBwb3NbMV1cbiAgICAvLyBXZSBkb24ndCB1c2UgdmVuZG9yIGZvciBib2Rlci1yYWRpdXMgYW55bW9yZVxuICAgIC8vIHZlbmRvcignYm9yZGVyLXJhZGl1cy0lcyVzJyAlIHBvcywgcG9zWzJdLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gICAgeydib3JkZXItJXMtJXMtcmFkaXVzJyAlIHBvc306IHBvc1syXSBpbXBvcnRhbmNlXG4gIGVsc2UgaWYgcG9zWzBdIGluICh0b3AgYm90dG9tKVxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDx0b3AgfCBib3R0b20+IDxuPlxuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvc1swXSBsZWZ0IHBvc1sxXSwgaW1wb3J0YW5jZSlcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3NbMF0gcmlnaHQgcG9zWzFdLCBpbXBvcnRhbmNlKVxuICBlbHNlIGlmIHBvc1swXSBpbiAobGVmdCByaWdodClcbiAgICAvLyBib3JkZXItcmFkaXVzOiA8bGVmdCB8IHJpZ2h0PiA8bj5cbiAgICB1bnNoaWZ0KHBvcywgdG9wKTtcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG4gICAgcG9zWzBdID0gYm90dG9tXG4gICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuXG4vKlxuICogYm9yZGVyLXJhZGl1cyBzdXBwb3J0aW5nIGF1Z21lbnRlZCBiZWhhdmlvci5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICBib3JkZXItcmFkaXVzOiAycHggNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgNXB4IGJvdHRvbSAxMHB4XG4gKiAgICBib3JkZXItcmFkaXVzOiBsZWZ0IDVweFxuICogICAgYm9yZGVyLXJhZGl1czogdG9wIGxlZnQgNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgbGVmdCAxMHB4IGJvdHRvbSByaWdodCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCBsZWZ0IDEwcHgsIGJvdHRvbSByaWdodCA1cHhcbiAqXG4gKi9cblxuYm9yZGVyLXJhZGl1cygpXG4gIHBvcyA9ICgpXG4gIGF1Z21lbnRlZCA9IGZhbHNlXG4gIGltcG9ydGFuY2UgPSBhcmd1bWVudHNbbGVuZ3RoKGFyZ3VtZW50cykgLSAxXSA9PSAhaW1wb3J0YW50ID8gIWltcG9ydGFudCA6IHVucXVvdGUoJycpXG5cbiAgZm9yIGFyZ3MgaW4gYXJndW1lbnRzXG4gICAgZm9yIGFyZyBpbiBhcmdzXG4gICAgICBpZiBhcmcgaXMgYSAnaWRlbnQnXG4gICAgICAgIGFwcGVuZChwb3MsIGFyZylcbiAgICAgICAgYXVnbWVudGVkID0gdHJ1ZVxuICAgICAgZWxzZVxuICAgICAgICBhcHBlbmQocG9zLCBhcmcpXG4gICAgICAgIGlmIGF1Z21lbnRlZFxuICAgICAgICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvcywgaW1wb3J0YW5jZSlcbiAgICAgICAgICBwb3MgPSAoKVxuICBib3JkZXItcmFkaXVzIHBvcyB1bmxlc3MgYXVnbWVudGVkXG4iLCIvLyAtLS0tLS0tLS0tXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tXG5cbi8vIEFsaWFzOiBCb2xkXG4vLyBJdCdzIGp1c3QgZmFzdGVyIHRvIHR5cGUgYm9sZCgpIHRoYW4gZm9udC13ZWlnaHQ6IGJvbGRcblxuYm9sZCgpXG4gIGZvbnQtd2VpZ2h0OiBib2xkXG5cbi8vIEFsaWFzOiBJdGFsaWNcbi8vIEl0J3MganVzdCBmYXN0ZXIgdG8gdHlwZSBpdGFsaWMoKSB0aGFuIGZvbnQtc3R5bGU6IGl0YWxpY1xuXG5pdGFsaWMoKVxuICBmb250LXN0eWxlOiBpdGFsaWNcblxuLy8gQWxpYXM6IE5vcm1hbFxuLy8gUHV0IHRoZSBmb250LXdlaWdodCBhbmQgc3R5bGUgYmFjayB0byBub3JtYWxcblxubm9ybWFsKClcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbFxuICBmb250LXN0eWxlOiBub3JtYWxcblxuLy8gTWl4aW46IFJhcXVvXG4vL1xuLy8gQmVjYXVzZSB0ZWNobmljYWxseSByYXF1byBpcyBub3Qgc2VtYW50aWMsIGl0J3MgYmV0dGVyIHRvIGFkZCBpdCBsaWtlIHRoaXMuXG4vL1xuLy8gZXguIHJhcXVvKClcblxucmFxdW8oKVxuICAmOmFmdGVyXG4gICAgY29udGVudDogXCIgXFwwMEJCXCJcblxuLy8gTWl4aW46IEZvbnQgRmFjZVxuLy9cbi8vIFN1cGVyIHNpbXBsZSBmb250LWZhY2UgZGVjbGFyYXRpb24uIEp1c3QgZ2l2ZSB0aGUgbmFtZSBhbmQgdGhlIGZvbGRlciBpdFxuLy8gbGl2ZXMgaW4uIE1ha2Ugc3VyZSB0aGUgZm9udCBuYW1lIG1hdGNoZXMgdGhlIG5hbWUgb2YgdGhlIGZpbGVzLiBVc2VzIHRoZVxuLy8gZm9udHNwcmluZyBzeW50YXg6XG4vLyBodHRwOi8vd3d3LmZvbnRzcHJpbmcuY29tL2Jsb2cvdGhlLW5ldy1idWxsZXRwcm9vZi1mb250LWZhY2Utc3ludGF4XG4vL1xuLy8gZXguIGZvbnQtZmFjZShwcm94aW1hLW5vdmEsICcvZm9udHMnKVxuXG5mb250LWZhY2UoJG5hbWUsICRmb2xkZXIsICR3ZWlnaHQgPSAnbm9ybWFsJywgJHN0eWxlID0gJ25vcm1hbCcpXG4gIEBmb250LWZhY2VcbiAgICBmb250LWZhbWlseTogJG5hbWVcbiAgICBzcmM6IHVybCgkZm9sZGVyIHVucXVvdGUoJy8nKSAkbmFtZSB1bnF1b3RlKCcuZW90JykgJz8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgkZm9sZGVyIHVucXVvdGUoJy8nKSAkbmFtZSB1bnF1b3RlKCcud29mZicpKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCRmb2xkZXIgdW5xdW90ZSgnLycpICRuYW1lIHVucXVvdGUoJy50dGYnKSkgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJGZvbGRlciB1bnF1b3RlKCcvJykgJG5hbWUgdW5xdW90ZSgnLmVvdCcpIHVucXVvdGUoJyMnKSAkbmFtZSkgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogdW5xdW90ZSgkd2VpZ2h0KVxuICAgIGZvbnQtc3R5bGU6IHVucXVvdGUoJHN0eWxlKVxuXG5cbi8vIE1peGluOiBFbGxpcHNpc1xuLy8gVHJ1bmNhdGUgdGV4dCB0byB0aGUgd2lkdGggb2YgaXRzIGNvbnRhaW5lci4uLlxuLy8gZXg6IGVsbGlwc2lzKClcbi8vIGV4OiBlbGxpcHNpczogMzAwcHhcblxuZWxsaXBzaXMoJHdpZHRoID0gMTAwJSlcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbiAgbWF4LXdpZHRoOiAkd2lkdGhcbiAgb3ZlcmZsb3c6IGhpZGRlblxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpc1xuICB3b3JkLXdyYXA6IG5vcm1hbFxuXG4vLyBGdW5jdGlvbjogTGluZSBIZWlnaHRcbi8vXG4vLyBJZiB0aGVyZSBpcyBhIGZvbnQtc2l6ZSBzZXQgb24gdGhlIHBhcmVudCBlbGVtZW50LCBhZGp1c3RzIHRoZSBsaW5lIGhlaWdodCB0b1xuLy8gbWF0Y2ggdGhhdC4gSWYgbm90LCBpdCB1c2VzIHRoZSBiYXNlIGZvbnQtc2l6ZSB0byBjYWxjdWxhdGUgdGhlIGxpbmUtaGVpZ2h0LlxuXG4tbGluZS1oZWlnaHQoKVxuICBpZiBAZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtXG4gIGVsc2VcbiAgICBsaW5lLWhlaWdodDogdW5pdCgkZm9udC1zaXplKjEuNiwgJ3B4JylcbiAgICBsaW5lLWhlaWdodDogMS42cmVtXG5cbi8vIE1peGluOiBUZXh0IE1hcmdpblxuLy9cbi8vIFB1dHMgbmljZSB2aXN1YWxseSBwbGVhc2luZyB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgcGFyYWdyYXBoIG9mIHRleHQuXG4vLyBQdXQgYSBmb250LXNpemUgb24geW91ciBlbGVtZW50IHRvIGhhdmUgaXQgYWRqdXN0IGFjY29yZGluZ2x5LlxuLy9cbi8vIGV4LiBwXG4vLyAgICAgICBmb250LXNpemU6IDE4cHhcbi8vICAgICAgIHRleHQtbWFyZ2luKClcblxudGV4dC1tYXJnaW4oJHNpemUgPSAkZm9udC1zaXplKVxuICBpZiBAZm9udC1zaXplXG4gICAgbWFyZ2luOiAuNzVlbSAwXG4gIGVsc2VcbiAgICBtYXJnaW46IHVuaXQoJGZvbnQtc2l6ZSouNzUsICdweCcpIDBcblxuLy8gTWl4aW46IFBhcmFncmFwaFxuLy9cbi8vIFNldHMgYSBuaWNlIHNpemUsIGxpbmUtaGVpZ2h0LCBhbmQgbWFyZ2lucyBvbiBhIHBhcmFncmFwaCBvZiB0ZXh0LiBQYXNzIGFcbi8vIHNpemUgaW4gdG8gY3VzdG9taXplLiBUb2dnbGUgbWFyZ2lucyBvZmYgaWYgeW91IGRvbid0IHdhbnQgdGhlbS5cbi8vXG4vLyBleC4gcCgpXG4vLyBleC4gcDogMThweFxuLy8gZXguIHA6IDE0cHggZmFsc2VcblxucCgkc2l6ZSA9IDFyZW0sICRtYXJnaW5zID0gdHJ1ZSlcbiAgZm9udC1zaXplOiAkc2l6ZVxuICB0ZXh0LW1hcmdpbigpIGlmICRtYXJnaW5zXG4gIC1saW5lLWhlaWdodCgpXG4gIG9wZW4tdHlwZS1saWdhdHVyZXMoKSBpZiAkbGlnYXR1cmVzXG5cbi8vIEFsaWFzOiBwYXJhZ3JhcGhcbnBhcmFncmFwaCA9IHBcblxuLy8gQWxpYXM6IEZvbnQgU2l6ZVxuLy8gQW4gYWxpYXMgZm9yICdmb250LXNpemUnIHdpdGggYXV0by1mYWxsYmFjayBmb3IgcmVtLlxuLy8gZXguIGZzOiAxNnB4XG4vLyBleC4gZnM6IDEuMnJlbVxuXG5mcygkc2l6ZSlcbiAgaWYgKHVuaXQoJHNpemUpID09ICdyZW0nKVxuICAgIGZvbnQtc2l6ZTogcm91bmQodW5pdCgoJGZvbnQtc2l6ZSokc2l6ZSksICdweCcpKVxuICAgIGZvbnQtc2l6ZTogJHNpemVcbiAgZWxzZVxuICAgIGZvbnQtc2l6ZTogJHNpemVcblxuLy8gQWxpYXM6IFVwcGVyY2FzZVxuLy8gQW4gYWxpYXMgZm9yICd0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlJ1xuLy8gZXguIHVwcGVyY2FzZSgpXG5cbnVwcGVyY2FzZSgpXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2VcblxuLy8gQWxpYXM6IFVwY2FzZVxudXBjYXNlID0gdXBwZXJjYXNlXG5cbi8vIEFsaWFzOiBMb3dlcmNhc2Vcbi8vIEFuIGFsaWFzIGZvciAndGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSdcbi8vIGV4LiBsb3dlcmNhc2UoKVxuXG5sb3dlcmNhc2UoKVxuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlXG5cbi8vIEFsaWFzOiBEb3duY2FzZVxuZG93bmNhc2UgPSBsb3dlcmNhc2VcblxuLy8gQWxpYXM6IFJlc2V0IENhc2Vcbi8vIEdldHMgcmlkIG9mIGFuIHRleHQgdHJhbnNmb3JtXG4vLyBleC4gcmVzZXQtY2FzZSgpXG5cbnJlc2V0LWNhc2UoKVxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZVxuXG4vLyBNaXhpbjogU21hbGxcbi8vXG4vLyBNYWtlcyB5b3VyIHRleHQgc21hbGxlciBhbmQgYSBsaXR0bGUgbGlnaHRlci4gR3JlYXQgb24gPHNtYWxsIC8+IHRhZ3MuXG4vL1xuLy8gZXguIHNtYWxsKClcblxuc21hbGwoKVxuICBmb250LXNpemU6IDU1JVxuICBvcGFjaXR5OiAuNlxuICBmb250LXdlaWdodDogbm9ybWFsXG5cbi8vIEZ1bmN0aW9uOiBIZWFkaW5nXG4vLyBGb3IgaW50ZXJuYWwgdXNlIHdpdGhpbiBoZWFkaW5nc1xuXG4taGVhZGluZygkbXVsdGlwbGllciwgJG1hcmdpbnMgPSB0cnVlKVxuICBmb250LXNpemU6IHVuaXQoKCRmb250LXNpemUqJG11bHRpcGxpZXIpLCAncHgnKVxuICBmb250LXNpemU6IHVuaXQoJG11bHRpcGxpZXIsICdyZW0nKVxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVsZWdpYmlsaXR5XG4gIGZvbnQtd2VpZ2h0OiBib2xkXG4gIHRleHQtbWFyZ2luKCkgaWYgJG1hcmdpbnNcbiAgLWxpbmUtaGVpZ2h0KClcbiAgb3BlblR5cGVMaWdhdHVyZXMoKSBpZiAkbGlnYXR1cmVzXG5cbi8vIE1peGluIFNldDogaDEsIGgyLCBoMywgaDQsIGg1LCBoNlxuLy9cbi8vIFRoZXNlIHByb3ZpZGUgbmljZSBkZWZhdWx0cyBmb3IgaGVhZGluZ3MgYmFzZWQgb2ZmIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZS5cbi8vIFRoZSBjYW4gc2NhbGUgaW5maW5pdGVseSwgYW5kIHdvcmsgYmVzdCB3aGVuIG1hdGNoZWQgdG8gdGhlaXIgY29ycmVzcG9uZGluZ1xuLy8gaHRtbCBlbGVtZW50cy4gSWYgeW91J2QgbGlrZSB0byBjaGFuZ2UgdGhlIGJhc2Ugc2l6ZSBvZiBhIGhlYWRlciwganVzdCBwYXNzXG4vLyBpdCBhcyBhbiBvcHRpb24uXG4vL1xuLy8gZXguIGgzKClcbi8vIGV4LiBoMzogMy41XG5cbmgxKCRzaXplPTIuNClcbiAgLWhlYWRpbmcoJHNpemUpXG5cbmgyKCRzaXplPTEuOClcbiAgLWhlYWRpbmcoJHNpemUpXG5cbmgzKCRzaXplPTEuNSlcbiAgLWhlYWRpbmcoJHNpemUpXG5cbmg0KCRzaXplPTEuMylcbiAgLWhlYWRpbmcoJHNpemUpXG5cbmg1KCRzaXplPTEuMClcbiAgLWhlYWRpbmcoJHNpemUpXG5cbmg2KCRzaXplPTAuOSlcbiAgLWhlYWRpbmcoJHNpemUpXG4gIHVwY2FzZSgpXG5cbi8vIE1peGluOiBMaW5rXG4vL1xuLy8gQSBuaWNlIGRlZmF1bHQgc3R5bGUgZm9yIGxpbmtzLiBBY2NlcHRzIGEgY29sb3IgYW5kIGEgc3R5bGUuIENvbG9yIGNhbiBiZVxuLy8gYW55dGhpbmcsIHN0eWxlIGNhbiBiZSB1bmRlcmxpbmUsIGRhcmtlbiwgbGlnaHRlbiwgb3IgZ2xvdywgZWFjaCBnaXZpbmcgaXQgYVxuLy8gZGlmZmVyZW50IHN0eWxlIG9mIGludGVyYWN0aW9uIHdoZW4gaG92ZXJlZC4gTW9yZSBzdWdnZXN0aW9ucyBoZXJlIHdlbGNvbWUuXG4vL1xuLy8gZXguIGxpbmsoKVxuLy8gZXguIGxpbms6IGdyZWVuXG4vLyBleC4gbGluazogIzU3Nzc3RSAnZ2xvdydcblxubGluaygkY29sb3IgPSAkYmx1ZSwgJHN0eWxlID0gJ3VuZGVybGluZScpXG4gIGNvbG9yOiAkY29sb3JcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lXG4gIHRyYW5zaXRpb24oKVxuXG4gIGlmICRzdHlsZSA9PSAndW5kZXJsaW5lJ1xuICAgIGhvdmVyLXVuZGVybGluZSgpXG4gICAgJjpob3ZlclxuICAgICAgY29sb3I6IGRhcmtlbihAY29sb3IsIDE1JSlcbiAgZWxzZSBpZiAkc3R5bGUgPT0gJ2RhcmtlbidcbiAgICAmOmhvdmVyXG4gICAgICBjb2xvcjogZGFya2VuKEBjb2xvciwgMjAlKVxuICBlbHNlIGlmICRzdHlsZSA9PSAnbGlnaHRlbidcbiAgICBob3Zlci1saWdodGVuKClcbiAgZWxzZSBpZiAkc3R5bGUgPT0gJ2dsb3cnXG4gICAgJjpob3ZlclxuICAgICAgdGV4dC1zaGFkb3c6IDAgMCA3cHggcmdiYShAY29sb3IsIC42KVxuXG4gICY6dmlzaXRlZFxuICAgIG9wYWNpdHk6IC44XG5cbi8vIE1peGluOiBSZXNldCBMaW5rXG4vL1xuLy8gU29tZXRpbWVzIG15IGxpbmsgbWl4aW4gb2YgdGhlIGJyb3dzZXIgZGVmYXVsdHMgd2lsbCBnaXZlIHlvdSBxdWVzdGlvbmFibGVcbi8vIGxpbmsgZGVmYXVsdHMgdGhhdCB5b3UgZG9uJ3Qgd2FudCBvbiBjZXJ0YWluIGVsZW1lbnRzLiBUaGlzIGd1eSBnZXRzIHJpZCBvZlxuLy8gdGhhdC5cblxuLy8gZXguIHJlc2V0LWxpbmsoKVxuXG5yZXNldC1saW5rKClcbiAgYm9yZGVyOiBub25lXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZVxuICBjb2xvcjogaW5pdGlhbFxuXG4gICY6aG92ZXJcbiAgICBib3JkZXI6IG5vbmVcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmVcbiAgICBjb2xvcjogaW5pdGlhbFxuXG4gICY6dmlzaXRlZFxuICAgIG9wYWNpdHk6IDFcblxuLy8gTWl4aW46IFRleHQgU2VsZWN0aW9uXG4vL1xuLy8gVGhpcyBndXkgc2V0cyB0aGUgdGV4dCBzZWxlY3QgY29sb3IgaW50ZWxsaWdlbnRseSBiYXNlZCBvbiB0aGVcbi8vIGhpZ2hsaWdodC1jb2xvciB2YXJpYWJsZSBmb3VuZCBpbiB0aGUgc2V0dGluZ3MgZmlsZS4gSWYgeW91IHJlYWxseSB3YW50LCB5b3Vcbi8vIGNhbiBwYXNzIGl0IGEgY29sb3Igb3ZlcnJpZGUgdG9vLlxuXG4vLyBleC4gdGV4dC1zZWxlY3Rpb24oKVxuXG50ZXh0LXNlbGVjdGlvbigkY29sb3IgPSAkaGlnaGxpZ2h0LWNvbG9yLCAkdGV4dC1jb2xvciA9IG51bGwpXG5cbiAgJHRleHQtY29sb3IgPSAobGlnaHQoJGNvbG9yKSA/IHdoaXRlIDogIzQ5NDk0OSkgdW5sZXNzICR0ZXh0LWNvbG9yXG5cbiAgJjo6LW1vei1zZWxlY3Rpb25cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JcbiAgICBjb2xvcjogJHRleHQtY29sb3JcblxuICAmOjpzZWxlY3Rpb25cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JcbiAgICBjb2xvcjogJHRleHQtY29sb3JcblxuLy8gTWl4aW46IFVsXG4vL1xuLy8gQSBuaWNlIGRlZmF1bHQgZm9yIGxpc3Qgc3R5bGVzLiBNb3JlIG9yIGxlc3MgdGhlIHNhbWUgYXMgYnJvd3NlciBkZWZhdWx0cyxcbi8vIHNjYWxlcyBuaWNlbHkuIFlvdSBjYW4gcGFzcyBpdCBhbnkgc3R5bGUgdGhhdCBsaXN0LXN0eWxlLXR5cGUgd291bGQgbm9ybWFsbHlcbi8vIHRha2UuIERlZmF1bHRzIHRvIGRpc2MuIFVzZSB0aGlzIG9uIGEgdWwgZWxlbWVudCBwb3IgZmF2b3IuXG4vL1xuLy8gZXguIHVsKClcbi8vIGV4LiB1bDogJ3NxdWFyZSdcblxudWwoJHN0eWxlID0gJ2Rpc2MnKVxuICBtYXJnaW46IDVweCAxNXB4XG4gIG1hcmdpbjogMC4zMnJlbSAwLjk0cmVtXG4gIHBhZGRpbmctbGVmdDogMXJlbVxuXG4gIGxpXG4gICAgbGlzdC1zdHlsZS10eXBlOiB1bnF1b3RlKCRzdHlsZSlcbiAgICBwYWRkaW5nOiAycHggMFxuICAgIHBhZGRpbmc6IDAuMTI1cmVtXG5cbi8vIE1peGluOiBPbFxuLy9cbi8vIEEgbmljZSBkZWZhdWx0IGZvciBsaXN0IHN0eWxlcy4gTW9yZSBvciBsZXNzIHRoZSBzYW1lIGFzIGJyb3dzZXIgZGVmYXVsdHMsXG4vLyBzY2FsZXMgbmljZWx5LiBZb3UgY2FuIHBhc3MgaXQgYW55IHN0eWxlIHRoYXQgbGlzdC1zdHlsZS10eXBlIHdvdWxkIG5vcm1hbGx5XG4vLyB0YWtlLiBEZWZhdWx0cyB0byBkZWNpbWFsLiBVc2UgdGhpcyBvbiBhIG9sIGVsZW1lbnQgcG9yIGZhdm9yLlxuLy9cbi8vIGV4LiBvbCgpXG4vLyBleC4gb2w6ICd1cHBlci1yb21hbidcblxub2woJHN0eWxlID0gJ2RlY2ltYWwnKVxuICBtYXJnaW46IDVweCAxOHB4XG4gIG1hcmdpbjogMC4zMnJlbSAxLjEyNXJlbVxuICBwYWRkaW5nLWxlZnQ6IDFyZW1cblxuICBsaVxuICAgIGxpc3Qtc3R5bGUtdHlwZTogdW5xdW90ZSgkc3R5bGUpXG4gICAgcGFkZGluZzogMnB4IDBcbiAgICBwYWRkaW5nOiAwLjEyNXJlbVxuXG4vLyBNaXhpbjogSW5saW5lIExpc3Rcbi8vXG4vLyBGb3Igd2hlbiB5b3UgbmVlZCB5b3VyIGxpc3QgdG8gYmUgaG9yaXpvbnRhbC4gUGFzcyBpdCB0aGUgc3BhY2luZyB5b3Ugd2FudFxuLy8gYmV0d2VlbiBsaXN0IGVsZW1lbnRzLCB3aGF0ZXZlciB1bml0cyB5b3UnZCBsaWtlLiBEZWZhdWx0cyB0byAyMHB4LlxuLy9cbi8vIGV4LiBpbmxpbmUtbGlzdCgpXG4vLyBleC4gaW5saW5lLWxpc3Q6IDE1cHhcblxuaW5saW5lLWxpc3QoJHNwYWNpbmcgPSAyMHB4KVxuICBncm91cCgpXG4gIG1hcmdpbjogMFxuICBwYWRkaW5nOiAwXG5cbiAgbGlcbiAgICBmbG9hdDogbGVmdFxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmdcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmVcblxuICBsaTpsYXN0LWNoaWxkXG4gICAgbWFyZ2luLXJpZ2h0OiAwXG5cbi8vIE1peGluOiBSZXNldCBMaXN0XG4vL1xuLy8gSWYgeW91J3JlIHRpcmVkIG9mIGFsbCB0aGUgbGlzdCBzaGVuYW5pZ2FucyBhbmQgd2FudCB0byBnZXQgcmlkIG9mIHRoZW0gZm9yXG4vLyB0aGlzIHNwZWNpYWwgbGlzdCB5b3UncmUgd29ya2luZyBvbiwgdGhpcyBpcyB5b3VyIGd1eS4gUmVzZXRzIHRoZSBtYXJnaW5zLFxuLy8gcGFkZGluZywgYW5kIHN0eWxlLlxuLy9cbi8vIGV4LiByZXNldC1saXN0KClcblxucmVzZXQtbGlzdCgpXG4gIG1hcmdpbjogMFxuICBwYWRkaW5nOiAwXG5cbiAgbGlcbiAgICBmbG9hdDogbm9uZVxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZVxuICAgIHBhZGRpbmc6IDBcbiAgICBtYXJnaW46IDBcblxuLy8gTWl4aW46IEJsb2NrcXVvdGVcbi8vXG4vLyBOaWNlIHN0eWxlcyBmb3IgYSBibG9ja3F1b3RlLCBhbmQgZXZlbiBwdXRzIGEgbmljZSBoeXBoZW4gaW4gYmVmb3JlIHlvdXJcbi8vIGNpdGF0aW9uLiBVc2Ugd2l0aCBhIDxwPiBhbmQgPGNpdGU+LCA8Zm9vdGVyPiwgb3IgPGZpZ2NhcHRpb24+IGluc2lkZSBmb3Jcbi8vIGJlc3QgcmVzdWx0cy4gUGFzcyBhIGNvbG9yIG9yICdub25lJyB0byBzZXQgdGhlIGxlZnQgYm9yZGVyLlxuLy9cbi8vIGV4LiBibG9ja3F1b3RlKClcblxuYmxvY2txdW90ZSgkY29sb3IgPSAkYmx1ZSlcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkY29sb3JcbiAgbWFyZ2luOiAxZW0gMFxuICBwYWRkaW5nLWxlZnQ6IDEuNWVtXG4gIGdyb3VwKClcblxuICA+IHBcbiAgICBmb250LXdlaWdodDogMzAwXG4gICAgZm9udC1zaXplOiAxMjclXG4gICAgZm9udC1zaXplOiAxLjI3cmVtXG4gICAgbGluZS1oZWlnaHQ6IDEyNyVcbiAgICBsaW5lLWhlaWdodDogMS4yN3JlbVxuICAgIG1hcmdpbi10b3A6IDBcblxuICA+IGNpdGUsID4gZm9vdGVyLCA+IGZpZ2NhcHRpb25cbiAgICBjb2xvcjogIzg4ODg4OFxuICAgICY6YmVmb3JlXG4gICAgICBjb250ZW50OiAnXFwyMDE0J1xuXG4vLyBBbGlhczogYmxvY2txdW9cbmJsb2NrcXVvID0gYmxvY2txdW90ZVxuXG4vLyBIeXBoZW5hdGlvblxuLy9cbi8vIEh5cGhlbmF0aW9uIGlzIHRoZSBiZXR0ZXIgd29yZC1icmVhay4gSXTigJlzIGxvY2FsZSBhd2FyZSwgYW5kIGluc2VydHMgdGhlXG4vLyBoeXBoZW4gY2hhcmFjdGVyIGF0IHRoZSBjb3JyZWN0IHBsYWNlLCB3aGVuIGJyZWFraW5nIHRoZSB3b3Jkcy4gVGhpcyBpc1xuLy8gZXNwZWNpYWxseSBpbXBvcnRhbnQgaW4gcmVzcG9uc2l2ZSBkZXNpZ25zLiBJdCB3aWxsIHNhdmUgeW91IGZyb20gYSBsb3Qgb2Zcbi8vIHJhZ2dlZCBsaW5lcy4gQW5kLCBubyBuZWVkIGFueW1vcmUgZm9yIGNsdW5reSAmIHNsb3cgSmF2YXNjcmlwdCBoeXBoZW5hdGlvblxuLy8gZmFsbGJhY2tzLiBUYWtlbiBmcm9tIGh0dHA6Ly93d3cubmV3bmV0LXNvZnQuY29tL2Jsb2cvY3NzdHlwb2dyYXBoeVxuLy9cbi8vIGV4LiBoeXBoZW5hdGlvbigpXG5cbmh5cGhlbmF0aW9uKClcbiAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsXG4gICAgd29yZC1icmVhazogICAgIGJyZWFrLWFsbFxuICAgIHdvcmQtYnJlYWs6ICAgICBicmVhay13b3JkIC8vIHdlYmtpdFxuICAgIGh5cGhlbnM6IGF1dG8gLy8gbm9uZSwgYXV0bywgPG51bWJlcj5cbiAgICAtd2Via2l0LWh5cGhlbmF0ZS1iZWZvcmU6IDJcbiAgICAtd2Via2l0LWh5cGhlbmF0ZS1hZnRlcjogIDNcbiAgICBoeXBoZW5hdGUtbGluZXM6ICAgICAgICAgIDNcblxuLy8gTWl4aW46IFNoYWRvdyBTdHJva2Vcbi8vXG4vLyBDcmVhdGVzIGEgdGV4dCBvdXRsaW5lIHVzaW5nIHRleHQtc2hhZG93LiBQb3J0ZWQgZnJvbSBuaWIuXG4vLyBUYWtlcyBhIGNvbG9yLlxuLy9cbi8vIGV4OiBzaGFkb3ctc3Ryb2tlKClcbi8vIGV4OiBzYWhkb3ctc3Ryb2tlKHJlZClcblxuc2hhZG93LXN0cm9rZSgkY29sb3IgPSAkYmx1ZSlcbiAgdGV4dC1zaGFkb3c6IC0xcHggLTFweCAwICRjb2xvciwgMXB4IC0xcHggMCAkY29sb3IsIC0xcHggMXB4IDAgJGNvbG9yLCAxcHggMXB4IDAgJGNvbG9yXG5cbi8vIEFkZGl0aXZlIE1peGluOiBCYXNlXG4vL1xuLy8gV0FSTklORzogQ3JlYXRlcyBjbGFzc2VzIGluIHlvdXIgY3NzIGFuZCBzdHlsZXMgdGhlbSAtIG5vdCB0byBiZSB1c2VkIGluc2lkZVxuLy8gYW4gZWxlbWVudC5cbi8vXG4vLyBUaGlzIGlzIGFuIGVzc2VudGlhbCBtaXhpbi4gWW91IHdhbnQgdGhpcyBvbiB5b3VyIHBhZ2UuIFNldHMgeW91ciBmb250IHN0YWNrLFxuLy8gc2l6ZSwgYW5kIGNvbG9ycyBiYXNlZCBvbiB0aGUgc2V0dGluZ3MgZmlsZSBhbmQgbWFrZXMgc3VyZSB0aGF0IHlvdXIgdGV4dCBpc1xuLy8gYSBncmVhdCBsb29raW5nIGFzIHBvc3NpYmxlLiBZb3UgY2FuIG92ZXJyaWRlIGFueSBvZiB0aGUgcGFyYW1zLCBidXQgdGhlcmUgaXNcbi8vIHJlYWxseSBubyByZWFzb24gdG8uXG4vL1xuLy8gZXguIGJhc2UoKVxuXG5iYXNlKCRmb250cyA9ICRmb250LXN0YWNrLCAkc2l6ZSA9ICRmb250LXNpemUsICRjb2xvciA9ICRmb250LWNvbG9yKVxuICBodG1sXG4gICAgZm9udC1zaXplOiB1bml0KCRzaXplLCAncHgnKVxuICAgIGZvbnQtc2l6ZTogdW5pdCgoJHNpemUvMTYpKjEwMCwgXCIlXCIpXG5cbiAgYm9keVxuICAgIGZvbnQtZmFtaWx5OiAkZm9udHNcbiAgICBjb2xvcjogJGNvbG9yXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWRcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCVcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJVxuICAgIGZvbnQtc2l6ZS1hZGp1c3Q6IGF1dG9cblxuLy8gQWRkaXRpdmUgTWl4aW46IEhlYWRlcnNcbi8vXG4vLyBXQVJOSU5HOiBDcmVhdGVzIGNsYXNzZXMgaW4geW91ciBjc3MgYW5kIHN0eWxlcyB0aGVtIC0gbm90IHRvIGJlIHVzZWQgaW5zaWRlXG4vLyBhbiBlbGVtZW50LlxuLy9cbi8vIEFkZHMgcm9vdHMnIHdvbmRlcmZ1bCBzY2FsaW5nIGhlYWRlciBzdHlsZXMgdG8geW91ciA8aHg+IHRhZ3MuXG4vL1xuLy8gZXguIGhlYWRlcnMoKVxuXG5oZWFkZXJzKClcbiAgaDFcbiAgICBoMSgpXG5cbiAgaDJcbiAgICBoMigpXG5cbiAgaDNcbiAgICBoMygpXG5cbiAgaDRcbiAgICBoNCgpXG5cbiAgaDVcbiAgICBoNSgpXG5cbiAgaDZcbiAgICBoNigpXG5cbi8vIEFkZGl0aXZlIE1peGluOiBMaXN0c1xuLy9cbi8vIFdBUk5JTkc6IENyZWF0ZXMgY2xhc3NlcyBpbiB5b3VyIGNzcyBhbmQgc3R5bGVzIHRoZW0gLSBub3QgdG8gYmUgdXNlZCBpbnNpZGVcbi8vIGFuIGVsZW1lbnQuXG4vL1xuLy8gQWRkcyByb290cycgc3R5bGVzIHRvIHVsIGFuZCBvbHMuXG4vL1xuLy8gZXguIGxpc3RzKClcblxubGlzdHMoKVxuICB1bFxuICAgIHVsKClcbiAgb2xcbiAgICBvbCgpXG5cbi8vIEFkZGl0aXZlIE1peGluOiBCb2xkLUl0YWxpY1xuLy9cbi8vIFdBUk5JTkc6IENyZWF0ZXMgY2xhc3NlcyBpbiB5b3VyIGNzcyBhbmQgc3R5bGVzIHRoZW0gLSBub3QgdG8gYmUgdXNlZCBpbnNpZGVcbi8vIGFuIGVsZW1lbnQuXG4vL1xuLy8gQWRkcyBib2xkIGFuZCBpdGFsaWMgc3R5bGVzIHRvIHRoZSByaWdodCB0YWdzIGlmIHlvdSBkaWQgYSBnbG9iYWwgcmVzZXQuXG4vL1xuLy8gZXguIGJvbGQtaXRhbGljKClcblxuYm9sZC1pdGFsaWMoKVxuICBiXG4gICAgYm9sZCgpXG4gIGlcbiAgICBpdGFsaWMoKVxuICBzdHJvbmdcbiAgICBib2xkKClcbiAgZW1cbiAgICBpdGFsaWMoKVxuXG4vLyBBZGRpdGl2ZSBNaXhpbjogVHlwb2dyYXBoeVxuLy9cbi8vIFdBUk5JTkc6IENyZWF0ZXMgY2xhc3NlcyBpbiB5b3VyIGNzcyBhbmQgc3R5bGVzIHRoZW0gLSBub3QgdG8gYmUgdXNlZCBpbnNpZGVcbi8vIGFuIGVsZW1lbnQuXG4vL1xuLy8gQWRkcyByb290cycgc3R5bGVzIHRvIGJvbGQgYW5kIGl0YWxpYyBlbGVtZW50cywgaGVhZGVycywgcGFyYWdyYXBncywgc21hbGxcbi8vIHRleHQsIGxpbmtzLCBsaXN0cywgYW5kIGJsb2NrcXVvdGVzLiBHb3QgYWxsIHlvdXIgYmFzaWMgZWxlbWVudHMgY292ZXJlZC5cbi8vXG4vLyBleC4gdHlwb2dyYXBoeSgpXG5cbnR5cG9ncmFwaHkoKVxuICBib2xkLWl0YWxpYygpXG4gIGhlYWRlcnMoKVxuICBsaXN0cygpXG4gIHRleHQtc2VsZWN0aW9uKClcblxuICBwXG4gICAgcGFyYWdyYXBoKClcblxuICBzbWFsbFxuICAgIHNtYWxsKClcblxuICBhW2hyZWZdOm5vdChbY2xhc3NdKVxuICAgIGxpbmsoKVxuXG4gIGJsb2NrcXVvdGVcbiAgICBibG9ja3F1bygpXG5cbiAgLmh5cGhlbmF0aW9uXG4gICAgaHlwaGVuYXRpb24oKVxuIiwiLmxvZ2luX3BhZ2VcclxuXHQjaGVhZGVyXHJcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZSB1cmwoJy4uL2ltYWdlcy9oZWFkZXItZ3JhZGllbnQtYmNrZ3JuZC5qcGcnKSBuby1yZXBlYXQgdG9wIGNlbnRlciBcXC8gY292ZXJcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlXHJcblx0XHRoZWlnaHQ6IDMwOHB4XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmVcclxuXHRcdC5yb3dcclxuXHRcdFx0aGVpZ2h0OiAzMDhweFxyXG5cdFx0I3NtYXJ0ZmVlc19sb2dvXHJcblx0XHRcdGFic29sdXRlOiBib3R0b20gODBweCBsZWZ0IDBcclxuXHRcdCNjbG9zaW5nX2NvcnBfbG9nb1xyXG5cdFx0XHRhYnNvbHV0ZTogdG9wIDUwcHggcmlnaHQgMTBweFxyXG5cdC5yb3dcclxuXHRcdG1heC13aWR0aDogOTYwcHhcclxuXHRcdG1hcmdpbjogMCBhdXRvXHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmVcclxuXHRcdGNmKClcclxuXHRoMlxyXG5cdFx0Zm9udC1zaXplOiAxOHB4XHJcblx0XHRmb250LXdlaWdodDogbGlnaHRlclxyXG5cdGgxXHJcblx0XHRmb250LXNpemU6IDI0cHhcclxuXHRcdGZvbnQtd2VpZ2h0OiBsaWdodGVyXHJcblx0cFxyXG5cdFx0Y29sb3I6ICRncmV5XHJcblx0XHRmb250LXNpemU6IDE0cHhcclxuXHRcdCYuY2FsbG91dFxyXG5cdFx0XHRmb250LXNpemU6IDE4cHhcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDMwcHhcclxuXHRcdGFcclxuXHRcdFx0Y29sb3I6ICRibHVlXHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZVxyXG5cdC5jb250ZW50XHJcblx0XHRwYWRkaW5nOiAwIDMwcHhcclxuXHQuc29sdXRpb25zXHJcblx0XHR3aWR0aDogNTYlXHJcblx0XHRmbG9hdDogbGVmdFxyXG5cdC5sb2dpbl9mb3JtXHJcblx0XHR3aWR0aDogNDAlXHJcblx0XHRmbG9hdDogcmlnaHRcclxuXHRcdGZvcm1cclxuXHRcdFx0Y2YoKVxyXG5cdFx0aW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxyXG5cdFx0XHR3aWR0aDogMTAwJVxyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleVxyXG5cdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRibHVlXHJcblx0XHRcdHBhZGRpbmc6IDlweCAxMHB4IDlweCAzMHB4XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3hcclxuXHRcdFx0bWFyZ2luOiA1cHggMFxyXG5cdFx0XHQmW25hbWU9XCJ1c2VybmFtZVwiXVxyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ljb25fcGVyc29uLnBuZycpIG5vLXJlcGVhdCA4cHggOXB4XHJcblx0XHRcdCZbbmFtZT1cInBhc3N3b3JkXCJdXHJcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaWNvbl9sb2NrLnBuZycpIG5vLXJlcGVhdCA4cHggOXB4XHJcblx0XHRsYWJlbC5yZW1lbWJlclxyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4XHJcblx0XHRcdGZsb2F0OiBsZWZ0XHJcblx0XHRcdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVxyXG5cdFx0XHRcdHdpZHRoOiAxOHB4XHJcblx0XHRcdFx0aGVpZ2h0OiAxOHB4XHJcblx0XHRcdFx0cmVsYXRpdmU6IGJvdHRvbSAtMnB4XHJcblx0XHRidXR0b25cclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlXHJcblx0XHRcdGNvbG9yOiB3aGl0ZVxyXG5cdFx0XHRwYWRkaW5nOiA4cHggMTJweFxyXG5cdFx0XHRmbG9hdDogcmlnaHRcclxuXHRcdFx0Ym9yZGVyOiBub25lXHJcblx0XHRcdG1hcmdpbjogMTBweCAwIDAgMFxyXG5cdGhyXHJcblx0XHRib3JkZXI6IG5vbmVcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRlcl9ncmV5XHJcblx0XHRjbGVhcjogYm90aFxyXG5cdFx0bWFyZ2luOiAzMHB4IDAgMzBweCAtMTAlXHJcblx0XHR3aWR0aDogMTIwJVxyXG5cclxuXHQjZm9vdGVyXHJcblx0XHRtYXgtd2lkdGg6IDk2MHB4XHJcblx0XHRtYXJnaW46IDcwcHggYXV0byAwIGF1dG9cclxuXHRcdHVsLmZvb3Rlcl9tZW51XHJcblx0XHRcdHJlc2V0LWxpc3QoKVxyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXJcclxuXHRcdFx0bGlcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2tcclxuXHRcdFx0XHRhXHJcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleVxyXG5cdFx0XHRcdFx0Y29sb3I6ICRibHVlXHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmVcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweFxyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogOXB4XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEycHhcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9ja1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEycHhcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNHB4XHJcblx0XHRcdFx0JjpsYXN0LWNoaWxkIGFcclxuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMFxyXG5cdFx0cC5jb3B5cmlnaHRcclxuXHRcdFx0Zm9udC1zaXplOiAxMnB4XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlclxyXG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4IiwiQGltcG9ydCAnbmliJ1xyXG5AaW1wb3J0ICdqZWV0J1xyXG5AaW1wb3J0ICdydXB0dXJlJ1xyXG5cclxuQGltcG9ydCBcInZhcnMuc3R5bFwiXHJcbkBpbXBvcnQgXCJpbXBvcnRzLypcIlxyXG5AaW1wb3J0IFwiaW1wb3J0cy9wYWdlcy8qXCJcclxuXHJcbkBmb250LWZhY2VcclxuXHRmb250LWZhbWlseSBNb250c2VycmF0XHJcblx0Zm9udC1zdHlsZSBsaWdodFxyXG5cdHNyYyB1cmwoJ2ZvbnRzL01vbnRzZXJyYXQtTGlnaHQub3RmJylcclxuXHJcbipcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94XHJcblxyXG5ib2R5XHJcblx0bWFyZ2luOiAwXHJcblx0cGFkZGluZzogMFxyXG5cdGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCBBcmlhbFxyXG5cdFxyXG5hXHJcblx0Ym9yZGVyOiBub25lXHJcblxyXG5pbWdcclxuXHRib3JkZXI6IG5vbmUiXX0= */
/*

************** This file resets all styles to enable easier cross-browser compatibility  *****************


                  
			   
			   
			   
------------------------------			   DO NOT ALTER THIS FILE WHATSOEVER







												I'M SERIOUS






Style Reset (as suggested by Web standards genius Eric Meyer http://meyerweb.com/eric/tools/css/reset/) 

This file must be used on all pages and be applied FIRST, before all other CSS files.


	
*/	
	
/* STYLE RESET ---------------------------->>>>>>>>>>   DO NOT ALTER THIS SECTION ********* */


html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { 
	/* DO NOT ALTER */
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
	background: transparent;
}

/* remember to define focus styles! */
:focus {	
/* DO NOT ALTER */
	outline: 0;
}

body {
/* DO NOT ALTER */
	line-height: 1;
	color: black;
}

ol, ul {
/* DO NOT ALTER */
	list-style: none;
}

table {	/* tables still need 'cellspacing="0"' in the markup */
/* DO NOT ALTER */
	border-collapse: separate;
	border-spacing: 0;
}

caption, th, td {
/* DO NOT ALTER */
	text-align: left;
	font-weight: normal;
}

blockquote, q {
/* DO NOT ALTER */
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
/* DO NOT ALTER */
	content: '';
	content: none;
}

/* remember to highlight inserts somehow! */
ins {
/* DO NOT ALTER */
	text-decoration: none;
}

del {
/* DO NOT ALTER */
	text-decoration: line-through;
}


/*

**********************************************************************************************************************************************************

	TABLE OF CONTENTS ---------------------------------------------------------------------------------------------------------------------

	Global Styles
		Visibiity
		Forms
			Numbers
			Dates
			Radio/Checkbox
			Buttons/Links
		Tables
		Modals
		Tooltips
		Alerts
		Twistee
		Accordion
		Listings
			Details
	Page Structure
		Site Header
			Logo
			Nav
		Content
			Subnav
			Article
				Content Blocks
			Aside
			Misc. Containers
			Typography
			Lists
			Pagination
			Tabs
		Footer
			Nav
	

***********************************************************************************************************************************************************/



/* GLOBAL ---------------------------------------------- */

html, body
{
    height:100%;
}		
body {
	/*background: #0088c4;*/
	font-family: Arial, Helvetica, sans-serif;
}


/* --------- GLOBAL: HTML5 */

header, section, footer, aside, nav, article, figure {
	display: block !important;
}


/* --------- GLOBAL: Visibiity */

.show {
	visibility: visible !important;
}

.hide {
	visibility: hidden !important;
}

.expand {
	display: block !important;
}

.collapse {
	display: none !important;
}


/* --------- GLOBAL: Forms */

legend {
}

legend span {
}

label {
	width: 19.59375em;
	display: inline-block;
	font-size: .8125em;
	vertical-align: top;
	padding-top: .5625em;
	line-height: 1.2em;
}

input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="date"], input[type="tel"], input[type="url"], select, textarea {
	width: 29em;
	border: solid 1px #ddd;
	-moz-border-radius: 3px;
	border-radius: 3px;
	padding: .5em;
}

select {
	width: 30.25em;
}

textarea {
	width: 29.5em;
	max-width: 29.5em;
	height: 5em;
	font: .675em Verdana, Arial, Helvetica, sans-serif;
}

.form_standard li {
	padding-bottom: .8125em;
	clear: both;
	position: relative;
}

.form_standard li.set_alignment {
	padding-left: 15.9199219em;
}

.form_standard_condensed li {
	width: 49%;
	display: inline-block;
	vertical-align: top;
}

.form_standard_condensed label {
	width: 7em;
}

.form_standard_condensed input[type="text"], .form_standard_condensed input[type="password"], .form_standard_condensed input[type="email"], .form_standard_condensed input[type="number"], .form_standard_condensed input[type="date"], .form_standard_condensed input[type="tel"], .form_standard_condensed input[type="url"], .form_standard_condensed select, .form_standard_condensed textarea {
	width: 18em;
    *width: 19.1em;
}

.form_standard_condensed_3col li {
	width: 32%;
	display: inline-block;
	vertical-align: top;
	white-space: nowrap;
}

.form_standard_condensed_3col label {
	width: 35%;
}

.form_standard_condensed_3col input[type="text"], .form_standard_condensed_3col input[type="password"], .form_standard_condensed_3col input[type="email"], .form_standard_condensed_3col input[type="number"], .form_standard_condensed_3col input[type="date"], .form_standard_condensed_3col input[type="tel"], .form_standard_condensed_3col input[type="url"], .form_standard_condensed_3col textarea {
	width: 55%;
}

.form_standard_condensed_3col select {
	width: 60%;
}

.form_standard_condensed_3col .control_label {
	width: 35%;
}

input[type="checkbox"]+label {
	padding-top: 0;
	line-height: 1.5em;
}

span.required {
	color: #c00;
}

.set_notrequired .required {
	display: none;
}

input[readonly="readonly"], input[disabled="disabled"] {
	color: #666;
}

.set_readonly {
	font-weight: bold;
}

.set_readonly input[readonly="readonly"] {
	border: none;
	font-weight: bold !important;
}

#content article section h1 select {
	width: auto !important;
	padding: 0 !important;
	float: right;
	margin-bottom: -.6em !important;
}

.set_section {
	padding-bottom: 2em;
}

.dataTables_filter input[type="text"] {
	width: auto;
	margin-top: -.5em;
}

.set_subset ul, .set_subset_container {
	display: inline-block;
}

.set_subset_container input[type="text"], .set_subset_container input[type="password"], .set_subset_container input[type="email"], .set_subset_container input[type="number"], .set_subset_container input[type="date"], .set_subset_container input[type="tel"], .set_subset_container input[type="url"] {
	width: 10em !important;
}

.set_subset_container input.field_autocomplete  {
	width: 20em !important;
}

.set_auto {
	margin-top: 1.5em;
}

.set_auto label, .set_auto input, .set_auto select {
	width: auto;
}

label.set_appraisal   {
	width:28em;
}

.set_appraisal li {
	padding-bottom: .8125em;
}

label.set_appraisal_txt {
    width: 28em;
}

.set_appraisal_txt li {
    padding-bottom: .8125em;
}

label.set_taxauthority {
	width: 28em;
	color: red;
	font-size: x-small
}

.set_taxauthority li {
	padding-bottom: .8125em;
}

label.set_taxauthority_txt {
	width: 28em;
}

.set_taxauthority_txt li {
	padding-bottom: .8125em;
}

/* --------- GLOBAL: Forms || Numbers/Date */

input.field_number_micro, .set_number_micro input {
	width: 3.75em !important;
}

select.field_number_micro, .set_number_micro select {
	width: 4.25em !important;
}

input.field_number_short, .set_number_short input {
	width: 5em !important;
}

select.field_number_short, .set_number_short select {
	width: 6.25em !important;
}

input.field_number_med, .set_number_med input {
	width: 10em !important;
}

select.field_number_med, .set_number_med select {
	width: 11.25em;
}

input.field_number_long, .set_number_long input {
	width: 15em !important;
}

input.field_text_long 
{
    width: 20em !important;
} 

select.field_number_long, .set_number_long select {
	width: 15em;
    *width:16.2em;
}

input.field_date, .set_date input {
	width: 14em !important;
}

select.field_date, .set_date select {
	width: 14.875em !important;
}

.field_percentage, .set_percentage input, .set_percentage select {
}

.set_calendar {
}

.set_calendar input {
	width: 10em !important;
}

.set_calendar label {
}

.set_calendar img {
	display: inline-block;
	vertical-align: top;
	cursor: pointer;
}


/* --------- GLOBAL: Forms || Radio/Checkbox */

.field_radio, .set_radio input[type="radio"], .field_checkbox, .set_checkbox input[type="checkbox"] {
	width: auto;
}

.set_radio, .set_checkbox {
	display: inline-block;
}

.set_radio h2, .set_checkbox h2 {
	display: inline-block;
	width: 19.59375em;
	font-size: .8125em !important;
	font-weight: normal !important;
}

.set_radio label, .set_checkbox label {
	width: auto;
	padding-right: 2.5em;
	padding-top: 0;
	line-height: 1.5em;
}


/* --------- GLOBAL: Forms || Buttons/Links */

.btn {
	display: inline-block;
	background: #0389c3;
	padding: .5em 1.5em;
	margin-left: 1em;
	font-size: .75em;
	color: #fff !important;
	text-decoration: none;
	text-align: center;
	text-transform: uppercase;
	line-height: 1;
	border: 1px solid rgba(0,0,0,0.15);
	-moz-border-radius: 5px;
	border-radius: 3px;
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
	box-shadow: 0 1px 3px rgba(0,0,0,0.5);
	text-shadow: 0 -1px 1px rgba(0,0,0,0.45);
	cursor: pointer;
	white-space: nowrap;
}

.btn:hover {
	background-position: left -29px;
}

a.btn {
	background: #0389c3;
	line-height: 24px !important;
    *line-height: 12px !important;
	text-decoration: none !important;
	padding: 0 2em;
    *padding: .3em 1.4em !important;
}

a.btn:hover {
	background-position: left -31px;
}

input.btn {
}

aside .btn {
	margin-left: 0;
	display: block;
}

.btn.btn_alt {
	background-color: #d7dfe3;
	color: #069 !important;
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.25);
	box-shadow: 0 1px 3px rgba(0,0,0,0.25);
	text-shadow: 0 -1px 1px rgba(215,215,215,0.45);
}

.btn.btn_basic {
	text-shadow: 0 -1px 1px rgba(215,215,215,0.45);
	background-color: #d7dfe3;
	background-position: .25em;
	color: #069 !important;
	-moz-border-radius: 2em;
	border-radius: 2em;
	font-size: .75em;
	text-transform: capitalize;
	-moz-box-shadow: 0 1px 3px rgba(215,215,215,0.5);
	box-shadow: 0 1px 3px rgba(215,215,215,0.5);
}

.btn.btn_basic:hover {
	background-position: left -2em;
}

a.btn.btn_basic {
	line-height: normal !important;
	padding: .25em 1em;
}

#content article h1 .btn.btn_basic {
	font: .5em Arial, Helvetica, sans-serif;
}

.btn.btn_basic span {
	-moz-border-radius: 3em;
	border-radius: 3em;
	background: #069;
	color: #fff;
	font: 1em Verdana, Arial, Helvetica, sans-serif;
	padding: 0 .25em;
}

.btn.btn_shop {
	text-shadow: 0 -1px 1px rgba(215,215,215,0.45);
	background: #00578d url(../images/common/i_cart.png) no-repeat 5px center;
	-moz-border-radius: 2em;
	border-radius: 2em;
	font-size: .75em;
	-moz-box-shadow: 0 1px 3px rgba(215,215,215,0.5);
	box-shadow: 0 1px 3px rgba(215,215,215,0.5);
	padding-left: 28px;
}

.btn.btn_add {
	padding-right: 1em;
	padding-left: 1em !important;
	line-height: 145%;
	background-color: #0088c4;
	color: #fff !important;
	font-size: .65em;
}

.btn.btn_add:hover {
	background-position: left top;
	background-image: none;
}

a.btn.btn_add, a.btn.btn_add:hover {
	background-position: left -.125em;
}

a.btn_lg {
	line-height: normal !important;
	padding: .5em 2em;
	white-space: normal;
}

div.set_buttons, fieldset.set_buttons {
	bottom: 1.5em;
	position: absolute;
	right: 1em;
}

p.set_buttons {
	text-align: right;
	font-size: 1em !important;
}

.form_standard li.set_buttons {
	float: right;
	padding: 1em 5em 1em 0;
}

.form_standard li.set_buttons p {
	text-align: right;
	font-size: .8125em;
	padding-bottom: .75em;
	white-space: nowrap;
}

#content article form section fieldset.set_buttons {
	bottom: -2.75em;
	position: absolute;
}

.link_newpage {
	padding-right: .8125em;
	line-height: 1em;
	background: url(../images/common/arr_blue_rt.png) no-repeat right .25em;
}

p.link_oldpage a, a.link_oldpage {
	padding-left: .8125em;
	line-height: 1em;
	background: url(../images/common/arr_blue_lt.png) no-repeat left .25em;
}

p.link_oldpage {
	font-size: .8125em !important;
	margin-bottom: 1em;
}

a.link_popup, p.link_popup a {
	padding-left: 15px;
	line-height: 1em;
	background: url(../images/common/i_newwin.png) no-repeat left .0125em;
}

.link_search a {
	font-size: .75em;
	padding-left: 1.5em;
	line-height: 1em;
	background: url(../images/common/i_magnify.png) no-repeat left center;
}

.link_edit {
	display: inline-block;
}

.link_edit a {
	padding-top: .25em;
	padding-left: 1.75em;
	background: url(../images/common/i_edit.png) no-repeat;
	display: block;
	line-height: 1.5em;
}


/* --------- GLOBAL: Forms || Credit Card */

.set_creditcard .container_fyi .seal_authorize {
	width: 90px;
	height: 72px;
	float: left;
	padding: 0 1em 0 0 !important;
}


/* --------- GLOBAL: Tables */

table {
	border: none;
	padding: 0;
}

table.table_grid {
	width: 100%;
	border: solid #d6d6d4;
	border-width: 1px 0 0 1px;
	margin-bottom: 1em;
}

table.table_grid thead th {
	font-weight: bold;
	font-size: .6875em;
	padding: .75em;
	background: #bababa url(../images/common/bg_gradiant_overlay.png) repeat-x;
	border-right: solid 1px #d6d6d4;
	border-bottom: solid 1px #ededed;
	color: #333;
	text-transform: uppercase;
}

table.dataTable thead th {
	cursor: pointer;
}

table.table_grid tbody td {
	font-size: .6875em;
	border-right: solid 1px #d6d6d4;
	border-bottom: solid 1px #ededed;
	padding: .75em;
	color: #333;
}

table.table_grid tbody td .btn_basic {
	font-size: 1em;
	margin-left: 0;
}

table.table_grid .cell_action {
	border-right: none;
	text-align: center;
	padding-right: 0;
}

table.table_grid .cell_warning {
	background: url(../images/common/i_warning_red.png) no-repeat 1em center;
	width: 20px;
}

table.table_grid .cell_checked {
	background: url(../images/common/i_check_blue.png) no-repeat center center;
}

table.table_grid .cell_status {
	text-align: center;
}

table.table_grid_hybrid {
	border: solid #bababa;
	border-width: 1px 1px 0 1px;
}

table.table_grid_hybrid thead th {
	background: #bababa;
	border-bottom: solid 1px #bababa;
	border-right: none;
	color: #fff;
	text-transform: none;
}

table.table_grid_hybrid tbody td {
	border-bottom: solid 1px #bababa;
	border-right: none;
}

table.dataTable tr.odd {
	background: #fff;
}

table.dataTable tr.odd td.sorting_1 {
	background: #f5f2eb;
}
	
table.dataTable tr.even td.sorting_1 {
	background: #f5f2eb;
}

.dataTables_wrapper {
	overflow: hidden;
}

.dataTables_info {
	font-size: .75em;
	padding: .5em 0;
}
	
.dataTables_paginate {
	font-size: .75em;
}
	
.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
	padding-top: .35em;
}

table.table_gridless {
	width: 100%;
	margin-bottom: 1em;
}

table.table_gridless caption {
	font: bold oblique .825em Arial, Helvetica, sans-serif;
	border-bottom: solid 2px #ddd;
	padding: .25em 0;
}

table.table_gridless tbody th {
	font-weight: bold;
	font-size: .75em;
	padding: .75em .9375em .25em 0;
	vertical-align: top;
}

table.table_gridless tbody td {
	font-size: .75em;
	padding: .75em 2.5em .25em 0;
	vertical-align: top;
}

table.table_standard {
	width: 100%;
	border: solid 1px #d6d6d4;
	margin-bottom: 1em;
}

table.table_standard caption {
	font: bold .75em Arial, Helvetica, sans-serif;
	border: solid 1px #ddd;
	background: #68767E url(../images/common/bg_gradiant_overlay.png) repeat-x left -10px;
	padding: .625em .9375em;
	color: #fff;
}

table.table_standard thead th {
	font-size: .75em;
	padding: .5em .9375em;
	font-weight: bold;
	background: #bababa url(../images/common/bg_gradiant_overlay.png) repeat-x;
	border-bottom: solid 1px #ededed;
}

table.table_standard tfoot th {
	font-size: .75em;
	padding: .5em .9375em;
	font-weight: bold;
	background: #efefef;
}

table.table_standard tbody td {
	font-size: .8125em;
	padding: .9375em;
}

table.table_standard tbody td a {
	font-size: .9em;
}

table.table_blank {
	width: 100%;
}

table.table_blank th, table.table_blank td {
	font-size: .825em;
	padding: .25em .25em .25em 0;
}

table.table_blank th {
	font-weight: bold;
}

table.table_blank th .note {
	font-weight: normal !important;
}

table.table_alert {
	border-color: #c00 !important;
	margin-bottom: 1em;
}

table.table_alert th {
	border-color: #c00 !important;
	background: #c00 !important;
}

table.table_alert td {
	border-color: #c00 !important;
}

table .data_price {
	text-align: right;
}

table .data_service {
	width: 15em;
}

table .data_number {
	width: 5.5em;
}

table .data_number_med, table .data_actions_add {
	width: 9.375em;
}

table .data_number_long {
	width: 12.5em;
}

table.dataTable thead th {
	cursor: pointer;
}
table.dataTable tr.odd {
	background: #fff;
}

table.dataTable tr.odd td.sorting_1 {
	background: #f5f2eb;
}
	
table.dataTable tr.even td.sorting_1 {
	background: #f5f2eb;
}

.dataTables_wrapper {
	overflow: hidden;
}

.dataTables_info {
	font-size: .75em;
	padding: .5em 0;
}
	
.dataTables_paginate {
	font-size: .75em;
}
	
.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
	padding-top: .35em;
}


/* --------- GLOBAL: Modals */

.modal {
	width: 600px !important;
	-moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.5);
	-webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.5);
	box-shadow: 1px 1px 5px rgba(0,0,0,0.5);
}

.modal_close {
	float: right;
	background: url(../images/common/bg_gradiant_blk.png) repeat-x;
	display: block;
	padding: 0.1em 0.35em;
	border: solid 1px #ccc;
	margin: -.25em 0;
	color: #fff !important;
	text-shadow: 0 -1px 1px rgba(227,121,18,0.90);
	cursor: pointer;
}

a.modal_close:hover {
	text-decoration: none;
	background-color: #069;
}

.modal_content {
	min-height:200px;
	max-height: 420px;
	overflow: auto;
	padding: 1em;
	background: #fff;
}

#modal_overlay {
	background: #000;
}

.modal_wide {
	width: 800px !important;
}

.modal_appraisal {
	width: 700px !important;
}

section.modal h1 {
	font: bold .875em Arial, Helvetica, sans-serif !important;
	border-bottom: solid 1px #ddd !important;
	background: #68767e !important;
	padding: .625em .9375em !important;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.95) !important;
	overflow: hidden !important;
	color: #fff !important;
}

section.modal h2 {
	font-weight: bold;
	font-size: .75em;
	padding-bottom: 1em;
}

section.modal h4 {
	font-size: .8125em;
	font-weight: bold;
	color: #963;
	padding-bottom: .65em;
}

section.modal h5 {
	font-weight: bold;
	font-size: .75em;
	padding-bottom: 1em;
	font-style: oblique;
}

section.modal p {
	font-size: .75em;
	padding-bottom: 1em;
	line-height: 1.2em;
}

section.modal em {
	font-style: oblique;
}

section.modal strong {
	font-weight: bold;
}




/* --------- GLOBAL: Tooltips / Tips */

.set_tooltip {
	display: inline-block;
	vertical-align: top;
}

a.link_tip {
	background: url(../images/Common/i_info.png) no-repeat;
	padding: 8px;
	font-size: 1px;
	text-indent: -9999em;
	text-decoration: none !important;
	display: inline-block;
	vertical-align: top;
	margin-top: 4px;
}

a.link_tip:hover {
	background-position: left -17px;
}

a.link_tip_endorse {
	background: url(../images/Common/i_seal.png) no-repeat;
	padding: 11px;
}

a.link_tip_endorse:hover {
	background-position: left top;
}

.tooltip {
	position: absolute;
	z-index: 1000 !important;
	display: none;
	border: solid 1px #069;
	padding: .25em;
	background: #fff;
	max-width: 300px;
	min-width: 150px;
}

#content .tooltip h2 {
	padding-bottom: .25em;
}

#content .tooltip p {
	padding-bottom: 0;
}


/* --------- GLOBAL: Alerts */
 
.container_fyi {
	padding: 1em;
	background: #dff3f8;
	margin: 1em 0;
	overflow: hidden;
}

.container_fyi li {
	list-style: disc;
	font-size: .75em;
	margin-left: 2em;
	line-height: 1.2em;
}

.container_fyi p {
	line-height: 1.2em;
	font-size: .8125em;
}

section .container_fyi {
	margin: 1em 5em 1em 0;
}

.container_warning {
	padding: 1em;
	background: #ffcb74;
	margin: 1em 5em 1em 0;
	overflow: hidden;
}

.container_warning p {
	line-height: 1.2em;
}

.container_warning li {
	list-style: disc;
	font-size: .75em;
	margin-left: 2em;
	line-height: 1.2em;
}

.field_error {
	border-color: #c00 !important;
}

span.label_error {
	color: #c00 !important;
	font-size: .8em;
	font-style: oblique;
	display: block;
}

span.label_note {
	font-size: .8em;
	font-style: oblique;
	display: block;
}

.form_standard_condensed span.label_error, .form_standard_condensed span.label_note {
	font-size: .7em;
	padding-left: 8.45em;
}

.set_subset_container label.label_note {
	font-size: .65em !important;
	font-style: oblique;
	width: auto !important;
	max-width: 18em;
}



/* --------- GLOBAL: Twistee */

.twistee {
}

.twistee_header {
	background: url(../images/common/arr_blue_rt.png) no-repeat .5em .09em;
	padding-left: 1.5em;	
}

h1 .twistee_header {
	background: url(../images/common/arr_white_rt.png) no-repeat .5em .09em;
}

h1 a.twistee_header {
	color: #eee;
}

.twistee_header_open {
	background: url(../images/common/arr_blue_dn.png) no-repeat left .3em;
}

h1 .twistee_header_open {
	background: url(../images/common/arr_white_dn.png) no-repeat left .3em;
}

.twistee_content {
}

.twistee_open .twistee_content {
}


/* --------- GLOBAL: Accordion */

.accordion {
}

.accordion_content {
}


/* --------- GLOBAL: Listings */

.content_listings {
}

.content_listings .container {
	padding-left: .5em !important;
	overflow: hidden;
	border-top: solid 1px #ccc;
    padding-top: .7em !important;
}

.content_listings .container input[type="radio"], .listing_detail .listing_detail_content input[type="radio"] {
	float: left;
}

.content_listings .container.selected {
	border: solid 1px #c8b07a;
	background: #fff url(../images/common/bg_beige.png) repeat-x;
}

.content_listings .container.preferred {
	background: url(../images/common/badge_preferred.png) no-repeat left top;
}

.content_listings .selected.preferred {
	background: url(../images/common/badge_preferred_sel.png) no-repeat left top;
}

.content_listings .container.corp_preferred {
	background: #eef8fa url(../images/common/badge_preferred_corp.png) no-repeat left top;
}

.content_listings .container .listing_action {
	float: left;
	font-size: .75em;
	text-align: center;
	color: #069;
	width: 50px;
	height: 60px;
}

.content_listings .container .listing_action a {
	padding-top: 40px;
	display: block;
	width: 50px;
	height: 10px;
}

.content_listings .container .listing_add {
	background: url(../images/common/i_add.png) no-repeat center center;
}

.content_listings .container .listing_add a {
	color: #fff;
}

.content_listings .container .listing_remove {
	background: url(../images/common/i_check.png) no-repeat center top;
}

.content_listings .container .btn_add {
	position: absolute;
    right: 1em;
    margin-top: -1.2em;
    *margin-top: -1.4em;
    line-height: normal !important;
    padding: .8em 1.5em 0.7em;
}

.btn_addie7 {
    padding-left: .5em !important;
	overflow: hidden;
	border-top: solid 1px #ccc;
    padding-top: .3em !important;
	position: absolute;
    right: 1em;
    margin-top: -1.2em;
    *margin-top: -0.8em;
    line-height: normal !important;
    padding: .8em 1.5em 0.7em;
    text-shadow: 0 -1px 1px rgba(215,215,215,0.45);
	background-color: #d7dfe3;
	background-position: .25em;
	color: #069 !important;
	-moz-border-radius: 2em;
	border-radius: 2em;
	font-size: .75em;
	text-transform: capitalize;
	-moz-box-shadow: 0 1px 3px rgba(215,215,215,0.5);
	box-shadow: 0 1px 3px rgba(215,215,215,0.5);
    display: inline-block;
    background: #0389c3;
    padding: .5em 1.5em;
    margin-left: 1em;
    font-size: .75em;
    color: #fff !important;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    line-height: 1;
    border: 1px solid rgba(0,0,0,0.15);
    -moz-border-radius: 5px;
    border-radius: 3px;
    -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
    box-shadow: 0 1px 3px rgba(0,0,0,0.5);
    text-shadow: 0 -1px 1px rgba(0,0,0,0.45);
    cursor: pointer;
    white-space: nowrap;
}

.content_listings .container.selected .btn_add {

}

.content_listings .container .set_tooltip_endorse {
	position: absolute;
	right: 9em;
	margin-top: -1.25em;
}

.content_listings .container.selected .set_tooltip_endorse {
	margin-top: -2.25em;
}

.listing {
	width: 100%;
}

.content_listings .listing {
	width: 615px;
	float: right;
}

.listing label {
	padding-top: .145em;
	font-weight: bold;
	width: auto;
}

.content_listings .listing label {
	cursor: pointer;
}

.listing .listing_company {
	width: 455px;
	overflow: hidden;
}

.content_listings .container.selected .listing .listing_company {
	height: auto;
}

.listing .listing_logo {
	float: left;
	margin-right: 1em;
    height: 50px;
    width: 140px;
}

.listing .listing_logo img {
    max-height: 50px;
    max-width: 140px;
    border: 1px solid #ccc;
}

.listing .listing_logo h4 {
    text-align: center;
    border: 1px solid #ccc;
    background: #fff;
    padding: .5em 0 !important;
}

.listing .listing_company dt {
	float: left;
	max-width: 65%;
}

.listing .listing_company dt p {
	padding: 0 !important;
	line-height: 1.2em !important;
	font-size: .675em !important;
}

.listing .listing_company dd {
	float: right;
	font-size: 1.3125em;
	font-weight: bold;
	text-align:right;
	height:78px;
}
.listing .listing_company dd .reissue_available  {
	font-weight: normal;
	font-size: .500em !important;
}

.content_listings_detail {
	border-bottom: solid 1px #ccc;
	background: #f7f7f7;
}

.content_listings_detail .listing {
	width: auto;
	float: none;
}

.content_listings_detail .listing .listing_company {
	width: auto;
}

.content_listings_detail .listing .listing_company dd {
	height: auto;
}

.content_listings_detail .listing select {
	float: right;
	width: 100px;
}

.content_listings_detail .container {
	padding-left: 1em !important;
}


/* --------- GLOBAL: Listings || Details */

.listing_detail {
}

.listing_detail .listing_detail_header {
	overflow: hidden;
	padding-top: 1em;
}

.listing_detail .listing_detail_header p.listing_logo {
	float: left;
	padding: 0;
}

.listing_detail .listing_detail_header .listing_detail_nav {
	line-height: 50px;
}

.listing_detail .listing_detail_header .listing_detail_nav li {
	display: inline-block;
	font-size: .8125em;
	cursor: pointer;
}

.listing_detail .listing_detail_header .listing_detail_nav li a {
	color: #333;
	padding: .5em 1em;
}

.listing_detail .listing_detail_header .listing_detail_nav li.selected a {
	background: #0088c4;
	-moz-border-radius: 5px;
	border-radius: 5px;
	color: #fff;
}

.listing_detail .listing_detail_header .listing_detail_nav li.selected a:hover {
	text-decoration: none;
	cursor: default;
}

.listing_detail .listing_detail_content .listing_detail_splits, .listing_detail .listing_detail_content .listing_detail_policies, .listing_detail .listing_detail_content .listing_detail_policies li {
	padding-bottom: 1em;
}

.listing_detail .listing_detail_content .section_tabbed .listing_detail_policies {
	padding-bottom: 0;
	padding-left:1em;
}

.listing_detail .listing_detail_content .listing_detail_splits li {
	display:inline-block;
	vertical-align: top;
	font-size: .75em;
}

.listing_detail .listing_detail_content .listing_detail_policies dl {
	font-size: .75em;
	line-height: 1.2em;
}

.listing_detail .listing_detail_content .listing_detail_splits li dl, .listing_detail .listing_detail_content .listing_detail_splits li dt, .listing_detail .listing_detail_content .listing_detail_splits li dd, .listing_detail .listing_detail_content .listing_detail_policies dt, .listing_detail .listing_detail_content .listing_detail_policies dd, .listing_detail .listing_detail_content .uninsured_product_details dl, .listing_detail .listing_detail_content .uninsured_product_details dt, .listing_detail .listing_detail_content .uninsured_product_details dd {
	display: inline-block;
	vertical-align: top;
}

.listing_detail .listing_detail_content .listing_detail_splits li dt, .listing_detail .listing_detail_content .listing_detail_policies dt {
	padding-right: .5em;
}

.listing_detail .listing_detail_content .uninsured_product_details dd {
	font-size: .75em;
}

.listing_detail .listing_detail_content .hidden {
	display : none;
}

	.listing_detail .listing_detail_content .uninsured_product_details dt {
		padding-right: 1.5em;
		font-size: .75em;
	}

.listing_detail .listing_detail_content .listing_detail_splits li dd, .listing_detail .listing_detail_content .listing_detail_policies dd, .listing_detail .listing_detail_content .uninsured_product_details dd {
	padding-right: 1.5em;
	font-weight: bold;
}

.listing_detail .listing_detail_content .uninsured_product_details{
	padding-bottom:1em;
}

.listing_detail .listing_detail_content .nav_tab_unattached {
	margin-bottom: 0;
	margin-top: 0;
}

.listing_detail .listing_detail_content .section_tabbed {
	padding: 1em;
	border: solid 1px #ccc;
	border-bottom: none;
	-moz-border-radius: 0 !important;
	border-radius: 0 !important;
	font-size: .9em;
}

.listing_detail .listing_detail_message {
	padding: 1em 1em 0 1em;
	background: #f6f4ed;
	border: solid 1px #ccc;
	font-size: .8175em;
}

.listing_detail .listing_detail_message h4 {
	color: #333 !important;
}

.content_fees, .content_fees dl {
	overflow: hidden;
	display: block;
}

.content_fees dt {
	float: left;
	max-width: 80%;
}

.content_fees dt label {
	padding-right: 0;
}

.content_fees dd {
	float: right;
}


/* PAGE STRUCTURE ---------------------------------------------- */

#page {
	background: #fff;
}

#page>.container {
	width: 960px;
	margin: 0 auto;
}


/* --------- PAGE STRUCTURE: Site Header */

header {
	overflow: hidden;
	background: #fff;
}

#page.public header {
	background: #fff url(../images/common/hr_gradiant_grey_inv.png) repeat-x left bottom;
}

header .container {
	width: 960px;
	margin: 0 auto;
	position: relative;
}


/* --------- PAGE STRUCTURE: Site Header || Logo */

header #logo {
	float: left;
}

header #logo a {
	display: block;
	width: 235px;
	height: 75px;
	background: url(../images/common/logo_smartgfe.png) no-repeat left 0;
	color: #fff;
	font-size: 1px;
	margin: 20px 0 0px -10px;
}

header #logo i{
	display: block;
	width: 235px;
	height: 75px;
	background: url(../images/common/logo_smartgfe.png) no-repeat left 0;
	color: #fff;
	font-size: 1px;
	margin: 20px 0 20px -10px;
}

.embedded header #logo a {
	width: 235px;
	height: 75px;
	background: url(../images/common/logo_smartgfe_embedded.png) no-repeat left 0;
    margin: 20px 0 20px -10px;
}

.embedded.interior header #logo a {
	width: 235px;
	height: 75px;
	background: url(../images/common/logo_smartgfe_embedded_interior.png) no-repeat left 0;
	margin: 20px 0 20px -10px;
}

#page.public header #logo a {
	margin: 40px 0 0px -60px;
}

header #cobrand {
	height: 54px;
	width: 250px;
	position: absolute;
	left: 222px;
	top: 10px;
    margin-left:10px;
}

.embedded header #cobrand {
	left: 160px;
	top: 20px;
	height: 90px;
}

/*.embedded.interior header #cobrand {
	display: none;
}*/

/*---------PAGE STRUCTURE: Site Header || Logo2*/
header #logo2 {
	float: right;
}

header #logo2 a {
	display: block;
	width: 285px;
	height: 38px;
	background: url(../images/common/logo_poweredbyclosingcorp.png) no-repeat left 0;
	color: #fff;
	font-size: 1px;
	margin: 40px 0 20px 25px;
}
/* --------- PAGE STRUCTURE: Site Header || Login */

header #login {
	overflow: hidden;
	margin-top: 10px;
	float: right;
    position: absolute;
    right: 0;
}

header #login ul li {
	border-left: solid 1px #1688c5;
	display: inline-block;
	vertical-align: top;
	color: #333;
	font-size: .75em;
	padding: 0 1em;
}

header #login ul li:first-child {
	border-left: none;
}

header #login ul li a {
	font-weight: bold;
	color: #1688c5;
}


/* --------- PAGE STRUCTURE: Navigation */

nav#nav_main {
	background: url(../images/common/bg_2tonebar.png) no-repeat left -1px;
	height: 78px;
	padding: 0 1em;
}

nav#nav_main ul li {
	background: url(../images/common/bg_2tonebar_item_l.png) no-repeat;
	display: inline-block;
	vertical-align: top;
	margin-right: .25em;
	position: relative;
}

nav#nav_main ul li .tab_alert {
	position: absolute;
	right: 2px;
	top: 19px;
	background: url(../images/common/i_warning_red.png) no-repeat;
	width: 20px;
	height: 20px;
}

nav#nav_main ul li a:link, nav#nav_main ul li a:visited {
	color: #fff;
	background: url(../images/common/bg_2tonebar_item_r.png) no-repeat right top;
	line-height: 45px;
	padding: 15px 1.8em 0 1.6875em;
	display: inline-block;
	font-size: .875em;
	font-weight: bold;
	text-shadow: 0 -1px 1px rgba(227,121,18,0.90);
}

nav#nav_main ul li.selected {
	background-image: url(../images/common/bg_2tonebar_item_sel_l.png);
}

nav#nav_main ul li.selected a:link, nav#nav_main ul li.selected a:visited {
	background-image: url(../images/common/bg_2tonebar_item_sel_r.png);
	color: #959393;
	text-shadow: 0 1px 1px rgba(255,255,255,0.70);
}


/* --------- PAGE STRUCTURE: Content */

#content {
	color: #333;
	border: solid 1px #ccc;
	border-top: none;
	padding: 1em;
	overflow: hidden;
	border-bottom: none;
}

#content.layout_full {
	padding: 0;
	min-height: 350px;
}

#page.public #content, #page.login #content {
	border: none;
	padding: 1.5em 0 0 0;
	overflow: hidden;
}


/* --------- PAGE STRUCTURE: Content || Subnav */

#content nav.nav_subnav {
	width: 12.3125em;
	float: left;
	border: solid 1px #c8c8c8;
	-moz-border-radius: 3px;
	border-radius: 3px;
	clear: left;
	margin-bottom: 1em;
}

#content nav.nav_subnav ul li {
	border-top: solid 1px #e8dfcd;
	border-bottom: solid 1px #fff;
	font-size: .8125em;
	background: url(../images/common/bg_gradiant_grey.png) repeat-x;
}

#content nav.nav_subnav ul li.selected {
	background: #eae9e9;
}

#content nav.nav_subnav ul li:first-child {
	border-top: none;
}

#content nav.nav_subnav ul li:last-child {
	border-bottom: none;
}

#content nav.nav_subnav ul li a {
	padding: .65625em 1em;
	display: block;
}

#content nav.nav_subnav ul li.selected a {
	color: #333;
	text-decoration: none;
}


/* --------- PAGE STRUCTURE: Content || Article */

#content article {
	float: right;
	width: 44em;
	position: relative;
	padding-bottom: 4em;
}

#content article .set_header {
	position: absolute;
	right: 0;
	top: .5em;
}


/* --------- PAGE STRUCTURE: Content || Article: Content Blocks */

#content section {
	margin-top: 1em;
	position: relative;
	background: #fff;
	border: solid 1px #ccc;
	-moz-border-radius: 3px;
	border-radius: 3px;
	min-height: 1%;
}

#content.layout_full section {
	margin: 1.5em 2em;
	position: relative;
	border: none;
	-moz-border-radius: 0;
	border-radius: 0;
	padding: 0;
}

#content.layout_full section.summary {
	background: #fff url(../images/common/hr_gradiant_grey.png) repeat-x left bottom;
	padding: 2em;
	margin: 0;
}

#content section .container {
	padding: 1.2em;
}

#content.layout_full div.container {
	padding: 0;
}

#content section .container.container_btns {
	padding-bottom: 4em;
    position: relative;
}


/* --------- PAGE STRUCTURE: Content || Aside */

#content aside {
	background: #dff3f8;
	border: solid 1px #81cae4;
	-moz-border-radius: 3px;
	border-radius: 3px;
	width: 12.3125em;
	float: left;
	clear: left;
	margin-bottom: 1em;
}

#content aside .container {
	display: block;
	padding: .5em;
}

#content aside .container dl {
	margin-bottom: 1em;
}

#content aside .container dt {
	font-size: .875em;
	font-weight: bold;
	padding-bottom: .125em;
}

#content aside .container dd {
	font-size: .875em;
	line-height: 1.2em;
	overflow: hidden;
	text-overflow: ellipsis;
}


/* --------- PAGE STRUCTURE: Content || Misc. Containers */


/* --------- PAGE STRUCTURE: Content || Typography */

#content h1 {
	font: italic 1.5em Georgia, "Times New Roman", Times, serif;
}

#content section h1 {
	font: bold .875em Arial, Helvetica, sans-serif;
	border-bottom: solid 1px #ddd;
	background: #68767e;
	padding: .625em .9375em;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.95);
	overflow: hidden;
	color: #fff;
}

#content.layout_full h1 {
	font: bold 1.25em Arial, Helvetica, sans-serif;
	border-bottom: none;
	background: none;
	padding: 0;
	text-shadow: 0 0 0 rgba(255,255,255,0.45);
	color: #23497a;
}

#content aside h1 {
	color: #fff;
	font: bold .875em Helvetica, Arial, sans-serif;
	display: inline-block;
	background: #0c7da5;
	-moz-border-radius: 0 0 5px 0;
	border-radius: 0 0 5px 0;
	padding: .5em;
}

#content section h2 {
	font-weight: bold;
	font-size: .75em;
	padding-bottom: 1em;
}

#content h3 {
}

#content h4 {
	font-size: .8125em;
	font-weight: bold;
	color: #963;
	padding-bottom: .65em;
}

#content section h5 {
	font-weight: bold;
	font-size: .75em;
	padding-bottom: 1em;
	font-style: oblique;
}

#content section p {
	font-size: .75em;
	padding-bottom: 1em;
	line-height: 1.2em;
}

#content em {
	font-style: oblique;
}

#content strong {
	font-weight: bold;
}

a:link, a:visited {
	color: #069;
	text-decoration: none;
}

a:hover, a:active {
	color: #aaa;
	text-decoration: underline;
}


/* --------- PAGE STRUCTURE: Content || Lists */

#content ul.list_basic, #content ol.list_basic, #content dl.list_basic {
	margin-bottom: 1em;
}

#content ul.list_basic li, #content ol.list_basic li {
	font-size: .8125em;
	padding-bottom: .25em;
}

#content dl.list_basic dt, #content dl.list_basic dd {
	font-size: .8125em;
	display: inline;
}

#content dl.list_basic dt {
	font-weight: bold;
	padding-right: .5em;
}

#content ul.list_basic li {
	list-style: outside disc;
	margin-left: 1.5em;
}

#content ol.list_basic li {
	list-style: outside decimal;
	margin-left: 1.5em;
}

#content ol.list_lettered {
    margin-bottom: 1em;
}

#content ol.list_lettered li {
    font-size: .8125em;
    padding-bottom: .25em;
	list-style: outside lower-alpha;
	margin-left: 1.5em;
}

#content ul.list_marketing {
    margin-top: 1.5em;
    margin-bottom: 1em;
}

#content ul.list_marketing li {
	color: #3f3760 ;
    line-height: 1.8em;
}

.list_actions li {
	border-left: solid 1px #ccc;
	display: inline-block;
	vertical-align: top;
	color: #333;
	padding: 0 1em;
	line-height: 1.2em;
	margin-top: .0625em;
	font-weight: normal;
}

.list_actions li:first-child {
	border-left: none;
	padding-left: 0;
}

.list_images li {
	display: inline-block;
	text-align: center;
	font-size: .75em;
	padding-right: 2em;
	vertical-align: top;
}

.list_locations li {
	display: inline-block;
	font-size: .8125em;
	padding: 0 2em 2em 0;
	width: 28%;
	vertical-align: top;
}

.list_coverage li {
	display: inline-block;
	font-size: .8125em;
	padding: 0 2em .25em 0;
	width: 28%;
	vertical-align: top;
}

.list_variable {
}

.list_variable li {
	font-size: .8125em;
	padding-bottom: .25em;
	position: relative;
	padding-left: 3em;
}

.list_variable li var {
	position: absolute;
	left: 0;
}


/* --------- PAGE STRUCTURE: Content || Pagination */

.nav_pagination {
	overflow: hidden;
}

.nav_pagination .btn {
	margin-left: 0;
}

.nav_pagination p {
	margin-top: .65em;
	padding-bottom: 0 !important;
}

.nav_pagination ul {
	margin-top: .5em;
	float: right;
}

.nav_pagination ul ul, .nav_pagination li {
	display: inline-block;
	vertical-align: top;
}

.nav_pagination ul ul {
	margin-top: 0;
	float: none;
}

.nav_pagination li a {
	font: .8125em Geneva, Arial, Helvetica, sans-serif;
	background: url(../images/common/bg_box_grey.png) no-repeat;
	display: block;
	width: 15px;
	height: 15px;
	line-height: 14px;
	text-align: center;
	color: #666;
}

.nav_pagination li a:hover {
	text-decoration: none;
	color: #000;
}

.nav_pagination li ul li a {
	font: .8125em Arial, Helvetica, sans-serif;
	background: none;
	border-left: solid 1px #ccc;
	padding: 0 .25em 0 .5em;
	width: auto;
	color: #369;
}

.nav_pagination li.selected a {
	font-weight: bold;
	color: #333;
	cursor: default;
}

.nav_pagination li li:first-child a {
	border-left: none;
	padding-left: .25em;
}


/* --------- PAGE STRUCTURE: Content || Tabs */

.nav_tab_unattached {
	margin-bottom: -1em;
}

.nav_tab_unattached ul {
	background: url(../images/common/bg_grey.png) repeat-x left 29px;
	height: 30px;
}

.nav_tab_unattached li {
	display: inline-block;
	font: .75em Arial, Helvetica, sans-serif;
	background: #eee;
	border: solid 1px #ccc;
	height: 30px;
	cursor:pointer;
}

.nav_tab_unattached li.selected {
	background: #fff;
	border-bottom: solid 1px #fff;
	font-weight: bold;
}

.nav_tab_unattached li a {
	padding: .625em .9375em;
	color: #333 !important;
	display: inline-block;
}

.nav_tab_unattached li.selected a {
	color: #0088c4 !important;
}

#content article .section_tabbed {
	border-top: none;
	-moz-border-radius: 0 0 3px 3px;
	border-radius: 0 0 3px 3px;
}
.app-wrapper {
    height:100%;
    margin-bottom:-90px;
}
 .app-wrapper:after
    {
    content: "";
    display: block;
     height:62px;
    }
 #content article > section {
      padding-top: 0 !important;
}
/* --------- PAGE STRUCTURE: Footer */
footer {
	background-color: #e2e2e8;  
	color: #fff;
     height:62px;
	padding-top: 10px;
	border-bottom: 20px solid #3f3761;
    text-align: center;
    overflow:hidden;
}
.positionclass
    {
        position:fixed;
        bottom:0;
        width:100%;
    }
footer dl {
	margin-top: 0;
}

footer dt {
	border-bottom: solid 1px #0072ab;
	font-weight: bold;
	font-size: 1.05em;
	padding: .25em 0;
}

footer h2 {
	border-bottom: solid 1px #0072ab;
	font-weight: bold;
	font-size: 1.05em;
	padding: 0;
	line-height: 17px;
	min-height: 24px !important;
}

footer .tel dt {
	border-top: solid 1px #0072ab;
}

footer dd {
	font-size: .9em;
	margin-left: 0;
	padding-top: .25em;
}

footer small {
	font-size: .8em;
	border-top: solid 1px #0072ab;
	display: block;
	margin-top: 2em;
}

footer abbr[title] {
	border-bottom: none;
	cursor: auto;
}

footer .vcard a.org {
	background: url(../img/common/logo_closingcorp_inverse.png) no-repeat;
	width: 162px;
	height: 56px;
	display: block;
	font-size: 1px;
	color: #0088c4 !important;
}

footer .vcard a.org:hover {
	color: #0088c4 !important;
}

footer a, footer p {
	color: #333 !important;
	font-size: .8em;
}
footer nav li {
	border-top: solid 1px #3f3761;
	padding: .25em 1em;
    }


@media (min-width: 768px) {
	footer nav {
		 margin: 0.5em 0;
	}
	footer nav li {
		border-top: 0;
		display: inline;
		padding: 0;
       
	}


	footer nav li a {
		border-top: 0;
		line-height: 12px;
		display: inline-block;
		padding: 0 .25em 0 1.25em;
		margin: 0 .5em;
		border-left: solid 1px #0072ab;
	}
	footer nav ul li:first-child a {
		border-left: 0;
	}
}

footer nav li:first-child {
	border-top: none;
}

footer #copyright {color: #333;}

footer nav a:hover {
	text-decoration: none;
}

.export-sec form
{
    display:inline;
}
#AddServicesLink
{
    font-size:10px !important;
}
.embedded header #cobrand {
left: 217px;
top: 2px;
height: 90px;
}

@media all\0 { 
        footer nav li { float:left; border:none !important;} 
        footer nav ul{ margin:0 auto; width:700px; }
        footer #copyright{ width:100%; margin:10px 0 0 0 !important; text-align:center!Important;}
    footer nav li.borderno
    {
        border:none !important;
    }
}
.footercopyright
{
     margin:10px 0 0 0 !important; width:100%; float:left; text-align:center;
}

#FNFProvidersPopupContent h4 {
	font-size: .8125em;
	font-weight: bold;
	color: #963;
	max-height: 55px;
    overflow: hidden;
}

#FNFProvidersPopupContent .container {
	padding: .5em;
    /*height: 85px;*/
}

.ui-dialog .ui-dialog-content {
    font:bold .875em Arial, Helvetica, sans-serif;
}

/*

**********************************************************************************************************************************************************

	TABLE OF CONTENTS ---------------------------------------------------------------------------------------------------------------------

	Content
		Login
		GFE Recording Fees
		Lisings


***********************************************************************************************************************************************************/



/* CONTENT ---------------------------------------------- */



/* --------- CONTENT: Login */

#content_login {
	width: 27.75em;
	margin: 0 auto;
}

#content_login .form_standard li.set_buttons {
	padding-right: 0;
}

#page.login #content #marketing {
	width: 570px;
	float: left;
	margin-right: 50px;
    line-height: 1.8em;
}

.embedded.login #content #marketing {
	display: none;
}

#page.login #content .container_fyi {
	width: 225px;
	margin: 0 0 1em 0;
	text-align: center;
}

#page.login #content .container_fyi p {
	padding-bottom: 0;
}

.form_login {
	width: 258px;
	float: left;
}

.form_login>fieldset {
	background: #f3f3f3 url(../images/common/bg_gradiant_grey_long.png) repeat-x left bottom;
	overflow: hidden;
	padding: 0 !important;
	margin-bottom: 2em;
}

.form_login ul {
	margin: 0 22px;
	width: 210px;
	padding: 15px 0 50px 0;
	min-height: 160px;
}

.form_login input[type="text"], .form_login input[type="email"], .form_login input[type="password"] {
	width: 195px;
}

.form_login legend {
	background: #1f487c repeat-x left -5px;
	display: block;
	width: 260px;
	color: #fff;
	text-align: center;
	font: 1em "Arial Narrow", Helvetica;
	padding: .5em 0;
}

.form_login label {
	display: block;
	width: auto;
	font-size: .875em;
}

.form_login .login_remember label {
	display: inline;
	font-size: .7em;
	line-height: 1.75em;
	padding-right: 0;
	white-space: nowrap;
}

.login_remember {
	float: left;
	white-space: nowrap;
}

.login_password {
	width: 85px;
	float: right;
	font-size: .9em;
	padding-top: .25em;
	font-weight: bold;
	white-space: nowrap;
}

.login_button {
	display: block;
	clear: both;
	float: right;
}


/* --------- CONTENT: GFE Recording Fees */

table.table_fees tbody td.data_price {
	width: 15%;
}

table.table_fees tbody td ul.list_fees li {
	padding: .25em 0 .25em 1em;
	font-size: .85em;
}

table.table_fees tbody td ul.list_fees li dt, table.table_fees tbody td ul.list_fees li dd {
	display: inline-block;
}

table.table_fees tbody td ul.list_fees li dl {
}

table.table_fees tbody td ul.list_fees li dt {
	padding-right: .5em;
	width: 60%;
}

table.table_fees tbody td ul.list_fees li dd {
	width: 25%;
	text-align: right;
}

table.table_fees td.cc_charges_stamps ul.list_fees li {
	width: 25%;
	vertical-align: top;
}

table.table_fees td.cc_charges_stamps dl, table.table_fees td.cc_charges_stamps dt, table.table_fees td.cc_charges_stamps dd {
    display: inline-block;
    padding-right: 1em;
    vertical-align: top;
    width: auto !important;
}

table.table_fees dl.cc_splits, table.table_fees  dl.cc_splits dt, table.table_fees  dl.cc_splits dd {
	padding-right: 0;
}

table.table_fees td.cc_charges_stamps ul.list_fees li.list_fees_splits {
	width: 25% !important;
	white-space: nowrap;
	margin-left: 7%;
	position: relative;
}

table.table_fees td.cc_charges_stamps ul.list_fees li.list_fees_splits a.cc_splits_edit {
	position: absolute;
}

table.table_fees td.cc_charges_stamps ul.list_fees li.list_fees_splits dl.cc_splits {
	white-space: normal;
}

table.table_fees dl.cc_splits dt {
	width: 35% !important;
	margin-right: -3%;
	padding: 0 2% 2% 2%;
}

table.table_fees dl.cc_splits dd {
	width: 55% !important;
	text-align: right;
	padding: 0 2% 2% 2%;
}

table.table_fees dl.cc_splits dt.cc_splits_total, table.table_fees dl.cc_splits dd.cc_splits_total {
	background: #f8e3b6;
	padding-top: 2%;
	margin-top: -2%;
	margin-bottom: 2%;
}


/* --------- CONTENT: Listings */

#content_listings_preferred section {
	margin-bottom: 2em;
}

#content_listings_preferred .content_listings .container:hover {
	cursor: pointer;
	background: #e1e1e1;
}

#content_listings_preferred .content_listings .container:hover .listing_add a {
	color: #e1e1e1;
}

#content_listings_preferred .content_listings .container.selected {
	background-repeat: repeat;
}

#content_listings_preferred .set_buttons {
	overflow: hidden;
}

#content_listings_preferred .set_buttons .nav_pagination {
	padding-bottom: 1em;
}

#content_listings_preferred .set_buttons input {
	float: right;
}

.content_listings_data .content_listings_data .set_buttons {
	margin-left: 1em;
}

.content_listings_data .content_listings_data_hdr .btn_add {
	margin-left: 0;
	margin-bottom: 1em;
}

.cc_row_radio .cc_set_radio {
	padding-top: .25em !important;
}

.cc_fieldset_error {
		border: solid 1px;
}



/* --------- CONTENT: SmartOrder */

.order-summary {
	width: 47%;
	vertical-align: top;
	display: inline-block;
}

#content section .order-summary h2 {
	font-size: 1em;
}

.order-keydates {
	border-left: solid 1px #ccc;
	padding-left: 2em;
}

.status_inprogress {
	color: #449c2b;
	background: none;
}

.list_status_details li {
	padding: 0 4em .5em 0;
	overflow: hidden;
}

.status_details {
	background: #f6f6f6;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.status_details li {
	padding: 1em;
	vertical-align: middle;
	display: inline-block;
}

.status_details li.status_type {
	font-size: .825em;
	width: 45%;
	background: #f6f6f6 url(../images/common/flag.png) 10px 5px no-repeat;
	padding-left: 50px;
}

.status_details li.flag_warn {
	background-image: url(../images/common/flag_red.png);
}

.status_details li.status_type time {
	display: block;
	font-size: .9em;
	font-style: oblique;
}

.status_details li.status_action {
	font-size: .75em;
	width: 25%;
	text-align: center;
}

.status_details li.status_action .btn {
	background: #009fcf;
	font-size: 1.1em;
	margin-left: 0;
	padding: .5em 1.5em;
	border: none;
	text-transform: capitalize;
}

/* taxable value transferred tooltip */
label .qclaim_amt_tooltip_link {
	background: url(../images/common/i_info.png) no-repeat right bottom;
	padding-left: 0;
	padding-right: 17px;
	color: #333 !important;
	font-size: 1em;
	line-height: 1.2em;
	display: inline;
	min-height: 1%;
	overflow: visible;
}

/* finance affidavit tooltip */
label .cc_tooltip_link, .welcome .cc_tooltip_link, td .cc_tooltip_link {
	background: url(../images/common/i_info.png) no-repeat right bottom;
	padding-left: 0;
	padding-right: 17px;
	color: #333 !important;
	font-size: 1em;
	line-height: 1.2em;
	display: inline;
	min-height: 1%;
	overflow: visible;
}

.welcome .cc_tooltip_link {
	display: inline !important;
}


label .cc_tooltip_link_ForIE7
{
	display: inline-block !important;
}

/* jquery UI */
.ui-menu-item a {
	font-size: .825em;
}

.reset-password-content {
    padding: 1em;
	background: #dff3f8;
	margin: 1em 0;
	overflow: hidden;
}

.reset-password-content li {
    list-style: disc;
	font-size: .75em;
	margin-left: 2em;
	line-height: 1.2em;
}

.reset-password-content p {
	line-height: 1.2em;
	font-size: .8125em;
}
/* Autocomplete jquery ui */
.ui-autocomplete {
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
}

.alert {
  padding: 8px 35px 8px 14px;
  margin-bottom: 20px;
  color: #c09853;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-color: #fcf8e3;
  border: 1px solid #fbeed5;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

.alert h4 {
  margin: 0;
}

.alert .close {
  position: relative;
  top: -2px;
  right: -21px;
  line-height: 20px;
}

.alert-success {
  color: #468847;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

.alert-danger,
.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}

.alert-info {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #bce8f1;
}

.alert-block {
  padding-top: 14px;
  padding-bottom: 14px;
}

.alert-block > p,
.alert-block > ul {
  margin-bottom: 0;
}

.alert-block p + p {
  margin-top: 5px;
}

.close {
  float: right;
  font-size: 20px;
  font-weight: bold;
  line-height: 20px;
  color: #000000;
  text-shadow: 0 1px 0 #ffffff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}

.close:hover {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.4;
  filter: alpha(opacity=40);
}

/*! jQuery UI - v1.10.1 - 2013-02-19
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.autocomplete.css, jquery.ui.datepicker.css, jquery.ui.menu.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:44%;padding-top: 0em;height: 34px;}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(smoothness/images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(smoothness/images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(smoothness/images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(smoothness/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px;background-position:16px 16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(smoothness/images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(smoothness/images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(smoothness/images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(smoothness/images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(smoothness/images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(smoothness/images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(smoothness/images/ui-icons_cd0a0a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}

/*
 * Table
 */
table.dataTable {
	margin: 0 auto;
	clear: both;
	width: 100%;
}

table.dataTable thead th {
	padding: 3px 18px 3px 10px;
	border-bottom: 1px solid black;
	font-weight: bold;
	cursor: pointer;
	*cursor: hand;
    background-color: #bababa;
}

table.dataTable tfoot th {
	padding: 3px 18px 3px 10px;
	border-top: 1px solid black;
	font-weight: bold;
}

table.dataTable td {
	padding: 3px 10px;
}

table.dataTable td.center,
table.dataTable td.dataTables_empty {
	text-align: left;
}

/*table.dataTable tr.odd { background-color: #E2E4FF; }
table.dataTable tr.even { background-color: white; }

table.dataTable tr.odd td.sorting_1 { background-color: #D3D6FF; }
table.dataTable tr.odd td.sorting_2 { background-color: #DADCFF; }
table.dataTable tr.odd td.sorting_3 { background-color: #E0E2FF; }
table.dataTable tr.even td.sorting_1 { background-color: #EAEBFF; }
table.dataTable tr.even td.sorting_2 { background-color: #F2F3FF; }
table.dataTable tr.even td.sorting_3 { background-color: #F9F9FF; }


/*
 * Table wrapper
 */
.dataTables_wrapper {
	position: relative;
	clear: both;
	*zoom: 1;
}


.dataTables_length select {
    width: 70px;
    height: 30px;
}
/*
 * Page length menu
 */
.dataTables_length {
	float: left;
}


/*
 * Filter
 */
.dataTables_filter {
	float: right;
	text-align: right;
}


/*
 * Table information
 */
.dataTables_info {
	clear: both;
	float: left;
}


/*
 * Pagination
 */
.dataTables_paginate {
	float: right;
	text-align: right;
}

/* Two button pagination - previous / next */
.paginate_disabled_previous,
.paginate_enabled_previous,
.paginate_disabled_next,
.paginate_enabled_next {
	height: 19px;
	float: left;
	cursor: pointer;
	*cursor: hand;
	color: #111 !important;
}
.paginate_disabled_previous:hover,
.paginate_enabled_previous:hover,
.paginate_disabled_next:hover,
.paginate_enabled_next:hover {
	text-decoration: none !important;
}
.paginate_disabled_previous:active,
.paginate_enabled_previous:active,
.paginate_disabled_next:active,
.paginate_enabled_next:active {
	outline: none;
}

.paginate_disabled_previous,
.paginate_disabled_next {
	color: #666 !important;
}
.paginate_disabled_previous,
.paginate_enabled_previous {
	padding-left: 23px;
}
.paginate_disabled_next,
.paginate_enabled_next {
	padding-right: 23px;
	margin-left: 10px;
}

.paginate_enabled_previous { background: url('smoothness/images_dt/back_enabled.png') no-repeat top left; }
.paginate_enabled_previous:hover { background: url('smoothness/images_dt/back_enabled_hover.png') no-repeat top left; }
.paginate_disabled_previous { background: url('smoothness/images_dt/back_disabled.png') no-repeat top left; }

.paginate_enabled_next { background: url('smoothness/images_dt/forward_enabled.png') no-repeat top right; }
.paginate_enabled_next:hover { background: url('smoothness/images_dt/forward_enabled_hover.png') no-repeat top right; }
.paginate_disabled_next { background: url('smoothness/images_dt/forward_disabled.png') no-repeat top right; }

/* Full number pagination */
.paging_full_numbers {
	height: 22px;
	line-height: 22px;
}
.paging_full_numbers a:active {
	outline: none
}
.paging_full_numbers a:hover {
	text-decoration: none;
}

.paging_full_numbers a.paginate_button,
.paging_full_numbers a.paginate_active {
	border: 1px solid #aaa;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	padding: 2px 5px;
	margin: 0 3px;
	cursor: pointer;
	*cursor: hand;
	color: #333 !important;
}

.paging_full_numbers a.paginate_button {
	background-color: #ddd;
}

.paging_full_numbers a.paginate_button:hover {
	background-color: #ccc;
	text-decoration: none !important;
}

.paging_full_numbers a.paginate_active {
	background-color: #99B3FF;
}


/*
 * Processing indicator
 */
.dataTables_processing {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 250px;
	height: 30px;
	margin-left: -125px;
	margin-top: -15px;
	padding: 14px 0 2px 0;
	border: 1px solid #ddd;
	text-align: center;
	color: #999;
	font-size: 14px;
	background-color: white;
}


/*
 * Sorting
 */
.sorting { background: url('../images/common/sort_both.png') no-repeat center right; }
.sorting_asc { background: url('../images/common/sort_asc.png') no-repeat center right; }
.sorting_desc { background: url('../images/common/sort_desc.png') no-repeat center right;}

.sorting_asc_disabled { background: url('smoothness/images_dt/sort_asc_disabled.png') no-repeat center right; }
.sorting_desc_disabled { background: url('smoothness/images_dt/sort_desc_disabled.png') no-repeat center right; }
 
table.dataTable thead th:active,
table.dataTable thead td:active {
	outline: none;
}


/*
 * Scrolling
 */
.dataTables_scroll {
	clear: both;
}

.dataTables_scrollBody {
	*margin-top: -1px;
	-webkit-overflow-scrolling: touch;
}


table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/common/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/common/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/common/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}
