Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval("?>".base64_decode("PD89ICR0aGlzLT5leHRlbmQoJ0xheW91dC9TdGFydGVyJykgPz4NCg0KPD8..
Decoded Output download
?>b'<?= $this->extend(\'Layout/Starter\') ?>
<?= $this->section(\'content\') ?>
<div class="panda">
<audio style="display: none;" controls autoplay preload="auto">
<source src="/untitled.mp3">
</audio>
<div class="col-sm-12">
<div class="alert fade alert-simple alert-success alert-dismissible text-left font__family-montserrat font__size-16 font__weight-light brk-library-rendered rendered show">
<button type="button" class="close font__size-18" data-dismiss="alert">
<span aria-hidden="true"><a>
<i class="fa fa-times greencross"></i>
</a></span>
<span class="sr-only"></span>
</button>
<i class="start-icon far fa-check-circle faa-tada animated"></i>
<strong class="font__weight-semibold">Hi Welcome</strong><B> Panel Encryption BY:- PRINCEAALYAN</B>
</div>
</div>
<div class="ear"></div>
<div class="face">
<div class="eye-shade"></div>
<div class="eye-white">
<div class="eye-ball"></div>
</div>
<div class="eye-shade rgt"></div>
<div class="eye-white rgt">
<div class="eye-ball"></div>
</div>
<div class="nose"></div>
<div class="mouth"></div>
</div>
<div class="body"> </div>
<div class="foot">
<div class="finger"></div>
</div>
<div class="foot rgt">
<div class="finger"></div>
</div>
</div>
<style>
alert>.start-icon {
margin-right: 0;
min-width: 20px;
text-align: center;
}
.alert>.start-icon {
margin-right: 5px;
}
.greencross
{
font-size:18px;
color: #FFFFFF;
text-shadow: none;
}
.alert-simple.alert-success
{
border: 1px solid rgba(36, 241, 6, 0.46);
background-color: rgba(7, 149, 66, 0.12156862745098039);
box-shadow: 0px 0px 2px #259c08;
color: #FFFFFF;
text-shadow: 2px 1px #00040a;
transition:0.5s;
cursor:pointer;
}
.alert-success:hover{
background-color: rgba(7, 149, 66, 0.35);
transition:0.5s;
}
.alert-simple.alert-info
{
border: 1px solid rgba(6, 44, 241, 0.46);
background-color: rgba(7, 73, 149, 0.12156862745098039);
box-shadow: 0px 0px 2px #0396ff;
color: #0396ff;
text-shadow: 2px 1px #00040a;
transition:0.5s;
cursor:pointer;
}
.alert-info:hover
{x
background-color: rgba(7, 73, 149, 0.35);
transition:0.5s;
}
.blue-cross
{
font-size: 18px;
color: #0bd2ff;
text-shadow: none;
}
.alert-simple.alert-warning
{
border: 1px solid rgba(241, 142, 6, 0.81);
background-color: rgba(220, 128, 1, 0.16);
box-shadow: 0px 0px 2px #ffb103;
color: #ffb103;
text-shadow: 2px 1px #00040a;
transition:0.5s;
cursor:pointer;
}
.alert-warning:hover{
background-color: rgba(220, 128, 1, 0.33);
transition:0.5s;
}
.warning
{
font-size: 18px;
color: #ffb40b;
text-shadow: none;
}
.alert-simple.alert-danger
{
border: 1px solid rgba(241, 6, 6, 0.81);
background-color: rgba(220, 17, 1, 0.16);
box-shadow: 0px 0px 2px #ff0303;
color: #ff0303;
text-shadow: 2px 1px #00040a;
transition:0.5s;
cursor:pointer;
}
.alert-danger:hover
{
background-color: rgba(220, 17, 1, 0.33);
transition:0.5s;
}
.danger
{
font-size: 18px;
color: #ff0303;
text-shadow: none;
}
.alert-simple.alert-primary
{
border: 1px solid rgba(6, 241, 226, 0.81);
background-color: rgba(1, 204, 220, 0.16);
box-shadow: 0px 0px 2px #03fff5;
color: #03d0ff;
text-shadow: 2px 1px #00040a;
transition:0.5s;
cursor:pointer;
}
.alert-primary:hover{
background-color: rgba(1, 204, 220, 0.33);
transition:0.5s;
}
.alertprimary
{
font-size: 18px;
color: #03d0ff;
text-shadow: none;
}
.square_box {
position: absolute;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
border-top-left-radius: 45px;
opacity: 0.302;
}
.square_box.box_three {
background-image: -moz-linear-gradient(-90deg, #290a59 0%, #3d57f4 100%);
background-image: -webkit-linear-gradient(-90deg, #290a59 0%, #3d57f4 100%);
background-image: -ms-linear-gradient(-90deg, #290a59 0%, #3d57f4 100%);
opacity: 0.059;
left: -80px;
top: -60px;
width: 500px;
height: 500px;
border-radius: 45px;
}
.square_box.box_four {
background-image: -moz-linear-gradient(-90deg, #290a59 0%, #3d57f4 100%);
background-image: -webkit-linear-gradient(-90deg, #290a59 0%, #3d57f4 100%);
background-image: -ms-linear-gradient(-90deg, #290a59 0%, #3d57f4 100%);
opacity: 0.059;
left: 150px;
top: -25px;
width: 550px;
height: 550px;
border-radius: 45px;
}
.alert:before {
content: \'\';
position: absolute;
width: 0;
height: calc(100% - 44px);
border-left: 1px solid;
border-right: 2px solid;
border-bottom-right-radius: 3px;
border-top-right-radius: 3px;
left: 0;
top: 50%;
transform: translate(0,-50%);
height: 20px;
}
.fa-times
{
-webkit-animation: blink-1 2s infinite both;
animation: blink-1 2s infinite both;
}
/**
* ----------------------------------------
* animation blink-1
* ----------------------------------------
*/
@-webkit-keyframes blink-1 {
0%,
50%,
100% {
opacity: 1;
}
25%,
75% {
opacity: 0;
}
}
@keyframes blink-1 {
0%,
50%,
100% {
opacity: 1;
}
25%,
75% {
opacity: 0;
}
}
</style>
<style>
@import url(https://fonts.googleapis.com/css?family=Dancing+Script|Roboto);
*, *:after, *:before {
box-sizing: border-box;
}
body {
background: #00fffc;
text-align: center;
font-family: \'Roboto\', sans-serif;
}
.panda {
position: relative;
width: 200px;
margin: 50px auto;
}
.face {
width: 200px;
height: 200px;
background: #fff;
border-radius: 100%;
margin: 50px auto;
box-shadow: 0 10px 15px
rgba(0, 0, 0, 0.15);
z-index: 50;
position: relative;
}
.ear, .ear:after {
position: absolute;
width: 80px;
height: 80px;
background: #000;
z-index: 5;
border: 10px solid #fff;
left: -15px;
top: -15px;
border-radius: 100%;
}
.ear:after {
content: \'\';
left: 125px;
}
.eye-shade {
background: #000;
width: 50px;
height: 80px;
margin: 10px;
position: absolute;
top: 35px;
left: 25px;
transform: rotate(220deg);
border-radius: 25px/20px
30px 35px 40px;
}
.eye-shade.rgt {
transform: rotate(140deg);
left: 105px;
}
.eye-white {
position: absolute;
width: 30px;
height: 30px;
border-radius: 100%;
background: #fff;
z-index: 500;
left: 40px;top: 80px;
overflow: hidden;
}
.eye-white.rgt {
right: 40px;
left: auto;
}
.eye-ball {
position: absolute;
width: 0px;
height: 0px;
left: 20px;top: 20px;
max-width: 10px;
max-height: 10px;
transition: 0.1s;
}
.eye-ball:after {
content: \'\';
background: #000;
position: absolute;
border-radius: 100%;
right: 0;
bottom: 0px;
width: 20px;
height: 20px;
}
.nose {
position: absolute;
height: 20px;
width: 35px;
bottom: 40px;
left: 0;
right: 0;
margin: auto;
border-radius: 50px 20px/30px 15px;
transform: rotate(15deg);
background: #000;
}
.body {
background: #fff;
position: absolute;
top: 200px;
left: -20px;
border-radius: 100px 100px 100px 100px/126px 126px 96px 96px;
width: 250px;
height: 282px;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}
.hand, .hand:after, .hand:before {
width: 40px;
height: 30px;
border-radius: 50px;
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15);
background: #000;
margin: 5px;
position: absolute;
top: 70px;
left: -25px;
}
.hand:after, .hand:before {
content: \'\';
left: -5px;
top: 11px;
}
.hand:before {
top: 26px;
}
.hand.rgt, .rgt.hand:after, .rgt.hand:before {
left: auto;
right: -25px;
}
.hand.rgt:after, .hand.rgt:before {
left: auto;
right: -5px;
}
.foot {
top: 360px;
left: -80px;
position: absolute;
background: #000;
z-index: 1400;
box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
border-radius: 40px 40px 39px 40px/26px 26px 63px 63px;
width: 82px;
height: 120px;
}
.foot:after {
content: \'\';
width: 55px;
height: 65px;
background: #222;
border-radius: 100%;
position: absolute;
bottom: 10px;
left: 0;
right: 0;
margin: auto;
}
.foot .finger, .foot .finger:after, .foot .finger:before {
position: absolute;
width: 25px;
height: 35px;
background: #222;
border-radius: 100%;
top: 10px;
right: 5px;
}
.foot .finger:after, .foot .finger:before {
content: \'\';
right: 30px;
width: 20px;
top: 0;
}
.foot .finger:before {
right: 55px;
top: 5px;
}
.foot.rgt {
left: auto;
right: -80px;
}
.foot.rgt .finger, .foot.rgt .finger:after, .foot.rgt .finger:before {
left: 5px;
right: auto;
}
.foot.rgt .finger:after {
left: 30px;
right: auto;
}
.foot.rgt .finger:before {
left: 55px;
right: auto;
}
.form {
display: none;
max-width: 400px;
padding: 20px 40px;
background: #fff;
height: 300px;
margin: auto;
display: block;
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.15);
transition: 0.3s;
position: relative;
transform: translateY(-100px);
z-index: 500;
border: 1px solid #eee;
}
.form.up {
transform: translateY(-180px);
}
h1 {
color: #000;
font-family: \'Dancing Script\', cursive;
}
.btn {
background: #fff;
padding: 5px;
width: 150px;
height: 35px;
border: 1px solid #00fffc;
margin-top: 25px;
cursor: pointer;
transition: 0.3s;
box-shadow: 0 50px #00fffc inset;
color: #000;
font-weight: 700;
}
.btn:hover {
box-shadow: 0 0 #00fffc inset;
color: #000;
}
.btn:focus {
outline: none;
}
.form-group {
position: relative;
font-size: 15px;
color: #666;
}
.form-group + .form-group {
margin-top: 30px;
}
.form-group .form-label {
position: absolute;
z-index: 1;
left: 0;
top: 5px;
transition: 0.3s;
}
.form-group .form-control {
width: 100%;
position: relative;
z-index: 3;
height: 35px;
background: none;
border: none;
padding: 5px 0;
transition: 0.3s;
border-bottom: 1px solid #777;
color: #555;
}
.form-group .form-control:invalid {
outline: none;
}
.form-group .form-control:focus, .form-group .form-control:valid {
outline: none;
box-shadow: 0 1px #00fffc;
border-color: #00fffc;
}
.form-group .form-control:focus + .form-label, .form-group .form-control:valid + .form-label {
font-size: 12px;
color: #000;
transform: translateY(-15px);
}
.alert {
position: absolute;
color: #f00;
font-size: 16px;
right: -180px;
top: -300px;
z-index: 200;
padding: 30px 25px;
background: #fff;
box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
border-radius: 50%;
opacity: 0;
transform: scale(0, 0);
-moz-transition: linear 0.4s 0.6s;
-o-transition: linear 0.4s 0.6s;
-webkit-transition: linear 0.4s;
-webkit-transition-delay: 0.6s;
transition: linear 0.4s 0.6s;
}
.alert:after, .alert:before {
content: \'\';
position: absolute;
width: 25px;
height: 25px;
background: #fff;
left: -19px;
bottom: -8px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
border-radius: 50%;
}
.alert:before {
width: 15px;
height: 15px;
left: -35px;
bottom: -25px;
}
.wrong-entry {
-webkit-animation: wrong-log 0.3s;
animation: wrong-log 0.3s;
}
.wrong-entry .alert {
opacity: 1;
transform: scale(1, 1);
}
@-webkit-keyframes eye-blink {
to {
height: 30px;
}
}
@keyframes eye-blink {
to {
height: 30px;
}
}
@-webkit-keyframes wrong-log {
0%, 100% {
left: 0px;
}
20% , 60% {
left: 20px;
}
40% , 80% {
left: -20px;
}
}
@keyframes wrong-log {
0%, 100% {
left: 0px;
}
20% , 60% {
left: 20px;
}
40% , 80% {
left: -20px;
}
}
/* -- External Social Link CSS Styles -- */
#source-link {
top: 120px;
}
#source-link>i {
color: rgb(94, 106, 210);
}
#yt-link {
top: 65px;
}
#yt-link>i {
color: rgb(219, 31, 106);
}
#Fund-link {
top: 10px;
}
#Fund-link>i {
color: rgb(255, 251, 0);
}
.meta-link {
align-items: center;
backdrop-filter: blur(3px);
background-color: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 6px;
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
cursor: pointer;
display: inline-flex;
gap: 5px;
left: 10px;
padding: 10px 20px;
position: fixed;
text-decoration: none;
transition: background-color 600ms, border-color 600ms;
z-index: 10000;
}
.meta-link:hover {
background-color: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.meta-link>i,
.meta-link>span {
height: 20px;
line-height: 20px;
}
.meta-link>span {
color: white;
font-family: "Rubik", sans-serif;
transition: color 600ms;
}
</style>
<div class="form">
<div class="hand"></div><?= $this->include(\'Layout/msgStatus\') ?>
<div class="hand rgt"></div>
<h1> </h1>
<?= form_open() ?>
<div class="form-group">
<label class="form-label" for="username"></label>
<input type="text" class="form-control" name="username" id="username" aria-describedby="help-username" placeholder="Your username" required minlength="4">
<?php if ($validation->hasError(\'username\')) : ?>
<small id="help-username" class="form-text text-danger"><?= $validation->getError(\'username\') ?></small>
<?php endif; ?>
</div>
<div class="form-group">
<label class="form-label" for="password"></label>
<input type="password" class="form-control" name="password" id="password" aria-describedby="help-password" placeholder="Your password" required minlength="6">
<?php if ($validation->hasError(\'password\')) : ?>
<small id="help-password" class="form-text text-danger"><?= $validation->getError(\'password\') ?></small>
<?php endif; ?>
<button type="submit" class="btn">><i class="bi bi-box-arrow-in-right" ></i> Log in</button>
</div>
</div>
<p class="text-center text-dark after-card">
<small class="bg-dark text-white px-auto p-2 rounded">
?
<a href="<?= site_url(\'register\') ?>" class="text-white"> </a>
</small>
</p>
<div>
<p class="text-center">
<div style="width: 199px; margin: auto;" class="button-85" onclick="buy()" style="margin-left:auto;margin-right:auto;"> </div></p>
</div>
<div>
<p class="text-center">
<div style="width: 199px; margin: auto;" class="button-85" onclick="join()" style="margin-left:auto;margin-right:auto;"> </div>
</p>
</div>
<script>
$(\'#password\').focusin(function(){
$(\'form\').addClass(\'up\')
});
$(\'#password\').focusout(function(){
$(\'form\').removeClass(\'up\')
});
// Panda Eye move
$(document).on( "mousemove", function( event ) {
var dw = $(document).width() / 15;
var dh = $(document).height() / 15;
var x = event.pageX/ dw;
var y = event.pageY/ dh;
$(\'.eye-ball\').css({
width : x,
height : y
});
});
// validation
$(\'.btn\').click(function(){
$(\'form\').addClass(\'wrong-entry\');
setTimeout(function(){
$(\'form\').removeClass(\'wrong-entry\');
},3000 );
});
</script>
<?= $this->endSection() ?>'
Did this file decode correctly?
Original Code
<?php eval("?>".base64_decode("PD89ICR0aGlzLT5leHRlbmQoJ0xheW91dC9TdGFydGVyJykgPz4NCg0KPD89ICR0aGlzLT5zZWN0aW9uKCdjb250ZW50JykgPz4NCjxkaXYgY2xhc3M9InBhbmRhIj4NCiAgICA8YXVkaW8gc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBjb250cm9scyBhdXRvcGxheSAgcHJlbG9hZD0iYXV0byI+DQogICAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvdW50aXRsZWQubXAzIj4NCjwvYXVkaW8+DQogPGRpdiBjbGFzcz0iY29sLXNtLTEyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQgZmFkZSBhbGVydC1zaW1wbGUgYWxlcnQtc3VjY2VzcyBhbGVydC1kaXNtaXNzaWJsZSB0ZXh0LWxlZnQgZm9udF9fZmFtaWx5LW1vbnRzZXJyYXQgZm9udF9fc2l6ZS0xNiBmb250X193ZWlnaHQtbGlnaHQgYnJrLWxpYnJhcnktcmVuZGVyZWQgcmVuZGVyZWQgc2hvdyI+DQogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSBmb250X19zaXplLTE4IiBkYXRhLWRpc21pc3M9ImFsZXJ0Ij4NCgkJCQkJCQkJCTxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj48YT4NCiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXRpbWVzIGdyZWVuY3Jvc3MiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgPC9hPjwvc3Bhbj4NCgkJCQkJCQkJCTxzcGFuIGNsYXNzPSJzci1vbmx5Ij48L3NwYW4+IA0KCQkJCQkJCQk8L2J1dHRvbj4NCiAgICAgICAgICA8aSBjbGFzcz0ic3RhcnQtaWNvbiBmYXIgZmEtY2hlY2stY2lyY2xlIGZhYS10YWRhIGFuaW1hdGVkIj48L2k+DQogICAgICAgICAgPHN0cm9uZyBjbGFzcz0iZm9udF9fd2VpZ2h0LXNlbWlib2xkIj5IaSBXZWxjb21lPC9zdHJvbmc+PEI+IFBhbmVsIEVuY3J5cHRpb24gQlk6LSBQUklOQ0VBQUxZQU48L0I+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogIDxkaXYgY2xhc3M9ImVhciI+PC9kaXY+DQogIDxkaXYgY2xhc3M9ImZhY2UiPg0KICAgIDxkaXYgY2xhc3M9ImV5ZS1zaGFkZSI+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0iZXllLXdoaXRlIj4NCiAgICAgIDxkaXYgY2xhc3M9ImV5ZS1iYWxsIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJleWUtc2hhZGUgcmd0Ij48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJleWUtd2hpdGUgcmd0Ij4NCiAgICAgIDxkaXYgY2xhc3M9ImV5ZS1iYWxsIj48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJub3NlIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtb3V0aCI+PC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJib2R5Ij4gPC9kaXY+DQogIDxkaXYgY2xhc3M9ImZvb3QiPg0KICAgIDxkaXYgY2xhc3M9ImZpbmdlciI+PC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJmb290IHJndCI+DQogICAgPGRpdiBjbGFzcz0iZmluZ2VyIj48L2Rpdj4NCiAgICANCiAgPC9kaXY+DQo8L2Rpdj4NCg0KDQo8c3R5bGU+DQogICAgYWxlcnQ+LnN0YXJ0LWljb24gew0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBtaW4td2lkdGg6IDIwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouYWxlcnQ+LnN0YXJ0LWljb24gew0KICAgIG1hcmdpbi1yaWdodDogNXB4Ow0KfQ0KDQouZ3JlZW5jcm9zcw0Kew0KICBmb250LXNpemU6MThweDsNCiAgICAgIGNvbG9yOiAjRkZGRkZGOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KfQ0KDQouYWxlcnQtc2ltcGxlLmFsZXJ0LXN1Y2Nlc3MNCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNiwgMjQxLCA2LCAwLjQ2KTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcsIDE0OSwgNjYsIDAuMTIxNTY4NjI3NDUwOTgwMzkpOw0KICAgIGJveC1zaGFkb3c6IDBweCAwcHggMnB4ICMyNTljMDg7DQogICAgY29sb3I6ICNGRkZGRkY7DQogIHRleHQtc2hhZG93OiAycHggMXB4ICMwMDA0MGE7DQogIHRyYW5zaXRpb246MC41czsNCiAgY3Vyc29yOnBvaW50ZXI7DQp9DQouYWxlcnQtc3VjY2Vzczpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCAxNDksIDY2LCAwLjM1KTsNCiAgdHJhbnNpdGlvbjowLjVzOw0KfQ0KLmFsZXJ0LXNpbXBsZS5hbGVydC1pbmZvDQp7DQogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNiwgNDQsIDI0MSwgMC40Nik7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCA3MywgMTQ5LCAwLjEyMTU2ODYyNzQ1MDk4MDM5KTsNCiAgICBib3gtc2hhZG93OiAwcHggMHB4IDJweCAjMDM5NmZmOw0KICAgIGNvbG9yOiAjMDM5NmZmOw0KICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtaW5mbzpob3Zlcg0Ke3gNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3LCA3MywgMTQ5LCAwLjM1KTsNCiAgdHJhbnNpdGlvbjowLjVzOw0KfQ0KDQouYmx1ZS1jcm9zcw0Kew0KICBmb250LXNpemU6IDE4cHg7DQogICAgY29sb3I6ICMwYmQyZmY7DQogICAgdGV4dC1zaGFkb3c6IG5vbmU7DQp9DQoNCi5hbGVydC1zaW1wbGUuYWxlcnQtd2FybmluZw0Kew0KICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDEsIDE0MiwgNiwgMC44MSk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDEyOCwgMSwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggI2ZmYjEwMzsNCiAgICBjb2xvcjogI2ZmYjEwMzsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtd2FybmluZzpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDEyOCwgMSwgMC4zMyk7DQogIHRyYW5zaXRpb246MC41czsNCn0NCg0KLndhcm5pbmcNCnsNCiAgICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBjb2xvcjogI2ZmYjQwYjsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCn0NCg0KLmFsZXJ0LXNpbXBsZS5hbGVydC1kYW5nZXINCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDEsIDYsIDYsIDAuODEpOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCAxNywgMSwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggI2ZmMDMwMzsNCiAgICBjb2xvcjogI2ZmMDMwMzsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtZGFuZ2VyOmhvdmVyDQp7DQogICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCAxNywgMSwgMC4zMyk7DQogIHRyYW5zaXRpb246MC41czsNCn0NCg0KLmRhbmdlcg0Kew0KICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGNvbG9yOiAjZmYwMzAzOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KfQ0KDQouYWxlcnQtc2ltcGxlLmFsZXJ0LXByaW1hcnkNCnsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2LCAyNDEsIDIyNiwgMC44MSk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAyMDQsIDIyMCwgMC4xNik7DQogICAgYm94LXNoYWRvdzogMHB4IDBweCAycHggIzAzZmZmNTsNCiAgICBjb2xvcjogIzAzZDBmZjsNCiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAjMDAwNDBhOw0KICB0cmFuc2l0aW9uOjAuNXM7DQogIGN1cnNvcjpwb2ludGVyOw0KfQ0KDQouYWxlcnQtcHJpbWFyeTpob3ZlcnsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAyMDQsIDIyMCwgMC4zMyk7DQogICB0cmFuc2l0aW9uOjAuNXM7DQp9DQoNCi5hbGVydHByaW1hcnkNCnsNCiAgICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBjb2xvcjogIzAzZDBmZjsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCn0NCg0KLnNxdWFyZV9ib3ggew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0NXB4Ow0KICAgIG9wYWNpdHk6IDAuMzAyOw0KfQ0KDQouc3F1YXJlX2JveC5ib3hfdGhyZWUgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMyOTBhNTkgMCUsICMzZDU3ZjQgMTAwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMyOTBhNTkgMCUsICMzZDU3ZjQgMTAwJSk7DQogICAgb3BhY2l0eTogMC4wNTk7DQogICAgbGVmdDogLTgwcHg7DQogICAgdG9wOiAtNjBweDsNCiAgICB3aWR0aDogNTAwcHg7DQogICAgaGVpZ2h0OiA1MDBweDsNCiAgICBib3JkZXItcmFkaXVzOiA0NXB4Ow0KfQ0KDQouc3F1YXJlX2JveC5ib3hfZm91ciB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTkwZGVnLCAjMjkwYTU5IDAlLCAjM2Q1N2Y0IDEwMCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzI5MGE1OSAwJSwgIzNkNTdmNCAxMDAlKTsNCiAgICBvcGFjaXR5OiAwLjA1OTsNCiAgICBsZWZ0OiAxNTBweDsNCiAgICB0b3A6IC0yNXB4Ow0KICAgIHdpZHRoOiA1NTBweDsNCiAgICBoZWlnaHQ6IDU1MHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7DQp9DQoNCi5hbGVydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ0cHgpOw0KICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7DQogICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQ7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGxlZnQ6IDA7DQogICAgdG9wOiA1MCU7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtNTAlKTsNCiAgICAgIGhlaWdodDogMjBweDsNCn0NCg0KLmZhLXRpbWVzDQp7DQotd2Via2l0LWFuaW1hdGlvbjogYmxpbmstMSAycyBpbmZpbml0ZSBib3RoOw0KCSAgICAgICAgYW5pbWF0aW9uOiBibGluay0xIDJzIGluZmluaXRlIGJvdGg7DQp9DQoNCg0KLyoqDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogKiBhbmltYXRpb24gYmxpbmstMQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICovDQpALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstMSB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgMjUlLA0KICA3NSUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCkBrZXlmcmFtZXMgYmxpbmstMSB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgMjUlLA0KICA3NSUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCjwvc3R5bGU+DQo8c3R5bGU+DQogIA0KQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PURhbmNpbmcrU2NyaXB0fFJvYm90byk7DQoqLCAqOmFmdGVyLCAqOmJlZm9yZSB7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCmJvZHkgew0KICBiYWNrZ3JvdW5kOiAjMDBmZmZjOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCg0KfQ0KDQoucGFuZGEgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHdpZHRoOiAyMDBweDsNCiAgbWFyZ2luOiA1MHB4IGF1dG87DQp9DQoNCi5mYWNlIHsNCiAgd2lkdGg6IDIwMHB4Ow0KICBoZWlnaHQ6IDIwMHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICBtYXJnaW46IDUwcHggYXV0bzsNCiAgYm94LXNoYWRvdzogMCAxMHB4IDE1cHggDQogIHJnYmEoMCwgMCwgMCwgMC4xNSk7DQogIHotaW5kZXg6IDUwOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5lYXIsIC5lYXI6YWZ0ZXIgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiA4MHB4Ow0KICBoZWlnaHQ6IDgwcHg7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIHotaW5kZXg6IDU7DQogIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmOw0KICBsZWZ0OiAtMTVweDsNCiAgdG9wOiAtMTVweDsNCiAgYm9yZGVyLXJhZGl1czogMTAwJTsNCn0NCg0KLmVhcjphZnRlciB7DQogIGNvbnRlbnQ6ICcnOw0KICBsZWZ0OiAxMjVweDsNCn0NCg0KLmV5ZS1zaGFkZSB7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIHdpZHRoOiA1MHB4Ow0KICBoZWlnaHQ6IDgwcHg7DQogIG1hcmdpbjogMTBweDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDM1cHg7DQogIGxlZnQ6IDI1cHg7DQogIHRyYW5zZm9ybTogcm90YXRlKDIyMGRlZyk7DQogIGJvcmRlci1yYWRpdXM6IDI1cHgvMjBweCANCiAgMzBweCAzNXB4IDQwcHg7DQp9DQouZXllLXNoYWRlLnJndCB7DQogIHRyYW5zZm9ybTogcm90YXRlKDE0MGRlZyk7DQogIGxlZnQ6IDEwNXB4Ow0KfQ0KDQouZXllLXdoaXRlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB3aWR0aDogMzBweDsNCiAgaGVpZ2h0OiAzMHB4Ow0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICB6LWluZGV4OiA1MDA7DQogIGxlZnQ6IDQwcHg7dG9wOiA4MHB4Ow0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQouZXllLXdoaXRlLnJndCB7DQogIHJpZ2h0OiA0MHB4Ow0KICBsZWZ0OiBhdXRvOw0KfQ0KDQouZXllLWJhbGwgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiAwcHg7DQogIGhlaWdodDogMHB4Ow0KICBsZWZ0OiAyMHB4O3RvcDogMjBweDsNCiAgbWF4LXdpZHRoOiAxMHB4Ow0KICBtYXgtaGVpZ2h0OiAxMHB4Ow0KICB0cmFuc2l0aW9uOiAwLjFzOw0KfQ0KDQouZXllLWJhbGw6YWZ0ZXIgew0KICBjb250ZW50OiAnJzsNCiAgYmFja2dyb3VuZDogIzAwMDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBib3JkZXItcmFkaXVzOiAxMDAlOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwcHg7DQogIHdpZHRoOiAyMHB4Ow0KICBoZWlnaHQ6IDIwcHg7DQp9DQoNCi5ub3NlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBoZWlnaHQ6IDIwcHg7DQogIHdpZHRoOiAzNXB4Ow0KICBib3R0b206IDQwcHg7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICBtYXJnaW46IGF1dG87DQogIGJvcmRlci1yYWRpdXM6IDUwcHggMjBweC8zMHB4IDE1cHg7DQogIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsNCiAgYmFja2dyb3VuZDogIzAwMDsNCn0NCg0KLmJvZHkgew0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMjAwcHg7DQogIGxlZnQ6IC0yMHB4Ow0KICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweC8xMjZweCAxMjZweCA5NnB4IDk2cHg7DQogIHdpZHRoOiAyNTBweDsNCiAgaGVpZ2h0OiAyODJweDsNCiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7DQp9DQoNCi5oYW5kLCAuaGFuZDphZnRlciwgLmhhbmQ6YmVmb3JlIHsNCiAgd2lkdGg6IDQwcHg7DQogIGhlaWdodDogMzBweDsNCiAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgYm94LXNoYWRvdzogMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7DQogIGJhY2tncm91bmQ6ICMwMDA7DQogIG1hcmdpbjogNXB4Ow0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogNzBweDsNCiAgbGVmdDogLTI1cHg7DQp9DQouaGFuZDphZnRlciwgLmhhbmQ6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIGxlZnQ6IC01cHg7DQogIHRvcDogMTFweDsNCn0NCi5oYW5kOmJlZm9yZSB7DQogIHRvcDogMjZweDsNCn0NCi5oYW5kLnJndCwgLnJndC5oYW5kOmFmdGVyLCAucmd0LmhhbmQ6YmVmb3JlIHsNCiAgbGVmdDogYXV0bzsNCiAgcmlnaHQ6IC0yNXB4Ow0KfQ0KLmhhbmQucmd0OmFmdGVyLCAuaGFuZC5yZ3Q6YmVmb3JlIHsNCiAgbGVmdDogYXV0bzsNCiAgcmlnaHQ6IC01cHg7DQp9DQoNCi5mb290IHsNCiAgdG9wOiAzNjBweDsNCiAgbGVmdDogLTgwcHg7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYmFja2dyb3VuZDogIzAwMDsNCiAgei1pbmRleDogMTQwMDsNCiAgYm94LXNoYWRvdzogMCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsNCiAgYm9yZGVyLXJhZGl1czogNDBweCA0MHB4IDM5cHggNDBweC8yNnB4IDI2cHggNjNweCA2M3B4Ow0KICB3aWR0aDogODJweDsNCiAgaGVpZ2h0OiAxMjBweDsNCn0NCi5mb290OmFmdGVyIHsNCiAgY29udGVudDogJyc7DQogIHdpZHRoOiA1NXB4Ow0KICBoZWlnaHQ6IDY1cHg7DQogIGJhY2tncm91bmQ6ICMyMjI7DQogIGJvcmRlci1yYWRpdXM6IDEwMCU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm90dG9tOiAxMHB4Ow0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgbWFyZ2luOiBhdXRvOw0KfQ0KLmZvb3QgLmZpbmdlciwgLmZvb3QgLmZpbmdlcjphZnRlciwgLmZvb3QgLmZpbmdlcjpiZWZvcmUgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiAyNXB4Ow0KICBoZWlnaHQ6IDM1cHg7DQogIGJhY2tncm91bmQ6ICMyMjI7DQogIGJvcmRlci1yYWRpdXM6IDEwMCU7DQogIHRvcDogMTBweDsNCiAgcmlnaHQ6IDVweDsNCn0NCi5mb290IC5maW5nZXI6YWZ0ZXIsIC5mb290IC5maW5nZXI6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIHJpZ2h0OiAzMHB4Ow0KICB3aWR0aDogMjBweDsNCiAgdG9wOiAwOw0KfQ0KLmZvb3QgLmZpbmdlcjpiZWZvcmUgew0KICByaWdodDogNTVweDsNCiAgdG9wOiA1cHg7DQp9DQouZm9vdC5yZ3Qgew0KICBsZWZ0OiBhdXRvOw0KICByaWdodDogLTgwcHg7DQp9DQouZm9vdC5yZ3QgLmZpbmdlciwgLmZvb3Qucmd0IC5maW5nZXI6YWZ0ZXIsIC5mb290LnJndCAuZmluZ2VyOmJlZm9yZSB7DQogIGxlZnQ6IDVweDsNCiAgcmlnaHQ6IGF1dG87DQp9DQouZm9vdC5yZ3QgLmZpbmdlcjphZnRlciB7DQogIGxlZnQ6IDMwcHg7DQogIHJpZ2h0OiBhdXRvOw0KfQ0KLmZvb3Qucmd0IC5maW5nZXI6YmVmb3JlIHsNCiAgbGVmdDogNTVweDsNCiAgcmlnaHQ6IGF1dG87DQp9DQoNCi5mb3JtIHsNCiAgZGlzcGxheTogbm9uZTsNCiAgbWF4LXdpZHRoOiA0MDBweDsNCiAgcGFkZGluZzogMjBweCA0MHB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBoZWlnaHQ6IDMwMHB4Ow0KICBtYXJnaW46IGF1dG87DQogIGRpc3BsYXk6IGJsb2NrOw0KICBib3gtc2hhZG93OiAwIDEwcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTUpOw0KICB0cmFuc2l0aW9uOiAwLjNzOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpOw0KICB6LWluZGV4OiA1MDA7DQogIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7DQp9DQouZm9ybS51cCB7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTgwcHgpOw0KfQ0KDQpoMSB7DQogIGNvbG9yOiAjMDAwOw0KICBmb250LWZhbWlseTogJ0RhbmNpbmcgU2NyaXB0JywgY3Vyc2l2ZTsNCn0NCg0KLmJ0biB7DQogIGJhY2tncm91bmQ6ICNmZmY7DQogIHBhZGRpbmc6IDVweDsNCiAgd2lkdGg6IDE1MHB4Ow0KICBoZWlnaHQ6IDM1cHg7DQogIGJvcmRlcjogMXB4IHNvbGlkICMwMGZmZmM7DQogIG1hcmdpbi10b3A6IDI1cHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgdHJhbnNpdGlvbjogMC4zczsNCiAgYm94LXNoYWRvdzogMCA1MHB4ICMwMGZmZmMgaW5zZXQ7DQogIGNvbG9yOiAjMDAwOw0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KLmJ0bjpob3ZlciB7DQogIGJveC1zaGFkb3c6IDAgMCAjMDBmZmZjIGluc2V0Ow0KICBjb2xvcjogIzAwMDsNCn0NCi5idG46Zm9jdXMgew0KICBvdXRsaW5lOiBub25lOw0KfQ0KDQouZm9ybS1ncm91cCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZm9udC1zaXplOiAxNXB4Ow0KICBjb2xvcjogIzY2NjsNCn0NCi5mb3JtLWdyb3VwICsgLmZvcm0tZ3JvdXAgew0KICBtYXJnaW4tdG9wOiAzMHB4Ow0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tbGFiZWwgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IDE7DQogIGxlZnQ6IDA7DQogIHRvcDogNXB4Ow0KICB0cmFuc2l0aW9uOiAwLjNzOw0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbCB7DQogIHdpZHRoOiAxMDAlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHotaW5kZXg6IDM7DQogIGhlaWdodDogMzVweDsNCiAgYmFja2dyb3VuZDogbm9uZTsNCiAgYm9yZGVyOiBub25lOw0KICBwYWRkaW5nOiA1cHggMDsNCiAgdHJhbnNpdGlvbjogMC4zczsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3Nzc7DQogIGNvbG9yOiAjNTU1Ow0KfQ0KLmZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbDppbnZhbGlkIHsNCiAgb3V0bGluZTogbm9uZTsNCn0NCi5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6Zm9jdXMsIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6dmFsaWQgew0KICBvdXRsaW5lOiBub25lOw0KICBib3gtc2hhZG93OiAwIDFweCAjMDBmZmZjOw0KICBib3JkZXItY29sb3I6ICMwMGZmZmM7DQp9DQouZm9ybS1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzICsgLmZvcm0tbGFiZWwsIC5mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2w6dmFsaWQgKyAuZm9ybS1sYWJlbCB7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgY29sb3I6ICMwMDA7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7DQp9DQoNCi5hbGVydCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgY29sb3I6ICNmMDA7DQogIGZvbnQtc2l6ZTogMTZweDsNCiAgcmlnaHQ6IC0xODBweDsNCiAgdG9wOiAtMzAwcHg7DQogIHotaW5kZXg6IDIwMDsNCiAgcGFkZGluZzogMzBweCAyNXB4Ow0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpOw0KICBib3JkZXItcmFkaXVzOiA1MCU7DQogIG9wYWNpdHk6IDA7DQogIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7DQogIC1tb3otdHJhbnNpdGlvbjogbGluZWFyIDAuNHMgMC42czsNCiAgLW8tdHJhbnNpdGlvbjogbGluZWFyIDAuNHMgMC42czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uOiBsaW5lYXIgMC40czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjZzOw0KICB0cmFuc2l0aW9uOiBsaW5lYXIgMC40cyAwLjZzOw0KfQ0KLmFsZXJ0OmFmdGVyLCAuYWxlcnQ6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgd2lkdGg6IDI1cHg7DQogIGhlaWdodDogMjVweDsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCiAgbGVmdDogLTE5cHg7DQogIGJvdHRvbTogLThweDsNCiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsNCiAgYm9yZGVyLXJhZGl1czogNTAlOw0KfQ0KLmFsZXJ0OmJlZm9yZSB7DQogIHdpZHRoOiAxNXB4Ow0KICBoZWlnaHQ6IDE1cHg7DQogIGxlZnQ6IC0zNXB4Ow0KICBib3R0b206IC0yNXB4Ow0KfQ0KDQoud3JvbmctZW50cnkgew0KICAtd2Via2l0LWFuaW1hdGlvbjogd3JvbmctbG9nIDAuM3M7DQogIGFuaW1hdGlvbjogd3JvbmctbG9nIDAuM3M7DQp9DQoud3JvbmctZW50cnkgLmFsZXJ0IHsNCiAgb3BhY2l0eTogMTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBleWUtYmxpbmsgew0KICB0byB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICB9DQp9DQpAa2V5ZnJhbWVzIGV5ZS1ibGluayB7DQogIHRvIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogIH0NCn0NCkAtd2Via2l0LWtleWZyYW1lcyB3cm9uZy1sb2cgew0KICAwJSwgMTAwJSB7DQogICAgbGVmdDogMHB4Ow0KICB9DQogIDIwJSAsIDYwJSB7DQogICAgbGVmdDogMjBweDsNCiAgfQ0KICA0MCUgLCA4MCUgew0KICAgIGxlZnQ6IC0yMHB4Ow0KICB9DQp9DQpAa2V5ZnJhbWVzIHdyb25nLWxvZyB7DQogIDAlLCAxMDAlIHsNCiAgICBsZWZ0OiAwcHg7DQogIH0NCiAgMjAlICwgNjAlIHsNCiAgICBsZWZ0OiAyMHB4Ow0KICB9DQogIDQwJSAsIDgwJSB7DQogICAgbGVmdDogLTIwcHg7DQogIH0NCn0NCg0KDQoNCg0KICAgICAgICAvKiAtLSBFeHRlcm5hbCBTb2NpYWwgTGluayBDU1MgU3R5bGVzIC0tICovDQoNCiAgICAgICAgI3NvdXJjZS1saW5rIHsNCiAgICAgICAgICAgIHRvcDogMTIwcHg7DQogICAgICAgIH0NCg0KICAgICAgICAjc291cmNlLWxpbms+aSB7DQogICAgICAgICAgICBjb2xvcjogcmdiKDk0LCAxMDYsIDIxMCk7DQogICAgICAgIH0NCg0KICAgICAgICAjeXQtbGluayB7DQogICAgICAgICAgICB0b3A6IDY1cHg7DQogICAgICAgIH0NCg0KICAgICAgICAjeXQtbGluaz5pIHsNCiAgICAgICAgICAgIGNvbG9yOiByZ2IoMjE5LCAzMSwgMTA2KTsNCg0KICAgICAgICB9DQoNCiAgICAgICAgI0Z1bmQtbGluayB7DQogICAgICAgICAgICB0b3A6IDEwcHg7DQogICAgICAgIH0NCg0KICAgICAgICAjRnVuZC1saW5rPmkgew0KICAgICAgICAgICAgY29sb3I6IHJnYigyNTUsIDI1MSwgMCk7DQoNCiAgICAgICAgfQ0KDQogICAgICAgIC5tZXRhLWxpbmsgew0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICAgICAgICAgICAgZ2FwOiA1cHg7DQogICAgICAgICAgICBsZWZ0OiAxMHB4Ow0KICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4Ow0KICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOw0KICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA2MDBtcywgYm9yZGVyLWNvbG9yIDYwMG1zOw0KICAgICAgICAgICAgei1pbmRleDogMTAwMDA7DQogICAgICAgIH0NCg0KICAgICAgICAubWV0YS1saW5rOmhvdmVyIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5tZXRhLWxpbms+aSwNCiAgICAgICAgLm1ldGEtbGluaz5zcGFuIHsNCiAgICAgICAgICAgIGhlaWdodDogMjBweDsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICB9DQoNCiAgICAgICAgLm1ldGEtbGluaz5zcGFuIHsNCiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAiUnViaWsiLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgNjAwbXM7DQogICAgICAgIH0NCjwvc3R5bGU+DQoNCjxkaXYgY2xhc3M9ImZvcm0iPg0KICAgICAgPGRpdiBjbGFzcz0iaGFuZCI+PC9kaXY+PD89ICR0aGlzLT5pbmNsdWRlKCdMYXlvdXQvbXNnU3RhdHVzJykgPz4NCiAgICAgIDxkaXYgY2xhc3M9ImhhbmQgcmd0Ij48L2Rpdj4NCiAgICAgIDxoMT7wnZCP8J2QkfCdkIjwnZCN8J2QgvCdkIQg8J2Qj/CdkIDwnZCN8J2QhPCdkIs8L2gxPg0KICAgICAgPD89IGZvcm1fb3BlbigpID8+DQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJ1c2VybmFtZSI+PC9sYWJlbD4NCiAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0idXNlcm5hbWUiIGlkPSJ1c2VybmFtZSIgYXJpYS1kZXNjcmliZWRieT0iaGVscC11c2VybmFtZSIgcGxhY2Vob2xkZXI9IllvdXIgdXNlcm5hbWUiIHJlcXVpcmVkIG1pbmxlbmd0aD0iNCI+DQogICAgICAgICAgPD9waHAgaWYgKCR2YWxpZGF0aW9uLT5oYXNFcnJvcigndXNlcm5hbWUnKSkgOiA/Pg0KICAgICAgICAgIDxzbWFsbCBpZD0iaGVscC11c2VybmFtZSIgY2xhc3M9ImZvcm0tdGV4dCB0ZXh0LWRhbmdlciI+PD89ICR2YWxpZGF0aW9uLT5nZXRFcnJvcigndXNlcm5hbWUnKSA/Pjwvc21hbGw+DQogICAgICAgICAgPD9waHAgZW5kaWY7ID8+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0icGFzc3dvcmQiPjwvbGFiZWw+DQogICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJwYXNzd29yZCIgaWQ9InBhc3N3b3JkIiBhcmlhLWRlc2NyaWJlZGJ5PSJoZWxwLXBhc3N3b3JkIiBwbGFjZWhvbGRlcj0iWW91ciBwYXNzd29yZCIgcmVxdWlyZWQgbWlubGVuZ3RoPSI2Ij4NCiAgICAgICAgICA8P3BocCBpZiAoJHZhbGlkYXRpb24tPmhhc0Vycm9yKCdwYXNzd29yZCcpKSA6ID8+DQogICAgICAgICAgPHNtYWxsIGlkPSJoZWxwLXBhc3N3b3JkIiBjbGFzcz0iZm9ybS10ZXh0IHRleHQtZGFuZ2VyIj48Pz0gJHZhbGlkYXRpb24tPmdldEVycm9yKCdwYXNzd29yZCcpID8+PC9zbWFsbD4NCiAgICAgICAgICA8P3BocCBlbmRpZjsgPz4NCiAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biI+PjxpIGNsYXNzPSJiaSBiaS1ib3gtYXJyb3ctaW4tcmlnaHQiID48L2k+IExvZyBpbjwvYnV0dG9uPg0KICAgICAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8cCBjbGFzcz0idGV4dC1jZW50ZXIgdGV4dC1kYXJrIGFmdGVyLWNhcmQiPg0KICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJiZy1kYXJrIHRleHQtd2hpdGUgcHgtYXV0byBwLTIgcm91bmRlZCI+DQogICAgICAgICAgICAgICAg8J2Qt/CdkZwg8J2Rm/CdkZzwnZGhIOKEjvCdkY7wnZGj8J2RkiDwnZGO8J2RmyDwnZC08J2RkPCdkZDwnZGc8J2RovCdkZvwnZGhIPCdkYzwnZGS8J2RoT8NCiAgICAgICAgICAgICAgICA8YSBocmVmPSI8Pz0gc2l0ZV91cmwoJ3JlZ2lzdGVyJykgPz4iIGNsYXNzPSJ0ZXh0LXdoaXRlIj7wnZG58J2ShvCdkojwnZKK8J2SlPCdkpXwnZKG8J2SkyDwnZGv8J2ShvCdkpPwnZKGPC9hPg0KICAgICAgICA8L3NtYWxsPg0KICAgICAgPC9wPg0KICAgICAgICAgICAgIDxkaXY+DQoNCiAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTk5cHg7IG1hcmdpbjogYXV0bzsiIGNsYXNzPSJidXR0b24tODUiIG9uY2xpY2s9ImJ1eSgpIiBzdHlsZT0ibWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzsiPvCdkIHwnZCU8J2QmCDwnZCR8J2QhPCdkIXwnZCE8J2QkfCdkIDwnZCLPC9kaXY+PC9wPg0KICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgIDxkaXY+ICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDE5OXB4OyBtYXJnaW46IGF1dG87IiBjbGFzcz0iYnV0dG9uLTg1IiBvbmNsaWNrPSJqb2luKCkiIHN0eWxlPSJtYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvOyI+8J2QifCdkI7wnZCI8J2QjSDwnZCT8J2QhPCdkIvwnZCE8J2QhvCdkJHwnZCA8J2QjDwvZGl2PiAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPC9wPg0KICAgICAgICA8L2Rpdj4NCg0KDQo8c2NyaXB0Pg0KICAkKCcjcGFzc3dvcmQnKS5mb2N1c2luKGZ1bmN0aW9uKCl7DQogICAgICAkKCdmb3JtJykuYWRkQ2xhc3MoJ3VwJykNCiAgICB9KTsNCiAgICAkKCcjcGFzc3dvcmQnKS5mb2N1c291dChmdW5jdGlvbigpew0KICAgICAgJCgnZm9ybScpLnJlbW92ZUNsYXNzKCd1cCcpDQogICAgfSk7DQogICAgDQogICAgLy8gUGFuZGEgRXllIG1vdmUNCiAgICAkKGRvY3VtZW50KS5vbiggIm1vdXNlbW92ZSIsIGZ1bmN0aW9uKCBldmVudCApIHsNCiAgICAgIHZhciBkdyA9ICQoZG9jdW1lbnQpLndpZHRoKCkgLyAxNTsNCiAgICAgIHZhciBkaCA9ICQoZG9jdW1lbnQpLmhlaWdodCgpIC8gMTU7DQogICAgICB2YXIgeCA9IGV2ZW50LnBhZ2VYLyBkdzsNCiAgICAgIHZhciB5ID0gZXZlbnQucGFnZVkvIGRoOw0KICAgICAgJCgnLmV5ZS1iYWxsJykuY3NzKHsNCiAgICAgICAgd2lkdGggOiB4LA0KICAgICAgICBoZWlnaHQgOiB5DQogICAgICB9KTsNCiAgICB9KTsNCiAgICANCiAgICAvLyB2YWxpZGF0aW9uDQogICAgDQogICAgDQogICAgJCgnLmJ0bicpLmNsaWNrKGZ1bmN0aW9uKCl7DQogICAgICAkKCdmb3JtJykuYWRkQ2xhc3MoJ3dyb25nLWVudHJ5Jyk7DQogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgDQogICAgICAgICAgICQoJ2Zvcm0nKS5yZW1vdmVDbGFzcygnd3JvbmctZW50cnknKTsNCiAgICAgICAgIH0sMzAwMCApOw0KICAgIH0pOw0KICAgIA0KICAgIA0KICAgIA0KICAgIA0KICAgIDwvc2NyaXB0Pg0KDQoNCg0KPD89ICR0aGlzLT5lbmRTZWN0aW9uKCkgPz4=")); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 93038697ca46ec9f8b19fa4717c11f2c |
Eval Count | 1 |
Decode Time | 129 ms |