Files
rspade_system/storage-broken/rsx-tmp/scss_d1fd6213687b5df6.css
root 77b4d10af8 Refactor filename naming system and apply convention-based renames
Standardize settings file naming and relocate documentation files
Fix code quality violations from rsx:check
Reorganize user_management directory into logical subdirectories
Move Quill Bundle to core and align with Tom Select pattern
Simplify Site Settings page to focus on core site information
Complete Phase 5: Multi-tenant authentication with login flow and site selection
Add route query parameter rule and synchronize filename validation logic
Fix critical bug in UpdateNpmCommand causing missing JavaScript stubs
Implement filename convention rule and resolve VS Code auto-rename conflict
Implement js-sanitizer RPC server to eliminate 900+ Node.js process spawns
Implement RPC server architecture for JavaScript parsing
WIP: Add RPC server infrastructure for JS parsing (partial implementation)
Update jqhtml terminology from destroy to stop, fix datagrid DOM preservation
Add JQHTML-CLASS-01 rule and fix redundant class names
Improve code quality rules and resolve violations
Remove legacy fatal error format in favor of unified 'fatal' error type
Filter internal keys from window.rsxapp output
Update button styling and comprehensive form/modal documentation
Add conditional fly-in animation for modals
Fix non-deterministic bundle compilation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 19:10:02 +00:00

721 lines
71 KiB
CSS
Executable File

/* ======= FILE: app/RSpade/Integrations/Jqhtml/Jqhtml_Integration.scss ======= */
.Jqhtml_Component_Init {
display: none;
}
/* ======= FILE: rsx/theme/variables.scss ======= */
/* ======= FILE: rsx/theme/components/datagrid/datagrid_abstract.scss ======= */
/**
* DataGrid Component Styles (Phase 1)
*
* **Responsive Strategy**:
* - Desktop (>= 768px): Table layout
* - Mobile (< 768px): Card layout (Phase 1 - basic, will enhance in future)
*
* **Design Philosophy**:
* - Clean, minimal styling
* - Bootstrap 5 compatible
* - No shadows or excessive borders
* - Touch-friendly tap targets on mobile
*/
.DataGrid {
/* Container */
}
.DataGrid {
/* Loading State */
}
.DataGrid .datagrid-loading {
text-align: center;
padding: 60px 20px;
}
.DataGrid .datagrid-loading .spinner-border {
width: 3rem;
height: 3rem;
}
.DataGrid {
/* Desktop: Table Layout */
}
.DataGrid table thead th {
background-color: #f8f9fa;
border-bottom: 2px solid #dee2e6;
font-weight: 600;
white-space: nowrap;
vertical-align: middle;
padding: 0.75rem 0.75rem;
}
.DataGrid table thead th .sortable-header {
cursor: pointer;
user-select: none;
color: inherit;
text-decoration: none;
display: inline-flex;
align-items: center;
}
.DataGrid table thead th .sortable-header:hover {
color: inherit;
text-decoration: underline;
}
.DataGrid table thead th .sortable-header i {
margin-left: 5px;
font-size: 0.8em;
vertical-align: middle;
color: #0d6efd;
}
.DataGrid table tbody {
display: table-row-group;
position: relative;
}
.DataGrid table tbody.is-loading tr.loading-row td,
.DataGrid table tbody.is-loading tr.empty-row td, .DataGrid table tbody.is-empty tr.loading-row td,
.DataGrid table tbody.is-empty tr.empty-row td {
vertical-align: middle;
height: 100%;
}
.DataGrid table tbody tr:hover:not(.loading-row):not(.empty-row) {
background-color: #f8f9fa;
}
.DataGrid table tbody tr td {
vertical-align: middle;
padding: 0 0.75rem;
}
.DataGrid table tbody tr td .datagrid-row-link {
display: block;
color: inherit;
text-decoration: none;
width: 100%;
height: 100%;
}
.DataGrid table tbody tr td .datagrid-row-link:hover {
color: inherit;
text-decoration: none;
}
.DataGrid table tbody tr td.has-only-text {
padding: 0.75rem 0.75rem;
}
.DataGrid table tbody tr td.has-full-link {
padding: 0;
}
.DataGrid table tbody tr td.has-full-link > a {
display: block;
padding: 0.75rem 0.75rem;
color: inherit;
text-decoration: none;
}
.DataGrid table tbody tr td.has-full-link > a:hover {
color: inherit;
text-decoration: none;
}
.DataGrid table th:first-child,
.DataGrid table td:first-child {
text-align: center;
width: 40px;
}
.DataGrid {
/* Empty State */
}
.DataGrid .datagrid-empty {
text-align: center;
padding: 60px 20px;
}
.DataGrid .datagrid-empty i {
display: block;
margin-bottom: 1rem;
}
.DataGrid {
/* Mobile Responsive (< 768px) - Phase 1 keeps table, will add cards later */
}
@media (max-width: 767px) {
.DataGrid table {
font-size: 0.875rem;
}
.DataGrid table thead th {
padding: 0.5025rem 0.5025rem;
}
.DataGrid table tbody td {
padding: 0 0.5025rem;
}
.DataGrid table tbody td.has-only-text {
padding: 0.5025rem 0.5025rem;
}
.DataGrid table tbody td.has-full-link > a {
padding: 0.5025rem 0.5025rem;
}
}
.DataGrid {
/* Print Styles */
}
@media print {
.DataGrid input[type=checkbox] {
display: none !important;
}
.DataGrid .datagrid-table-wrapper {
overflow: visible;
}
.DataGrid .datagrid-table tbody tr:hover {
background-color: transparent;
}
}
/* ======= FILE: rsx/theme/components/_archived/unfinished/activity_feed.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/actor_reference.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/advanced_search_panel.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/alert_banner.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/avatar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/blockquote.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/breadcrumbs.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/bulk_action_bar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/bulk_selection.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/button_group.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/button_primary.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/button_secondary.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/button.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/calendar_event.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/calendar_grid.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/card.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/chart_component.scss ======= */
.Frontend_Dashboard .chart-placeholder {
min-height: 300px;
}
/* ======= FILE: rsx/theme/components/_archived/unfinished/checkbox.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/code_block.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/column_visibility_toggle.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/comment_thread.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/date_picker.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/dropdown_menu.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/empty_state.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/export_button.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/file_upload.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/filter_bar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/form_field_group.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/form_validation_message.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/gantt_chart.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/icon_button.scss ======= */
.Icon_Button {
padding: 0.375rem;
display: inline-flex;
align-items: center;
justify-content: center;
}
.Icon_Button .Icon {
display: block;
margin: 0;
}
/* ======= FILE: rsx/theme/components/_archived/unfinished/icon_with_label.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/icon_with_text.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/icon.scss ======= */
.icon {
display: inline-block;
width: 1.5rem;
height: 1.5rem;
vertical-align: middle;
}
.icon.icon-xs {
width: 1rem;
height: 1rem;
}
.icon.icon-sm {
width: 1.25rem;
height: 1.25rem;
}
.icon.icon-lg {
width: 2rem;
height: 2rem;
}
.icon.icon-xl {
width: 3rem;
height: 3rem;
}
.icon.icon-xxs {
width: 0.75rem;
height: 0.75rem;
}
/* ======= FILE: rsx/theme/components/_archived/unfinished/info_box.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/inline_edit_field.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/input_with_icon.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/input_with_validation.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/input.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/kanban_board.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/link.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/list.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/loading_skeleton.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/metric_card.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/mobile_header.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/modal_dialog.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/multi_select.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/notification_badge.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/notification_dropdown.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/overdue_indicator.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/page_header.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/page_section.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/page.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/popover.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/progress_bar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/radio_button.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/rich_text_editor.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/row_action_menu.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/search_bar.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/searchable_select.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/select_dropdown.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/sidebar_nav.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/sortable_column_header.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/spinner.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/stat_card.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/status_badge.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tab_content.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/table_pagination.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/table.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tabs.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tag_group.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tag.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/text_display.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/textarea.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/three_column_layout.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/time_picker.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/timeline.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/timestamp_display.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/tooltip.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/top_nav.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/trend_indicator.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/two_column_layout.scss ======= */
/* ======= FILE: rsx/theme/components/_archived/unfinished/user_avatar_dropdown.scss ======= */
/* ======= FILE: rsx/theme/components/modal/rsx_modal.scss ======= */
/**
* Rsx_Modal Styling
*
* Overrides Bootstrap modal defaults to implement custom sizing and behavior
*/
.rsx-modal.modal {
display: flex !important;
align-items: center;
justify-content: center;
opacity: 0;
}
.rsx-modal.modal.show {
opacity: 1;
}
.rsx-modal .modal-dialog {
margin: 0;
max-width: none;
width: auto;
min-width: 400px;
}
.rsx-modal .modal-content {
max-height: 100%;
display: flex;
flex-direction: column;
min-height: 260px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.rsx-modal .modal-header {
flex-shrink: 0;
border-bottom: 1px solid #dee2e6;
background-color: #f8f9fa;
padding: 0.75rem 1rem;
}
.rsx-modal .modal-header .modal-title {
font-weight: 600;
font-size: 1rem;
}
.rsx-modal .modal-header .btn-close {
padding: 0.5rem;
margin: -0.5rem -0.5rem -0.5rem auto;
}
.rsx-modal .modal-body {
flex: 1 1 auto;
overflow-y: auto;
padding: 1.5rem;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.rsx-modal .modal-body form {
text-align: left;
width: 100%;
}
.rsx-modal .modal-body.has-icon {
justify-content: flex-start;
text-align: left;
}
.rsx-modal .modal-body.has-icon .modal-icon {
flex-shrink: 0;
font-size: 40px;
margin-right: 1rem;
align-self: flex-start;
}
.rsx-modal .modal-body.has-icon .modal-icon.bi-exclamation-circle {
color: #dc3545;
}
.rsx-modal .modal-body.has-icon .modal-body-content {
flex: 1;
}
.rsx-modal .modal-footer {
flex-shrink: 0;
border-top: 1px solid #dee2e6;
padding: 1rem 1.5rem;
display: flex;
gap: 0.5rem;
justify-content: center;
}
.rsx-modal .modal-footer .btn {
min-width: 80px;
}
.rsx-modal .modal-dialog {
transition: transform 150ms ease-out, opacity 150ms ease-out;
}
.modal-backdrop {
position: fixed;
top: 0;
left: 0;
z-index: 1040;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.5);
}
.modal-backdrop.fade {
opacity: 1;
transition: none;
}
.rsx-modal {
z-index: 1050;
}
@media (max-width: 767px) {
.rsx-modal .modal-dialog {
margin: 5%;
max-width: 90%;
min-width: 280px;
}
.rsx-modal .modal-body {
padding: 1rem;
}
.rsx-modal .modal-footer {
padding: 0.75rem 1rem;
}
.rsx-modal .modal-footer .btn {
min-width: 60px;
font-size: 0.875rem;
}
}
.rsx-modal .modal-body .is-invalid {
border-color: #dc3545;
}
.rsx-modal .modal-body .invalid-feedback {
display: block;
color: #dc3545;
font-size: 0.875rem;
margin-top: 0.25rem;
}
.rsx-modal .modal-body .alert {
margin-bottom: 1rem;
}
/* ======= FILE: rsx/theme/components/forms/pin_verification_form.scss ======= */
.Pin_Verification_Form .pin-inputs .pin-input {
width: 50px;
height: 60px;
font-size: 24px;
font-weight: 600;
padding: 0;
border: 2px solid #dee2e6;
border-radius: 8px;
transition: all 0.2s ease;
}
.Pin_Verification_Form .pin-inputs .pin-input:focus {
border-color: #0d6efd;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
outline: 0;
}
.Pin_Verification_Form .pin-inputs .pin-input.is-invalid {
border-color: #dc3545;
}
.Pin_Verification_Form .text-muted {
margin-top: 10px;
}
/* ======= FILE: rsx/app/login/signup/signup_index.scss ======= */
/**
* Signup page styles
*/
/* ======= FILE: rsx/app/login/login_index.scss ======= */
.Login_Index .pagemodal-card {
max-width: 400px;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdG9yYWdlL3JzeC10bXAvc2Nzc19jb21waWxlXzY5MTRkZmExMDM4YTQvYXBwLnNjc3MiLCJhcHAvUlNwYWRlL0ludGVncmF0aW9ucy9KcWh0bWwvSnFodG1sX0ludGVncmF0aW9uLnNjc3MiLCJyc3gvdGhlbWUvY29tcG9uZW50cy9kYXRhZ3JpZC9kYXRhZ3JpZF9hYnN0cmFjdC5zY3NzIiwicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2hhcnRfY29tcG9uZW50LnNjc3MiLCJyc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pY29uX2J1dHRvbi5zY3NzIiwicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbi5zY3NzIiwicnN4L3RoZW1lL2NvbXBvbmVudHMvbW9kYWwvcnN4X21vZGFsLnNjc3MiLCJyc3gvdGhlbWUvY29tcG9uZW50cy9mb3Jtcy9waW5fdmVyaWZpY2F0aW9uX2Zvcm0uc2NzcyIsInJzeC9hcHAvbG9naW4vc2lnbnVwL3NpZ251cF9pbmRleC5zY3NzIiwicnN4L2FwcC9sb2dpbi9sb2dpbl9pbmRleC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0FDSEE7RUFDSTs7O0FESUo7QUFFQTtBQUVBO0FBRUE7QUVYQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWtCQTtBQUNJOztBQURKO0FBTUk7O0FBQ0E7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFiWjtBQWlCSTs7QUFLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFLWjtFQUdJO0VBQ0E7O0FBUVE7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7QUFPWjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUtSO0VBQ0k7O0FBSUo7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFRcEI7QUFBQTtFQUVJO0VBQ0E7O0FBNUhaO0FBaUlJOztBQUNBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBeElaO0FBNElJOztBQUNBO0VBQ0k7SUFDSTs7RUFFQTtJQUNJOztFQUdKO0lBQ0k7O0VBRUE7SUFDSTs7RUFHSjtJQUNJOzs7QUE3SnBCO0FBbUtJOztBQUNBO0VBRUk7SUFDSTs7RUFJSjtJQUNJOztFQUlKO0lBQ0k7Ozs7QUZ0TFo7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUc5RUU7RUFDRTs7O0FIK0VKO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FJdElBO0VBRUU7RUFHQTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBOzs7QUo0SEo7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FLbEpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FMdUhKO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FNM1ZBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVSTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7O0FBSVI7RUFDSTs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFPUjtFQUVJOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTs7O0FBS1I7RUFDSTs7O0FBSUo7RUFFUTtJQUNJO0lBQ0E7SUFDQTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7O0VBRUE7SUFDSTtJQUNBOzs7QUFTUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7O0FOMEtaO0FBRUE7QU83VlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBS1o7RUFDSTs7O0FQd1VSO0FBRUE7QVFuV0E7QUFBQTtBQUFBO0FScVdBO0FBRUE7QVNuV0k7RUFDSTs7O0FUb1dSIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTWFzdGVyIFNDU1MgZmlsZSAtIEdlbmVyYXRlZCBieSBTY3NzUHJvY2Vzc29yXG4vLyBUaGlzIGZpbGUgaW1wb3J0cyBhbGwgU0NTUyBmaWxlcyBpbiB0aGUgYnVuZGxlIGluIG9yZGVyXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogYXBwL1JTcGFkZS9JbnRlZ3JhdGlvbnMvSnFodG1sL0pxaHRtbF9JbnRlZ3JhdGlvbi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9hcHBcXC9SU3BhZGVcXC9JbnRlZ3JhdGlvbnNcXC9KcWh0bWxcXC9KcWh0bWxfSW50ZWdyYXRpb24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogYXBwL1JTcGFkZS9JbnRlZ3JhdGlvbnMvSnFodG1sL0pxaHRtbF9JbnRlZ3JhdGlvbi5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC90aGVtZS92YXJpYWJsZXMuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC92YXJpYWJsZXMuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL3ZhcmlhYmxlcy5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC90aGVtZS9jb21wb25lbnRzL2RhdGFncmlkL2RhdGFncmlkX2Fic3RyYWN0LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL2RhdGFncmlkXFwvZGF0YWdyaWRfYWJzdHJhY3Quc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvZGF0YWdyaWQvZGF0YWdyaWRfYWJzdHJhY3Quc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hY3Rpdml0eV9mZWVkLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9hY3Rpdml0eV9mZWVkLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2FjdGl2aXR5X2ZlZWQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hY3Rvcl9yZWZlcmVuY2Uuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2FjdG9yX3JlZmVyZW5jZS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hY3Rvcl9yZWZlcmVuY2Uuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hZHZhbmNlZF9zZWFyY2hfcGFuZWwuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2FkdmFuY2VkX3NlYXJjaF9wYW5lbC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hZHZhbmNlZF9zZWFyY2hfcGFuZWwuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hbGVydF9iYW5uZXIuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2FsZXJ0X2Jhbm5lci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hbGVydF9iYW5uZXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hdmF0YXIuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2F2YXRhci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9hdmF0YXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9ibG9ja3F1b3RlLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9ibG9ja3F1b3RlLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2Jsb2NrcXVvdGUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9icmVhZGNydW1icy5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvYnJlYWRjcnVtYnMuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnJlYWRjcnVtYnMuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idWxrX2FjdGlvbl9iYXIuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2J1bGtfYWN0aW9uX2Jhci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idWxrX2FjdGlvbl9iYXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idWxrX3NlbGVjdGlvbi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvYnVsa19zZWxlY3Rpb24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnVsa19zZWxlY3Rpb24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idXR0b25fZ3JvdXAuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2J1dHRvbl9ncm91cC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idXR0b25fZ3JvdXAuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idXR0b25fcHJpbWFyeS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvYnV0dG9uX3ByaW1hcnkuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvYnV0dG9uX3ByaW1hcnkuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idXR0b25fc2Vjb25kYXJ5LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9idXR0b25fc2Vjb25kYXJ5LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2J1dHRvbl9zZWNvbmRhcnkuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idXR0b24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2J1dHRvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9idXR0b24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jYWxlbmRhcl9ldmVudC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvY2FsZW5kYXJfZXZlbnQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2FsZW5kYXJfZXZlbnQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jYWxlbmRhcl9ncmlkLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9jYWxlbmRhcl9ncmlkLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2NhbGVuZGFyX2dyaWQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jYXJkLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9jYXJkLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2NhcmQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jaGFydF9jb21wb25lbnQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2NoYXJ0X2NvbXBvbmVudC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jaGFydF9jb21wb25lbnQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jaGVja2JveC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvY2hlY2tib3guc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY2hlY2tib3guc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jb2RlX2Jsb2NrLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9jb2RlX2Jsb2NrLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2NvZGVfYmxvY2suc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jb2x1bW5fdmlzaWJpbGl0eV90b2dnbGUuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2NvbHVtbl92aXNpYmlsaXR5X3RvZ2dsZS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jb2x1bW5fdmlzaWJpbGl0eV90b2dnbGUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9jb21tZW50X3RocmVhZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvY29tbWVudF90aHJlYWQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvY29tbWVudF90aHJlYWQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9kYXRlX3BpY2tlci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZGF0ZV9waWNrZXIuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZGF0ZV9waWNrZXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9kcm9wZG93bl9tZW51LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9kcm9wZG93bl9tZW51LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2Ryb3Bkb3duX21lbnUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9lbXB0eV9zdGF0ZS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZW1wdHlfc3RhdGUuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZW1wdHlfc3RhdGUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9leHBvcnRfYnV0dG9uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9leHBvcnRfYnV0dG9uLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2V4cG9ydF9idXR0b24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9maWxlX3VwbG9hZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZmlsZV91cGxvYWQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZmlsZV91cGxvYWQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9maWx0ZXJfYmFyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9maWx0ZXJfYmFyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2ZpbHRlcl9iYXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9mb3JtX2ZpZWxkX2dyb3VwLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9mb3JtX2ZpZWxkX2dyb3VwLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2Zvcm1fZmllbGRfZ3JvdXAuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9mb3JtX3ZhbGlkYXRpb25fbWVzc2FnZS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZm9ybV92YWxpZGF0aW9uX21lc3NhZ2Uuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZm9ybV92YWxpZGF0aW9uX21lc3NhZ2Uuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9nYW50dF9jaGFydC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvZ2FudHRfY2hhcnQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvZ2FudHRfY2hhcnQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pY29uX2J1dHRvbi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvaWNvbl9idXR0b24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbl9idXR0b24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pY29uX3dpdGhfbGFiZWwuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2ljb25fd2l0aF9sYWJlbC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pY29uX3dpdGhfbGFiZWwuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pY29uX3dpdGhfdGV4dC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvaWNvbl93aXRoX3RleHQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaWNvbl93aXRoX3RleHQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pY29uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9pY29uLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2ljb24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pbmZvX2JveC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvaW5mb19ib3guc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5mb19ib3guc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pbmxpbmVfZWRpdF9maWVsZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvaW5saW5lX2VkaXRfZmllbGQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5saW5lX2VkaXRfZmllbGQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pbnB1dF93aXRoX2ljb24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2lucHV0X3dpdGhfaWNvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pbnB1dF93aXRoX2ljb24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pbnB1dF93aXRoX3ZhbGlkYXRpb24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2lucHV0X3dpdGhfdmFsaWRhdGlvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pbnB1dF93aXRoX3ZhbGlkYXRpb24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9pbnB1dC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvaW5wdXQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvaW5wdXQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9rYW5iYW5fYm9hcmQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL2thbmJhbl9ib2FyZC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9rYW5iYW5fYm9hcmQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9saW5rLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9saW5rLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2xpbmsuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9saXN0LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9saXN0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2xpc3Quc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9sb2FkaW5nX3NrZWxldG9uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9sb2FkaW5nX3NrZWxldG9uLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL2xvYWRpbmdfc2tlbGV0b24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9tZXRyaWNfY2FyZC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvbWV0cmljX2NhcmQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvbWV0cmljX2NhcmQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9tb2JpbGVfaGVhZGVyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9tb2JpbGVfaGVhZGVyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL21vYmlsZV9oZWFkZXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9tb2RhbF9kaWFsb2cuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL21vZGFsX2RpYWxvZy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9tb2RhbF9kaWFsb2cuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9tdWx0aV9zZWxlY3Quc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL211bHRpX3NlbGVjdC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9tdWx0aV9zZWxlY3Quc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9ub3RpZmljYXRpb25fYmFkZ2Uuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL25vdGlmaWNhdGlvbl9iYWRnZS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9ub3RpZmljYXRpb25fYmFkZ2Uuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9ub3RpZmljYXRpb25fZHJvcGRvd24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL25vdGlmaWNhdGlvbl9kcm9wZG93bi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9ub3RpZmljYXRpb25fZHJvcGRvd24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9vdmVyZHVlX2luZGljYXRvci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvb3ZlcmR1ZV9pbmRpY2F0b3Iuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvb3ZlcmR1ZV9pbmRpY2F0b3Iuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wYWdlX2hlYWRlci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvcGFnZV9oZWFkZXIuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvcGFnZV9oZWFkZXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wYWdlX3NlY3Rpb24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3BhZ2Vfc2VjdGlvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wYWdlX3NlY3Rpb24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wYWdlLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9wYWdlLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3BhZ2Uuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wb3BvdmVyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9wb3BvdmVyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3BvcG92ZXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wcm9ncmVzc19iYXIuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3Byb2dyZXNzX2Jhci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9wcm9ncmVzc19iYXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9yYWRpb19idXR0b24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3JhZGlvX2J1dHRvbi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9yYWRpb19idXR0b24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9yaWNoX3RleHRfZWRpdG9yLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9yaWNoX3RleHRfZWRpdG9yLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3JpY2hfdGV4dF9lZGl0b3Iuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9yb3dfYWN0aW9uX21lbnUuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3Jvd19hY3Rpb25fbWVudS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9yb3dfYWN0aW9uX21lbnUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zZWFyY2hfYmFyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9zZWFyY2hfYmFyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3NlYXJjaF9iYXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zZWFyY2hhYmxlX3NlbGVjdC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvc2VhcmNoYWJsZV9zZWxlY3Quc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc2VhcmNoYWJsZV9zZWxlY3Quc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zZWxlY3RfZHJvcGRvd24uc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3NlbGVjdF9kcm9wZG93bi5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zZWxlY3RfZHJvcGRvd24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zaWRlYmFyX25hdi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvc2lkZWJhcl9uYXYuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvc2lkZWJhcl9uYXYuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zb3J0YWJsZV9jb2x1bW5faGVhZGVyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9zb3J0YWJsZV9jb2x1bW5faGVhZGVyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3NvcnRhYmxlX2NvbHVtbl9oZWFkZXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zcGlubmVyLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC9zcGlubmVyLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3NwaW5uZXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zdGF0X2NhcmQuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3N0YXRfY2FyZC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zdGF0X2NhcmQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zdGF0dXNfYmFkZ2Uuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3N0YXR1c19iYWRnZS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC9zdGF0dXNfYmFkZ2Uuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWJfY29udGVudC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGFiX2NvbnRlbnQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFiX2NvbnRlbnQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWJsZV9wYWdpbmF0aW9uLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90YWJsZV9wYWdpbmF0aW9uLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RhYmxlX3BhZ2luYXRpb24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWJsZS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGFibGUuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGFibGUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWJzLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90YWJzLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RhYnMuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWdfZ3JvdXAuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RhZ19ncm91cC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWdfZ3JvdXAuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWcuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RhZy5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90YWcuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90ZXh0X2Rpc3BsYXkuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RleHRfZGlzcGxheS5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90ZXh0X2Rpc3BsYXkuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90ZXh0YXJlYS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGV4dGFyZWEuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGV4dGFyZWEuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90aHJlZV9jb2x1bW5fbGF5b3V0LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90aHJlZV9jb2x1bW5fbGF5b3V0LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RocmVlX2NvbHVtbl9sYXlvdXQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90aW1lX3BpY2tlci5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGltZV9waWNrZXIuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGltZV9waWNrZXIuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90aW1lbGluZS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGltZWxpbmUuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGltZWxpbmUuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90aW1lc3RhbXBfZGlzcGxheS5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdGltZXN0YW1wX2Rpc3BsYXkuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdGltZXN0YW1wX2Rpc3BsYXkuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90b29sdGlwLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90b29sdGlwLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3Rvb2x0aXAuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90b3BfbmF2LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL19hcmNoaXZlZFxcL3VuZmluaXNoZWRcXC90b3BfbmF2LnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL3RvcF9uYXYuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90cmVuZF9pbmRpY2F0b3Iuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvX2FyY2hpdmVkXFwvdW5maW5pc2hlZFxcL3RyZW5kX2luZGljYXRvci5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90cmVuZF9pbmRpY2F0b3Iuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC90d29fY29sdW1uX2xheW91dC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdHdvX2NvbHVtbl9sYXlvdXQuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdHdvX2NvbHVtbl9sYXlvdXQuc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9fYXJjaGl2ZWQvdW5maW5pc2hlZC91c2VyX2F2YXRhcl9kcm9wZG93bi5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC90aGVtZVxcL2NvbXBvbmVudHNcXC9fYXJjaGl2ZWRcXC91bmZpbmlzaGVkXFwvdXNlcl9hdmF0YXJfZHJvcGRvd24uc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvdXNlcl9hdmF0YXJfZHJvcGRvd24uc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvdGhlbWUvY29tcG9uZW50cy9tb2RhbC9yc3hfbW9kYWwuc2NzcyA9PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCJcXC92YXJcXC93d3dcXC9odG1sXFwvc3lzdGVtXFwvcnN4XFwvdGhlbWVcXC9jb21wb25lbnRzXFwvbW9kYWxcXC9yc3hfbW9kYWwuc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L3RoZW1lL2NvbXBvbmVudHMvbW9kYWwvcnN4X21vZGFsLnNjc3MgPT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PSBTVEFSVDogcnN4L3RoZW1lL2NvbXBvbmVudHMvZm9ybXMvcGluX3ZlcmlmaWNhdGlvbl9mb3JtLnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL3RoZW1lXFwvY29tcG9uZW50c1xcL2Zvcm1zXFwvcGluX3ZlcmlmaWNhdGlvbl9mb3JtLnNjc3NcIjtcbi8qID09PT09PT09PT09PSBFTkQ6IHJzeC90aGVtZS9jb21wb25lbnRzL2Zvcm1zL3Bpbl92ZXJpZmljYXRpb25fZm9ybS5zY3NzID09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT0gU1RBUlQ6IHJzeC9hcHAvbG9naW4vc2lnbnVwL3NpZ251cF9pbmRleC5zY3NzID09PT09PT09PT09PSAqL1xuQGltcG9ydCBcIlxcL3ZhclxcL3d3d1xcL2h0bWxcXC9zeXN0ZW1cXC9yc3hcXC9hcHBcXC9sb2dpblxcL3NpZ251cFxcL3NpZ251cF9pbmRleC5zY3NzXCI7XG4vKiA9PT09PT09PT09PT0gRU5EOiByc3gvYXBwL2xvZ2luL3NpZ251cC9zaWdudXBfaW5kZXguc2NzcyA9PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09IFNUQVJUOiByc3gvYXBwL2xvZ2luL2xvZ2luX2luZGV4LnNjc3MgPT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiXFwvdmFyXFwvd3d3XFwvaHRtbFxcL3N5c3RlbVxcL3JzeFxcL2FwcFxcL2xvZ2luXFwvbG9naW5faW5kZXguc2Nzc1wiO1xuLyogPT09PT09PT09PT09IEVORDogcnN4L2FwcC9sb2dpbi9sb2dpbl9pbmRleC5zY3NzID09PT09PT09PT09PSAqL1xuIiwiLkpxaHRtbF9Db21wb25lbnRfSW5pdCB7XG4gICAgZGlzcGxheTpub25lO1xufVxuIiwiLyoqXG4gKiBEYXRhR3JpZCBDb21wb25lbnQgU3R5bGVzIChQaGFzZSAxKVxuICpcbiAqICoqUmVzcG9uc2l2ZSBTdHJhdGVneSoqOlxuICogLSBEZXNrdG9wICg+PSA3NjhweCk6IFRhYmxlIGxheW91dFxuICogLSBNb2JpbGUgKDwgNzY4cHgpOiBDYXJkIGxheW91dCAoUGhhc2UgMSAtIGJhc2ljLCB3aWxsIGVuaGFuY2UgaW4gZnV0dXJlKVxuICpcbiAqICoqRGVzaWduIFBoaWxvc29waHkqKjpcbiAqIC0gQ2xlYW4sIG1pbmltYWwgc3R5bGluZ1xuICogLSBCb290c3RyYXAgNSBjb21wYXRpYmxlXG4gKiAtIE5vIHNoYWRvd3Mgb3IgZXhjZXNzaXZlIGJvcmRlcnNcbiAqIC0gVG91Y2gtZnJpZW5kbHkgdGFwIHRhcmdldHMgb24gbW9iaWxlXG4gKi9cblxuLy8gQ2VsbCBwYWRkaW5nIHZhbHVlcyAoRFJZIC0gZGVmaW5lZCBvbmNlLCByZXVzZWQgdGhyb3VnaG91dClcbiRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteTogMC43NXJlbTtcbiRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteDogMC43NXJlbTtcblxuLkRhdGFHcmlkIHtcbiAgICAvKiBDb250YWluZXIgKi9cbiAgICAmLmNhcmQtYm9keSB7XG4gICAgICAgIC8vIEluaGVyaXRzIEJvb3RzdHJhcCBjYXJkLWJvZHkgc3R5bGVzXG4gICAgfVxuXG4gICAgLyogTG9hZGluZyBTdGF0ZSAqL1xuICAgIC5kYXRhZ3JpZC1sb2FkaW5nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDIwcHg7XG5cbiAgICAgICAgLnNwaW5uZXItYm9yZGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVza3RvcDogVGFibGUgTGF5b3V0ICovXG4gICAgLy8gLmRhdGFncmlkLXRhYmxlLXdyYXBwZXIge1xuICAgIC8vIEluaGVyaXRzIEJvb3RzdHJhcCB0YWJsZS1yZXNwb25zaXZlXG5cbiAgICB0YWJsZSB7XG4gICAgICAgIHRoZWFkIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RlZTJlNjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteSAkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXg7XG5cbiAgICAgICAgICAgIC8vIFNvcnRhYmxlIGNvbHVtbiBoZWFkZXJzXG4gICAgICAgICAgICAuc29ydGFibGUtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBkNmVmZDsgLy8gQm9vdHN0cmFwIHByaW1hcnlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAvLyBGaXhlZCBtaW5pbXVtIGhlaWdodCBmb3IgY29uc2lzdGVudCBsYXlvdXQgKHNldCBkeW5hbWljYWxseSB2aWEgSlMpXG4gICAgICAgICAgICAvLyBQcmV2ZW50cyBqdW1waW5nIHdoZW4gc3dpdGNoaW5nIGJldHdlZW4gbG9hZGluZy9lbXB0eS9yZXN1bHRzIHN0YXRlc1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAvLyBMb2FkaW5nIGFuZCBlbXB0eSBzdGF0ZXNcbiAgICAgICAgICAgICYuaXMtbG9hZGluZyxcbiAgICAgICAgICAgICYuaXMtZW1wdHkge1xuICAgICAgICAgICAgICAgIC8vIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHkgd2l0aGluIGZpeGVkIGhlaWdodFxuICAgICAgICAgICAgICAgIHRyLmxvYWRpbmctcm93LFxuICAgICAgICAgICAgICAgIHRyLmVtcHR5LXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB0ciB7XG4gICAgICAgICAgICAmOmhvdmVyOm5vdCgubG9hZGluZy1yb3cpOm5vdCguZW1wdHktcm93KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXg7XG5cbiAgICAgICAgICAgICAgICAvLyBDZWxsIGNvbnRlbnRzIHdyYXBwZWQgaW4gbGlua3NcbiAgICAgICAgICAgICAgICAuZGF0YWdyaWQtcm93LWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gVGV4dC1vbmx5IGNlbGxzIGdldCB2ZXJ0aWNhbCBwYWRkaW5nXG4gICAgICAgICAgICAgICAgJi5oYXMtb25seS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGRhdGFncmlkLWNlbGwtcGFkZGluZy15ICRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBGdWxsLXdpZHRoIGxpbmsgY2VsbHM6IHRyYW5zZmVyIHBhZGRpbmcgZnJvbSBjZWxsIHRvIGFuY2hvclxuICAgICAgICAgICAgICAgICYuaGFzLWZ1bGwtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGRhdGFncmlkLWNlbGwtcGFkZGluZy15ICRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2JveCBjb2x1bW5cbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIH1cblxuICAgIC8qIEVtcHR5IFN0YXRlICovXG4gICAgLmRhdGFncmlkLWVtcHR5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDIwcHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgUmVzcG9uc2l2ZSAoPCA3NjhweCkgLSBQaGFzZSAxIGtlZXBzIHRhYmxlLCB3aWxsIGFkZCBjYXJkcyBsYXRlciAqL1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuXG4gICAgICAgICAgICB0aGVhZCB0aCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogKCRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteSAqIDAuNjcpICgkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXggKiAwLjY3KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGJvZHkgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgKCRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteCAqIDAuNjcpO1xuXG4gICAgICAgICAgICAgICAgJi5oYXMtb25seS10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogKCRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteSAqIDAuNjcpICgkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXggKiAwLjY3KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmhhcy1mdWxsLWxpbmsgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogKCRkYXRhZ3JpZC1jZWxsLXBhZGRpbmcteSAqIDAuNjcpICgkZGF0YWdyaWQtY2VsbC1wYWRkaW5nLXggKiAwLjY3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBQcmludCBTdHlsZXMgKi9cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAvLyBIaWRlIGNoZWNrYm94ZXNcbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHBhbmQgdGFibGUgdG8gZnVsbCB3aWR0aFxuICAgICAgICAuZGF0YWdyaWQtdGFibGUtd3JhcHBlciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBob3ZlciBlZmZlY3RzXG4gICAgICAgIC5kYXRhZ3JpZC10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5Gcm9udGVuZF9EYXNoYm9hcmQge1xuICAuY2hhcnQtcGxhY2Vob2xkZXIge1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICB9XG59XG4iLCIvLyBJY29uIGJ1dHRvbiAtIGljb24tb25seSBidXR0b24gd2l0aCBwZXJmZWN0IGNlbnRlcmluZ1xuLkljb25fQnV0dG9uIHtcbiAgLy8gU3F1YXJlIHBhZGRpbmcgZm9yIGljb24tb25seSBidXR0b25zXG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xuXG4gIC8vIFBlcmZlY3QgY2VudGVyaW5nIHVzaW5nIGZsZXhib3hcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC8vIEljb24gZGlzcGxheSB3aXRoaW4gYnV0dG9uXG4gIC5JY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7IC8vIE92ZXJyaWRlIGFueSBpY29uIG1hcmdpbnNcbiAgfVxufVxuIiwiLy8gSWNvbiBzaXplIHV0aWxpdGllcyAtIGJhc2VkIG9uIFZvbHQgQm9vdHN0cmFwIDUgRGFzaGJvYXJkXG4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNXJlbTsgIC8vIDI0cHggLSBkZWZhdWx0IHNpemVcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgLy8gU2l6ZSB2YXJpYW50c1xuICAmLmljb24teHMge1xuICAgIHdpZHRoOiAxcmVtOyAgICAvLyAxNnB4XG4gICAgaGVpZ2h0OiAxcmVtO1xuICB9XG5cbiAgJi5pY29uLXNtIHtcbiAgICB3aWR0aDogMS4yNXJlbTsgLy8gMjBweFxuICAgIGhlaWdodDogMS4yNXJlbTtcbiAgfVxuXG4gICYuaWNvbi1sZyB7XG4gICAgd2lkdGg6IDJyZW07ICAgIC8vIDMycHhcbiAgICBoZWlnaHQ6IDJyZW07XG4gIH1cblxuICAmLmljb24teGwge1xuICAgIHdpZHRoOiAzcmVtOyAgICAvLyA0OHB4XG4gICAgaGVpZ2h0OiAzcmVtO1xuICB9XG5cbiAgJi5pY29uLXh4cyB7XG4gICAgd2lkdGg6IDAuNzVyZW07IC8vIDEycHhcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gIH1cbn1cbiIsIi8qKlxuICogUnN4X01vZGFsIFN0eWxpbmdcbiAqXG4gKiBPdmVycmlkZXMgQm9vdHN0cmFwIG1vZGFsIGRlZmF1bHRzIHRvIGltcGxlbWVudCBjdXN0b20gc2l6aW5nIGFuZCBiZWhhdmlvclxuICovXG5cbi8vIEBTQ1NTLUFOSU0tMDEtRVhDRVBUSU9OIC0gTW9kYWwgZmx5LWluIGFuaW1hdGlvbiBpcyBpbnRlbnRpb25hbCBVWFxuXG4ucnN4LW1vZGFsIHtcbiAgICAvLyBEaXNwbGF5IGFzIGZsZXggZm9yIGNlbnRlcmluZ1xuICAgICYubW9kYWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLCB3ZSBjb250cm9sIHBvc2l0aW9uaW5nXG4gICAgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiA0MDBweDsgLy8gTWluaW11bSB3aWR0aCBsaWtlIHN0YW5kYXJkIE9TIGFsZXJ0IGJveGVzXG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIGNvbnRlbnQgZG9lc24ndCBvdmVyZmxvd1xuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMjYwcHg7IC8vIE1pbmltdW0gaGVpZ2h0IGZvciByZWFzb25hYmxlIGFwcGVhcmFuY2VcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyAvLyBTdWJ0bGUgZHJvcCBzaGFkb3dcbiAgICB9XG5cbiAgICAvLyBIZWFkZXIgc3R5bGluZ1xuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7IC8vIFNsaWdodCBncmF5IGJhY2tncm91bmRcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtOyAvLyBTaG9ydGVyIGhlaWdodFxuXG4gICAgICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyAvLyBTbWFsbGVyIGZvbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4tY2xvc2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAtMC41cmVtIC0wLjVyZW0gLTAuNXJlbSBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9keSBjYW4gc2Nyb2xsIGlmIG5lZWRlZFxuICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAvLyBGb3JtcyBzaG91bGQgYmUgbGVmdC1hbGlnbmVkXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2hlbiBtb2RhbCBoYXMgYW4gaWNvblxuICAgICAgICAmLmhhcy1pY29uIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgIC5tb2RhbC1pY29uIHtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAvLyBFcnJvciBpY29uIGNvbG9yXG4gICAgICAgICAgICAgICAgJi5iaS1leGNsYW1hdGlvbi1jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2RjMzU0NTsgLy8gQm9vdHN0cmFwIGRhbmdlciByZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2RhbC1ib2R5LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb290ZXIgd2l0aCBidXR0b25zXG4gICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTW9kYWwgZGlhbG9nIHdpdGggb3B0aW9uYWwgYW5pbWF0aW9uXG4ucnN4LW1vZGFsIHtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgLy8gRW5hYmxlIHRyYW5zaXRpb25zIGZvciBmbHktaW4gYW5pbWF0aW9uXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBlYXNlLW91dCwgb3BhY2l0eSAxNTBtcyBlYXNlLW91dDtcbiAgICB9XG59XG5cbi8vIEJhY2tkcm9wIHN0eWxpbmdcbi5tb2RhbC1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwNDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuXG4gICAgLy8gUmVtb3ZlIGJhY2tkcm9wIGZhZGUgdHJhbnNpdGlvblxuICAgICYuZmFkZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vLyBFbnN1cmUgbW9kYWwgaXMgYWJvdmUgYmFja2Ryb3Bcbi5yc3gtbW9kYWwge1xuICAgIHotaW5kZXg6IDEwNTA7XG59XG5cbi8vIE1vYmlsZSBzcGVjaWZpYyBzdHlsZXNcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5yc3gtbW9kYWwge1xuICAgICAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgICAgIG1hcmdpbjogNSU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjgwcHg7IC8vIFNtYWxsZXIgbWluaW11bSBmb3IgbW9iaWxlIHNjcmVlbnNcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcblxuICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEZvcm0gZXJyb3Igc3R5bGluZyB3aXRoaW4gbW9kYWxzXG4ucnN4LW1vZGFsIHtcbiAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIC5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICNkYzM1NDU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGVydCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLlBpbl9WZXJpZmljYXRpb25fRm9ybSB7XG4gICAgLnBpbi1pbnB1dHMge1xuICAgICAgICAucGluLWlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZGVlMmU2O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGQ2ZWZkO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgxMywgMTEwLCAyNTMsIDAuMjUpO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtbXV0ZWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cbn1cbiIsIi8qKlxuICogU2lnbnVwIHBhZ2Ugc3R5bGVzXG4gKi9cblxuLlNpZ251cF9JbmRleCB7XG4gICAgLy8gU3R5bGVzIGhhbmRsZWQgYnkgTG9naW5fUGFnZW1vZGFsX0xheW91dFxufVxuIiwiLy8gTG9naW4gUGFnZSBTdHlsZXNcbi8vIEFsbCBzdHlsZXMgbXVzdCBiZSB3cmFwcGVkIGluIHRoZSB2aWV3J3MgUlNYIElEIGNsYXNzXG5cbi5Mb2dpbl9JbmRleCB7XG4gICAgLnBhZ2Vtb2RhbC1jYXJkIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG59Il19 */