From f2a20084e482a1208f605e17400727552fa715f9 Mon Sep 17 00:00:00 2001 From: GaalexxC Date: Sat, 13 Apr 2019 18:34:08 -0400 Subject: [PATCH 1/8] dev 1.0.1 --- src/IPS4.3/SideNote.xml | 48 ++++++++++++++++++++++++++++++----------- src/IPS4.4/SideNote.xml | 48 ++++++++++++++++++++++++++++++----------- 2 files changed, 70 insertions(+), 26 deletions(-) diff --git a/src/IPS4.3/SideNote.xml b/src/IPS4.3/SideNote.xml index 8bc4046..30a0ff1 100644 --- a/src/IPS4.3/SideNote.xml +++ b/src/IPS4.3/SideNote.xml @@ -1,5 +1,5 @@ -sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_admin_enabled0sdn_admin_groups4sdn_message_header_URL0addTab('sdn_configure'); $form->addHeader( 'sdn_configure' ); @@ -152,25 +152,18 @@ $form->add( new \IPS\Helpers\Form\Select( 'sdn_modal_size', \IPS\Settings::i()-> $form->addSeparator(); $form->addHeader( 'sdn_configure_pages' ); - -/* Page List Type */ $form->add( new \IPS\Helpers\Form\Select( 'sdn_configure_pages_type', \IPS\Settings::i()->sdn_configure_pages_type, FALSE, array( 'options' => array( 0 => 'sdn_configure_pages_typew', 1 => 'sdn_configure_pages_typeb' ), 'multiple' => FALSE) ) ); - $form->add( new \IPS\Helpers\Form\TextArea( 'sdn_configure_pages_list', \IPS\Settings::i()->sdn_configure_pages_list, FALSE, array(), NULL, NULL, NULL, 'sdn_configure_pages_list') ); -/* $form->addHeader('ebsGlobalMessage_header_URL'); +$form->addHeader('sdn_header_URL'); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_admin_enabled', \IPS\Settings::i()->sdn_admin_enabled, FALSE, array(), NULL, NULL, NULL, 'sdn_admin_enabled') ); +$form->add( new \IPS\Helpers\Form\Select( 'sdn_admin_groups', explode( ',' , \IPS\Settings::i()->sdn_admin_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, FALSE), 'parse' => 'normal', 'multiple' => TRUE ), NULL, NULL, NULL, 'sdn_admin_groups' ) ); -Show Admin Message -$form->add( new \IPS\Helpers\Form\YesNo( 'ebsGlobalMessage_admin_visible', \IPS\Settings::i()->ebsGlobalMessage_admin_visible, FALSE, array(), NULL, NULL, NULL, 'ebsGlobalMessage_admin_visible') ); - -Admin Message Groups -$form->add( new \IPS\Helpers\Form\Select( 'ebsGlobalMessage_admin_groups', explode( ',' , \IPS\Settings::i()->ebsGlobalMessage_admin_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, FALSE), 'parse' => 'normal', 'multiple' => TRUE ), NULL, NULL, NULL, 'ebsGlobalMessage_admin_groups' ) ); -*/ $form->addTab('sdn_content'); $form->addHeader( 'sdn_content' ); $form->addSeparator(); @@ -231,7 +224,7 @@ if ( $values = $form->values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkx2aXNpYmxlID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9hZG1pbl92aXNpYmxlIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9hZG1pbl9ncm91cHMgKSApfX0KCXt7JFVSTHZpc2libGUgPSAxO319Cnt7ZW5kaWZ9fQoKICAgIHt7aWYgJGVuYWJsZWQgPT0gMX19CgkJCTxhIGNsYXNzPSdTaWRlTm90ZVRhYicgZGF0YS1pcHNEaWFsb2cgZGF0YS1pcHNEaWFsb2ctY29udGVudD0nI2VsU05NRGlhbG9nJyBkYXRhLWlwc0RpYWxvZy1zaXplPSd7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fbW9kYWxfc2l6ZSJ9JyAgZGF0YS1pcHNEaWFsb2ctdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl90aXRsZSJ9IiBkYXRhLWlwc1Rvb2x0aXAgdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9zdGRlc2MifSI+PC9hPgogICAge3tpZiBzZXR0aW5ncy5zZG5fc2lkZWJhcl9oaWRlID09IDB9fQoJCQkgIDxkaXYgY2xhc3M9J1NpZGVOb3RlQmFyJz48L2Rpdj4KICAgIHt7ZW5kaWZ9fQoJCQkgICAgPGRpdiBpZD0nZWxTTk1EaWFsb2cnIGNsYXNzPSdpcHNIaWRlIGlwc1BhZCc+CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0=LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA1MDA7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlQmFyIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZUJhciB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVUYWIgewogICAgYm9yZGVyLXJhZGl1czogMCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IHtzZXR0aW5nPSJzZG5fdGFiX3JhZGl1cyJ9cHggMDsKCXBvc2l0aW9uOiBmaXhlZDsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICd0b3AnfX0KCXRvcDoge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICdib3R0b20nfX0KCWJvdHRvbToge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCXdpZHRoOiB7c2V0dGluZz0ic2RuX3RhYl9zaXpldyJ9cHg7CgloZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fdGFiX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDoge3NldHRpbmc9InNkbl90YWJfc2l6ZWgifXB4OwoJei1pbmRleDogMTA7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabSideNote EnableMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorAllowed GroupsMembers Can Dismiss SideNote Notification?When enabled, members can click button to dismiss the side note only after opening the modalStart DateEnd DateModal SizeNarrowMediumLargeWideFullscreenFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage TopPage PreferencesWhitelistBlacklistPage List TypePage List URLsPGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkx2aXNpYmxlID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9hZG1pbl92aXNpYmxlIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9hZG1pbl9ncm91cHMgKSApfX0KCXt7JFVSTHZpc2libGUgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19IDwhLS0gQmxhY2tsaXN0IC0tPgoJCXt7JHNob3dwYWdlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHNob3dwYWdlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfdHlwZSA9PSAxfX0gPCEtLSBXaGl0ZWxpc3QgLS0+CgkJe3skc2hvd3BhZ2UgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skc2hvd3BhZ2UgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbmRpZn19Cnt7ZW5kaWZ9fQoKICAgIHt7aWYgJGVuYWJsZWQgPT0gMX19CgkJCTxhIGNsYXNzPSdTaWRlTm90ZVRhYicgZGF0YS1pcHNEaWFsb2cgZGF0YS1pcHNEaWFsb2ctY29udGVudD0nI2VsU05NRGlhbG9nJyBkYXRhLWlwc0RpYWxvZy1zaXplPSd7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fbW9kYWxfc2l6ZSJ9JyAgZGF0YS1pcHNEaWFsb2ctdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl90aXRsZSJ9IiBkYXRhLWlwc1Rvb2x0aXAgdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9zdGRlc2MifSI+PC9hPgogICAge3tpZiBzZXR0aW5ncy5zZG5fc2lkZWJhcl9oaWRlID09IDB9fQoJCQkgIDxkaXYgY2xhc3M9J1NpZGVOb3RlQmFyJz48L2Rpdj4KICAgIHt7ZW5kaWZ9fQoJCQkgICAgPGRpdiBpZD0nZWxTTk1EaWFsb2cnIGNsYXNzPSdpcHNIaWRlIGlwc1BhZCc+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X2VuYWJsZWR9fQoJICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2lwc01lc3NhZ2UgU2lkZU5vdGVJbmZvQm94Jz4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iU2lkZU5vdGVJbmZvQm94SWNvbiI+e2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2luZm9ib3hfY29udGVudCJ9IDwvc3Bhbj4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX2luZm9ib3hfc2hvd3RpbWUgPT0gMX19CiAgICAgICAgICAgICAgICAgICAgPGJyPjxzdHJvbmc+U3RhcnQgVGltZTo8L3N0cm9uZz4ge2RhdGV0aW1lPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9kYXRlX3N0YXJ0IiBub3JlbGF0aXZlPSJmYWxzZSJ9IDw+IDxzdHJvbmc+RW5kIFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9lbmQiIG5vcmVsYXRpdmU9ImZhbHNlIn0KICAgIHt7ZW5kaWZ9fQogICAgICAgICAgICAgICA8L2Rpdj4KICB7e2VuZGlmfX0KCQkJCSAgICAgPHAgY2xhc3M9J2lwc1R5cGVfcmVzZXQgaXBzU3BhY2VyX2JvdHRvbSBpcHNUeXBlX25vcm1hbCc+CiAgICAgICAgICAgICAgIHtsYW5nPSJzZG5fbGdkZXNjX3ZhbHVlIn0KCQkJCSAgICA8L3A+CgkJCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0=LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabSideNote EnableMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorAllowed GroupsMembers Can Dismiss SideNote Notification?When enabled, members can click button to dismiss the side note only after opening the modalStart DateEnd DateModal SizeNarrowMediumLargeWideFullscreenFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage TopPage PreferencesThe list uses string matching so you can enter partial URLs to select groups of pages. For example:
Enter forums to show/hide the message on all forum pages.
Enter /gallery/category/1-member-albums/ to show/hide the message on the members' albums gallery page]]>
WhitelistBlacklistPage List TypePage List URLsPage URLsShow page URLsShow page URLs to
diff --git a/src/IPS4.4/SideNote.xml b/src/IPS4.4/SideNote.xml index a0c0e36..b0db164 100644 --- a/src/IPS4.4/SideNote.xml +++ b/src/IPS4.4/SideNote.xml @@ -1,5 +1,5 @@ -sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_admin_enabled0sdn_admin_groups4sdn_message_header_URL0addTab('sdn_configure'); $form->addHeader( 'sdn_configure' ); @@ -152,25 +152,18 @@ $form->add( new \IPS\Helpers\Form\Select( 'sdn_modal_size', \IPS\Settings::i()-> $form->addSeparator(); $form->addHeader( 'sdn_configure_pages' ); - -/* Page List Type */ $form->add( new \IPS\Helpers\Form\Select( 'sdn_configure_pages_type', \IPS\Settings::i()->sdn_configure_pages_type, FALSE, array( 'options' => array( 0 => 'sdn_configure_pages_typew', 1 => 'sdn_configure_pages_typeb' ), 'multiple' => FALSE) ) ); - $form->add( new \IPS\Helpers\Form\TextArea( 'sdn_configure_pages_list', \IPS\Settings::i()->sdn_configure_pages_list, FALSE, array(), NULL, NULL, NULL, 'sdn_configure_pages_list') ); -/* $form->addHeader('ebsGlobalMessage_header_URL'); +$form->addHeader('sdn_header_URL'); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_admin_enabled', \IPS\Settings::i()->sdn_admin_enabled, FALSE, array(), NULL, NULL, NULL, 'sdn_admin_enabled') ); +$form->add( new \IPS\Helpers\Form\Select( 'sdn_admin_groups', explode( ',' , \IPS\Settings::i()->sdn_admin_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, FALSE), 'parse' => 'normal', 'multiple' => TRUE ), NULL, NULL, NULL, 'sdn_admin_groups' ) ); -Show Admin Message -$form->add( new \IPS\Helpers\Form\YesNo( 'ebsGlobalMessage_admin_visible', \IPS\Settings::i()->ebsGlobalMessage_admin_visible, FALSE, array(), NULL, NULL, NULL, 'ebsGlobalMessage_admin_visible') ); - -Admin Message Groups -$form->add( new \IPS\Helpers\Form\Select( 'ebsGlobalMessage_admin_groups', explode( ',' , \IPS\Settings::i()->ebsGlobalMessage_admin_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, FALSE), 'parse' => 'normal', 'multiple' => TRUE ), NULL, NULL, NULL, 'ebsGlobalMessage_admin_groups' ) ); -*/ $form->addTab('sdn_content'); $form->addHeader( 'sdn_content' ); $form->addSeparator(); @@ -231,7 +224,7 @@ if ( $values = $form->values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkx2aXNpYmxlID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9hZG1pbl92aXNpYmxlIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9hZG1pbl9ncm91cHMgKSApfX0KCXt7JFVSTHZpc2libGUgPSAxO319Cnt7ZW5kaWZ9fQoKICAgIHt7aWYgJGVuYWJsZWQgPT0gMX19CgkJCTxhIGNsYXNzPSdTaWRlTm90ZVRhYicgZGF0YS1pcHNEaWFsb2cgZGF0YS1pcHNEaWFsb2ctY29udGVudD0nI2VsU05NRGlhbG9nJyBkYXRhLWlwc0RpYWxvZy1zaXplPSd7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fbW9kYWxfc2l6ZSJ9JyAgZGF0YS1pcHNEaWFsb2ctdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl90aXRsZSJ9IiBkYXRhLWlwc1Rvb2x0aXAgdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9zdGRlc2MifSI+PC9hPgogICAge3tpZiBzZXR0aW5ncy5zZG5fc2lkZWJhcl9oaWRlID09IDB9fQoJCQkgIDxkaXYgY2xhc3M9J1NpZGVOb3RlQmFyJz48L2Rpdj4KICAgIHt7ZW5kaWZ9fQoJCQkgICAgPGRpdiBpZD0nZWxTTk1EaWFsb2cnIGNsYXNzPSdpcHNIaWRlIGlwc1BhZCc+CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0=LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA1MDA7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlQmFyIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZUJhciB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVUYWIgewogICAgYm9yZGVyLXJhZGl1czogMCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IHtzZXR0aW5nPSJzZG5fdGFiX3JhZGl1cyJ9cHggMDsKCXBvc2l0aW9uOiBmaXhlZDsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICd0b3AnfX0KCXRvcDoge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICdib3R0b20nfX0KCWJvdHRvbToge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCXdpZHRoOiB7c2V0dGluZz0ic2RuX3RhYl9zaXpldyJ9cHg7CgloZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fdGFiX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDoge3NldHRpbmc9InNkbl90YWJfc2l6ZWgifXB4OwoJei1pbmRleDogMTA7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabSideNote EnableMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorAllowed GroupsMembers Can Dismiss SideNote Notification?When enabled, members can click button to dismiss the side note only after opening the modalStart DateEnd DateModal SizeNarrowMediumLargeWideFullscreenFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage TopPage PreferencesWhitelistBlacklistPage List TypePage List URLsPGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkx2aXNpYmxlID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9hZG1pbl92aXNpYmxlIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9hZG1pbl9ncm91cHMgKSApfX0KCXt7JFVSTHZpc2libGUgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19IDwhLS0gQmxhY2tsaXN0IC0tPgoJCXt7JHNob3dwYWdlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHNob3dwYWdlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfdHlwZSA9PSAxfX0gPCEtLSBXaGl0ZWxpc3QgLS0+CgkJe3skc2hvd3BhZ2UgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skc2hvd3BhZ2UgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbmRpZn19Cnt7ZW5kaWZ9fQoKICAgIHt7aWYgJGVuYWJsZWQgPT0gMX19CgkJCTxhIGNsYXNzPSdTaWRlTm90ZVRhYicgZGF0YS1pcHNEaWFsb2cgZGF0YS1pcHNEaWFsb2ctY29udGVudD0nI2VsU05NRGlhbG9nJyBkYXRhLWlwc0RpYWxvZy1zaXplPSd7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fbW9kYWxfc2l6ZSJ9JyAgZGF0YS1pcHNEaWFsb2ctdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl90aXRsZSJ9IiBkYXRhLWlwc1Rvb2x0aXAgdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9zdGRlc2MifSI+PC9hPgogICAge3tpZiBzZXR0aW5ncy5zZG5fc2lkZWJhcl9oaWRlID09IDB9fQoJCQkgIDxkaXYgY2xhc3M9J1NpZGVOb3RlQmFyJz48L2Rpdj4KICAgIHt7ZW5kaWZ9fQoJCQkgICAgPGRpdiBpZD0nZWxTTk1EaWFsb2cnIGNsYXNzPSdpcHNIaWRlIGlwc1BhZCc+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X2VuYWJsZWR9fQoJICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2lwc01lc3NhZ2UgU2lkZU5vdGVJbmZvQm94Jz4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iU2lkZU5vdGVJbmZvQm94SWNvbiI+e2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2luZm9ib3hfY29udGVudCJ9IDwvc3Bhbj4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX2luZm9ib3hfc2hvd3RpbWUgPT0gMX19CiAgICAgICAgICAgICAgICAgICAgPGJyPjxzdHJvbmc+U3RhcnQgVGltZTo8L3N0cm9uZz4ge2RhdGV0aW1lPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9kYXRlX3N0YXJ0IiBub3JlbGF0aXZlPSJmYWxzZSJ9IDw+IDxzdHJvbmc+RW5kIFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9lbmQiIG5vcmVsYXRpdmU9ImZhbHNlIn0KICAgIHt7ZW5kaWZ9fQogICAgICAgICAgICAgICA8L2Rpdj4KICB7e2VuZGlmfX0KCQkJCSAgICAgPHAgY2xhc3M9J2lwc1R5cGVfcmVzZXQgaXBzU3BhY2VyX2JvdHRvbSBpcHNUeXBlX25vcm1hbCc+CiAgICAgICAgICAgICAgIHtsYW5nPSJzZG5fbGdkZXNjX3ZhbHVlIn0KCQkJCSAgICA8L3A+CgkJCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0=LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabSideNote EnableMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorAllowed GroupsMembers Can Dismiss SideNote Notification?When enabled, members can click button to dismiss the side note only after opening the modalStart DateEnd DateModal SizeNarrowMediumLargeWideFullscreenFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage TopPage PreferencesThe list uses string matching so you can enter partial URLs to select groups of pages. For example:
Enter forums to show/hide the message on all forum pages.
Enter /gallery/category/1-member-albums/ to show/hide the message on the members' albums gallery page]]>
WhitelistBlacklistPage List TypePage List URLsPage URLsShow page URLsShow page URLs to
From 345bd2bc3ce5d40f3625c6e5a06dc77c97d0eef1 Mon Sep 17 00:00:00 2001 From: GaalexxC Date: Sun, 14 Apr 2019 19:50:21 -0400 Subject: [PATCH 2/8] Update 1.0.1 --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 83ccb33..32c031a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![devCUHead](https://www.devcu.net/mediasrc/githubhead_2.gif?V=1.4) -[![License](https://img.shields.io/badge/License-GNUv3-blue.svg)](https://github.com/devCU/IPS-SideNote/blob/master/LICENSE) [![Version](https://img.shields.io/badge/Version-1.0.0-blue.svg)](https://www.devcu.com/forums/devcu-tracker/) +[![License](https://img.shields.io/badge/License-GNUv3-blue.svg)](https://github.com/devCU/IPS-SideNote/blob/master/LICENSE) [![Version](https://img.shields.io/badge/Version-1.0.1-blue.svg)](https://www.devcu.com/forums/devcu-tracker/) [![Build](https://img.shields.io/badge/Build-Stable-important.svg)](https://www.devcu.com/forums/devcu-tracker/) [![Status](https://img.shields.io/badge/Status-Release-brightgreen.svg)](https://www.devcu.com/forums/devcu-tracker/) [![Development](https://img.shields.io/badge/Development-Active-blue.svg)](https://www.devcu.com/forums/devcu-tracker/) @@ -25,7 +25,7 @@ \ | \ . \ ; | Open Source Projects || ; / . / | / '\_\ \\ \ \ \ | ||/ / / // /_/' \\ \ \ \| IPS SideNote |/ / / // - `'-\_\_\ v 1.0.0 /_/_/-'` + `'-\_\_\ v 1.0.1 /_/_/-'` '--------------------------' @@ -43,6 +43,8 @@ - Modal sizes: Narrow, Medium, Large, Full screem - Page Preferences - White/Black list options +- Admin/Staff page address notifications via toastr _NEW!_ +- Option to disable dismiss for guests only _NEW!_ - Custom FontAwesome icons - Custom Colors and look - Mesage box with date and time stamps @@ -54,9 +56,10 @@ Import SideNote.xml via Install New Plugin in IPS ACP ## ** Updated Notes ** -04/11/19 +04/14/19 -- New release due 4/11/19 for some minor issues and feature updates. [More Info](https://github.com/devCU/IPS-SideNote/issues/1) +- New release 1.0.1 for some minor issues and feature updates and additions. +- Added toastr notifications for page addresses - Working stable release for 4.3x and 4.4x available in /src folder and compressed on releases page - IPS 4.4 version updated for PHP root-namespace - Please report and issues, feature requests, or suggestions in Issues From 1110eef2437bfa9c1a7d8987e838071cff5c66b2 Mon Sep 17 00:00:00 2001 From: GaalexxC Date: Sun, 14 Apr 2019 19:53:09 -0400 Subject: [PATCH 3/8] Update 1.0.1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 32c031a..5649dd2 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ - Modal sizes: Narrow, Medium, Large, Full screem - Page Preferences - White/Black list options -- Admin/Staff page address notifications via toastr _NEW!_ +- Page Address Notifications - Admin/Staff page address notifications via toastr _NEW!_ - Option to disable dismiss for guests only _NEW!_ - Custom FontAwesome icons - Custom Colors and look From ed9682ea678e6c299f8bbe59f21080da67a1bf02 Mon Sep 17 00:00:00 2001 From: GaalexxC Date: Sun, 14 Apr 2019 21:53:45 -0400 Subject: [PATCH 4/8] dev 1.0.1 --- src/IPS4.3/SideNote.xml | 26 ++++++++++++++------------ src/IPS4.4/SideNote.xml | 26 ++++++++++++++------------ 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/src/IPS4.3/SideNote.xml b/src/IPS4.3/SideNote.xml index 30a0ff1..1c1309f 100644 --- a/src/IPS4.3/SideNote.xml +++ b/src/IPS4.3/SideNote.xml @@ -132,14 +132,16 @@ public function SideNoteDismiss() } } -}]]>sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_admin_enabled0sdn_admin_groups4sdn_message_header_URL0sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_hide_guests0sdn_notfication_groups4sdn_notfication_enabled0addTab('sdn_configure'); -$form->addHeader( 'sdn_configure' ); +$form->addHeader('sdn_configure'); $form->addSeparator(); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_enabled', \IPS\Settings::i()->sdn_enabled, FALSE, array( 'togglesOn' => array( 'sdn_groups_id', 'sdn_hide', 'sdn_date_start', 'sdn_date_end' ) ), NULL, NULL, NULL, 'sdn_enabled') ); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_enabled', \IPS\Settings::i()->sdn_enabled, FALSE, array( 'togglesOn' => array( 'sdn_groups_id', 'sdn_hide', 'sdn_modal_size' ) ), NULL, NULL, NULL, 'sdn_enabled') ); $form->add( new \IPS\Helpers\Form\Select( 'sdn_groups', \IPS\Settings::i()->sdn_groups == 'all' ? "all" : explode( ',' , \IPS\Settings::i()->sdn_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, TRUE), 'parse' => 'normal', 'multiple' => TRUE, 'unlimited' => 'all', 'unlimitedLang' => 'all_groups' ), NULL, NULL, NULL, 'sdn_groups_id' ) ); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_hide', \IPS\Settings::i()->sdn_hide, FALSE, array(), NULL, NULL, NULL, 'sdn_hide') ); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_hide', \IPS\Settings::i()->sdn_hide, FALSE, array( 'togglesOn' => array( 'sdn_hide_guests' ) ), NULL, NULL, NULL, 'sdn_hide') ); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_hide_guests', \IPS\Settings::i()->sdn_hide_guests, FALSE, array(), NULL, NULL, NULL, 'sdn_hide_guests') ); + $form->add( new \IPS\Helpers\Form\Select( 'sdn_modal_size', \IPS\Settings::i()->sdn_modal_size, FALSE, array( 'options' => array( 'narrow' => 'sdn_modal_size_narrow', @@ -147,22 +149,22 @@ $form->add( new \IPS\Helpers\Form\Select( 'sdn_modal_size', \IPS\Settings::i()-> 'large' => 'sdn_modal_size_large', 'wide' => 'sdn_modal_size_wide', 'fullscreen' => 'sdn_modal_size_fullscreen' - ), -'multiple' => FALSE) ) ); + ) + ), NULL, NULL, NULL, 'sdn_modal_size' ) ); $form->addSeparator(); $form->addHeader( 'sdn_configure_pages' ); $form->add( new \IPS\Helpers\Form\Select( 'sdn_configure_pages_type', \IPS\Settings::i()->sdn_configure_pages_type, FALSE, array( 'options' => array( - 0 => 'sdn_configure_pages_typew', - 1 => 'sdn_configure_pages_typeb' + 0 => 'sdn_configure_pages_type0', + 1 => 'sdn_configure_pages_type1' ), 'multiple' => FALSE) ) ); $form->add( new \IPS\Helpers\Form\TextArea( 'sdn_configure_pages_list', \IPS\Settings::i()->sdn_configure_pages_list, FALSE, array(), NULL, NULL, NULL, 'sdn_configure_pages_list') ); -$form->addHeader('sdn_header_URL'); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_admin_enabled', \IPS\Settings::i()->sdn_admin_enabled, FALSE, array(), NULL, NULL, NULL, 'sdn_admin_enabled') ); -$form->add( new \IPS\Helpers\Form\Select( 'sdn_admin_groups', explode( ',' , \IPS\Settings::i()->sdn_admin_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, FALSE), 'parse' => 'normal', 'multiple' => TRUE ), NULL, NULL, NULL, 'sdn_admin_groups' ) ); +$form->addHeader('sdn_header_notfication'); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_notfication_enabled', \IPS\Settings::i()->sdn_notfication_enabled, FALSE, array(), NULL, NULL, NULL, 'sdn_notfication_enabled') ); +$form->add( new \IPS\Helpers\Form\Select( 'sdn_notfication_groups', explode( ',' , \IPS\Settings::i()->sdn_notfication_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, FALSE), 'parse' => 'normal', 'multiple' => TRUE ), NULL, NULL, NULL, 'sdn_notfication_groups' ) ); $form->addTab('sdn_content'); $form->addHeader( 'sdn_content' ); @@ -224,7 +226,7 @@ if ( $values = $form->values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkx2aXNpYmxlID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9hZG1pbl92aXNpYmxlIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9hZG1pbl9ncm91cHMgKSApfX0KCXt7JFVSTHZpc2libGUgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19IDwhLS0gQmxhY2tsaXN0IC0tPgoJCXt7JHNob3dwYWdlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHNob3dwYWdlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfdHlwZSA9PSAxfX0gPCEtLSBXaGl0ZWxpc3QgLS0+CgkJe3skc2hvd3BhZ2UgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skc2hvd3BhZ2UgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbmRpZn19Cnt7ZW5kaWZ9fQoKICAgIHt7aWYgJGVuYWJsZWQgPT0gMX19CgkJCTxhIGNsYXNzPSdTaWRlTm90ZVRhYicgZGF0YS1pcHNEaWFsb2cgZGF0YS1pcHNEaWFsb2ctY29udGVudD0nI2VsU05NRGlhbG9nJyBkYXRhLWlwc0RpYWxvZy1zaXplPSd7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fbW9kYWxfc2l6ZSJ9JyAgZGF0YS1pcHNEaWFsb2ctdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl90aXRsZSJ9IiBkYXRhLWlwc1Rvb2x0aXAgdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9zdGRlc2MifSI+PC9hPgogICAge3tpZiBzZXR0aW5ncy5zZG5fc2lkZWJhcl9oaWRlID09IDB9fQoJCQkgIDxkaXYgY2xhc3M9J1NpZGVOb3RlQmFyJz48L2Rpdj4KICAgIHt7ZW5kaWZ9fQoJCQkgICAgPGRpdiBpZD0nZWxTTk1EaWFsb2cnIGNsYXNzPSdpcHNIaWRlIGlwc1BhZCc+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X2VuYWJsZWR9fQoJICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2lwc01lc3NhZ2UgU2lkZU5vdGVJbmZvQm94Jz4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iU2lkZU5vdGVJbmZvQm94SWNvbiI+e2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2luZm9ib3hfY29udGVudCJ9IDwvc3Bhbj4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX2luZm9ib3hfc2hvd3RpbWUgPT0gMX19CiAgICAgICAgICAgICAgICAgICAgPGJyPjxzdHJvbmc+U3RhcnQgVGltZTo8L3N0cm9uZz4ge2RhdGV0aW1lPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9kYXRlX3N0YXJ0IiBub3JlbGF0aXZlPSJmYWxzZSJ9IDw+IDxzdHJvbmc+RW5kIFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9lbmQiIG5vcmVsYXRpdmU9ImZhbHNlIn0KICAgIHt7ZW5kaWZ9fQogICAgICAgICAgICAgICA8L2Rpdj4KICB7e2VuZGlmfX0KCQkJCSAgICAgPHAgY2xhc3M9J2lwc1R5cGVfcmVzZXQgaXBzU3BhY2VyX2JvdHRvbSBpcHNUeXBlX25vcm1hbCc+CiAgICAgICAgICAgICAgIHtsYW5nPSJzZG5fbGdkZXNjX3ZhbHVlIn0KCQkJCSAgICA8L3A+CgkJCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0=LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabSideNote EnableMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorAllowed GroupsMembers Can Dismiss SideNote Notification?When enabled, members can click button to dismiss the side note only after opening the modalStart DateEnd DateModal SizeNarrowMediumLargeWideFullscreenFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage TopPage PreferencesThe list uses string matching so you can enter partial URLs to select groups of pages. For example:
Enter forums to show/hide the message on all forum pages.
Enter /gallery/category/1-member-albums/ to show/hide the message on the members' albums gallery page]]>
WhitelistBlacklistPage List TypePage List URLsPage URLsShow page URLsShow page URLs to
PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGUgPT0gMSBhbmQgc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzID09IDB9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9oaWRlID09IDAgfX0KICAgICAgICAgICAgICAgICAgPHA+IDwvcD4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_admin_enabled0sdn_admin_groups4sdn_message_header_URL0sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_hide_guests0sdn_notfication_groups4sdn_notfication_enabled0addTab('sdn_configure'); -$form->addHeader( 'sdn_configure' ); +$form->addHeader('sdn_configure'); $form->addSeparator(); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_enabled', \IPS\Settings::i()->sdn_enabled, FALSE, array( 'togglesOn' => array( 'sdn_groups_id', 'sdn_hide', 'sdn_date_start', 'sdn_date_end' ) ), NULL, NULL, NULL, 'sdn_enabled') ); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_enabled', \IPS\Settings::i()->sdn_enabled, FALSE, array( 'togglesOn' => array( 'sdn_groups_id', 'sdn_hide', 'sdn_modal_size' ) ), NULL, NULL, NULL, 'sdn_enabled') ); $form->add( new \IPS\Helpers\Form\Select( 'sdn_groups', \IPS\Settings::i()->sdn_groups == 'all' ? "all" : explode( ',' , \IPS\Settings::i()->sdn_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, TRUE), 'parse' => 'normal', 'multiple' => TRUE, 'unlimited' => 'all', 'unlimitedLang' => 'all_groups' ), NULL, NULL, NULL, 'sdn_groups_id' ) ); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_hide', \IPS\Settings::i()->sdn_hide, FALSE, array(), NULL, NULL, NULL, 'sdn_hide') ); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_hide', \IPS\Settings::i()->sdn_hide, FALSE, array( 'togglesOn' => array( 'sdn_hide_guests' ) ), NULL, NULL, NULL, 'sdn_hide') ); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_hide_guests', \IPS\Settings::i()->sdn_hide_guests, FALSE, array(), NULL, NULL, NULL, 'sdn_hide_guests') ); + $form->add( new \IPS\Helpers\Form\Select( 'sdn_modal_size', \IPS\Settings::i()->sdn_modal_size, FALSE, array( 'options' => array( 'narrow' => 'sdn_modal_size_narrow', @@ -147,22 +149,22 @@ $form->add( new \IPS\Helpers\Form\Select( 'sdn_modal_size', \IPS\Settings::i()-> 'large' => 'sdn_modal_size_large', 'wide' => 'sdn_modal_size_wide', 'fullscreen' => 'sdn_modal_size_fullscreen' - ), -'multiple' => FALSE) ) ); + ) + ), NULL, NULL, NULL, 'sdn_modal_size' ) ); $form->addSeparator(); $form->addHeader( 'sdn_configure_pages' ); $form->add( new \IPS\Helpers\Form\Select( 'sdn_configure_pages_type', \IPS\Settings::i()->sdn_configure_pages_type, FALSE, array( 'options' => array( - 0 => 'sdn_configure_pages_typew', - 1 => 'sdn_configure_pages_typeb' + 0 => 'sdn_configure_pages_type0', + 1 => 'sdn_configure_pages_type1' ), 'multiple' => FALSE) ) ); $form->add( new \IPS\Helpers\Form\TextArea( 'sdn_configure_pages_list', \IPS\Settings::i()->sdn_configure_pages_list, FALSE, array(), NULL, NULL, NULL, 'sdn_configure_pages_list') ); -$form->addHeader('sdn_header_URL'); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_admin_enabled', \IPS\Settings::i()->sdn_admin_enabled, FALSE, array(), NULL, NULL, NULL, 'sdn_admin_enabled') ); -$form->add( new \IPS\Helpers\Form\Select( 'sdn_admin_groups', explode( ',' , \IPS\Settings::i()->sdn_admin_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, FALSE), 'parse' => 'normal', 'multiple' => TRUE ), NULL, NULL, NULL, 'sdn_admin_groups' ) ); +$form->addHeader('sdn_header_notfication'); +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_notfication_enabled', \IPS\Settings::i()->sdn_notfication_enabled, FALSE, array(), NULL, NULL, NULL, 'sdn_notfication_enabled') ); +$form->add( new \IPS\Helpers\Form\Select( 'sdn_notfication_groups', explode( ',' , \IPS\Settings::i()->sdn_notfication_groups ), FALSE, array( 'options' => \IPS\Member\Group::groups(TRUE, FALSE), 'parse' => 'normal', 'multiple' => TRUE ), NULL, NULL, NULL, 'sdn_notfication_groups' ) ); $form->addTab('sdn_content'); $form->addHeader( 'sdn_content' ); @@ -224,7 +226,7 @@ if ( $values = $form->values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkx2aXNpYmxlID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9hZG1pbl92aXNpYmxlIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9hZG1pbl9ncm91cHMgKSApfX0KCXt7JFVSTHZpc2libGUgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19IDwhLS0gQmxhY2tsaXN0IC0tPgoJCXt7JHNob3dwYWdlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHNob3dwYWdlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfdHlwZSA9PSAxfX0gPCEtLSBXaGl0ZWxpc3QgLS0+CgkJe3skc2hvd3BhZ2UgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skc2hvd3BhZ2UgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbmRpZn19Cnt7ZW5kaWZ9fQoKICAgIHt7aWYgJGVuYWJsZWQgPT0gMX19CgkJCTxhIGNsYXNzPSdTaWRlTm90ZVRhYicgZGF0YS1pcHNEaWFsb2cgZGF0YS1pcHNEaWFsb2ctY29udGVudD0nI2VsU05NRGlhbG9nJyBkYXRhLWlwc0RpYWxvZy1zaXplPSd7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fbW9kYWxfc2l6ZSJ9JyAgZGF0YS1pcHNEaWFsb2ctdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl90aXRsZSJ9IiBkYXRhLWlwc1Rvb2x0aXAgdGl0bGU9IntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9zdGRlc2MifSI+PC9hPgogICAge3tpZiBzZXR0aW5ncy5zZG5fc2lkZWJhcl9oaWRlID09IDB9fQoJCQkgIDxkaXYgY2xhc3M9J1NpZGVOb3RlQmFyJz48L2Rpdj4KICAgIHt7ZW5kaWZ9fQoJCQkgICAgPGRpdiBpZD0nZWxTTk1EaWFsb2cnIGNsYXNzPSdpcHNIaWRlIGlwc1BhZCc+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X2VuYWJsZWR9fQoJICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2lwc01lc3NhZ2UgU2lkZU5vdGVJbmZvQm94Jz4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iU2lkZU5vdGVJbmZvQm94SWNvbiI+e2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2luZm9ib3hfY29udGVudCJ9IDwvc3Bhbj4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX2luZm9ib3hfc2hvd3RpbWUgPT0gMX19CiAgICAgICAgICAgICAgICAgICAgPGJyPjxzdHJvbmc+U3RhcnQgVGltZTo8L3N0cm9uZz4ge2RhdGV0aW1lPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9kYXRlX3N0YXJ0IiBub3JlbGF0aXZlPSJmYWxzZSJ9IDw+IDxzdHJvbmc+RW5kIFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9lbmQiIG5vcmVsYXRpdmU9ImZhbHNlIn0KICAgIHt7ZW5kaWZ9fQogICAgICAgICAgICAgICA8L2Rpdj4KICB7e2VuZGlmfX0KCQkJCSAgICAgPHAgY2xhc3M9J2lwc1R5cGVfcmVzZXQgaXBzU3BhY2VyX2JvdHRvbSBpcHNUeXBlX25vcm1hbCc+CiAgICAgICAgICAgICAgIHtsYW5nPSJzZG5fbGdkZXNjX3ZhbHVlIn0KCQkJCSAgICA8L3A+CgkJCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0=LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabSideNote EnableMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorAllowed GroupsMembers Can Dismiss SideNote Notification?When enabled, members can click button to dismiss the side note only after opening the modalStart DateEnd DateModal SizeNarrowMediumLargeWideFullscreenFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage TopPage PreferencesThe list uses string matching so you can enter partial URLs to select groups of pages. For example:
Enter forums to show/hide the message on all forum pages.
Enter /gallery/category/1-member-albums/ to show/hide the message on the members' albums gallery page]]>
WhitelistBlacklistPage List TypePage List URLsPage URLsShow page URLsShow page URLs to
PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGUgPT0gMSBhbmQgc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzID09IDB9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9oaWRlID09IDAgfX0KICAgICAgICAgICAgICAgICAgPHA+IDwvcD4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
Date: Mon, 15 Apr 2019 01:00:08 -0400 Subject: [PATCH 5/8] dev 1.0.1 --- src/IPS4.3/SideNote.xml | 2 +- src/IPS4.4/SideNote.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/IPS4.3/SideNote.xml b/src/IPS4.3/SideNote.xml index 1c1309f..00f9181 100644 --- a/src/IPS4.3/SideNote.xml +++ b/src/IPS4.3/SideNote.xml @@ -226,7 +226,7 @@ if ( $values = $form->values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGUgPT0gMSBhbmQgc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzID09IDB9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9oaWRlID09IDAgfX0KICAgICAgICAgICAgICAgICAgPHA+IDwvcD4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJe3tpZiAhc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzfX0KCQkJCSAgIDxkaXYgaWQ9IlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIj4KCQkJCQkgIDxhIGNsYXNzPSJpcHNCdXR0b24gaXBzQnV0dG9uX3ZlcnlTbWFsbCBpcHNCdXR0b25faW1wb3J0YW50IGlwc0J1dHRvbl9mdWxsV2lkdGgiIGhyZWY9Int1cmw9ImFwcD1jb3JlJm1vZHVsZT1zeXN0ZW0mc2VjdGlvbj1wbHVnaW5zJmRvPVNpZGVOb3RlRGlzbWlzcyIgY3NyZj0iMSJ9IiBkYXRhLWlwc3Rvb2x0aXAgdGl0bGU9IntsYW5nPSdzZG5faGlkZV90b29sdGlwJ30iIGRhdGEtYWN0aW9uPSJkaXNtaXNzIj57bGFuZz0nc2RuX2hpZGVfdG9vbHRpcCd9PC9hPgoJCQkJICAgPC9kaXY+Cgl7e2Vsc2VpZiBzZXR0aW5ncy5zZG5faGlkZV9ndWVzdHMgYW5kICFcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+bWVtYmVyX2lkIH19CiAgICAgICAgICAgICAgICAgIDxwPiA8L3A+Cgl7e2Vsc2V9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZW5kaWZ9fQoJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGUgPT0gMSBhbmQgc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzID09IDB9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9oaWRlID09IDAgfX0KICAgICAgICAgICAgICAgICAgPHA+IDwvcD4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJe3tpZiAhc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzfX0KCQkJCSAgIDxkaXYgaWQ9IlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIj4KCQkJCQkgIDxhIGNsYXNzPSJpcHNCdXR0b24gaXBzQnV0dG9uX3ZlcnlTbWFsbCBpcHNCdXR0b25faW1wb3J0YW50IGlwc0J1dHRvbl9mdWxsV2lkdGgiIGhyZWY9Int1cmw9ImFwcD1jb3JlJm1vZHVsZT1zeXN0ZW0mc2VjdGlvbj1wbHVnaW5zJmRvPVNpZGVOb3RlRGlzbWlzcyIgY3NyZj0iMSJ9IiBkYXRhLWlwc3Rvb2x0aXAgdGl0bGU9IntsYW5nPSdzZG5faGlkZV90b29sdGlwJ30iIGRhdGEtYWN0aW9uPSJkaXNtaXNzIj57bGFuZz0nc2RuX2hpZGVfdG9vbHRpcCd9PC9hPgoJCQkJICAgPC9kaXY+Cgl7e2Vsc2VpZiBzZXR0aW5ncy5zZG5faGlkZV9ndWVzdHMgYW5kICFcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+bWVtYmVyX2lkIH19CiAgICAgICAgICAgICAgICAgIDxwPiA8L3A+Cgl7e2Vsc2V9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZW5kaWZ9fQoJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
Date: Mon, 15 Apr 2019 01:13:22 -0400 Subject: [PATCH 6/8] Update 1.0.1 --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5649dd2..d9b8fa9 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ - Page Preferences - White/Black list options - Page Address Notifications - Admin/Staff page address notifications via toastr _NEW!_ - Option to disable dismiss for guests only _NEW!_ +- Option to spin icons _NEW!_ - Custom FontAwesome icons - Custom Colors and look - Mesage box with date and time stamps @@ -56,9 +57,9 @@ Import SideNote.xml via Install New Plugin in IPS ACP ## ** Updated Notes ** -04/14/19 +04/15/19 -- New release 1.0.1 for some minor issues and feature updates and additions. +- New release 1.0.1 for some minor issues and feature updates/additions. - Added toastr notifications for page addresses - Working stable release for 4.3x and 4.4x available in /src folder and compressed on releases page - IPS 4.4 version updated for PHP root-namespace From 844ece55140d606ea937456ccb2733659a1911de Mon Sep 17 00:00:00 2001 From: GaalexxC Date: Mon, 15 Apr 2019 06:42:27 -0400 Subject: [PATCH 7/8] dev 1.0.1 --- src/IPS4.3/SideNote.xml | 6 +++--- src/IPS4.4/SideNote.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/IPS4.3/SideNote.xml b/src/IPS4.3/SideNote.xml index 00f9181..bfafe87 100644 --- a/src/IPS4.3/SideNote.xml +++ b/src/IPS4.3/SideNote.xml @@ -132,7 +132,7 @@ public function SideNoteDismiss() } } -}]]>sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_hide_guests0sdn_notfication_groups4sdn_notfication_enabled0sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_hide_guests0sdn_notfication_groups4sdn_notfication_enabled0sdn_fonticon_spin0addTab('sdn_configure'); $form->addHeader('sdn_configure'); @@ -207,7 +207,7 @@ $form->add( new \IPS\Helpers\Form\Number( 'sdn_fonticon_size', \IPS\Settings::i( $form->add( new \IPS\Helpers\Form\Color( 'sdn_fonticon_color', \IPS\Settings::i()->sdn_fonticon_color, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_color') ); $form->add( new \IPS\Helpers\Form\Color( 'sdn_fonticon_hovercolor', \IPS\Settings::i()->sdn_fonticon_hovercolor, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_hovercolor') ); $form->add( new \IPS\Helpers\Form\YesNo( 'sdn_fonticon_blink', \IPS\Settings::i()->sdn_fonticon_blink, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_blink') ); - +$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_fonticon_spin', \IPS\Settings::i()->sdn_fonticon_spin, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_spin') ); $form->addTab('sdn_custom_bar' ); $form->addHeader( 'sdn_custom' ); @@ -226,7 +226,7 @@ if ( $values = $form->values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJe3tpZiAhc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzfX0KCQkJCSAgIDxkaXYgaWQ9IlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIj4KCQkJCQkgIDxhIGNsYXNzPSJpcHNCdXR0b24gaXBzQnV0dG9uX3ZlcnlTbWFsbCBpcHNCdXR0b25faW1wb3J0YW50IGlwc0J1dHRvbl9mdWxsV2lkdGgiIGhyZWY9Int1cmw9ImFwcD1jb3JlJm1vZHVsZT1zeXN0ZW0mc2VjdGlvbj1wbHVnaW5zJmRvPVNpZGVOb3RlRGlzbWlzcyIgY3NyZj0iMSJ9IiBkYXRhLWlwc3Rvb2x0aXAgdGl0bGU9IntsYW5nPSdzZG5faGlkZV90b29sdGlwJ30iIGRhdGEtYWN0aW9uPSJkaXNtaXNzIj57bGFuZz0nc2RuX2hpZGVfdG9vbHRpcCd9PC9hPgoJCQkJICAgPC9kaXY+Cgl7e2Vsc2VpZiBzZXR0aW5ncy5zZG5faGlkZV9ndWVzdHMgYW5kICFcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+bWVtYmVyX2lkIH19CiAgICAgICAgICAgICAgICAgIDxwPiA8L3A+Cgl7e2Vsc2V9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZW5kaWZ9fQoJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJe3tpZiAhc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzfX0KCQkJCSAgIDxkaXYgaWQ9IlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIj4KCQkJCQkgIDxhIGNsYXNzPSJpcHNCdXR0b24gaXBzQnV0dG9uX3ZlcnlTbWFsbCBpcHNCdXR0b25faW1wb3J0YW50IGlwc0J1dHRvbl9mdWxsV2lkdGgiIGhyZWY9Int1cmw9ImFwcD1jb3JlJm1vZHVsZT1zeXN0ZW0mc2VjdGlvbj1wbHVnaW5zJmRvPVNpZGVOb3RlRGlzbWlzcyIgY3NyZj0iMSJ9IiBkYXRhLWlwc3Rvb2x0aXAgdGl0bGU9IntsYW5nPSdzZG5faGlkZV90b29sdGlwJ30iIGRhdGEtYWN0aW9uPSJkaXNtaXNzIj57bGFuZz0nc2RuX2hpZGVfdG9vbHRpcCd9PC9hPgoJCQkJICAgPC9kaXY+Cgl7e2Vsc2VpZiBzZXR0aW5ncy5zZG5faGlkZV9ndWVzdHMgYW5kICFcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+bWVtYmVyX2lkIH19CiAgICAgICAgICAgICAgICAgIDxwPiA8L3A+Cgl7e2Vsc2V9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZW5kaWZ9fQoJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0idG9hc3Qtc3VjY2VzcyIgaGlkZGVuPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9InRvYXN0LXdhcm5pbmciIGhpZGRlbj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KI1NpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIHsKCW1hcmdpbi10b3A6IDVweDsKfQoKI2VsU05NRGlhbG9nIHsKCn0KCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDoge3NldHRpbmc9InNkbl9zaWRlYmFyX3dpZHRoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fYmFja2dyb3VuZF9jb2xvciJ9OwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKDAuMjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLXNpemU6IDgwcHggODBweDsKCWJhY2tncm91bmQtcG9zaXRpb246IHRvcDsKCXotaW5kZXg6IDk5OTk7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlQmFyIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZUJhciB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVUYWIgewogICAgYm9yZGVyLXJhZGl1czogMCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IHtzZXR0aW5nPSJzZG5fdGFiX3JhZGl1cyJ9cHggMDsKCXBvc2l0aW9uOiBmaXhlZDsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICd0b3AnfX0KCXRvcDoge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICdib3R0b20nfX0KCWJvdHRvbToge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCXdpZHRoOiB7c2V0dGluZz0ic2RuX3RhYl9zaXpldyJ9cHg7CgloZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fdGFiX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDoge3NldHRpbmc9InNkbl90YWJfc2l6ZWgifXB4OwoJei1pbmRleDogOTk5ODsKCXRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDsKfQoKLlNpZGVOb3RlVGFiOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fc2l6ZSJ9cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9OwoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9mb250aWNvbl9zcGlufX0KICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CiAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJLXdlYmtpdC1hbmltYXRpb246IGJsaW5rZXIgMXMgc3RlcC1zdGFydCBpbmZpbml0ZTsKCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmtlciB7CiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgYmxpbmtlciB7CiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouU2lkZU5vdGVUYWI6aG92ZXI6YWZ0ZXIgewoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25faG92ZXJjb2xvciJ9Owp9CgoJLlNpZGVOb3RlVGFiOmhvdmVyIHsKCQljdXJzb3I6IGhlbHA7Cgl9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZVRhYiB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVUYWIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlSW5mb0JveCB7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwoJYmFja2dyb3VuZDoge3NldHRpbmc9InNkbl9pbmZvYm94X2NvbG9yIn07Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uIHsKCWZvbnQtc2l6ZToge3NldHRpbmc9InNkbl9pbmZvYm94X2ZvbnRpY29uX3NpemUifXB4Owp9CgouU2lkZU5vdGVJbmZvQm94SWNvbjpiZWZvcmUgewoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBtYXJnaW4tcmlnaHQ6IDAuM3JlbTsKfQoKLyogUEhPTkVTICovCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IDVweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fYmFja2dyb3VuZF9jb2xvciJ9OwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKDAuMjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDsKCWJhY2tncm91bmQtcG9zaXRpb246IHRvcDsKCXotaW5kZXg6IDUwMDsKCXRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDsKfQoKCS5TaWRlTm90ZVRhYiB7CiAgICBib3JkZXItcmFkaXVzOiAwIDIwcHggMjBweCAwOwoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAxMHB4OwoJd2lkdGg6IDM1cHg7CgloZWlnaHQ6IDMwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IDMwcHg7Cgl6LWluZGV4OiAxMDsKCXRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDsKCX0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9mb250aWNvbl9zcGlufX0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjsKICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CgkJe3tlbmRpZn19CiAgIH0KfQoKLnRvYXN0LXN1Y2Nlc3MgewoJZm9udC1zaXplOiAxNnB4Owp9CgoudG9hc3Qtd2FybmluZyB7Cglmb250LXNpemU6IDE2cHg7Cn0=OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7CgohZnVuY3Rpb24oZSl7ZShbImpxdWVyeSJdLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSx0LG4pe3JldHVybiBnKHt0eXBlOk8uZXJyb3IsaWNvbkNsYXNzOm0oKS5pY29uQ2xhc3Nlcy5lcnJvcixtZXNzYWdlOmUsb3B0aW9uc092ZXJyaWRlOm4sdGl0bGU6dH0pfWZ1bmN0aW9uIG4odCxuKXtyZXR1cm4gdHx8KHQ9bSgpKSx2PWUoIiMiK3QuY29udGFpbmVySWQpLHYubGVuZ3RoP3Y6KG4mJih2PWQodCkpLHYpfWZ1bmN0aW9uIG8oZSx0LG4pe3JldHVybiBnKHt0eXBlOk8uaW5mbyxpY29uQ2xhc3M6bSgpLmljb25DbGFzc2VzLmluZm8sbWVzc2FnZTplLG9wdGlvbnNPdmVycmlkZTpuLHRpdGxlOnR9KX1mdW5jdGlvbiBzKGUpe0M9ZX1mdW5jdGlvbiBpKGUsdCxuKXtyZXR1cm4gZyh7dHlwZTpPLnN1Y2Nlc3MsaWNvbkNsYXNzOm0oKS5pY29uQ2xhc3Nlcy5zdWNjZXNzLG1lc3NhZ2U6ZSxvcHRpb25zT3ZlcnJpZGU6bix0aXRsZTp0fSl9ZnVuY3Rpb24gYShlLHQsbil7cmV0dXJuIGcoe3R5cGU6Ty53YXJuaW5nLGljb25DbGFzczptKCkuaWNvbkNsYXNzZXMud2FybmluZyxtZXNzYWdlOmUsb3B0aW9uc092ZXJyaWRlOm4sdGl0bGU6dH0pfWZ1bmN0aW9uIHIoZSx0KXt2YXIgbz1tKCk7dnx8bihvKSx1KGUsbyx0KXx8bChvKX1mdW5jdGlvbiBjKHQpe3ZhciBvPW0oKTtyZXR1cm4gdnx8bihvKSx0JiYwPT09ZSgiOmZvY3VzIix0KS5sZW5ndGg/dm9pZCBoKHQpOnZvaWQodi5jaGlsZHJlbigpLmxlbmd0aCYmdi5yZW1vdmUoKSl9ZnVuY3Rpb24gbCh0KXtmb3IodmFyIG49di5jaGlsZHJlbigpLG89bi5sZW5ndGgtMTtvPj0wO28tLSl1KGUobltvXSksdCl9ZnVuY3Rpb24gdSh0LG4sbyl7dmFyIHM9ISghb3x8IW8uZm9yY2UpJiZvLmZvcmNlO3JldHVybiEoIXR8fCFzJiYwIT09ZSgiOmZvY3VzIix0KS5sZW5ndGgpJiYodFtuLmhpZGVNZXRob2RdKHtkdXJhdGlvbjpuLmhpZGVEdXJhdGlvbixlYXNpbmc6bi5oaWRlRWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aCh0KX19KSwhMCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4gdj1lKCI8ZGl2Lz4iKS5hdHRyKCJpZCIsdC5jb250YWluZXJJZCkuYWRkQ2xhc3ModC5wb3NpdGlvbkNsYXNzKSx2LmFwcGVuZFRvKGUodC50YXJnZXQpKSx2fWZ1bmN0aW9uIHAoKXtyZXR1cm57dGFwVG9EaXNtaXNzOiEwLHRvYXN0Q2xhc3M6InRvYXN0Iixjb250YWluZXJJZDoidG9hc3QtY29udGFpbmVyIixkZWJ1ZzohMSxzaG93TWV0aG9kOiJmYWRlSW4iLHNob3dEdXJhdGlvbjozMDAsc2hvd0Vhc2luZzoic3dpbmciLG9uU2hvd246dm9pZCAwLGhpZGVNZXRob2Q6ImZhZGVPdXQiLGhpZGVEdXJhdGlvbjoxZTMsaGlkZUVhc2luZzoic3dpbmciLG9uSGlkZGVuOnZvaWQgMCxjbG9zZU1ldGhvZDohMSxjbG9zZUR1cmF0aW9uOiExLGNsb3NlRWFzaW5nOiExLGNsb3NlT25Ib3ZlcjohMCxleHRlbmRlZFRpbWVPdXQ6MWUzLGljb25DbGFzc2VzOntlcnJvcjoidG9hc3QtZXJyb3IiLGluZm86InRvYXN0LWluZm8iLHN1Y2Nlc3M6InRvYXN0LXN1Y2Nlc3MiLHdhcm5pbmc6InRvYXN0LXdhcm5pbmcifSxpY29uQ2xhc3M6InRvYXN0LWluZm8iLHBvc2l0aW9uQ2xhc3M6InRvYXN0LXRvcC1yaWdodCIsdGltZU91dDo1ZTMsdGl0bGVDbGFzczoidG9hc3QtdGl0bGUiLG1lc3NhZ2VDbGFzczoidG9hc3QtbWVzc2FnZSIsZXNjYXBlSHRtbDohMSx0YXJnZXQ6ImJvZHkiLGNsb3NlSHRtbDonPGJ1dHRvbiB0eXBlPSJidXR0b24iPiZ0aW1lczs8L2J1dHRvbj4nLGNsb3NlQ2xhc3M6InRvYXN0LWNsb3NlLWJ1dHRvbiIsbmV3ZXN0T25Ub3A6ITAscHJldmVudER1cGxpY2F0ZXM6ITEscHJvZ3Jlc3NCYXI6ITEscHJvZ3Jlc3NDbGFzczoidG9hc3QtcHJvZ3Jlc3MiLHJ0bDohMX19ZnVuY3Rpb24gZihlKXtDJiZDKGUpfWZ1bmN0aW9uIGcodCl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbD09ZSYmKGU9IiIpLGUucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpfWZ1bmN0aW9uIHMoKXtjKCksdSgpLGQoKSxwKCksZygpLEMoKSxsKCksaSgpfWZ1bmN0aW9uIGkoKXt2YXIgZT0iIjtzd2l0Y2godC5pY29uQ2xhc3Mpe2Nhc2UidG9hc3Qtc3VjY2VzcyI6Y2FzZSJ0b2FzdC1pbmZvIjplPSJwb2xpdGUiO2JyZWFrO2RlZmF1bHQ6ZT0iYXNzZXJ0aXZlIn1JLmF0dHIoImFyaWEtbGl2ZSIsZSl9ZnVuY3Rpb24gYSgpe0UuY2xvc2VPbkhvdmVyJiZJLmhvdmVyKEgsRCksIUUub25jbGljayYmRS50YXBUb0Rpc21pc3MmJkkuY2xpY2soYiksRS5jbG9zZUJ1dHRvbiYmaiYmai5jbGljayhmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbj9lLnN0b3BQcm9wYWdhdGlvbigpOnZvaWQgMCE9PWUuY2FuY2VsQnViYmxlJiZlLmNhbmNlbEJ1YmJsZSE9PSEwJiYoZS5jYW5jZWxCdWJibGU9ITApLEUub25DbG9zZUNsaWNrJiZFLm9uQ2xvc2VDbGljayhlKSxiKCEwKX0pLEUub25jbGljayYmSS5jbGljayhmdW5jdGlvbihlKXtFLm9uY2xpY2soZSksYigpfSl9ZnVuY3Rpb24gcigpe0kuaGlkZSgpLElbRS5zaG93TWV0aG9kXSh7ZHVyYXRpb246RS5zaG93RHVyYXRpb24sZWFzaW5nOkUuc2hvd0Vhc2luZyxjb21wbGV0ZTpFLm9uU2hvd259KSxFLnRpbWVPdXQ+MCYmKGs9c2V0VGltZW91dChiLEUudGltZU91dCksRi5tYXhIaWRlVGltZT1wYXJzZUZsb2F0KEUudGltZU91dCksRi5oaWRlRXRhPShuZXcgRGF0ZSkuZ2V0VGltZSgpK0YubWF4SGlkZVRpbWUsRS5wcm9ncmVzc0JhciYmKEYuaW50ZXJ2YWxJZD1zZXRJbnRlcnZhbCh4LDEwKSkpfWZ1bmN0aW9uIGMoKXt0Lmljb25DbGFzcyYmSS5hZGRDbGFzcyhFLnRvYXN0Q2xhc3MpLmFkZENsYXNzKHkpfWZ1bmN0aW9uIGwoKXtFLm5ld2VzdE9uVG9wP3YucHJlcGVuZChJKTp2LmFwcGVuZChJKX1mdW5jdGlvbiB1KCl7aWYodC50aXRsZSl7dmFyIGU9dC50aXRsZTtFLmVzY2FwZUh0bWwmJihlPW8odC50aXRsZSkpLE0uYXBwZW5kKGUpLmFkZENsYXNzKEUudGl0bGVDbGFzcyksSS5hcHBlbmQoTSl9fWZ1bmN0aW9uIGQoKXtpZih0Lm1lc3NhZ2Upe3ZhciBlPXQubWVzc2FnZTtFLmVzY2FwZUh0bWwmJihlPW8odC5tZXNzYWdlKSksQi5hcHBlbmQoZSkuYWRkQ2xhc3MoRS5tZXNzYWdlQ2xhc3MpLEkuYXBwZW5kKEIpfX1mdW5jdGlvbiBwKCl7RS5jbG9zZUJ1dHRvbiYmKGouYWRkQ2xhc3MoRS5jbG9zZUNsYXNzKS5hdHRyKCJyb2xlIiwiYnV0dG9uIiksSS5wcmVwZW5kKGopKX1mdW5jdGlvbiBnKCl7RS5wcm9ncmVzc0JhciYmKHEuYWRkQ2xhc3MoRS5wcm9ncmVzc0NsYXNzKSxJLnByZXBlbmQocSkpfWZ1bmN0aW9uIEMoKXtFLnJ0bCYmSS5hZGRDbGFzcygicnRsIil9ZnVuY3Rpb24gTyhlLHQpe2lmKGUucHJldmVudER1cGxpY2F0ZXMpe2lmKHQubWVzc2FnZT09PXcpcmV0dXJuITA7dz10Lm1lc3NhZ2V9cmV0dXJuITF9ZnVuY3Rpb24gYih0KXt2YXIgbj10JiZFLmNsb3NlTWV0aG9kIT09ITE/RS5jbG9zZU1ldGhvZDpFLmhpZGVNZXRob2Qsbz10JiZFLmNsb3NlRHVyYXRpb24hPT0hMT9FLmNsb3NlRHVyYXRpb246RS5oaWRlRHVyYXRpb24scz10JiZFLmNsb3NlRWFzaW5nIT09ITE/RS5jbG9zZUVhc2luZzpFLmhpZGVFYXNpbmc7aWYoIWUoIjpmb2N1cyIsSSkubGVuZ3RofHx0KXJldHVybiBjbGVhclRpbWVvdXQoRi5pbnRlcnZhbElkKSxJW25dKHtkdXJhdGlvbjpvLGVhc2luZzpzLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aChJKSxjbGVhclRpbWVvdXQoayksRS5vbkhpZGRlbiYmImhpZGRlbiIhPT1QLnN0YXRlJiZFLm9uSGlkZGVuKCksUC5zdGF0ZT0iaGlkZGVuIixQLmVuZFRpbWU9bmV3IERhdGUsZihQKX19KX1mdW5jdGlvbiBEKCl7KEUudGltZU91dD4wfHxFLmV4dGVuZGVkVGltZU91dD4wKSYmKGs9c2V0VGltZW91dChiLEUuZXh0ZW5kZWRUaW1lT3V0KSxGLm1heEhpZGVUaW1lPXBhcnNlRmxvYXQoRS5leHRlbmRlZFRpbWVPdXQpLEYuaGlkZUV0YT0obmV3IERhdGUpLmdldFRpbWUoKStGLm1heEhpZGVUaW1lKX1mdW5jdGlvbiBIKCl7Y2xlYXJUaW1lb3V0KGspLEYuaGlkZUV0YT0wLEkuc3RvcCghMCwhMClbRS5zaG93TWV0aG9kXSh7ZHVyYXRpb246RS5zaG93RHVyYXRpb24sZWFzaW5nOkUuc2hvd0Vhc2luZ30pfWZ1bmN0aW9uIHgoKXt2YXIgZT0oRi5oaWRlRXRhLShuZXcgRGF0ZSkuZ2V0VGltZSgpKS9GLm1heEhpZGVUaW1lKjEwMDtxLndpZHRoKGUrIiUiKX12YXIgRT1tKCkseT10Lmljb25DbGFzc3x8RS5pY29uQ2xhc3M7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0Lm9wdGlvbnNPdmVycmlkZSYmKEU9ZS5leHRlbmQoRSx0Lm9wdGlvbnNPdmVycmlkZSkseT10Lm9wdGlvbnNPdmVycmlkZS5pY29uQ2xhc3N8fHkpLCFPKEUsdCkpe1QrKyx2PW4oRSwhMCk7dmFyIGs9bnVsbCxJPWUoIjxkaXYvPiIpLE09ZSgiPGRpdi8+IiksQj1lKCI8ZGl2Lz4iKSxxPWUoIjxkaXYvPiIpLGo9ZShFLmNsb3NlSHRtbCksRj17aW50ZXJ2YWxJZDpudWxsLGhpZGVFdGE6bnVsbCxtYXhIaWRlVGltZTpudWxsfSxQPXt0b2FzdElkOlQsc3RhdGU6InZpc2libGUiLHN0YXJ0VGltZTpuZXcgRGF0ZSxvcHRpb25zOkUsbWFwOnR9O3JldHVybiBzKCkscigpLGEoKSxmKFApLEUuZGVidWcmJmNvbnNvbGUmJmNvbnNvbGUubG9nKFApLEl9fWZ1bmN0aW9uIG0oKXtyZXR1cm4gZS5leHRlbmQoe30scCgpLGIub3B0aW9ucyl9ZnVuY3Rpb24gaChlKXt2fHwodj1uKCkpLGUuaXMoIjp2aXNpYmxlIil8fChlLnJlbW92ZSgpLGU9bnVsbCwwPT09di5jaGlsZHJlbigpLmxlbmd0aCYmKHYucmVtb3ZlKCksdz12b2lkIDApKX12YXIgdixDLHcsVD0wLE89e2Vycm9yOiJlcnJvciIsaW5mbzoiaW5mbyIsc3VjY2Vzczoic3VjY2VzcyIsd2FybmluZzoid2FybmluZyJ9LGI9e2NsZWFyOnIscmVtb3ZlOmMsZXJyb3I6dCxnZXRDb250YWluZXI6bixpbmZvOm8sb3B0aW9uczp7fSxzdWJzY3JpYmU6cyxzdWNjZXNzOmksdmVyc2lvbjoiMi4xLjQiLHdhcm5pbmc6YX07cmV0dXJuIGJ9KCl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmU6ZnVuY3Rpb24oZSx0KXsidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9dChyZXF1aXJlKCJqcXVlcnkiKSk6d2luZG93LnRvYXN0cj10KHdpbmRvdy5qUXVlcnkpfSk7CgokKGZ1bmN0aW9uICgpIHsKdG9hc3RyLm9wdGlvbnMgPSB7CiAgImNsb3NlQnV0dG9uIjogZmFsc2UsCiAgImRlYnVnIjogZmFsc2UsCiAgIm5ld2VzdE9uVG9wIjogZmFsc2UsCiAgInByb2dyZXNzQmFyIjogdHJ1ZSwKICAicG9zaXRpb25DbGFzcyI6ICJ0b2FzdC10b3AtZnVsbC13aWR0aCIsCiAgInByZXZlbnREdXBsaWNhdGVzIjogZmFsc2UsCiAgIm9uY2xpY2siOiBudWxsLAogICJzaG93RHVyYXRpb24iOiAiMzAwIiwKICAiaGlkZUR1cmF0aW9uIjogIjEwMDAiLAogICJ0aW1lT3V0IjogIjYwMDAiLAogICJleHRlbmRlZFRpbWVPdXQiOiAiMTAwMCIsCiAgInNob3dFYXNpbmciOiAic3dpbmciLAogICJoaWRlRWFzaW5nIjogImxpbmVhciIsCiAgInNob3dNZXRob2QiOiAiZmFkZUluIiwKICAiaGlkZU1ldGhvZCI6ICJmYWRlT3V0Igp9OwoKbGV0IHZpc2libGVNZXNzYWdlID0gJCgiLnRvYXN0LXN1Y2Nlc3MiKS5odG1sKCk7CmlmICh2aXNpYmxlTWVzc2FnZSAmJiB2aXNpYmxlTWVzc2FnZS5sZW5ndGggPiAwKSB7CiAgdG9hc3RyLnN1Y2Nlc3ModmlzaWJsZU1lc3NhZ2UsICIiLCB7CiAgICBjb250YWluZXJJZDogInRvYXN0LWNvbnRhaW5lciIsCiAgfSk7Cn0KCmxldCBpbnZpc2libGVNZXNzYWdlID0gJCgiLnRvYXN0LXdhcm5pbmciKS5odG1sKCk7CmlmIChpbnZpc2libGVNZXNzYWdlICYmIGludmlzaWJsZU1lc3NhZ2UubGVuZ3RoID4gMCkgewogIHRvYXN0ci53YXJuaW5nKGludmlzaWJsZU1lc3NhZ2UsICIiLCB7CiAgICBjb250YWluZXJJZDogInRvYXN0LWNvbnRhaW5lciIKICB9KTsKfQp9KTsoalF1ZXJ5LCBfKTs=SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorSpinning Icon?The Icon in the SideNote Tab will spin getting users attention even moreBlinking Icon?The Icon in the SideNote Tab will blink getting users attentionStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJe3tpZiAhc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzfX0KCQkJCSAgIDxkaXYgaWQ9IlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIj4KCQkJCQkgIDxhIGNsYXNzPSJpcHNCdXR0b24gaXBzQnV0dG9uX3ZlcnlTbWFsbCBpcHNCdXR0b25faW1wb3J0YW50IGlwc0J1dHRvbl9mdWxsV2lkdGgiIGhyZWY9Int1cmw9ImFwcD1jb3JlJm1vZHVsZT1zeXN0ZW0mc2VjdGlvbj1wbHVnaW5zJmRvPVNpZGVOb3RlRGlzbWlzcyIgY3NyZj0iMSJ9IiBkYXRhLWlwc3Rvb2x0aXAgdGl0bGU9IntsYW5nPSdzZG5faGlkZV90b29sdGlwJ30iIGRhdGEtYWN0aW9uPSJkaXNtaXNzIj57bGFuZz0nc2RuX2hpZGVfdG9vbHRpcCd9PC9hPgoJCQkJICAgPC9kaXY+Cgl7e2Vsc2VpZiBzZXR0aW5ncy5zZG5faGlkZV9ndWVzdHMgYW5kICFcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+bWVtYmVyX2lkIH19CiAgICAgICAgICAgICAgICAgIDxwPiA8L3A+Cgl7e2Vsc2V9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZW5kaWZ9fQoJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGUgPT0gMSBhbmQgc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzID09IDB9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9oaWRlID09IDAgfX0KICAgICAgICAgICAgICAgICAgPHA+IDwvcD4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
Date: Mon, 15 Apr 2019 08:09:06 -0400 Subject: [PATCH 8/8] Release 1.0.1 --- README.md | 2 +- src/IPS4.3/SideNote.xml | 14 ++++++++++---- src/IPS4.4/SideNote.xml | 14 ++++++++++---- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d9b8fa9..b683a87 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ - Page Preferences - White/Black list options - Page Address Notifications - Admin/Staff page address notifications via toastr _NEW!_ - Option to disable dismiss for guests only _NEW!_ -- Option to spin icons _NEW!_ +- Options to animate icons _NEW!_ - Custom FontAwesome icons - Custom Colors and look - Mesage box with date and time stamps diff --git a/src/IPS4.3/SideNote.xml b/src/IPS4.3/SideNote.xml index bfafe87..70bf5b4 100644 --- a/src/IPS4.3/SideNote.xml +++ b/src/IPS4.3/SideNote.xml @@ -132,7 +132,7 @@ public function SideNoteDismiss() } } -}]]>sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_hide_guests0sdn_notfication_groups4sdn_notfication_enabled0sdn_fonticon_spin0sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_hide_guests0sdn_notfication_groups4sdn_notfication_enabled0sdn_icon_animation0addTab('sdn_configure'); $form->addHeader('sdn_configure'); @@ -206,8 +206,14 @@ $form->add( new \IPS\Helpers\Form\Text( 'sdn_fonticon', \IPS\Settings::i()->sdn_ $form->add( new \IPS\Helpers\Form\Number( 'sdn_fonticon_size', \IPS\Settings::i()->sdn_fonticon_size, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_size') ); $form->add( new \IPS\Helpers\Form\Color( 'sdn_fonticon_color', \IPS\Settings::i()->sdn_fonticon_color, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_color') ); $form->add( new \IPS\Helpers\Form\Color( 'sdn_fonticon_hovercolor', \IPS\Settings::i()->sdn_fonticon_hovercolor, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_hovercolor') ); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_fonticon_blink', \IPS\Settings::i()->sdn_fonticon_blink, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_blink') ); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_fonticon_spin', \IPS\Settings::i()->sdn_fonticon_spin, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_spin') ); +$form->add( new \IPS\Helpers\Form\Select( 'sdn_icon_animation', \IPS\Settings::i()->sdn_icon_animation, FALSE, array( + 'options' => array( + '0' => 'sdn_fonticon_noanim', + '1' => 'sdn_fonticon_blink', + '2' => 'sdn_fonticon_spin', + '3' => 'sdn_fonticon_pulse' + ), +'multiple' => FALSE) ) ); $form->addTab('sdn_custom_bar' ); $form->addHeader( 'sdn_custom' ); @@ -226,7 +232,7 @@ if ( $values = $form->values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJe3tpZiAhc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzfX0KCQkJCSAgIDxkaXYgaWQ9IlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIj4KCQkJCQkgIDxhIGNsYXNzPSJpcHNCdXR0b24gaXBzQnV0dG9uX3ZlcnlTbWFsbCBpcHNCdXR0b25faW1wb3J0YW50IGlwc0J1dHRvbl9mdWxsV2lkdGgiIGhyZWY9Int1cmw9ImFwcD1jb3JlJm1vZHVsZT1zeXN0ZW0mc2VjdGlvbj1wbHVnaW5zJmRvPVNpZGVOb3RlRGlzbWlzcyIgY3NyZj0iMSJ9IiBkYXRhLWlwc3Rvb2x0aXAgdGl0bGU9IntsYW5nPSdzZG5faGlkZV90b29sdGlwJ30iIGRhdGEtYWN0aW9uPSJkaXNtaXNzIj57bGFuZz0nc2RuX2hpZGVfdG9vbHRpcCd9PC9hPgoJCQkJICAgPC9kaXY+Cgl7e2Vsc2VpZiBzZXR0aW5ncy5zZG5faGlkZV9ndWVzdHMgYW5kICFcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+bWVtYmVyX2lkIH19CiAgICAgICAgICAgICAgICAgIDxwPiA8L3A+Cgl7e2Vsc2V9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZW5kaWZ9fQoJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0idG9hc3Qtc3VjY2VzcyIgaGlkZGVuPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9InRvYXN0LXdhcm5pbmciIGhpZGRlbj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KI1NpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIHsKCW1hcmdpbi10b3A6IDVweDsKfQoKI2VsU05NRGlhbG9nIHsKCn0KCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDoge3NldHRpbmc9InNkbl9zaWRlYmFyX3dpZHRoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fYmFja2dyb3VuZF9jb2xvciJ9OwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKDAuMjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLXNpemU6IDgwcHggODBweDsKCWJhY2tncm91bmQtcG9zaXRpb246IHRvcDsKCXotaW5kZXg6IDk5OTk7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlQmFyIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZUJhciB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVUYWIgewogICAgYm9yZGVyLXJhZGl1czogMCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IHtzZXR0aW5nPSJzZG5fdGFiX3JhZGl1cyJ9cHggMDsKCXBvc2l0aW9uOiBmaXhlZDsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICd0b3AnfX0KCXRvcDoge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICdib3R0b20nfX0KCWJvdHRvbToge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCXdpZHRoOiB7c2V0dGluZz0ic2RuX3RhYl9zaXpldyJ9cHg7CgloZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fdGFiX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDoge3NldHRpbmc9InNkbl90YWJfc2l6ZWgifXB4OwoJei1pbmRleDogOTk5ODsKCXRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDsKfQoKLlNpZGVOb3RlVGFiOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fc2l6ZSJ9cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9OwoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9mb250aWNvbl9zcGlufX0KICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CiAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJLXdlYmtpdC1hbmltYXRpb246IGJsaW5rZXIgMXMgc3RlcC1zdGFydCBpbmZpbml0ZTsKCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmtlciB7CiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgYmxpbmtlciB7CiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouU2lkZU5vdGVUYWI6aG92ZXI6YWZ0ZXIgewoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25faG92ZXJjb2xvciJ9Owp9CgoJLlNpZGVOb3RlVGFiOmhvdmVyIHsKCQljdXJzb3I6IGhlbHA7Cgl9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZVRhYiB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVUYWIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlSW5mb0JveCB7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwoJYmFja2dyb3VuZDoge3NldHRpbmc9InNkbl9pbmZvYm94X2NvbG9yIn07Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uIHsKCWZvbnQtc2l6ZToge3NldHRpbmc9InNkbl9pbmZvYm94X2ZvbnRpY29uX3NpemUifXB4Owp9CgouU2lkZU5vdGVJbmZvQm94SWNvbjpiZWZvcmUgewoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBtYXJnaW4tcmlnaHQ6IDAuM3JlbTsKfQoKLyogUEhPTkVTICovCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IDVweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fYmFja2dyb3VuZF9jb2xvciJ9OwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKDAuMjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDsKCWJhY2tncm91bmQtcG9zaXRpb246IHRvcDsKCXotaW5kZXg6IDUwMDsKCXRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDsKfQoKCS5TaWRlTm90ZVRhYiB7CiAgICBib3JkZXItcmFkaXVzOiAwIDIwcHggMjBweCAwOwoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAxMHB4OwoJd2lkdGg6IDM1cHg7CgloZWlnaHQ6IDMwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IDMwcHg7Cgl6LWluZGV4OiAxMDsKCXRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDsKCX0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9mb250aWNvbl9zcGlufX0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjsKICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CgkJe3tlbmRpZn19CiAgIH0KfQoKLnRvYXN0LXN1Y2Nlc3MgewoJZm9udC1zaXplOiAxNnB4Owp9CgoudG9hc3Qtd2FybmluZyB7Cglmb250LXNpemU6IDE2cHg7Cn0=OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7CgohZnVuY3Rpb24oZSl7ZShbImpxdWVyeSJdLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSx0LG4pe3JldHVybiBnKHt0eXBlOk8uZXJyb3IsaWNvbkNsYXNzOm0oKS5pY29uQ2xhc3Nlcy5lcnJvcixtZXNzYWdlOmUsb3B0aW9uc092ZXJyaWRlOm4sdGl0bGU6dH0pfWZ1bmN0aW9uIG4odCxuKXtyZXR1cm4gdHx8KHQ9bSgpKSx2PWUoIiMiK3QuY29udGFpbmVySWQpLHYubGVuZ3RoP3Y6KG4mJih2PWQodCkpLHYpfWZ1bmN0aW9uIG8oZSx0LG4pe3JldHVybiBnKHt0eXBlOk8uaW5mbyxpY29uQ2xhc3M6bSgpLmljb25DbGFzc2VzLmluZm8sbWVzc2FnZTplLG9wdGlvbnNPdmVycmlkZTpuLHRpdGxlOnR9KX1mdW5jdGlvbiBzKGUpe0M9ZX1mdW5jdGlvbiBpKGUsdCxuKXtyZXR1cm4gZyh7dHlwZTpPLnN1Y2Nlc3MsaWNvbkNsYXNzOm0oKS5pY29uQ2xhc3Nlcy5zdWNjZXNzLG1lc3NhZ2U6ZSxvcHRpb25zT3ZlcnJpZGU6bix0aXRsZTp0fSl9ZnVuY3Rpb24gYShlLHQsbil7cmV0dXJuIGcoe3R5cGU6Ty53YXJuaW5nLGljb25DbGFzczptKCkuaWNvbkNsYXNzZXMud2FybmluZyxtZXNzYWdlOmUsb3B0aW9uc092ZXJyaWRlOm4sdGl0bGU6dH0pfWZ1bmN0aW9uIHIoZSx0KXt2YXIgbz1tKCk7dnx8bihvKSx1KGUsbyx0KXx8bChvKX1mdW5jdGlvbiBjKHQpe3ZhciBvPW0oKTtyZXR1cm4gdnx8bihvKSx0JiYwPT09ZSgiOmZvY3VzIix0KS5sZW5ndGg/dm9pZCBoKHQpOnZvaWQodi5jaGlsZHJlbigpLmxlbmd0aCYmdi5yZW1vdmUoKSl9ZnVuY3Rpb24gbCh0KXtmb3IodmFyIG49di5jaGlsZHJlbigpLG89bi5sZW5ndGgtMTtvPj0wO28tLSl1KGUobltvXSksdCl9ZnVuY3Rpb24gdSh0LG4sbyl7dmFyIHM9ISghb3x8IW8uZm9yY2UpJiZvLmZvcmNlO3JldHVybiEoIXR8fCFzJiYwIT09ZSgiOmZvY3VzIix0KS5sZW5ndGgpJiYodFtuLmhpZGVNZXRob2RdKHtkdXJhdGlvbjpuLmhpZGVEdXJhdGlvbixlYXNpbmc6bi5oaWRlRWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aCh0KX19KSwhMCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4gdj1lKCI8ZGl2Lz4iKS5hdHRyKCJpZCIsdC5jb250YWluZXJJZCkuYWRkQ2xhc3ModC5wb3NpdGlvbkNsYXNzKSx2LmFwcGVuZFRvKGUodC50YXJnZXQpKSx2fWZ1bmN0aW9uIHAoKXtyZXR1cm57dGFwVG9EaXNtaXNzOiEwLHRvYXN0Q2xhc3M6InRvYXN0Iixjb250YWluZXJJZDoidG9hc3QtY29udGFpbmVyIixkZWJ1ZzohMSxzaG93TWV0aG9kOiJmYWRlSW4iLHNob3dEdXJhdGlvbjozMDAsc2hvd0Vhc2luZzoic3dpbmciLG9uU2hvd246dm9pZCAwLGhpZGVNZXRob2Q6ImZhZGVPdXQiLGhpZGVEdXJhdGlvbjoxZTMsaGlkZUVhc2luZzoic3dpbmciLG9uSGlkZGVuOnZvaWQgMCxjbG9zZU1ldGhvZDohMSxjbG9zZUR1cmF0aW9uOiExLGNsb3NlRWFzaW5nOiExLGNsb3NlT25Ib3ZlcjohMCxleHRlbmRlZFRpbWVPdXQ6MWUzLGljb25DbGFzc2VzOntlcnJvcjoidG9hc3QtZXJyb3IiLGluZm86InRvYXN0LWluZm8iLHN1Y2Nlc3M6InRvYXN0LXN1Y2Nlc3MiLHdhcm5pbmc6InRvYXN0LXdhcm5pbmcifSxpY29uQ2xhc3M6InRvYXN0LWluZm8iLHBvc2l0aW9uQ2xhc3M6InRvYXN0LXRvcC1yaWdodCIsdGltZU91dDo1ZTMsdGl0bGVDbGFzczoidG9hc3QtdGl0bGUiLG1lc3NhZ2VDbGFzczoidG9hc3QtbWVzc2FnZSIsZXNjYXBlSHRtbDohMSx0YXJnZXQ6ImJvZHkiLGNsb3NlSHRtbDonPGJ1dHRvbiB0eXBlPSJidXR0b24iPiZ0aW1lczs8L2J1dHRvbj4nLGNsb3NlQ2xhc3M6InRvYXN0LWNsb3NlLWJ1dHRvbiIsbmV3ZXN0T25Ub3A6ITAscHJldmVudER1cGxpY2F0ZXM6ITEscHJvZ3Jlc3NCYXI6ITEscHJvZ3Jlc3NDbGFzczoidG9hc3QtcHJvZ3Jlc3MiLHJ0bDohMX19ZnVuY3Rpb24gZihlKXtDJiZDKGUpfWZ1bmN0aW9uIGcodCl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbD09ZSYmKGU9IiIpLGUucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpfWZ1bmN0aW9uIHMoKXtjKCksdSgpLGQoKSxwKCksZygpLEMoKSxsKCksaSgpfWZ1bmN0aW9uIGkoKXt2YXIgZT0iIjtzd2l0Y2godC5pY29uQ2xhc3Mpe2Nhc2UidG9hc3Qtc3VjY2VzcyI6Y2FzZSJ0b2FzdC1pbmZvIjplPSJwb2xpdGUiO2JyZWFrO2RlZmF1bHQ6ZT0iYXNzZXJ0aXZlIn1JLmF0dHIoImFyaWEtbGl2ZSIsZSl9ZnVuY3Rpb24gYSgpe0UuY2xvc2VPbkhvdmVyJiZJLmhvdmVyKEgsRCksIUUub25jbGljayYmRS50YXBUb0Rpc21pc3MmJkkuY2xpY2soYiksRS5jbG9zZUJ1dHRvbiYmaiYmai5jbGljayhmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbj9lLnN0b3BQcm9wYWdhdGlvbigpOnZvaWQgMCE9PWUuY2FuY2VsQnViYmxlJiZlLmNhbmNlbEJ1YmJsZSE9PSEwJiYoZS5jYW5jZWxCdWJibGU9ITApLEUub25DbG9zZUNsaWNrJiZFLm9uQ2xvc2VDbGljayhlKSxiKCEwKX0pLEUub25jbGljayYmSS5jbGljayhmdW5jdGlvbihlKXtFLm9uY2xpY2soZSksYigpfSl9ZnVuY3Rpb24gcigpe0kuaGlkZSgpLElbRS5zaG93TWV0aG9kXSh7ZHVyYXRpb246RS5zaG93RHVyYXRpb24sZWFzaW5nOkUuc2hvd0Vhc2luZyxjb21wbGV0ZTpFLm9uU2hvd259KSxFLnRpbWVPdXQ+MCYmKGs9c2V0VGltZW91dChiLEUudGltZU91dCksRi5tYXhIaWRlVGltZT1wYXJzZUZsb2F0KEUudGltZU91dCksRi5oaWRlRXRhPShuZXcgRGF0ZSkuZ2V0VGltZSgpK0YubWF4SGlkZVRpbWUsRS5wcm9ncmVzc0JhciYmKEYuaW50ZXJ2YWxJZD1zZXRJbnRlcnZhbCh4LDEwKSkpfWZ1bmN0aW9uIGMoKXt0Lmljb25DbGFzcyYmSS5hZGRDbGFzcyhFLnRvYXN0Q2xhc3MpLmFkZENsYXNzKHkpfWZ1bmN0aW9uIGwoKXtFLm5ld2VzdE9uVG9wP3YucHJlcGVuZChJKTp2LmFwcGVuZChJKX1mdW5jdGlvbiB1KCl7aWYodC50aXRsZSl7dmFyIGU9dC50aXRsZTtFLmVzY2FwZUh0bWwmJihlPW8odC50aXRsZSkpLE0uYXBwZW5kKGUpLmFkZENsYXNzKEUudGl0bGVDbGFzcyksSS5hcHBlbmQoTSl9fWZ1bmN0aW9uIGQoKXtpZih0Lm1lc3NhZ2Upe3ZhciBlPXQubWVzc2FnZTtFLmVzY2FwZUh0bWwmJihlPW8odC5tZXNzYWdlKSksQi5hcHBlbmQoZSkuYWRkQ2xhc3MoRS5tZXNzYWdlQ2xhc3MpLEkuYXBwZW5kKEIpfX1mdW5jdGlvbiBwKCl7RS5jbG9zZUJ1dHRvbiYmKGouYWRkQ2xhc3MoRS5jbG9zZUNsYXNzKS5hdHRyKCJyb2xlIiwiYnV0dG9uIiksSS5wcmVwZW5kKGopKX1mdW5jdGlvbiBnKCl7RS5wcm9ncmVzc0JhciYmKHEuYWRkQ2xhc3MoRS5wcm9ncmVzc0NsYXNzKSxJLnByZXBlbmQocSkpfWZ1bmN0aW9uIEMoKXtFLnJ0bCYmSS5hZGRDbGFzcygicnRsIil9ZnVuY3Rpb24gTyhlLHQpe2lmKGUucHJldmVudER1cGxpY2F0ZXMpe2lmKHQubWVzc2FnZT09PXcpcmV0dXJuITA7dz10Lm1lc3NhZ2V9cmV0dXJuITF9ZnVuY3Rpb24gYih0KXt2YXIgbj10JiZFLmNsb3NlTWV0aG9kIT09ITE/RS5jbG9zZU1ldGhvZDpFLmhpZGVNZXRob2Qsbz10JiZFLmNsb3NlRHVyYXRpb24hPT0hMT9FLmNsb3NlRHVyYXRpb246RS5oaWRlRHVyYXRpb24scz10JiZFLmNsb3NlRWFzaW5nIT09ITE/RS5jbG9zZUVhc2luZzpFLmhpZGVFYXNpbmc7aWYoIWUoIjpmb2N1cyIsSSkubGVuZ3RofHx0KXJldHVybiBjbGVhclRpbWVvdXQoRi5pbnRlcnZhbElkKSxJW25dKHtkdXJhdGlvbjpvLGVhc2luZzpzLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aChJKSxjbGVhclRpbWVvdXQoayksRS5vbkhpZGRlbiYmImhpZGRlbiIhPT1QLnN0YXRlJiZFLm9uSGlkZGVuKCksUC5zdGF0ZT0iaGlkZGVuIixQLmVuZFRpbWU9bmV3IERhdGUsZihQKX19KX1mdW5jdGlvbiBEKCl7KEUudGltZU91dD4wfHxFLmV4dGVuZGVkVGltZU91dD4wKSYmKGs9c2V0VGltZW91dChiLEUuZXh0ZW5kZWRUaW1lT3V0KSxGLm1heEhpZGVUaW1lPXBhcnNlRmxvYXQoRS5leHRlbmRlZFRpbWVPdXQpLEYuaGlkZUV0YT0obmV3IERhdGUpLmdldFRpbWUoKStGLm1heEhpZGVUaW1lKX1mdW5jdGlvbiBIKCl7Y2xlYXJUaW1lb3V0KGspLEYuaGlkZUV0YT0wLEkuc3RvcCghMCwhMClbRS5zaG93TWV0aG9kXSh7ZHVyYXRpb246RS5zaG93RHVyYXRpb24sZWFzaW5nOkUuc2hvd0Vhc2luZ30pfWZ1bmN0aW9uIHgoKXt2YXIgZT0oRi5oaWRlRXRhLShuZXcgRGF0ZSkuZ2V0VGltZSgpKS9GLm1heEhpZGVUaW1lKjEwMDtxLndpZHRoKGUrIiUiKX12YXIgRT1tKCkseT10Lmljb25DbGFzc3x8RS5pY29uQ2xhc3M7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0Lm9wdGlvbnNPdmVycmlkZSYmKEU9ZS5leHRlbmQoRSx0Lm9wdGlvbnNPdmVycmlkZSkseT10Lm9wdGlvbnNPdmVycmlkZS5pY29uQ2xhc3N8fHkpLCFPKEUsdCkpe1QrKyx2PW4oRSwhMCk7dmFyIGs9bnVsbCxJPWUoIjxkaXYvPiIpLE09ZSgiPGRpdi8+IiksQj1lKCI8ZGl2Lz4iKSxxPWUoIjxkaXYvPiIpLGo9ZShFLmNsb3NlSHRtbCksRj17aW50ZXJ2YWxJZDpudWxsLGhpZGVFdGE6bnVsbCxtYXhIaWRlVGltZTpudWxsfSxQPXt0b2FzdElkOlQsc3RhdGU6InZpc2libGUiLHN0YXJ0VGltZTpuZXcgRGF0ZSxvcHRpb25zOkUsbWFwOnR9O3JldHVybiBzKCkscigpLGEoKSxmKFApLEUuZGVidWcmJmNvbnNvbGUmJmNvbnNvbGUubG9nKFApLEl9fWZ1bmN0aW9uIG0oKXtyZXR1cm4gZS5leHRlbmQoe30scCgpLGIub3B0aW9ucyl9ZnVuY3Rpb24gaChlKXt2fHwodj1uKCkpLGUuaXMoIjp2aXNpYmxlIil8fChlLnJlbW92ZSgpLGU9bnVsbCwwPT09di5jaGlsZHJlbigpLmxlbmd0aCYmKHYucmVtb3ZlKCksdz12b2lkIDApKX12YXIgdixDLHcsVD0wLE89e2Vycm9yOiJlcnJvciIsaW5mbzoiaW5mbyIsc3VjY2Vzczoic3VjY2VzcyIsd2FybmluZzoid2FybmluZyJ9LGI9e2NsZWFyOnIscmVtb3ZlOmMsZXJyb3I6dCxnZXRDb250YWluZXI6bixpbmZvOm8sb3B0aW9uczp7fSxzdWJzY3JpYmU6cyxzdWNjZXNzOmksdmVyc2lvbjoiMi4xLjQiLHdhcm5pbmc6YX07cmV0dXJuIGJ9KCl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmU6ZnVuY3Rpb24oZSx0KXsidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9dChyZXF1aXJlKCJqcXVlcnkiKSk6d2luZG93LnRvYXN0cj10KHdpbmRvdy5qUXVlcnkpfSk7CgokKGZ1bmN0aW9uICgpIHsKdG9hc3RyLm9wdGlvbnMgPSB7CiAgImNsb3NlQnV0dG9uIjogZmFsc2UsCiAgImRlYnVnIjogZmFsc2UsCiAgIm5ld2VzdE9uVG9wIjogZmFsc2UsCiAgInByb2dyZXNzQmFyIjogdHJ1ZSwKICAicG9zaXRpb25DbGFzcyI6ICJ0b2FzdC10b3AtZnVsbC13aWR0aCIsCiAgInByZXZlbnREdXBsaWNhdGVzIjogZmFsc2UsCiAgIm9uY2xpY2siOiBudWxsLAogICJzaG93RHVyYXRpb24iOiAiMzAwIiwKICAiaGlkZUR1cmF0aW9uIjogIjEwMDAiLAogICJ0aW1lT3V0IjogIjYwMDAiLAogICJleHRlbmRlZFRpbWVPdXQiOiAiMTAwMCIsCiAgInNob3dFYXNpbmciOiAic3dpbmciLAogICJoaWRlRWFzaW5nIjogImxpbmVhciIsCiAgInNob3dNZXRob2QiOiAiZmFkZUluIiwKICAiaGlkZU1ldGhvZCI6ICJmYWRlT3V0Igp9OwoKbGV0IHZpc2libGVNZXNzYWdlID0gJCgiLnRvYXN0LXN1Y2Nlc3MiKS5odG1sKCk7CmlmICh2aXNpYmxlTWVzc2FnZSAmJiB2aXNpYmxlTWVzc2FnZS5sZW5ndGggPiAwKSB7CiAgdG9hc3RyLnN1Y2Nlc3ModmlzaWJsZU1lc3NhZ2UsICIiLCB7CiAgICBjb250YWluZXJJZDogInRvYXN0LWNvbnRhaW5lciIsCiAgfSk7Cn0KCmxldCBpbnZpc2libGVNZXNzYWdlID0gJCgiLnRvYXN0LXdhcm5pbmciKS5odG1sKCk7CmlmIChpbnZpc2libGVNZXNzYWdlICYmIGludmlzaWJsZU1lc3NhZ2UubGVuZ3RoID4gMCkgewogIHRvYXN0ci53YXJuaW5nKGludmlzaWJsZU1lc3NhZ2UsICIiLCB7CiAgICBjb250YWluZXJJZDogInRvYXN0LWNvbnRhaW5lciIKICB9KTsKfQp9KTsoalF1ZXJ5LCBfKTs=SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorSpinning Icon?The Icon in the SideNote Tab will spin getting users attention even moreBlinking Icon?The Icon in the SideNote Tab will blink getting users attentionStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJe3tpZiAhc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzfX0KCQkJCSAgIDxkaXYgaWQ9IlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIj4KCQkJCQkgIDxhIGNsYXNzPSJpcHNCdXR0b24gaXBzQnV0dG9uX3ZlcnlTbWFsbCBpcHNCdXR0b25faW1wb3J0YW50IGlwc0J1dHRvbl9mdWxsV2lkdGgiIGhyZWY9Int1cmw9ImFwcD1jb3JlJm1vZHVsZT1zeXN0ZW0mc2VjdGlvbj1wbHVnaW5zJmRvPVNpZGVOb3RlRGlzbWlzcyIgY3NyZj0iMSJ9IiBkYXRhLWlwc3Rvb2x0aXAgdGl0bGU9IntsYW5nPSdzZG5faGlkZV90b29sdGlwJ30iIGRhdGEtYWN0aW9uPSJkaXNtaXNzIj57bGFuZz0nc2RuX2hpZGVfdG9vbHRpcCd9PC9hPgoJCQkJICAgPC9kaXY+Cgl7e2Vsc2VpZiBzZXR0aW5ncy5zZG5faGlkZV9ndWVzdHMgYW5kICFcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+bWVtYmVyX2lkIH19CiAgICAgICAgICAgICAgICAgIDxwPiA8L3A+Cgl7e2Vsc2V9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZW5kaWZ9fQoJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0idG9hc3Qtc3VjY2VzcyIgaGlkZGVuPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9InRvYXN0LXdhcm5pbmciIGhpZGRlbj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LyogU2lkZU5vdGUgKi8KI1NpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIHsKCW1hcmdpbi10b3A6IDVweDsKfQoKI2VsU05NRGlhbG9nIHsKCn0KCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDoge3NldHRpbmc9InNkbl9zaWRlYmFyX3dpZHRoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fYmFja2dyb3VuZF9jb2xvciJ9OwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKDAuMjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLXNpemU6IDgwcHggODBweDsKCWJhY2tncm91bmQtcG9zaXRpb246IHRvcDsKCXotaW5kZXg6IDk5OTk7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlQmFyIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZUJhciB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVUYWIgewogICAgYm9yZGVyLXJhZGl1czogMCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IHtzZXR0aW5nPSJzZG5fdGFiX3JhZGl1cyJ9cHggMDsKCXBvc2l0aW9uOiBmaXhlZDsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICd0b3AnfX0KCXRvcDoge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICdib3R0b20nfX0KCWJvdHRvbToge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCXdpZHRoOiB7c2V0dGluZz0ic2RuX3RhYl9zaXpldyJ9cHg7CgloZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fdGFiX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDoge3NldHRpbmc9InNkbl90YWJfc2l6ZWgifXB4OwoJei1pbmRleDogOTk5ODsKCXRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDsKfQoKLlNpZGVOb3RlVGFiOmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fc2l6ZSJ9cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9OwoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9pY29uX2FuaW1hdGlvbiA9PSAyfX0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZTsKICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7CgkJIHt7ZW5kaWZ9fQoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9pY29uX2FuaW1hdGlvbiA9PSAzfX0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwdWxzZSAxcyBpbmZpbml0ZTsKICAgIGFuaW1hdGlvbjogcHVsc2UgMXMgaW5maW5pdGU7CgkJIHt7ZW5kaWZ9fQoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9pY29uX2FuaW1hdGlvbiA9PSAxfX0KCS13ZWJraXQtYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CglhbmltYXRpb246IGJsaW5rZXIgMXMgc3RlcC1zdGFydCBpbmZpbml0ZTsKCQkge3tlbmRpZn19Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZQp7CiAgMCUgewogICAgYm94LXNoYWRvdzogMCAwIDAgMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICB9CiAgMTAwJSB7CiAgICBib3gtc2hhZG93OiAwIDAgMCAzNXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgfQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2UtYmlnCnsKICAwJSB7CiAgICBib3gtc2hhZG93OiAwIDAgMCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIH0KICAxMDAlIHsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDcwcHggcmdiYSgwLCAwLCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgcHVsc2UKewogIDAlIHsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgfQogIDEwMCUgewogICAgYm94LXNoYWRvdzogMCAwIDAgMzVweCByZ2JhKDAsIDAsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBwdWxzZS1iaWcKewogIDAlIHsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgfQogIDEwMCUgewogICAgYm94LXNoYWRvdzogMCAwIDAgNzBweCByZ2JhKDAsIDAsIDAsIDApOwogIH0KfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rZXIgewogIDUwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQpAa2V5ZnJhbWVzIGJsaW5rZXIgewogIDUwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLlNpZGVOb3RlVGFiOmhvdmVyOmFmdGVyIHsKCWNvbG9yOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX2hvdmVyY29sb3IifTsKfQoKCS5TaWRlTm90ZVRhYjpob3ZlciB7CgkJY3Vyc29yOiBoZWxwOwoJfQoKCWh0bWxbZGlyPSJsdHIiXSAuU2lkZU5vdGVUYWIgewoJCWxlZnQ6IDA7Cgl9CglodG1sW2Rpcj0icnRsIl0gLlNpZGVOb3RlVGFiIHsKCQlyaWdodDogMDsKCX0KCi5TaWRlTm90ZUluZm9Cb3ggewogICAgYm9yZGVyLXJhZGl1czogMTBweDsKCWJhY2tncm91bmQ6IHtzZXR0aW5nPSJzZG5faW5mb2JveF9jb2xvciJ9Owp9CgouU2lkZU5vdGVJbmZvQm94SWNvbiB7Cglmb250LXNpemU6IHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbl9zaXplIn1weDsKfQoKLlNpZGVOb3RlSW5mb0JveEljb246YmVmb3JlIHsKCWNvbnRlbnQ6ICdce3NldHRpbmc9InNkbl9pbmZvYm94X2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07Cn0KCi8qIFBIT05FUyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewoKLlNpZGVOb3RlQmFyIHsKCXBvc2l0aW9uOiBmaXhlZDsKCWJvdHRvbTogMDsKCXRvcDogMDsKCXdpZHRoOiA1cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA1MDA7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCgkuU2lkZU5vdGVUYWIgewogICAgYm9yZGVyLXJhZGl1czogMCAyMHB4IDIwcHggMDsKCXBvc2l0aW9uOiBmaXhlZDsKCWJvdHRvbTogMTBweDsKCXdpZHRoOiAzNXB4OwoJaGVpZ2h0OiAzMHB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifTsKCXRleHQtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDE1MSwgMTEyLCAzMCwgMC41KTsKCXRleHQtYWxpZ246IGNlbnRlcjsKCWxpbmUtaGVpZ2h0OiAzMHB4OwoJei1pbmRleDogMTA7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cgl9CgouU2lkZU5vdGVUYWI6YWZ0ZXIgewoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9mb250aWNvbl9ibGlua319CglhbmltYXRpb246IGJsaW5rZXIgMXMgc3RlcC1zdGFydCBpbmZpbml0ZTsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fc3Bpbn19CiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CiAgICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyOwoJCXt7ZW5kaWZ9fQogICB9Cn0KCi50b2FzdC10aXRsZXtmb250LXdlaWdodDo3MDB9LnRvYXN0LW1lc3NhZ2V7LW1zLXdvcmQtd3JhcDpicmVhay13b3JkO3dvcmQtd3JhcDpicmVhay13b3JkfS50b2FzdC1tZXNzYWdlIGEsLnRvYXN0LW1lc3NhZ2UgbGFiZWx7Y29sb3I6I0ZGRn0udG9hc3QtbWVzc2FnZSBhOmhvdmVye2NvbG9yOiNDQ0M7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnRvYXN0LWNsb3NlLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtyaWdodDotLjNlbTt0b3A6LS4zZW07ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNGRkY7LXdlYmtpdC10ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO29wYWNpdHk6Ljg7LW1zLWZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT04MCk7ZmlsdGVyOmFscGhhKG9wYWNpdHk9ODApO2xpbmUtaGVpZ2h0OjF9LnRvYXN0LWNsb3NlLWJ1dHRvbjpmb2N1cywudG9hc3QtY2xvc2UtYnV0dG9uOmhvdmVye2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNDstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTQwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT00MCl9LnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4zZW07ZmxvYXQ6bGVmdDtyaWdodDouM2VtfWJ1dHRvbi50b2FzdC1jbG9zZS1idXR0b257cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lfS50b2FzdC10b3AtY2VudGVye3RvcDowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtYm90dG9tLWNlbnRlcntib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1mdWxsLXdpZHRoe3RvcDowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtYm90dG9tLWZ1bGwtd2lkdGh7Ym90dG9tOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC10b3AtbGVmdHt0b3A6MTJweDtsZWZ0OjEycHh9LnRvYXN0LXRvcC1yaWdodHt0b3A6MTJweDtyaWdodDoxMnB4fS50b2FzdC1ib3R0b20tcmlnaHR7cmlnaHQ6MTJweDtib3R0b206MTJweH0udG9hc3QtYm90dG9tLWxlZnR7Ym90dG9tOjEycHg7bGVmdDoxMnB4fSN0b2FzdC1jb250YWluZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTk5OTk7cG9pbnRlci1ldmVudHM6bm9uZX0jdG9hc3QtY29udGFpbmVyICp7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fSN0b2FzdC1jb250YWluZXI+ZGl2e3Bvc2l0aW9uOnJlbGF0aXZlO3BvaW50ZXItZXZlbnRzOmF1dG87b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowIDAgNnB4O3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDozMDBweDstbW96LWJvcmRlci1yYWRpdXM6M3B4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXJhZGl1czozcHg7YmFja2dyb3VuZC1wb3NpdGlvbjoxNXB4IGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LW1vei1ib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Ym94LXNoYWRvdzowIDAgMTJweCAjOTk5O2NvbG9yOiNGRkY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCl9I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse2RpcmVjdGlvbjpydGw7cGFkZGluZzoxNXB4IDUwcHggMTVweCAxNXB4O2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgMTVweCBjZW50ZXJ9I3RvYXN0LWNvbnRhaW5lcj5kaXY6aG92ZXJ7LW1vei1ib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7Ym94LXNoYWRvdzowIDAgMTJweCAjMDAwO29wYWNpdHk6MTstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MTAwKTtjdXJzb3I6cG9pbnRlcn0jdG9hc3QtY29udGFpbmVyPi50b2FzdC1pbmZve2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFHd1NVUkJWRWhMdFphOVNnTkJFTWM5c1V4eFJjb1VLU3pTV0loWHBGTWhoWVdGaGFCZzR5UFlpV0NYWnhCTEVSc0xSUzNFUWtFZndDS2RqV0pBd1NLQ2dvS0NjdWR2NE81WUxydDdFemdYaGlVMy80K2IyY2ttd1ZqSlNwS2tRNndBaTRnd2hUK3ozd1JCY0V6MHlqU3NlVVRyY1J5ZnNIc1htRDBBbWJIT0M5SWk4VkltbnVYQlBnbEhwUTV3d1NWTTdzTm5URzdaYTRKd0RkQ2p4eUFpSDNueUEybXRhVEp1ZmlEWjVkQ2FxbEl0SUxoMU5IYXRmTjVza3ZqeDlaMzhtNjlDZ3p1WG1aZ1ZyUElHRTc2M0p4OXFLc1JveldZdzZ4T0hkRVIrbm4yS2tPK0JiK1VWNUNCTjZXQzZRdEJnYlJWb3pyYWhBYm1tNkh0VXNndFBDMTl0RmR4WFpZQk9ma2JtRkoxVmFIQTFWQUhqZDBwcDcwb1RaenZSK0VWcngyWWdmZHNxNmV1NTVCSFlSOGhsY2tpK24ra0VSVUZHOEJyQTBCd2plQXYyTThXTFFCdGN5K1NENmZOc21uQjNBbEJMcmdUdFZXMWMyUU40YlZXTEFUYUlTNjBKMkR1NXkxVGlKZ2pTQnZGVlpnVG13Q1UrZEFaRm9QeEdFRXM4bnlIQzlCd2UyR3ZFSnYyV1haYjB2amR5RlQ0Q3hrM2Uva0lxbE9Hb1ZMd3dQZXZwWUhUKzAwVCtoV3dYRGY0QUpBT1VxV2NEaGJ3QUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyPi50b2FzdC1lcnJvcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBSE9TVVJCVkVoTHJaYS9TZ05CRU1aemgwV0tDQ2xTQ0thSVlPRUQrQUFLZVFRTEc4SFd6dExDSW1CcllhZGdJZFkrZ0lLTllrQkZTd3U3Q0FvcUNna2tvR0JJL0UyOFBkYkxabWVETGd6WnpjeDgzL3paMlNTWEMxajlmcitJMUhxOTNnMnl4SDRpd00xdmtvQldBZHhDbXB6VHhma04yUmN5Wk5hSEZJa1NvMTArOGtneGtYSVVSVjVIR3hUbUZ1Yzc1QjJSZlFrcHhIRzhhQWdhQUZhMHRBSHFZRmZRN0l3ZTJ5aE9EazgrSjRDN3lBb1JUV0kzdy80a2xHUmdSNGxPN1JwbjkrZ3ZNeVdwK3V4Rmg4K0grQVJsZ04xbkp1SnVRQVl2TmtFbndHRmNrMThFcjRxM2VnRWMvb08rbWhMZEtnUnloZE5GaWFjQzBybE9DYmhOVno0SDlGbkFZZ0RCdlUzUUlpb1psSkZMSnRzb0hZUkRmaVpvVXlJeHFDdFJwVmxBTnEwRVU0ZEFwanJ0Z2V6UEZhZDVTMTlXZ2prYzBoTlZudUY0SGpWQTZDN1FyU0lieWxCK29aZTNhSGdCc3FsTnFLWUg0OGpYeUpLTXVBYml5Vko4S3phQjNlUmMwcGc5VndRNG5pRnJ5STY4cWlPaTNBYmp3ZHNmbkF0azBiQ2pUTEpLcjZtckQ5ZzhpcS9TL0I4MWhndU9NbFFUblZ5RzQwd0Fjam5tZ3NDTkVTRHJqbWU3d2ZmdFA0UDdTUDROM0NKWmR2em9OeUdxMmMvSFdPWEpHc3ZWZytSQS9rMk1DL3dONkkyWUEyUHQ4R2tBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXN1Y2Nlc3N7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQURzU1VSQlZFaExZMkFZQmZRTWdmLy8vM1A4Ky9ldkFJZ3ZBL0ZzSUYrQmF2WUREV01CR3JvYVNNTUJpRThWQzdBWkRySUZhTUZuaWkzQVpUalVnc1VVV1VEQThPZEFINmlRYlFFaHc0SHlHc1BFY0tCWEJJQzRBUmhleDRHNEJzam13ZVUxc29JRmFHZy9XdG9GWlJJWmRFdklNaHhrQ0NqWElWc0FUVjZnRkdBQ3M0UnN3MEVHZ0lJSDNRSllKZ0hTQVJRWkRyV0FCK2phd3pncytRMlVPNDlEN2puUlNSR29FRlJJTGNkbUVNV0dJMGNtMEpKMlFwWUExUkR2Y216SkVXaEFCaEQvcHFyTDBTMENXdUFCS2duUmtpOWxMc2VTN2cyQWxxd0hXUVNLSDRvS0xySUxwUkdoRVFDdzJMaVJVSWE0bHdBQUFBQkpSVTVFcmtKZ2dnPT0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyPi50b2FzdC13YXJuaW5ne2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFHWVNVUkJWRWhMNVpTdlRzTlFGTWJYWkdJQ01ZR1ltSmhBUUlKQUlDWVFQQUFDaVNEQjhBaUlDUVFKVDRDcVFFd2dKdllBU0FRQ2laaVltSmhBSUJBVENBUkp5KzlyVHNsZGQ4c0t1MU0wK2RMYjA1N3Y2L2xicS8yckswbVMvVFJOajljV05BS1BZSUpJSTdnSXhDY1E1MWN2cUlEK0dJRVg4QVNHNEIxYks1Z0laRmVRZm9KZEVYT2ZnWDRRQVFnN2tIMkE2NXlRODdseXhiMjdzZ2drQXpBdUZoYmJnMUsya2dDa0IxYlZ3eUlSOW0yTDdQUlBJaERVSVhnR3R5S3c1NzV5ejNsVE5zNlg0SlhualYrTEtNL20zTXlkblRidE9LSWp0ejZWaENCcTR2U20zbmNkckQybGswVmdVWFNWS2pWREpYSnppalcxUlFkc1U3Rjc3SGU4dTY4a29OWlR6OE96NXlHYTZKM0gzbFoweFlnWEJLMlF5bWxXV0ErUlduWWhza0xCdjJ2bUUraEJNQ3RiQTdLWDVkcld5UlQvMkpzcVoySXZmQjlZNGJXRE5NRmJKUkZtQzlFNzRTb1MwQ3F1bHdqa0MwKzVicGNWMUNaOE5NZWo0cGp5MFUrZG9EUXNHeW8xaHpWSnR0SWpoUTdHbkJ0UkZOMVVhclVsSDhGM3hpY3QrSFkwN3JFem9VR1BsV2NqUkZScjQvZ0NoWmdjM1pMMmQ4b0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lci50b2FzdC1ib3R0b20tY2VudGVyPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1jZW50ZXI+ZGl2e3dpZHRoOjMwMHB4O21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99I3RvYXN0LWNvbnRhaW5lci50b2FzdC1ib3R0b20tZnVsbC13aWR0aD5kaXYsI3RvYXN0LWNvbnRhaW5lci50b2FzdC10b3AtZnVsbC13aWR0aD5kaXZ7d2lkdGg6OTYlO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99LnRvYXN0e2JhY2tncm91bmQtY29sb3I6IzAzMDMwM30udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiM1MUEzNTF9LnRvYXN0LWVycm9ye2JhY2tncm91bmQtY29sb3I6I0JEMzYyRn0udG9hc3QtaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiMyRjk2QjR9LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojRjg5NDA2fS50b2FzdC1wcm9ncmVzc3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7b3BhY2l0eTouNDstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTQwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT00MCl9QG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDoyNDBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjExZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoyNDFweCkgYW5kIChtYXgtd2lkdGg6NDgwcHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6OHB4IDhweCA4cHggNTBweDt3aWR0aDoxOGVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjhweCA1MHB4IDhweCA4cHh9I3RvYXN0LWNvbnRhaW5lciAudG9hc3QtY2xvc2UtYnV0dG9ue3JpZ2h0Oi0uMmVtO3RvcDotLjJlbX0jdG9hc3QtY29udGFpbmVyIC5ydGwgLnRvYXN0LWNsb3NlLWJ1dHRvbntsZWZ0Oi0uMmVtO3JpZ2h0Oi4yZW19fUBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6NDgxcHgpIGFuZCAobWF4LXdpZHRoOjc2OHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjE1cHggMTVweCAxNXB4IDUwcHg7d2lkdGg6MjVlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzoxNXB4IDUwcHggMTVweCAxNXB4fX0KCi50b2FzdC1zdWNjZXNzIHsKCWZvbnQtc2l6ZTogMTZweDsKfQoKLnRvYXN0LXdhcm5pbmcgewoJZm9udC1zaXplOiAxNnB4Owp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7CgohZnVuY3Rpb24oZSl7ZShbImpxdWVyeSJdLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSx0LG4pe3JldHVybiBnKHt0eXBlOk8uZXJyb3IsaWNvbkNsYXNzOm0oKS5pY29uQ2xhc3Nlcy5lcnJvcixtZXNzYWdlOmUsb3B0aW9uc092ZXJyaWRlOm4sdGl0bGU6dH0pfWZ1bmN0aW9uIG4odCxuKXtyZXR1cm4gdHx8KHQ9bSgpKSx2PWUoIiMiK3QuY29udGFpbmVySWQpLHYubGVuZ3RoP3Y6KG4mJih2PWQodCkpLHYpfWZ1bmN0aW9uIG8oZSx0LG4pe3JldHVybiBnKHt0eXBlOk8uaW5mbyxpY29uQ2xhc3M6bSgpLmljb25DbGFzc2VzLmluZm8sbWVzc2FnZTplLG9wdGlvbnNPdmVycmlkZTpuLHRpdGxlOnR9KX1mdW5jdGlvbiBzKGUpe0M9ZX1mdW5jdGlvbiBpKGUsdCxuKXtyZXR1cm4gZyh7dHlwZTpPLnN1Y2Nlc3MsaWNvbkNsYXNzOm0oKS5pY29uQ2xhc3Nlcy5zdWNjZXNzLG1lc3NhZ2U6ZSxvcHRpb25zT3ZlcnJpZGU6bix0aXRsZTp0fSl9ZnVuY3Rpb24gYShlLHQsbil7cmV0dXJuIGcoe3R5cGU6Ty53YXJuaW5nLGljb25DbGFzczptKCkuaWNvbkNsYXNzZXMud2FybmluZyxtZXNzYWdlOmUsb3B0aW9uc092ZXJyaWRlOm4sdGl0bGU6dH0pfWZ1bmN0aW9uIHIoZSx0KXt2YXIgbz1tKCk7dnx8bihvKSx1KGUsbyx0KXx8bChvKX1mdW5jdGlvbiBjKHQpe3ZhciBvPW0oKTtyZXR1cm4gdnx8bihvKSx0JiYwPT09ZSgiOmZvY3VzIix0KS5sZW5ndGg/dm9pZCBoKHQpOnZvaWQodi5jaGlsZHJlbigpLmxlbmd0aCYmdi5yZW1vdmUoKSl9ZnVuY3Rpb24gbCh0KXtmb3IodmFyIG49di5jaGlsZHJlbigpLG89bi5sZW5ndGgtMTtvPj0wO28tLSl1KGUobltvXSksdCl9ZnVuY3Rpb24gdSh0LG4sbyl7dmFyIHM9ISghb3x8IW8uZm9yY2UpJiZvLmZvcmNlO3JldHVybiEoIXR8fCFzJiYwIT09ZSgiOmZvY3VzIix0KS5sZW5ndGgpJiYodFtuLmhpZGVNZXRob2RdKHtkdXJhdGlvbjpuLmhpZGVEdXJhdGlvbixlYXNpbmc6bi5oaWRlRWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aCh0KX19KSwhMCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4gdj1lKCI8ZGl2Lz4iKS5hdHRyKCJpZCIsdC5jb250YWluZXJJZCkuYWRkQ2xhc3ModC5wb3NpdGlvbkNsYXNzKSx2LmFwcGVuZFRvKGUodC50YXJnZXQpKSx2fWZ1bmN0aW9uIHAoKXtyZXR1cm57dGFwVG9EaXNtaXNzOiEwLHRvYXN0Q2xhc3M6InRvYXN0Iixjb250YWluZXJJZDoidG9hc3QtY29udGFpbmVyIixkZWJ1ZzohMSxzaG93TWV0aG9kOiJmYWRlSW4iLHNob3dEdXJhdGlvbjozMDAsc2hvd0Vhc2luZzoic3dpbmciLG9uU2hvd246dm9pZCAwLGhpZGVNZXRob2Q6ImZhZGVPdXQiLGhpZGVEdXJhdGlvbjoxZTMsaGlkZUVhc2luZzoic3dpbmciLG9uSGlkZGVuOnZvaWQgMCxjbG9zZU1ldGhvZDohMSxjbG9zZUR1cmF0aW9uOiExLGNsb3NlRWFzaW5nOiExLGNsb3NlT25Ib3ZlcjohMCxleHRlbmRlZFRpbWVPdXQ6MWUzLGljb25DbGFzc2VzOntlcnJvcjoidG9hc3QtZXJyb3IiLGluZm86InRvYXN0LWluZm8iLHN1Y2Nlc3M6InRvYXN0LXN1Y2Nlc3MiLHdhcm5pbmc6InRvYXN0LXdhcm5pbmcifSxpY29uQ2xhc3M6InRvYXN0LWluZm8iLHBvc2l0aW9uQ2xhc3M6InRvYXN0LXRvcC1yaWdodCIsdGltZU91dDo1ZTMsdGl0bGVDbGFzczoidG9hc3QtdGl0bGUiLG1lc3NhZ2VDbGFzczoidG9hc3QtbWVzc2FnZSIsZXNjYXBlSHRtbDohMSx0YXJnZXQ6ImJvZHkiLGNsb3NlSHRtbDonPGJ1dHRvbiB0eXBlPSJidXR0b24iPiZ0aW1lczs8L2J1dHRvbj4nLGNsb3NlQ2xhc3M6InRvYXN0LWNsb3NlLWJ1dHRvbiIsbmV3ZXN0T25Ub3A6ITAscHJldmVudER1cGxpY2F0ZXM6ITEscHJvZ3Jlc3NCYXI6ITEscHJvZ3Jlc3NDbGFzczoidG9hc3QtcHJvZ3Jlc3MiLHJ0bDohMX19ZnVuY3Rpb24gZihlKXtDJiZDKGUpfWZ1bmN0aW9uIGcodCl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbD09ZSYmKGU9IiIpLGUucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpfWZ1bmN0aW9uIHMoKXtjKCksdSgpLGQoKSxwKCksZygpLEMoKSxsKCksaSgpfWZ1bmN0aW9uIGkoKXt2YXIgZT0iIjtzd2l0Y2godC5pY29uQ2xhc3Mpe2Nhc2UidG9hc3Qtc3VjY2VzcyI6Y2FzZSJ0b2FzdC1pbmZvIjplPSJwb2xpdGUiO2JyZWFrO2RlZmF1bHQ6ZT0iYXNzZXJ0aXZlIn1JLmF0dHIoImFyaWEtbGl2ZSIsZSl9ZnVuY3Rpb24gYSgpe0UuY2xvc2VPbkhvdmVyJiZJLmhvdmVyKEgsRCksIUUub25jbGljayYmRS50YXBUb0Rpc21pc3MmJkkuY2xpY2soYiksRS5jbG9zZUJ1dHRvbiYmaiYmai5jbGljayhmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbj9lLnN0b3BQcm9wYWdhdGlvbigpOnZvaWQgMCE9PWUuY2FuY2VsQnViYmxlJiZlLmNhbmNlbEJ1YmJsZSE9PSEwJiYoZS5jYW5jZWxCdWJibGU9ITApLEUub25DbG9zZUNsaWNrJiZFLm9uQ2xvc2VDbGljayhlKSxiKCEwKX0pLEUub25jbGljayYmSS5jbGljayhmdW5jdGlvbihlKXtFLm9uY2xpY2soZSksYigpfSl9ZnVuY3Rpb24gcigpe0kuaGlkZSgpLElbRS5zaG93TWV0aG9kXSh7ZHVyYXRpb246RS5zaG93RHVyYXRpb24sZWFzaW5nOkUuc2hvd0Vhc2luZyxjb21wbGV0ZTpFLm9uU2hvd259KSxFLnRpbWVPdXQ+MCYmKGs9c2V0VGltZW91dChiLEUudGltZU91dCksRi5tYXhIaWRlVGltZT1wYXJzZUZsb2F0KEUudGltZU91dCksRi5oaWRlRXRhPShuZXcgRGF0ZSkuZ2V0VGltZSgpK0YubWF4SGlkZVRpbWUsRS5wcm9ncmVzc0JhciYmKEYuaW50ZXJ2YWxJZD1zZXRJbnRlcnZhbCh4LDEwKSkpfWZ1bmN0aW9uIGMoKXt0Lmljb25DbGFzcyYmSS5hZGRDbGFzcyhFLnRvYXN0Q2xhc3MpLmFkZENsYXNzKHkpfWZ1bmN0aW9uIGwoKXtFLm5ld2VzdE9uVG9wP3YucHJlcGVuZChJKTp2LmFwcGVuZChJKX1mdW5jdGlvbiB1KCl7aWYodC50aXRsZSl7dmFyIGU9dC50aXRsZTtFLmVzY2FwZUh0bWwmJihlPW8odC50aXRsZSkpLE0uYXBwZW5kKGUpLmFkZENsYXNzKEUudGl0bGVDbGFzcyksSS5hcHBlbmQoTSl9fWZ1bmN0aW9uIGQoKXtpZih0Lm1lc3NhZ2Upe3ZhciBlPXQubWVzc2FnZTtFLmVzY2FwZUh0bWwmJihlPW8odC5tZXNzYWdlKSksQi5hcHBlbmQoZSkuYWRkQ2xhc3MoRS5tZXNzYWdlQ2xhc3MpLEkuYXBwZW5kKEIpfX1mdW5jdGlvbiBwKCl7RS5jbG9zZUJ1dHRvbiYmKGouYWRkQ2xhc3MoRS5jbG9zZUNsYXNzKS5hdHRyKCJyb2xlIiwiYnV0dG9uIiksSS5wcmVwZW5kKGopKX1mdW5jdGlvbiBnKCl7RS5wcm9ncmVzc0JhciYmKHEuYWRkQ2xhc3MoRS5wcm9ncmVzc0NsYXNzKSxJLnByZXBlbmQocSkpfWZ1bmN0aW9uIEMoKXtFLnJ0bCYmSS5hZGRDbGFzcygicnRsIil9ZnVuY3Rpb24gTyhlLHQpe2lmKGUucHJldmVudER1cGxpY2F0ZXMpe2lmKHQubWVzc2FnZT09PXcpcmV0dXJuITA7dz10Lm1lc3NhZ2V9cmV0dXJuITF9ZnVuY3Rpb24gYih0KXt2YXIgbj10JiZFLmNsb3NlTWV0aG9kIT09ITE/RS5jbG9zZU1ldGhvZDpFLmhpZGVNZXRob2Qsbz10JiZFLmNsb3NlRHVyYXRpb24hPT0hMT9FLmNsb3NlRHVyYXRpb246RS5oaWRlRHVyYXRpb24scz10JiZFLmNsb3NlRWFzaW5nIT09ITE/RS5jbG9zZUVhc2luZzpFLmhpZGVFYXNpbmc7aWYoIWUoIjpmb2N1cyIsSSkubGVuZ3RofHx0KXJldHVybiBjbGVhclRpbWVvdXQoRi5pbnRlcnZhbElkKSxJW25dKHtkdXJhdGlvbjpvLGVhc2luZzpzLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aChJKSxjbGVhclRpbWVvdXQoayksRS5vbkhpZGRlbiYmImhpZGRlbiIhPT1QLnN0YXRlJiZFLm9uSGlkZGVuKCksUC5zdGF0ZT0iaGlkZGVuIixQLmVuZFRpbWU9bmV3IERhdGUsZihQKX19KX1mdW5jdGlvbiBEKCl7KEUudGltZU91dD4wfHxFLmV4dGVuZGVkVGltZU91dD4wKSYmKGs9c2V0VGltZW91dChiLEUuZXh0ZW5kZWRUaW1lT3V0KSxGLm1heEhpZGVUaW1lPXBhcnNlRmxvYXQoRS5leHRlbmRlZFRpbWVPdXQpLEYuaGlkZUV0YT0obmV3IERhdGUpLmdldFRpbWUoKStGLm1heEhpZGVUaW1lKX1mdW5jdGlvbiBIKCl7Y2xlYXJUaW1lb3V0KGspLEYuaGlkZUV0YT0wLEkuc3RvcCghMCwhMClbRS5zaG93TWV0aG9kXSh7ZHVyYXRpb246RS5zaG93RHVyYXRpb24sZWFzaW5nOkUuc2hvd0Vhc2luZ30pfWZ1bmN0aW9uIHgoKXt2YXIgZT0oRi5oaWRlRXRhLShuZXcgRGF0ZSkuZ2V0VGltZSgpKS9GLm1heEhpZGVUaW1lKjEwMDtxLndpZHRoKGUrIiUiKX12YXIgRT1tKCkseT10Lmljb25DbGFzc3x8RS5pY29uQ2xhc3M7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0Lm9wdGlvbnNPdmVycmlkZSYmKEU9ZS5leHRlbmQoRSx0Lm9wdGlvbnNPdmVycmlkZSkseT10Lm9wdGlvbnNPdmVycmlkZS5pY29uQ2xhc3N8fHkpLCFPKEUsdCkpe1QrKyx2PW4oRSwhMCk7dmFyIGs9bnVsbCxJPWUoIjxkaXYvPiIpLE09ZSgiPGRpdi8+IiksQj1lKCI8ZGl2Lz4iKSxxPWUoIjxkaXYvPiIpLGo9ZShFLmNsb3NlSHRtbCksRj17aW50ZXJ2YWxJZDpudWxsLGhpZGVFdGE6bnVsbCxtYXhIaWRlVGltZTpudWxsfSxQPXt0b2FzdElkOlQsc3RhdGU6InZpc2libGUiLHN0YXJ0VGltZTpuZXcgRGF0ZSxvcHRpb25zOkUsbWFwOnR9O3JldHVybiBzKCkscigpLGEoKSxmKFApLEUuZGVidWcmJmNvbnNvbGUmJmNvbnNvbGUubG9nKFApLEl9fWZ1bmN0aW9uIG0oKXtyZXR1cm4gZS5leHRlbmQoe30scCgpLGIub3B0aW9ucyl9ZnVuY3Rpb24gaChlKXt2fHwodj1uKCkpLGUuaXMoIjp2aXNpYmxlIil8fChlLnJlbW92ZSgpLGU9bnVsbCwwPT09di5jaGlsZHJlbigpLmxlbmd0aCYmKHYucmVtb3ZlKCksdz12b2lkIDApKX12YXIgdixDLHcsVD0wLE89e2Vycm9yOiJlcnJvciIsaW5mbzoiaW5mbyIsc3VjY2Vzczoic3VjY2VzcyIsd2FybmluZzoid2FybmluZyJ9LGI9e2NsZWFyOnIscmVtb3ZlOmMsZXJyb3I6dCxnZXRDb250YWluZXI6bixpbmZvOm8sb3B0aW9uczp7fSxzdWJzY3JpYmU6cyxzdWNjZXNzOmksdmVyc2lvbjoiMi4xLjQiLHdhcm5pbmc6YX07cmV0dXJuIGJ9KCl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmU6ZnVuY3Rpb24oZSx0KXsidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9dChyZXF1aXJlKCJqcXVlcnkiKSk6d2luZG93LnRvYXN0cj10KHdpbmRvdy5qUXVlcnkpfSk7CgokKGZ1bmN0aW9uICgpIHsKdG9hc3RyLm9wdGlvbnMgPSB7CiAgImNsb3NlQnV0dG9uIjogZmFsc2UsCiAgImRlYnVnIjogZmFsc2UsCiAgIm5ld2VzdE9uVG9wIjogZmFsc2UsCiAgInByb2dyZXNzQmFyIjogdHJ1ZSwKICAicG9zaXRpb25DbGFzcyI6ICJ0b2FzdC1ib3R0b20tZnVsbC13aWR0aCIsCiAgInByZXZlbnREdXBsaWNhdGVzIjogZmFsc2UsCiAgIm9uY2xpY2siOiBudWxsLAogICJzaG93RHVyYXRpb24iOiAiMzAwIiwKICAiaGlkZUR1cmF0aW9uIjogIjEwMDAiLAogICJ0aW1lT3V0IjogIjYwMDAiLAogICJleHRlbmRlZFRpbWVPdXQiOiAiMTAwMCIsCiAgInNob3dFYXNpbmciOiAic3dpbmciLAogICJoaWRlRWFzaW5nIjogImxpbmVhciIsCiAgInNob3dNZXRob2QiOiAiZmFkZUluIiwKICAiaGlkZU1ldGhvZCI6ICJmYWRlT3V0Igp9OwoKbGV0IHZpc2libGVNZXNzYWdlID0gJCgiLnRvYXN0LXN1Y2Nlc3MiKS5odG1sKCk7CmlmICh2aXNpYmxlTWVzc2FnZSAmJiB2aXNpYmxlTWVzc2FnZS5sZW5ndGggPiAwKSB7CiAgdG9hc3RyLnN1Y2Nlc3ModmlzaWJsZU1lc3NhZ2UsICIiLCB7CiAgICBjb250YWluZXJJZDogInRvYXN0LWNvbnRhaW5lciIsCiAgfSk7Cn0KCmxldCBpbnZpc2libGVNZXNzYWdlID0gJCgiLnRvYXN0LXdhcm5pbmciKS5odG1sKCk7CmlmIChpbnZpc2libGVNZXNzYWdlICYmIGludmlzaWJsZU1lc3NhZ2UubGVuZ3RoID4gMCkgewogIHRvYXN0ci53YXJuaW5nKGludmlzaWJsZU1lc3NhZ2UsICIiLCB7CiAgICBjb250YWluZXJJZDogInRvYXN0LWNvbnRhaW5lciIKICB9KTsKfQp9KTsoalF1ZXJ5LCBfKTs=SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorIcon AnimationNoneSpinningBlinkingPulsingStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_fonticon_blink0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_hide_guests0sdn_notfication_groups4sdn_notfication_enabled0sdn_enabled0sdn_titlesdn_lgdescsdn_stdescsdn_fonticonf071sdn_background_color#FFFsdn_stripe_color#f4b738sdn_sidebar_width10sdn_fonticon_size25sdn_fonticon_color#FFFFFFsdn_fonticon_hovercolor#bbb6b6sdn_groupssdn_hide0sdn_date_startsdn_date_endsdn_modal_sizemediumsdn_infobox_enabled0sdn_infobox_contentsdn_infobox_fonticonf05asdn_infobox_fonticon_size15sdn_infobox_color#326196sdn_infobox_showtime0sdn_sidebar_hide0sdn_tab_color#f4b738sdn_tab_sizew60sdn_tab_sizeh50sdn_tab_radius30sdn_tab_positionbottomsdn_tab_window10sdn_configure_pages_type0sdn_configure_pages_listsdn_hide_guests0sdn_notfication_groups4sdn_notfication_enabled0sdn_icon_animation0addTab('sdn_configure'); $form->addHeader('sdn_configure'); @@ -206,8 +206,14 @@ $form->add( new \IPS\Helpers\Form\Text( 'sdn_fonticon', \IPS\Settings::i()->sdn_ $form->add( new \IPS\Helpers\Form\Number( 'sdn_fonticon_size', \IPS\Settings::i()->sdn_fonticon_size, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_size') ); $form->add( new \IPS\Helpers\Form\Color( 'sdn_fonticon_color', \IPS\Settings::i()->sdn_fonticon_color, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_color') ); $form->add( new \IPS\Helpers\Form\Color( 'sdn_fonticon_hovercolor', \IPS\Settings::i()->sdn_fonticon_hovercolor, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_hovercolor') ); -$form->add( new \IPS\Helpers\Form\YesNo( 'sdn_fonticon_blink', \IPS\Settings::i()->sdn_fonticon_blink, FALSE, array(), NULL, NULL, NULL, 'sdn_fonticon_blink') ); - +$form->add( new \IPS\Helpers\Form\Select( 'sdn_icon_animation', \IPS\Settings::i()->sdn_icon_animation, FALSE, array( + 'options' => array( + '0' => 'sdn_fonticon_noanim', + '1' => 'sdn_fonticon_blink', + '2' => 'sdn_fonticon_spin', + '3' => 'sdn_fonticon_pulse' + ), +'multiple' => FALSE) ) ); $form->addTab('sdn_custom_bar' ); $form->addHeader( 'sdn_custom' ); @@ -226,7 +232,7 @@ if ( $values = $form->values() ) \IPS\Db::i()->update( 'core_members', array( 'SideNoteMessage_dismissed' => 0 ) ); $form->saveAsSettings(); return TRUE; -}]]>PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGUgPT0gMSBhbmQgc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzID09IDB9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZWxzZWlmIHNldHRpbmdzLnNkbl9oaWRlID09IDAgfX0KICAgICAgICAgICAgICAgICAgPHA+IDwvcD4KCQkJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0iaXBzTWVzc2FnZSBpcHNNZXNzYWdlX3N1Y2Nlc3MiPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9Imlwc01lc3NhZ2UgaXBzTWVzc2FnZV93YXJuaW5nIj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LnRvYXN0LXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0udG9hc3QtbWVzc2FnZXstbXMtd29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC13cmFwOmJyZWFrLXdvcmR9LnRvYXN0LW1lc3NhZ2UgYSwudG9hc3QtbWVzc2FnZSBsYWJlbHtjb2xvcjojRkZGfS50b2FzdC1tZXNzYWdlIGE6aG92ZXJ7Y29sb3I6I0NDQzt0ZXh0LWRlY29yYXRpb246bm9uZX0udG9hc3QtY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3JpZ2h0Oi0uM2VtO3RvcDotLjNlbTtmbG9hdDpyaWdodDtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRjstd2Via2l0LXRleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCk7bGluZS1oZWlnaHQ6MX0udG9hc3QtY2xvc2UtYnV0dG9uOmZvY3VzLC50b2FzdC1jbG9zZS1idXR0b246aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX0ucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjNlbTtmbG9hdDpsZWZ0O3JpZ2h0Oi4zZW19YnV0dG9uLnRvYXN0LWNsb3NlLWJ1dHRvbntwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnRvYXN0LXRvcC1jZW50ZXJ7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tY2VudGVye2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtdG9wLWZ1bGwtd2lkdGh7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC1ib3R0b20tZnVsbC13aWR0aHtib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1sZWZ0e3RvcDoxMnB4O2xlZnQ6MTJweH0udG9hc3QtdG9wLXJpZ2h0e3RvcDoxMnB4O3JpZ2h0OjEycHh9LnRvYXN0LWJvdHRvbS1yaWdodHtyaWdodDoxMnB4O2JvdHRvbToxMnB4fS50b2FzdC1ib3R0b20tbGVmdHtib3R0b206MTJweDtsZWZ0OjEycHh9I3RvYXN0LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtwb2ludGVyLWV2ZW50czpub25lfSN0b2FzdC1jb250YWluZXIgKnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cG9zaXRpb246cmVsYXRpdmU7cG9pbnRlci1ldmVudHM6YXV0bztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgMCA2cHg7cGFkZGluZzoxNXB4IDE1cHggMTVweCA1MHB4O3dpZHRoOjMwMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE1cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzk5OTtib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Y29sb3I6I0ZGRjtvcGFjaXR5Oi44Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7ZGlyZWN0aW9uOnJ0bDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHg7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNXB4IGNlbnRlcn0jdG9hc3QtY29udGFpbmVyPmRpdjpob3ZlcnstbW96LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEycHggIzAwMDtib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7b3BhY2l0eToxOy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT0xMDApO2N1cnNvcjpwb2ludGVyfSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWluZm97YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUd3U1VSQlZFaEx0WmE5U2dOQkVNYzlzVXh4UmNvVUtTelNXSWhYcEZNaGhZV0ZoYUJnNHlQWWlXQ1haeEJMRVJzTFJTM0VRa0Vmd0NLZGpXSkF3U0tDZ29LQ2N1ZHY0TzVZTHJ0N0V6Z1hoaVUzLzQrYjJja213VmpKU3BLa1E2d0FpNGd3aFQrejN3UkJjRXoweWpTc2VVVHJjUnlmc0hzWG1EMEFtYkhPQzlJaThWSW1udVhCUGdsSHBRNXd3U1ZNN3NOblRHN1phNEp3RGRDanh5QWlIM255QTJtdGFUSnVmaURaNWRDYXFsSXRJTGgxTkhhdGZONXNrdmp4OVozOG02OUNnenVYbVpnVnJQSUdFNzYzSng5cUtzUm96V1l3NnhPSGRFUitubjJLa08rQmIrVVY1Q0JONldDNlF0QmdiUlZvenJhaEFibW02SHRVc2d0UEMxOXRGZHhYWllCT2ZrYm1GSjFWYUhBMVZBSGpkMHBwNzBvVFp6dlIrRVZyeDJZZ2Zkc3E2ZXU1NUJIWVI4aGxja2krbitrRVJVRkc4QnJBMEJ3amVBdjJNOFdMUUJ0Y3krU0Q2Zk5zbW5CM0FsQkxyZ1R0VlcxYzJRTjRiVldMQVRhSVM2MEoyRHU1eTFUaUpnalNCdkZWWmdUbXdDVStkQVpGb1B4R0VFczhueUhDOUJ3ZTJHdkVKdjJXWFpiMHZqZHlGVDRDeGszZS9rSXFsT0dvVkx3d1BldnBZSFQrMDBUK2hXd1hEZjRBSkFPVXFXY0RoYndBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LWVycm9ye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFIT1NVUkJWRWhMclphL1NnTkJFTVp6aDBXS0NDbFNDS2FJWU9FRCtBQUtlUVFMRzhIV3p0TENJbUJyWWFkZ0lkWStnSUtOWWtCRlN3dTdDQW9xQ2dra29HQkkvRTI4UGRiTFptZURMZ3paemN4ODMveloyU1NYQzFqOWZyK0kxSHE5M2cyeXhINGl3TTF2a29CV0FkeENtcHpUeGZrTjJSY3laTmFIRklrU28xMCs4a2d4a1hJVVJWNUhHeFRtRnVjNzVCMlJmUWtweEhHOGFBZ2FBRmEwdEFIcVlGZlE3SXdlMnloT0RrOCtKNEM3eUFvUlRXSTN3LzRrbEdSZ1I0bE83UnBuOStndk15V3ArdXhGaDgrSCtBUmxnTjFuSnVKdVFBWXZOa0Vud0dGY2sxOEVyNHEzZWdFYy9vTyttaExkS2dSeWhkTkZpYWNDMHJsT0NiaE5WejRIOUZuQVlnREJ2VTNRSWlvWmxKRkxKdHNvSFlSRGZpWm9VeUl4cUN0UnBWbEFOcTBFVTRkQXBqcnRnZXpQRmFkNVMxOVdnamtjMGhOVm51RjRIalZBNkM3UXJTSWJ5bEIrb1plM2FIZ0JzcWxOcUtZSDQ4alh5SktNdUFiaXlWSjhLemFCM2VSYzBwZzlWd1E0bmlGcnlJNjhxaU9pM0Fiandkc2ZuQXRrMGJDalRMSktyNm1yRDlnOGlxL1MvQjgxaGd1T01sUVRuVnlHNDB3QWNqbm1nc0NORVNEcmptZTd3ZmZ0UDRQN1NQNE4zQ0paZHZ6b055R3EyYy9IV09YSkdzdlZnK1JBL2syTUMvd042STJZQTJQdDhHa0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lcj4udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBRHNTVVJCVkVoTFkyQVlCZlFNZ2YvLy8zUDgrL2V2QUlndkEvRnNJRitCYXZZRERXTUJHcm9hU01NQmlFOFZDN0FaRHJJRmFNRm5paTNBWlRqVWdzVVVXVURBOE9kQUg2aVFiUUVodzRIeUdzUEVjS0JYQklDNEFSaGV4NEc0QnNqbXdlVTFzb0lGYUdnL1d0b0ZaUklaZEV2SU1oeGtDQ2pYSVZzQVRWNmdGR0FDczRSc3cwRUdnSUlIM1FKWUpnSFNBUlFaRHJXQUIramF3emdzK1EyVU80OUQ3am5SU1JHb0VGUklMY2RtRU1XR0kwY20wSkoyUXBZQTFSRHZjbXpKRVdoQUJoRC9wcXJMMFMwQ1d1QUJLZ25Sa2k5bExzZVM3ZzJBbHF3SFdRU0tING9LTHJJTHBSR2hFUUN3MkxpUlVJYTRsd0FBQUFCSlJVNUVya0pnZ2c9PSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQUdZU1VSQlZFaEw1WlN2VHNOUUZNYlhaR0lDTVlHWW1KaEFRSUpBSUNZUVBBQUNpU0RCOEFpSUNRUUpUNENxUUV3Z0p2WUFTQVFDaVppWW1KaEFJQkFUQ0FSSnkrOXJUc2xkZDhzS3UxTTArZExiMDU3djYvbGJxLzJySzBtUy9UUk5qOWNXTkFLUFlJSklJN2dJeENjUTUxY3ZxSUQrR0lFWDhBU0c0QjFiSzVnSVpGZVFmb0pkRVhPZmdYNFFBUWc3a0gyQTY1eVE4N2x5eGIyN3NnZ2tBekF1RmhiYmcxSzJrZ0NrQjFiVnd5SVI5bTJMN1BSUEloRFVJWGdHdHlLdzU3NXl6M2xUTnM2WDRKWG5qVitMS00vbTNNeWRuVGJ0T0tJanR6NlZoQ0JxNHZTbTNuY2RyRDJsazBWZ1VYU1ZLalZESlhKemlqVzFSUWRzVTdGNzdIZTh1Njhrb05aVHo4T3o1eUdhNkozSDNsWjB4WWdYQksyUXltbFdXQStSV25ZaHNrTEJ2MnZtRStoQk1DdGJBN0tYNWRyV3lSVC8ySnNxWjJJdmZCOVk0YldETk1GYkpSRm1DOUU3NFNvUzBDcXVsd2prQzArNWJwY1YxQ1o4Tk1lajRwankwVStkb0RRc0d5bzFoelZKdHRJamhRN0duQnRSRk4xVWFyVWxIOEYzeGljdCtIWTA3ckV6b1VHUGxXY2pSRlJyNC9nQ2haZ2MzWkwyZDhvQUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1jZW50ZXI+ZGl2LCN0b2FzdC1jb250YWluZXIudG9hc3QtdG9wLWNlbnRlcj5kaXZ7d2lkdGg6MzAwcHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30jdG9hc3QtY29udGFpbmVyLnRvYXN0LWJvdHRvbS1mdWxsLXdpZHRoPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1mdWxsLXdpZHRoPmRpdnt3aWR0aDo5NiU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udG9hc3R7YmFja2dyb3VuZC1jb2xvcjojMDMwMzAzfS50b2FzdC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzUxQTM1MX0udG9hc3QtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojQkQzNjJGfS50b2FzdC1pbmZve2JhY2tncm91bmQtY29sb3I6IzJGOTZCNH0udG9hc3Qtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNGODk0MDZ9LnRvYXN0LXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi40Oy1tcy1maWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTQwKX1AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOjI0MHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjhweCA4cHggOHB4IDUwcHg7d2lkdGg6MTFlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzo4cHggNTBweCA4cHggOHB4fSN0b2FzdC1jb250YWluZXIgLnRvYXN0LWNsb3NlLWJ1dHRvbntyaWdodDotLjJlbTt0b3A6LS4yZW19I3RvYXN0LWNvbnRhaW5lciAucnRsIC50b2FzdC1jbG9zZS1idXR0b257bGVmdDotLjJlbTtyaWdodDouMmVtfX1AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOjI0MXB4KSBhbmQgKG1heC13aWR0aDo0ODBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjE4ZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDo0ODFweCkgYW5kIChtYXgtd2lkdGg6NzY4cHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDoyNWVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDE1cHh9fQ==LyogU2lkZU5vdGUgKi8KCiNTaWRlTm90ZU1lc3NhZ2VfZGlzbWlzcyB7CgltYXJnaW4tdG9wOiA1cHg7Cn0KCiNlbFNOTURpYWxvZyB7Cgp9CgouU2lkZU5vdGVCYXIgewoJcG9zaXRpb246IGZpeGVkOwoJYm90dG9tOiAwOwoJdG9wOiAwOwoJd2lkdGg6IHtzZXR0aW5nPSJzZG5fc2lkZWJhcl93aWR0aCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA4MHB4IDgwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA5OTk5OwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJaHRtbFtkaXI9Imx0ciJdIC5TaWRlTm90ZUJhciB7CgkJbGVmdDogMDsKCX0KCWh0bWxbZGlyPSJydGwiXSAuU2lkZU5vdGVCYXIgewoJCXJpZ2h0OiAwOwoJfQoKLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAge3NldHRpbmc9InNkbl90YWJfcmFkaXVzIn1weCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAndG9wJ319Cgl0b3A6IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX3RhYl9wb3NpdGlvbiA9PSAnYm90dG9tJ319Cglib3R0b206IHtzZXR0aW5nPSJzZG5fdGFiX3dpbmRvdyJ9cHg7CgkJe3tlbmRpZn19Cgl3aWR0aDoge3NldHRpbmc9InNkbl90YWJfc2l6ZXcifXB4OwoJaGVpZ2h0OiB7c2V0dGluZz0ic2RuX3RhYl9zaXplaCJ9cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX3RhYl9jb2xvciJ9OwoJdGV4dC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMTUxLCAxMTIsIDMwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCXotaW5kZXg6IDk5OTg7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCi5TaWRlTm90ZVRhYjphZnRlciB7CgkgICAgIHt7aWYgc2V0dGluZ3Muc2RuX2ZvbnRpY29uX2JsaW5rfX0KCWFuaW1hdGlvbjogYmxpbmtlciAxcyBzdGVwLXN0YXJ0IGluZmluaXRlOwoJCXt7ZW5kaWZ9fQoJY29udGVudDogJ1x7c2V0dGluZz0ic2RuX2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX3NpemUifXB4OwoJY29sb3I6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fY29sb3IifTsKfQoKQGtleWZyYW1lcyBibGlua2VyIHsKICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5TaWRlTm90ZVRhYjpob3ZlcjphZnRlciB7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9ob3ZlcmNvbG9yIn07Cn0KCgkuU2lkZU5vdGVUYWI6aG92ZXIgewoJCWN1cnNvcjogaGVscDsKCX0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlVGFiIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZVRhYiB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVJbmZvQm94IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CgliYWNrZ3JvdW5kOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfY29sb3IifTsKfQoKLlNpZGVOb3RlSW5mb0JveEljb24gewoJZm9udC1zaXplOiB7c2V0dGluZz0ic2RuX2luZm9ib3hfZm9udGljb25fc2l6ZSJ9cHg7Cn0KCi5TaWRlTm90ZUluZm9Cb3hJY29uOmJlZm9yZSB7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbiJ9JzsKICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIG1hcmdpbi1yaWdodDogMC4zcmVtOwp9CgovKiBQSE9ORVMgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDogNXB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9iYWNrZ3JvdW5kX2NvbG9yIn07CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4yNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wOwoJei1pbmRleDogNTAwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0Owp9CgoJLlNpZGVOb3RlVGFiIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDEwcHg7Cgl3aWR0aDogMzVweDsKCWhlaWdodDogMzBweDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMzBweDsKCXotaW5kZXg6IDEwOwoJdHJhbnNpdGlvbjogMC4ycyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0OwoJfQoKLlNpZGVOb3RlVGFiOmFmdGVyIHsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fYmxpbmt9fQoJYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CgkJe3tlbmRpZn19Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9Owp9Cgp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesBlinking Icon?The Icon in the Side Note Tab will blink getting users attentionClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top
PGlwczp0ZW1wbGF0ZSBwYXJhbWV0ZXJzPSIiIC8+Cgp7eyRlbmFibGVkID0gMDt9fQoKe3tpZiBzZXR0aW5ncy5zZG5fZW5hYmxlZCBhbmQgc2V0dGluZ3Muc2RuX2RhdGVfc3RhcnQgPCB0aW1lKCkgYW5kIChzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPT0gMCBPUiBzZXR0aW5ncy5zZG5fZGF0ZV9lbmQgPiB0aW1lKCkpIGFuZCAhbWVtYmVyLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgYW5kICFpc3NldCggY29va2llLlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzZWQgKX19Cgl7e2lmIHNldHRpbmdzLnNkbl9ncm91cHMgPT0gJ2FsbCcgb3IgXElQU1xNZW1iZXI6OmxvZ2dlZEluKCktPmluR3JvdXAoIGV4cGxvZGUoJywnLCBzZXR0aW5ncy5zZG5fZ3JvdXBzICkgKX19CgkJe3skZW5hYmxlZCAgPSAxO319Cgl7e2VuZGlmfX0Ke3tlbmRpZn19Cgp7eyRVUkxlbmFibGVkID0gMDt9fQp7e2lmIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9lbmFibGVkIGFuZCBcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+aW5Hcm91cCggZXhwbG9kZSgnLCcsIHNldHRpbmdzLnNkbl9ub3RmaWNhdGlvbl9ncm91cHMgKSApfX0KCXt7JFVSTGVuYWJsZWQgPSAxO319Cnt7ZW5kaWZ9fQoKe3tpZiAkZW5hYmxlZCA9PSAxIG9yICRVUkxlbmFibGVkID09IDF9fQoJe3skY3VycmVudF91cmwgPSBtYl9zdHJ0b2xvd2VyKFxJUFNcUmVxdWVzdDo6aSgpLT51cmwoKSk7fX0KCXt7JHBhZ2VzID0gcHJlZ19zcGxpdCgnL1xzKy8nLCBtYl9zdHJ0b2xvd2VyKHNldHRpbmdzLnNkbl9jb25maWd1cmVfcGFnZXNfbGlzdCkgKTt9fQoJe3tpZiBzZXR0aW5ncy5zZG5fY29uZmlndXJlX3BhZ2VzX3R5cGUgPT0gMH19CgkJe3skcGFnZXZpc2libGUgPSAwO319CgkJe3tmb3JlYWNoICRwYWdlcyBhcyAkcGFnZX19CgkgICAgICAgICAgICB7e2lmICRwYWdlICE9IiIgJiYgKG1iX3N0cnBvcygkY3VycmVudF91cmwsICRwYWdlKSAhPT0gZmFsc2UpIH19CgkgICAgICAgICAgICAgICAge3skcGFnZXZpc2libGUgPSAxO319CgkgICAgICAgICAgICB7e2VuZGlmfX0KCQl7e2VuZGZvcmVhY2h9fQoJe3tlbHNlaWYgc2V0dGluZ3Muc2RuX2NvbmZpZ3VyZV9wYWdlc190eXBlID09IDF9fQoJCXt7JHBhZ2V2aXNpYmxlID0gMTt9fQoJCXt7Zm9yZWFjaCAkcGFnZXMgYXMgJHBhZ2V9fQoJICAgICAgICAgICAge3tpZiAkcGFnZSAhPSIiICYmIChtYl9zdHJwb3MoJGN1cnJlbnRfdXJsLCAkcGFnZSkgIT09IGZhbHNlKSB9fQoJICAgICAgICAgICAgICAgIHt7JHBhZ2V2aXNpYmxlID0gMDt9fQoJICAgICAgICAgICAge3tlbmRpZn19CgkJe3tlbmRmb3JlYWNofX0KCXt7ZW5kaWZ9fQp7e2VuZGlmfX0KCnt7aWYgKCRlbmFibGVkID09IDEpICYmICgkcGFnZXZpc2libGUgPT0gMSl9fQoJCQk8YSBjbGFzcz0nU2lkZU5vdGVUYWInIGRhdGEtaXBzRGlhbG9nIGRhdGEtaXBzRGlhbG9nLWNvbnRlbnQ9JyNlbFNOTURpYWxvZycgZGF0YS1pcHNEaWFsb2ctc2l6ZT0ne2V4cHJlc3Npb249IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX21vZGFsX3NpemUifScgIGRhdGEtaXBzRGlhbG9nLXRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fdGl0bGUifSIgZGF0YS1pcHNUb29sdGlwIHRpdGxlPSJ7ZXhwcmVzc2lvbj0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fc3RkZXNjIn0iPjwvYT4KICAgIHt7aWYgc2V0dGluZ3Muc2RuX3NpZGViYXJfaGlkZSA9PSAwfX0KCQkJICA8ZGl2IGNsYXNzPSdTaWRlTm90ZUJhcic+PC9kaXY+CiAgICB7e2VuZGlmfX0KCQkJICAgIDxkaXYgaWQ9J2VsU05NRGlhbG9nJyBjbGFzcz0naXBzSGlkZSBpcHNQYWQnPgogICAge3tpZiBzZXR0aW5ncy5zZG5faW5mb2JveF9lbmFibGVkfX0KCSAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdpcHNNZXNzYWdlIFNpZGVOb3RlSW5mb0JveCc+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IlNpZGVOb3RlSW5mb0JveEljb24iPntleHByZXNzaW9uPSJcSVBTXFNldHRpbmdzOjppKCktPnNkbl9pbmZvYm94X2NvbnRlbnQifSA8L3NwYW4+CiAgICB7e2lmIHNldHRpbmdzLnNkbl9pbmZvYm94X3Nob3d0aW1lID09IDF9fQogICAgICAgICAgICAgICAgICAgIDxicj48c3Ryb25nPlN0YXJ0IFRpbWU6PC9zdHJvbmc+IHtkYXRldGltZT0iXElQU1xTZXR0aW5nczo6aSgpLT5zZG5fZGF0ZV9zdGFydCIgbm9yZWxhdGl2ZT0iZmFsc2UifSA8PiA8c3Ryb25nPkVuZCBUaW1lOjwvc3Ryb25nPiB7ZGF0ZXRpbWU9IlxJUFNcU2V0dGluZ3M6OmkoKS0+c2RuX2RhdGVfZW5kIiBub3JlbGF0aXZlPSJmYWxzZSJ9CiAgICB7e2VuZGlmfX0KICAgICAgICAgICAgICAgPC9kaXY+CiAge3tlbmRpZn19CgkJCQkgICAgIDxwIGNsYXNzPSdpcHNUeXBlX3Jlc2V0IGlwc1NwYWNlcl9ib3R0b20gaXBzVHlwZV9ub3JtYWwnPgogICAgICAgICAgICAgICB7bGFuZz0ic2RuX2xnZGVzY192YWx1ZSJ9CgkJCQkgICAgPC9wPgoKCXt7aWYgc2V0dGluZ3Muc2RuX2hpZGV9fQoJe3tpZiAhc2V0dGluZ3Muc2RuX2hpZGVfZ3Vlc3RzfX0KCQkJCSAgIDxkaXYgaWQ9IlNpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIj4KCQkJCQkgIDxhIGNsYXNzPSJpcHNCdXR0b24gaXBzQnV0dG9uX3ZlcnlTbWFsbCBpcHNCdXR0b25faW1wb3J0YW50IGlwc0J1dHRvbl9mdWxsV2lkdGgiIGhyZWY9Int1cmw9ImFwcD1jb3JlJm1vZHVsZT1zeXN0ZW0mc2VjdGlvbj1wbHVnaW5zJmRvPVNpZGVOb3RlRGlzbWlzcyIgY3NyZj0iMSJ9IiBkYXRhLWlwc3Rvb2x0aXAgdGl0bGU9IntsYW5nPSdzZG5faGlkZV90b29sdGlwJ30iIGRhdGEtYWN0aW9uPSJkaXNtaXNzIj57bGFuZz0nc2RuX2hpZGVfdG9vbHRpcCd9PC9hPgoJCQkJICAgPC9kaXY+Cgl7e2Vsc2VpZiBzZXR0aW5ncy5zZG5faGlkZV9ndWVzdHMgYW5kICFcSVBTXE1lbWJlcjo6bG9nZ2VkSW4oKS0+bWVtYmVyX2lkIH19CiAgICAgICAgICAgICAgICAgIDxwPiA8L3A+Cgl7e2Vsc2V9fQoJCQkJICAgPGRpdiBpZD0iU2lkZU5vdGVNZXNzYWdlX2Rpc21pc3MiPgoJCQkJCSAgPGEgY2xhc3M9Imlwc0J1dHRvbiBpcHNCdXR0b25fdmVyeVNtYWxsIGlwc0J1dHRvbl9pbXBvcnRhbnQgaXBzQnV0dG9uX2Z1bGxXaWR0aCIgaHJlZj0ie3VybD0iYXBwPWNvcmUmbW9kdWxlPXN5c3RlbSZzZWN0aW9uPXBsdWdpbnMmZG89U2lkZU5vdGVEaXNtaXNzIiBjc3JmPSIxIn0iIGRhdGEtaXBzdG9vbHRpcCB0aXRsZT0ie2xhbmc9J3Nkbl9oaWRlX3Rvb2x0aXAnfSIgZGF0YS1hY3Rpb249ImRpc21pc3MiPntsYW5nPSdzZG5faGlkZV90b29sdGlwJ308L2E+CgkJCQkgICA8L2Rpdj4KCXt7ZW5kaWZ9fQoJe3tlbmRpZn19CiAgICAgICAgICAgIDwvZGl2Pgp7e2VuZGlmfX0KCgp7e2lmICgkVVJMZW5hYmxlZCA9PSAxKSAmJiAoJHBhZ2V2aXNpYmxlID09IDEpfX0KCTxkaXYgaWQ9InNkblNpZGVOb3RlIiBjbGFzcz0idG9hc3Qtc3VjY2VzcyIgaGlkZGVuPgoJCXtsYW5nPSJzZG5fcGFnZV9hZGRyZXNzIn0gPHN0cm9uZz57JGN1cnJlbnRfdXJsfTwvc3Ryb25nPjwvYnI+PGVtPntsYW5nPSJzZG5fcGFnZV9kaXNwbGF5X3llcyJ9PC9lbT4KCTwvZGl2Pgp7e2Vsc2VpZiAoJFVSTGVuYWJsZWQgPT0gMSkgJiYgKCRwYWdldmlzaWJsZSA9PSAwKX19Cgk8ZGl2IGlkPSJzZG5TaWRlTm90ZSIgY2xhc3M9InRvYXN0LXdhcm5pbmciIGhpZGRlbj4KCQl7bGFuZz0ic2RuX3BhZ2VfYWRkcmVzcyJ9IDxzdHJvbmc+eyRjdXJyZW50X3VybH08L3N0cm9uZz48L2JyPjxlbT57bGFuZz0ic2RuX3BhZ2VfZGlzcGxheV9ubyJ9PC9lbT4KCTwvZGl2Pgp7e2VuZGlmfX0=LyogU2lkZU5vdGUgKi8KI1NpZGVOb3RlTWVzc2FnZV9kaXNtaXNzIHsKCW1hcmdpbi10b3A6IDVweDsKfQoKI2VsU05NRGlhbG9nIHsKCn0KCi5TaWRlTm90ZUJhciB7Cglwb3NpdGlvbjogZml4ZWQ7Cglib3R0b206IDA7Cgl0b3A6IDA7Cgl3aWR0aDoge3NldHRpbmc9InNkbl9zaWRlYmFyX3dpZHRoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fYmFja2dyb3VuZF9jb2xvciJ9OwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKDAuMjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0pLCBjb2xvci1zdG9wKDAuNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7CgliYWNrZ3JvdW5kLXNpemU6IDgwcHggODBweDsKCWJhY2tncm91bmQtcG9zaXRpb246IHRvcDsKCXotaW5kZXg6IDk5OTk7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCglodG1sW2Rpcj0ibHRyIl0gLlNpZGVOb3RlQmFyIHsKCQlsZWZ0OiAwOwoJfQoJaHRtbFtkaXI9InJ0bCJdIC5TaWRlTm90ZUJhciB7CgkJcmlnaHQ6IDA7Cgl9CgouU2lkZU5vdGVUYWIgewogICAgYm9yZGVyLXJhZGl1czogMCB7c2V0dGluZz0ic2RuX3RhYl9yYWRpdXMifXB4IHtzZXR0aW5nPSJzZG5fdGFiX3JhZGl1cyJ9cHggMDsKCXBvc2l0aW9uOiBmaXhlZDsKCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICd0b3AnfX0KCXRvcDoge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fdGFiX3Bvc2l0aW9uID09ICdib3R0b20nfX0KCWJvdHRvbToge3NldHRpbmc9InNkbl90YWJfd2luZG93In1weDsKCQl7e2VuZGlmfX0KCXdpZHRoOiB7c2V0dGluZz0ic2RuX3RhYl9zaXpldyJ9cHg7CgloZWlnaHQ6IHtzZXR0aW5nPSJzZG5fdGFiX3NpemVoIn1weDsKCWJhY2tncm91bmQtY29sb3I6IHtzZXR0aW5nPSJzZG5fdGFiX2NvbG9yIn07Cgl0ZXh0LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgxNTEsIDExMiwgMzAsIDAuNSk7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDoge3NldHRpbmc9InNkbl90YWJfc2l6ZWgifXB4OwoJei1pbmRleDogOTk5ODsKCXRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDsKfQoKLlNpZGVOb3RlVGFiOmJlZm9yZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cgljb250ZW50OiAnXHtzZXR0aW5nPSJzZG5fZm9udGljb24ifSc7CiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7Cglmb250LXNpemU6IHtzZXR0aW5nPSJzZG5fZm9udGljb25fc2l6ZSJ9cHg7Cgljb2xvcjoge3NldHRpbmc9InNkbl9mb250aWNvbl9jb2xvciJ9OwoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9pY29uX2FuaW1hdGlvbiA9PSAyfX0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZTsKICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7CgkJIHt7ZW5kaWZ9fQoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9pY29uX2FuaW1hdGlvbiA9PSAzfX0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwdWxzZSAxcyBpbmZpbml0ZTsKICAgIGFuaW1hdGlvbjogcHVsc2UgMXMgaW5maW5pdGU7CgkJIHt7ZW5kaWZ9fQoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9pY29uX2FuaW1hdGlvbiA9PSAxfX0KCS13ZWJraXQtYW5pbWF0aW9uOiBibGlua2VyIDFzIHN0ZXAtc3RhcnQgaW5maW5pdGU7CglhbmltYXRpb246IGJsaW5rZXIgMXMgc3RlcC1zdGFydCBpbmZpbml0ZTsKCQkge3tlbmRpZn19Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZQp7CiAgMCUgewogICAgYm94LXNoYWRvdzogMCAwIDAgMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICB9CiAgMTAwJSB7CiAgICBib3gtc2hhZG93OiAwIDAgMCAzNXB4IHJnYmEoMCwgMCwgMCwgMCk7CiAgfQp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2UtYmlnCnsKICAwJSB7CiAgICBib3gtc2hhZG93OiAwIDAgMCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIH0KICAxMDAlIHsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDcwcHggcmdiYSgwLCAwLCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgcHVsc2UKewogIDAlIHsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgfQogIDEwMCUgewogICAgYm94LXNoYWRvdzogMCAwIDAgMzVweCByZ2JhKDAsIDAsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBwdWxzZS1iaWcKewogIDAlIHsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgfQogIDEwMCUgewogICAgYm94LXNoYWRvdzogMCAwIDAgNzBweCByZ2JhKDAsIDAsIDAsIDApOwogIH0KfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rZXIgewogIDUwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQpAa2V5ZnJhbWVzIGJsaW5rZXIgewogIDUwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLlNpZGVOb3RlVGFiOmhvdmVyOmFmdGVyIHsKCWNvbG9yOiB7c2V0dGluZz0ic2RuX2ZvbnRpY29uX2hvdmVyY29sb3IifTsKfQoKCS5TaWRlTm90ZVRhYjpob3ZlciB7CgkJY3Vyc29yOiBoZWxwOwoJfQoKCWh0bWxbZGlyPSJsdHIiXSAuU2lkZU5vdGVUYWIgewoJCWxlZnQ6IDA7Cgl9CglodG1sW2Rpcj0icnRsIl0gLlNpZGVOb3RlVGFiIHsKCQlyaWdodDogMDsKCX0KCi5TaWRlTm90ZUluZm9Cb3ggewogICAgYm9yZGVyLXJhZGl1czogMTBweDsKCWJhY2tncm91bmQ6IHtzZXR0aW5nPSJzZG5faW5mb2JveF9jb2xvciJ9Owp9CgouU2lkZU5vdGVJbmZvQm94SWNvbiB7Cglmb250LXNpemU6IHtzZXR0aW5nPSJzZG5faW5mb2JveF9mb250aWNvbl9zaXplIn1weDsKfQoKLlNpZGVOb3RlSW5mb0JveEljb246YmVmb3JlIHsKCWNvbnRlbnQ6ICdce3NldHRpbmc9InNkbl9pbmZvYm94X2ZvbnRpY29uIn0nOwogICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07Cn0KCi8qIFBIT05FUyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewoKLlNpZGVOb3RlQmFyIHsKCXBvc2l0aW9uOiBmaXhlZDsKCWJvdHRvbTogMDsKCXRvcDogMDsKCXdpZHRoOiA1cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiB7c2V0dGluZz0ic2RuX2JhY2tncm91bmRfY29sb3IifTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCgwLjI1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA1MCUsIHtzZXR0aW5nPSJzZG5fc3RyaXBlX2NvbG9yIn0gNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCB7c2V0dGluZz0ic2RuX3N0cmlwZV9jb2xvciJ9IDUwJSwge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOwoJYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7Cgl6LWluZGV4OiA1MDA7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cn0KCgkuU2lkZU5vdGVUYWIgewogICAgYm9yZGVyLXJhZGl1czogMCAyMHB4IDIwcHggMDsKCXBvc2l0aW9uOiBmaXhlZDsKCWJvdHRvbTogMTBweDsKCXdpZHRoOiAzNXB4OwoJaGVpZ2h0OiAzMHB4OwoJYmFja2dyb3VuZC1jb2xvcjoge3NldHRpbmc9InNkbl9zdHJpcGVfY29sb3IifTsKCXRleHQtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDE1MSwgMTEyLCAzMCwgMC41KTsKCXRleHQtYWxpZ246IGNlbnRlcjsKCWxpbmUtaGVpZ2h0OiAzMHB4OwoJei1pbmRleDogMTA7Cgl0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZS1pbi1vdXQ7Cgl9CgouU2lkZU5vdGVUYWI6YWZ0ZXIgewoJICAgICB7e2lmIHNldHRpbmdzLnNkbl9mb250aWNvbl9ibGlua319CglhbmltYXRpb246IGJsaW5rZXIgMXMgc3RlcC1zdGFydCBpbmZpbml0ZTsKCQl7e2VuZGlmfX0KCSAgICAge3tpZiBzZXR0aW5ncy5zZG5fZm9udGljb25fc3Bpbn19CiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CiAgICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyOwoJCXt7ZW5kaWZ9fQogICB9Cn0KCi50b2FzdC10aXRsZXtmb250LXdlaWdodDo3MDB9LnRvYXN0LW1lc3NhZ2V7LW1zLXdvcmQtd3JhcDpicmVhay13b3JkO3dvcmQtd3JhcDpicmVhay13b3JkfS50b2FzdC1tZXNzYWdlIGEsLnRvYXN0LW1lc3NhZ2UgbGFiZWx7Y29sb3I6I0ZGRn0udG9hc3QtbWVzc2FnZSBhOmhvdmVye2NvbG9yOiNDQ0M7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnRvYXN0LWNsb3NlLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtyaWdodDotLjNlbTt0b3A6LS4zZW07ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNGRkY7LXdlYmtpdC10ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO29wYWNpdHk6Ljg7LW1zLWZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT04MCk7ZmlsdGVyOmFscGhhKG9wYWNpdHk9ODApO2xpbmUtaGVpZ2h0OjF9LnRvYXN0LWNsb3NlLWJ1dHRvbjpmb2N1cywudG9hc3QtY2xvc2UtYnV0dG9uOmhvdmVye2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNDstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTQwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT00MCl9LnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4zZW07ZmxvYXQ6bGVmdDtyaWdodDouM2VtfWJ1dHRvbi50b2FzdC1jbG9zZS1idXR0b257cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lfS50b2FzdC10b3AtY2VudGVye3RvcDowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtYm90dG9tLWNlbnRlcntib3R0b206MDtyaWdodDowO3dpZHRoOjEwMCV9LnRvYXN0LXRvcC1mdWxsLXdpZHRoe3RvcDowO3JpZ2h0OjA7d2lkdGg6MTAwJX0udG9hc3QtYm90dG9tLWZ1bGwtd2lkdGh7Ym90dG9tOjA7cmlnaHQ6MDt3aWR0aDoxMDAlfS50b2FzdC10b3AtbGVmdHt0b3A6MTJweDtsZWZ0OjEycHh9LnRvYXN0LXRvcC1yaWdodHt0b3A6MTJweDtyaWdodDoxMnB4fS50b2FzdC1ib3R0b20tcmlnaHR7cmlnaHQ6MTJweDtib3R0b206MTJweH0udG9hc3QtYm90dG9tLWxlZnR7Ym90dG9tOjEycHg7bGVmdDoxMnB4fSN0b2FzdC1jb250YWluZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTk5OTk7cG9pbnRlci1ldmVudHM6bm9uZX0jdG9hc3QtY29udGFpbmVyICp7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fSN0b2FzdC1jb250YWluZXI+ZGl2e3Bvc2l0aW9uOnJlbGF0aXZlO3BvaW50ZXItZXZlbnRzOmF1dG87b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowIDAgNnB4O3BhZGRpbmc6MTVweCAxNXB4IDE1cHggNTBweDt3aWR0aDozMDBweDstbW96LWJvcmRlci1yYWRpdXM6M3B4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXJhZGl1czozcHg7YmFja2dyb3VuZC1wb3NpdGlvbjoxNXB4IGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LW1vei1ib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAxMnB4ICM5OTk7Ym94LXNoYWRvdzowIDAgMTJweCAjOTk5O2NvbG9yOiNGRkY7b3BhY2l0eTouODstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT04MCl9I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse2RpcmVjdGlvbjpydGw7cGFkZGluZzoxNXB4IDUwcHggMTVweCAxNXB4O2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgMTVweCBjZW50ZXJ9I3RvYXN0LWNvbnRhaW5lcj5kaXY6aG92ZXJ7LW1vei1ib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAxMnB4ICMwMDA7Ym94LXNoYWRvdzowIDAgMTJweCAjMDAwO29wYWNpdHk6MTstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MTAwKTtjdXJzb3I6cG9pbnRlcn0jdG9hc3QtY29udGFpbmVyPi50b2FzdC1pbmZve2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFHd1NVUkJWRWhMdFphOVNnTkJFTWM5c1V4eFJjb1VLU3pTV0loWHBGTWhoWVdGaGFCZzR5UFlpV0NYWnhCTEVSc0xSUzNFUWtFZndDS2RqV0pBd1NLQ2dvS0NjdWR2NE81WUxydDdFemdYaGlVMy80K2IyY2ttd1ZqSlNwS2tRNndBaTRnd2hUK3ozd1JCY0V6MHlqU3NlVVRyY1J5ZnNIc1htRDBBbWJIT0M5SWk4VkltbnVYQlBnbEhwUTV3d1NWTTdzTm5URzdaYTRKd0RkQ2p4eUFpSDNueUEybXRhVEp1ZmlEWjVkQ2FxbEl0SUxoMU5IYXRmTjVza3ZqeDlaMzhtNjlDZ3p1WG1aZ1ZyUElHRTc2M0p4OXFLc1JveldZdzZ4T0hkRVIrbm4yS2tPK0JiK1VWNUNCTjZXQzZRdEJnYlJWb3pyYWhBYm1tNkh0VXNndFBDMTl0RmR4WFpZQk9ma2JtRkoxVmFIQTFWQUhqZDBwcDcwb1RaenZSK0VWcngyWWdmZHNxNmV1NTVCSFlSOGhsY2tpK24ra0VSVUZHOEJyQTBCd2plQXYyTThXTFFCdGN5K1NENmZOc21uQjNBbEJMcmdUdFZXMWMyUU40YlZXTEFUYUlTNjBKMkR1NXkxVGlKZ2pTQnZGVlpnVG13Q1UrZEFaRm9QeEdFRXM4bnlIQzlCd2UyR3ZFSnYyV1haYjB2amR5RlQ0Q3hrM2Uva0lxbE9Hb1ZMd3dQZXZwWUhUKzAwVCtoV3dYRGY0QUpBT1VxV2NEaGJ3QUFBQUFTVVZPUks1Q1lJST0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyPi50b2FzdC1lcnJvcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQVlDQVlBQUFEZ2R6MzRBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFBSE9TVVJCVkVoTHJaYS9TZ05CRU1aemgwV0tDQ2xTQ0thSVlPRUQrQUFLZVFRTEc4SFd6dExDSW1CcllhZGdJZFkrZ0lLTllrQkZTd3U3Q0FvcUNna2tvR0JJL0UyOFBkYkxabWVETGd6WnpjeDgzL3paMlNTWEMxajlmcitJMUhxOTNnMnl4SDRpd00xdmtvQldBZHhDbXB6VHhma04yUmN5Wk5hSEZJa1NvMTArOGtneGtYSVVSVjVIR3hUbUZ1Yzc1QjJSZlFrcHhIRzhhQWdhQUZhMHRBSHFZRmZRN0l3ZTJ5aE9EazgrSjRDN3lBb1JUV0kzdy80a2xHUmdSNGxPN1JwbjkrZ3ZNeVdwK3V4Rmg4K0grQVJsZ04xbkp1SnVRQVl2TmtFbndHRmNrMThFcjRxM2VnRWMvb08rbWhMZEtnUnloZE5GaWFjQzBybE9DYmhOVno0SDlGbkFZZ0RCdlUzUUlpb1psSkZMSnRzb0hZUkRmaVpvVXlJeHFDdFJwVmxBTnEwRVU0ZEFwanJ0Z2V6UEZhZDVTMTlXZ2prYzBoTlZudUY0SGpWQTZDN1FyU0lieWxCK29aZTNhSGdCc3FsTnFLWUg0OGpYeUpLTXVBYml5Vko4S3phQjNlUmMwcGc5VndRNG5pRnJ5STY4cWlPaTNBYmp3ZHNmbkF0azBiQ2pUTEpLcjZtckQ5ZzhpcS9TL0I4MWhndU9NbFFUblZ5RzQwd0Fjam5tZ3NDTkVTRHJqbWU3d2ZmdFA0UDdTUDROM0NKWmR2em9OeUdxMmMvSFdPWEpHc3ZWZytSQS9rMk1DL3dONkkyWUEyUHQ4R2tBQUFBQVNVVk9SSzVDWUlJPSkhaW1wb3J0YW50fSN0b2FzdC1jb250YWluZXI+LnRvYXN0LXN1Y2Nlc3N7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFZQ0FZQUFBRGdkejM0QUFBQUFYTlNSMElBcnM0YzZRQUFBQVJuUVUxQkFBQ3hqd3Y4WVFVQUFBQUpjRWhaY3dBQURzTUFBQTdEQWNkdnFHUUFBQURzU1VSQlZFaExZMkFZQmZRTWdmLy8vM1A4Ky9ldkFJZ3ZBL0ZzSUYrQmF2WUREV01CR3JvYVNNTUJpRThWQzdBWkRySUZhTUZuaWkzQVpUalVnc1VVV1VEQThPZEFINmlRYlFFaHc0SHlHc1BFY0tCWEJJQzRBUmhleDRHNEJzam13ZVUxc29JRmFHZy9XdG9GWlJJWmRFdklNaHhrQ0NqWElWc0FUVjZnRkdBQ3M0UnN3MEVHZ0lJSDNRSllKZ0hTQVJRWkRyV0FCK2phd3pncytRMlVPNDlEN2puUlNSR29FRlJJTGNkbUVNV0dJMGNtMEpKMlFwWUExUkR2Y216SkVXaEFCaEQvcHFyTDBTMENXdUFCS2duUmtpOWxMc2VTN2cyQWxxd0hXUVNLSDRvS0xySUxwUkdoRVFDdzJMaVJVSWE0bHdBQUFBQkpSVTVFcmtKZ2dnPT0pIWltcG9ydGFudH0jdG9hc3QtY29udGFpbmVyPi50b2FzdC13YXJuaW5ne2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBWUNBWUFBQURnZHozNEFBQUFBWE5TUjBJQXJzNGM2UUFBQUFSblFVMUJBQUN4and2OFlRVUFBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFHWVNVUkJWRWhMNVpTdlRzTlFGTWJYWkdJQ01ZR1ltSmhBUUlKQUlDWVFQQUFDaVNEQjhBaUlDUVFKVDRDcVFFd2dKdllBU0FRQ2laaVltSmhBSUJBVENBUkp5KzlyVHNsZGQ4c0t1MU0wK2RMYjA1N3Y2L2xicS8yckswbVMvVFJOajljV05BS1BZSUpJSTdnSXhDY1E1MWN2cUlEK0dJRVg4QVNHNEIxYks1Z0laRmVRZm9KZEVYT2ZnWDRRQVFnN2tIMkE2NXlRODdseXhiMjdzZ2drQXpBdUZoYmJnMUsya2dDa0IxYlZ3eUlSOW0yTDdQUlBJaERVSVhnR3R5S3c1NzV5ejNsVE5zNlg0SlhualYrTEtNL20zTXlkblRidE9LSWp0ejZWaENCcTR2U20zbmNkckQybGswVmdVWFNWS2pWREpYSnppalcxUlFkc1U3Rjc3SGU4dTY4a29OWlR6OE96NXlHYTZKM0gzbFoweFlnWEJLMlF5bWxXV0ErUlduWWhza0xCdjJ2bUUraEJNQ3RiQTdLWDVkcld5UlQvMkpzcVoySXZmQjlZNGJXRE5NRmJKUkZtQzlFNzRTb1MwQ3F1bHdqa0MwKzVicGNWMUNaOE5NZWo0cGp5MFUrZG9EUXNHeW8xaHpWSnR0SWpoUTdHbkJ0UkZOMVVhclVsSDhGM3hpY3QrSFkwN3JFem9VR1BsV2NqUkZScjQvZ0NoWmdjM1pMMmQ4b0FBQUFBU1VWT1JLNUNZSUk9KSFpbXBvcnRhbnR9I3RvYXN0LWNvbnRhaW5lci50b2FzdC1ib3R0b20tY2VudGVyPmRpdiwjdG9hc3QtY29udGFpbmVyLnRvYXN0LXRvcC1jZW50ZXI+ZGl2e3dpZHRoOjMwMHB4O21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99I3RvYXN0LWNvbnRhaW5lci50b2FzdC1ib3R0b20tZnVsbC13aWR0aD5kaXYsI3RvYXN0LWNvbnRhaW5lci50b2FzdC10b3AtZnVsbC13aWR0aD5kaXZ7d2lkdGg6OTYlO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99LnRvYXN0e2JhY2tncm91bmQtY29sb3I6IzAzMDMwM30udG9hc3Qtc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiM1MUEzNTF9LnRvYXN0LWVycm9ye2JhY2tncm91bmQtY29sb3I6I0JEMzYyRn0udG9hc3QtaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiMyRjk2QjR9LnRvYXN0LXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojRjg5NDA2fS50b2FzdC1wcm9ncmVzc3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7b3BhY2l0eTouNDstbXMtZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTQwKTtmaWx0ZXI6YWxwaGEob3BhY2l0eT00MCl9QG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDoyNDBweCl7I3RvYXN0LWNvbnRhaW5lcj5kaXZ7cGFkZGluZzo4cHggOHB4IDhweCA1MHB4O3dpZHRoOjExZW19I3RvYXN0LWNvbnRhaW5lcj5kaXYucnRse3BhZGRpbmc6OHB4IDUwcHggOHB4IDhweH0jdG9hc3QtY29udGFpbmVyIC50b2FzdC1jbG9zZS1idXR0b257cmlnaHQ6LS4yZW07dG9wOi0uMmVtfSN0b2FzdC1jb250YWluZXIgLnJ0bCAudG9hc3QtY2xvc2UtYnV0dG9ue2xlZnQ6LS4yZW07cmlnaHQ6LjJlbX19QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDoyNDFweCkgYW5kIChtYXgtd2lkdGg6NDgwcHgpeyN0b2FzdC1jb250YWluZXI+ZGl2e3BhZGRpbmc6OHB4IDhweCA4cHggNTBweDt3aWR0aDoxOGVtfSN0b2FzdC1jb250YWluZXI+ZGl2LnJ0bHtwYWRkaW5nOjhweCA1MHB4IDhweCA4cHh9I3RvYXN0LWNvbnRhaW5lciAudG9hc3QtY2xvc2UtYnV0dG9ue3JpZ2h0Oi0uMmVtO3RvcDotLjJlbX0jdG9hc3QtY29udGFpbmVyIC5ydGwgLnRvYXN0LWNsb3NlLWJ1dHRvbntsZWZ0Oi0uMmVtO3JpZ2h0Oi4yZW19fUBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6NDgxcHgpIGFuZCAobWF4LXdpZHRoOjc2OHB4KXsjdG9hc3QtY29udGFpbmVyPmRpdntwYWRkaW5nOjE1cHggMTVweCAxNXB4IDUwcHg7d2lkdGg6MjVlbX0jdG9hc3QtY29udGFpbmVyPmRpdi5ydGx7cGFkZGluZzoxNXB4IDUwcHggMTVweCAxNXB4fX0KCi50b2FzdC1zdWNjZXNzIHsKCWZvbnQtc2l6ZTogMTZweDsKfQoKLnRvYXN0LXdhcm5pbmcgewoJZm9udC1zaXplOiAxNnB4Owp9OyggZnVuY3Rpb24oJCwgXywgdW5kZWZpbmVkKXsKCSJ1c2Ugc3RyaWN0IjsKCQoJaXBzLmNvbnRyb2xsZXIucmVnaXN0ZXIoJ3BsdWdpbnMuc2lkZW5vdGUnLCB7CgkKCQlpbml0aWFsaXplOiBmdW5jdGlvbiAoKSB7CgkJCXRoaXMub24oICdjbGljaycsICdbZGF0YS1hY3Rpb249ImRpc21pc3MiXScsIHRoaXMuZGlzbWlzcyApOwoJCX0sCgkJCgkJZGlzbWlzczogZnVuY3Rpb24gKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdXJsID0gJCggZS5jdXJyZW50VGFyZ2V0ICkuYXR0cignaHJlZicpOwoJCQl2YXIgbWVzc2FnZSA9ICQodGhpcy5zY29wZSk7CgkJCQoJCQlpcHMuZ2V0QWpheCgpKHVybCkuZG9uZShmdW5jdGlvbigpewoJCQkJaXBzLnV0aWxzLmFuaW0uZ28oICdmYWRlT3V0JywgbWVzc2FnZSApOwoJCQkJLy90aGlzLnNjb3BlLnNsaWRlVXAoKTsKCQkJfSkuZmFpbChmdW5jdGlvbigpewoJCQkJd2luZG93LmxvY2F0aW9uID0gdXJsOwoJCQl9KTsKCQl9CgoJfSk7Cn0oalF1ZXJ5LCBfKSk7CgohZnVuY3Rpb24oZSl7ZShbImpxdWVyeSJdLGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSx0LG4pe3JldHVybiBnKHt0eXBlOk8uZXJyb3IsaWNvbkNsYXNzOm0oKS5pY29uQ2xhc3Nlcy5lcnJvcixtZXNzYWdlOmUsb3B0aW9uc092ZXJyaWRlOm4sdGl0bGU6dH0pfWZ1bmN0aW9uIG4odCxuKXtyZXR1cm4gdHx8KHQ9bSgpKSx2PWUoIiMiK3QuY29udGFpbmVySWQpLHYubGVuZ3RoP3Y6KG4mJih2PWQodCkpLHYpfWZ1bmN0aW9uIG8oZSx0LG4pe3JldHVybiBnKHt0eXBlOk8uaW5mbyxpY29uQ2xhc3M6bSgpLmljb25DbGFzc2VzLmluZm8sbWVzc2FnZTplLG9wdGlvbnNPdmVycmlkZTpuLHRpdGxlOnR9KX1mdW5jdGlvbiBzKGUpe0M9ZX1mdW5jdGlvbiBpKGUsdCxuKXtyZXR1cm4gZyh7dHlwZTpPLnN1Y2Nlc3MsaWNvbkNsYXNzOm0oKS5pY29uQ2xhc3Nlcy5zdWNjZXNzLG1lc3NhZ2U6ZSxvcHRpb25zT3ZlcnJpZGU6bix0aXRsZTp0fSl9ZnVuY3Rpb24gYShlLHQsbil7cmV0dXJuIGcoe3R5cGU6Ty53YXJuaW5nLGljb25DbGFzczptKCkuaWNvbkNsYXNzZXMud2FybmluZyxtZXNzYWdlOmUsb3B0aW9uc092ZXJyaWRlOm4sdGl0bGU6dH0pfWZ1bmN0aW9uIHIoZSx0KXt2YXIgbz1tKCk7dnx8bihvKSx1KGUsbyx0KXx8bChvKX1mdW5jdGlvbiBjKHQpe3ZhciBvPW0oKTtyZXR1cm4gdnx8bihvKSx0JiYwPT09ZSgiOmZvY3VzIix0KS5sZW5ndGg/dm9pZCBoKHQpOnZvaWQodi5jaGlsZHJlbigpLmxlbmd0aCYmdi5yZW1vdmUoKSl9ZnVuY3Rpb24gbCh0KXtmb3IodmFyIG49di5jaGlsZHJlbigpLG89bi5sZW5ndGgtMTtvPj0wO28tLSl1KGUobltvXSksdCl9ZnVuY3Rpb24gdSh0LG4sbyl7dmFyIHM9ISghb3x8IW8uZm9yY2UpJiZvLmZvcmNlO3JldHVybiEoIXR8fCFzJiYwIT09ZSgiOmZvY3VzIix0KS5sZW5ndGgpJiYodFtuLmhpZGVNZXRob2RdKHtkdXJhdGlvbjpuLmhpZGVEdXJhdGlvbixlYXNpbmc6bi5oaWRlRWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aCh0KX19KSwhMCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4gdj1lKCI8ZGl2Lz4iKS5hdHRyKCJpZCIsdC5jb250YWluZXJJZCkuYWRkQ2xhc3ModC5wb3NpdGlvbkNsYXNzKSx2LmFwcGVuZFRvKGUodC50YXJnZXQpKSx2fWZ1bmN0aW9uIHAoKXtyZXR1cm57dGFwVG9EaXNtaXNzOiEwLHRvYXN0Q2xhc3M6InRvYXN0Iixjb250YWluZXJJZDoidG9hc3QtY29udGFpbmVyIixkZWJ1ZzohMSxzaG93TWV0aG9kOiJmYWRlSW4iLHNob3dEdXJhdGlvbjozMDAsc2hvd0Vhc2luZzoic3dpbmciLG9uU2hvd246dm9pZCAwLGhpZGVNZXRob2Q6ImZhZGVPdXQiLGhpZGVEdXJhdGlvbjoxZTMsaGlkZUVhc2luZzoic3dpbmciLG9uSGlkZGVuOnZvaWQgMCxjbG9zZU1ldGhvZDohMSxjbG9zZUR1cmF0aW9uOiExLGNsb3NlRWFzaW5nOiExLGNsb3NlT25Ib3ZlcjohMCxleHRlbmRlZFRpbWVPdXQ6MWUzLGljb25DbGFzc2VzOntlcnJvcjoidG9hc3QtZXJyb3IiLGluZm86InRvYXN0LWluZm8iLHN1Y2Nlc3M6InRvYXN0LXN1Y2Nlc3MiLHdhcm5pbmc6InRvYXN0LXdhcm5pbmcifSxpY29uQ2xhc3M6InRvYXN0LWluZm8iLHBvc2l0aW9uQ2xhc3M6InRvYXN0LXRvcC1yaWdodCIsdGltZU91dDo1ZTMsdGl0bGVDbGFzczoidG9hc3QtdGl0bGUiLG1lc3NhZ2VDbGFzczoidG9hc3QtbWVzc2FnZSIsZXNjYXBlSHRtbDohMSx0YXJnZXQ6ImJvZHkiLGNsb3NlSHRtbDonPGJ1dHRvbiB0eXBlPSJidXR0b24iPiZ0aW1lczs8L2J1dHRvbj4nLGNsb3NlQ2xhc3M6InRvYXN0LWNsb3NlLWJ1dHRvbiIsbmV3ZXN0T25Ub3A6ITAscHJldmVudER1cGxpY2F0ZXM6ITEscHJvZ3Jlc3NCYXI6ITEscHJvZ3Jlc3NDbGFzczoidG9hc3QtcHJvZ3Jlc3MiLHJ0bDohMX19ZnVuY3Rpb24gZihlKXtDJiZDKGUpfWZ1bmN0aW9uIGcodCl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbD09ZSYmKGU9IiIpLGUucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpfWZ1bmN0aW9uIHMoKXtjKCksdSgpLGQoKSxwKCksZygpLEMoKSxsKCksaSgpfWZ1bmN0aW9uIGkoKXt2YXIgZT0iIjtzd2l0Y2godC5pY29uQ2xhc3Mpe2Nhc2UidG9hc3Qtc3VjY2VzcyI6Y2FzZSJ0b2FzdC1pbmZvIjplPSJwb2xpdGUiO2JyZWFrO2RlZmF1bHQ6ZT0iYXNzZXJ0aXZlIn1JLmF0dHIoImFyaWEtbGl2ZSIsZSl9ZnVuY3Rpb24gYSgpe0UuY2xvc2VPbkhvdmVyJiZJLmhvdmVyKEgsRCksIUUub25jbGljayYmRS50YXBUb0Rpc21pc3MmJkkuY2xpY2soYiksRS5jbG9zZUJ1dHRvbiYmaiYmai5jbGljayhmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbj9lLnN0b3BQcm9wYWdhdGlvbigpOnZvaWQgMCE9PWUuY2FuY2VsQnViYmxlJiZlLmNhbmNlbEJ1YmJsZSE9PSEwJiYoZS5jYW5jZWxCdWJibGU9ITApLEUub25DbG9zZUNsaWNrJiZFLm9uQ2xvc2VDbGljayhlKSxiKCEwKX0pLEUub25jbGljayYmSS5jbGljayhmdW5jdGlvbihlKXtFLm9uY2xpY2soZSksYigpfSl9ZnVuY3Rpb24gcigpe0kuaGlkZSgpLElbRS5zaG93TWV0aG9kXSh7ZHVyYXRpb246RS5zaG93RHVyYXRpb24sZWFzaW5nOkUuc2hvd0Vhc2luZyxjb21wbGV0ZTpFLm9uU2hvd259KSxFLnRpbWVPdXQ+MCYmKGs9c2V0VGltZW91dChiLEUudGltZU91dCksRi5tYXhIaWRlVGltZT1wYXJzZUZsb2F0KEUudGltZU91dCksRi5oaWRlRXRhPShuZXcgRGF0ZSkuZ2V0VGltZSgpK0YubWF4SGlkZVRpbWUsRS5wcm9ncmVzc0JhciYmKEYuaW50ZXJ2YWxJZD1zZXRJbnRlcnZhbCh4LDEwKSkpfWZ1bmN0aW9uIGMoKXt0Lmljb25DbGFzcyYmSS5hZGRDbGFzcyhFLnRvYXN0Q2xhc3MpLmFkZENsYXNzKHkpfWZ1bmN0aW9uIGwoKXtFLm5ld2VzdE9uVG9wP3YucHJlcGVuZChJKTp2LmFwcGVuZChJKX1mdW5jdGlvbiB1KCl7aWYodC50aXRsZSl7dmFyIGU9dC50aXRsZTtFLmVzY2FwZUh0bWwmJihlPW8odC50aXRsZSkpLE0uYXBwZW5kKGUpLmFkZENsYXNzKEUudGl0bGVDbGFzcyksSS5hcHBlbmQoTSl9fWZ1bmN0aW9uIGQoKXtpZih0Lm1lc3NhZ2Upe3ZhciBlPXQubWVzc2FnZTtFLmVzY2FwZUh0bWwmJihlPW8odC5tZXNzYWdlKSksQi5hcHBlbmQoZSkuYWRkQ2xhc3MoRS5tZXNzYWdlQ2xhc3MpLEkuYXBwZW5kKEIpfX1mdW5jdGlvbiBwKCl7RS5jbG9zZUJ1dHRvbiYmKGouYWRkQ2xhc3MoRS5jbG9zZUNsYXNzKS5hdHRyKCJyb2xlIiwiYnV0dG9uIiksSS5wcmVwZW5kKGopKX1mdW5jdGlvbiBnKCl7RS5wcm9ncmVzc0JhciYmKHEuYWRkQ2xhc3MoRS5wcm9ncmVzc0NsYXNzKSxJLnByZXBlbmQocSkpfWZ1bmN0aW9uIEMoKXtFLnJ0bCYmSS5hZGRDbGFzcygicnRsIil9ZnVuY3Rpb24gTyhlLHQpe2lmKGUucHJldmVudER1cGxpY2F0ZXMpe2lmKHQubWVzc2FnZT09PXcpcmV0dXJuITA7dz10Lm1lc3NhZ2V9cmV0dXJuITF9ZnVuY3Rpb24gYih0KXt2YXIgbj10JiZFLmNsb3NlTWV0aG9kIT09ITE/RS5jbG9zZU1ldGhvZDpFLmhpZGVNZXRob2Qsbz10JiZFLmNsb3NlRHVyYXRpb24hPT0hMT9FLmNsb3NlRHVyYXRpb246RS5oaWRlRHVyYXRpb24scz10JiZFLmNsb3NlRWFzaW5nIT09ITE/RS5jbG9zZUVhc2luZzpFLmhpZGVFYXNpbmc7aWYoIWUoIjpmb2N1cyIsSSkubGVuZ3RofHx0KXJldHVybiBjbGVhclRpbWVvdXQoRi5pbnRlcnZhbElkKSxJW25dKHtkdXJhdGlvbjpvLGVhc2luZzpzLGNvbXBsZXRlOmZ1bmN0aW9uKCl7aChJKSxjbGVhclRpbWVvdXQoayksRS5vbkhpZGRlbiYmImhpZGRlbiIhPT1QLnN0YXRlJiZFLm9uSGlkZGVuKCksUC5zdGF0ZT0iaGlkZGVuIixQLmVuZFRpbWU9bmV3IERhdGUsZihQKX19KX1mdW5jdGlvbiBEKCl7KEUudGltZU91dD4wfHxFLmV4dGVuZGVkVGltZU91dD4wKSYmKGs9c2V0VGltZW91dChiLEUuZXh0ZW5kZWRUaW1lT3V0KSxGLm1heEhpZGVUaW1lPXBhcnNlRmxvYXQoRS5leHRlbmRlZFRpbWVPdXQpLEYuaGlkZUV0YT0obmV3IERhdGUpLmdldFRpbWUoKStGLm1heEhpZGVUaW1lKX1mdW5jdGlvbiBIKCl7Y2xlYXJUaW1lb3V0KGspLEYuaGlkZUV0YT0wLEkuc3RvcCghMCwhMClbRS5zaG93TWV0aG9kXSh7ZHVyYXRpb246RS5zaG93RHVyYXRpb24sZWFzaW5nOkUuc2hvd0Vhc2luZ30pfWZ1bmN0aW9uIHgoKXt2YXIgZT0oRi5oaWRlRXRhLShuZXcgRGF0ZSkuZ2V0VGltZSgpKS9GLm1heEhpZGVUaW1lKjEwMDtxLndpZHRoKGUrIiUiKX12YXIgRT1tKCkseT10Lmljb25DbGFzc3x8RS5pY29uQ2xhc3M7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0Lm9wdGlvbnNPdmVycmlkZSYmKEU9ZS5leHRlbmQoRSx0Lm9wdGlvbnNPdmVycmlkZSkseT10Lm9wdGlvbnNPdmVycmlkZS5pY29uQ2xhc3N8fHkpLCFPKEUsdCkpe1QrKyx2PW4oRSwhMCk7dmFyIGs9bnVsbCxJPWUoIjxkaXYvPiIpLE09ZSgiPGRpdi8+IiksQj1lKCI8ZGl2Lz4iKSxxPWUoIjxkaXYvPiIpLGo9ZShFLmNsb3NlSHRtbCksRj17aW50ZXJ2YWxJZDpudWxsLGhpZGVFdGE6bnVsbCxtYXhIaWRlVGltZTpudWxsfSxQPXt0b2FzdElkOlQsc3RhdGU6InZpc2libGUiLHN0YXJ0VGltZTpuZXcgRGF0ZSxvcHRpb25zOkUsbWFwOnR9O3JldHVybiBzKCkscigpLGEoKSxmKFApLEUuZGVidWcmJmNvbnNvbGUmJmNvbnNvbGUubG9nKFApLEl9fWZ1bmN0aW9uIG0oKXtyZXR1cm4gZS5leHRlbmQoe30scCgpLGIub3B0aW9ucyl9ZnVuY3Rpb24gaChlKXt2fHwodj1uKCkpLGUuaXMoIjp2aXNpYmxlIil8fChlLnJlbW92ZSgpLGU9bnVsbCwwPT09di5jaGlsZHJlbigpLmxlbmd0aCYmKHYucmVtb3ZlKCksdz12b2lkIDApKX12YXIgdixDLHcsVD0wLE89e2Vycm9yOiJlcnJvciIsaW5mbzoiaW5mbyIsc3VjY2Vzczoic3VjY2VzcyIsd2FybmluZzoid2FybmluZyJ9LGI9e2NsZWFyOnIscmVtb3ZlOmMsZXJyb3I6dCxnZXRDb250YWluZXI6bixpbmZvOm8sb3B0aW9uczp7fSxzdWJzY3JpYmU6cyxzdWNjZXNzOmksdmVyc2lvbjoiMi4xLjQiLHdhcm5pbmc6YX07cmV0dXJuIGJ9KCl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmU6ZnVuY3Rpb24oZSx0KXsidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9dChyZXF1aXJlKCJqcXVlcnkiKSk6d2luZG93LnRvYXN0cj10KHdpbmRvdy5qUXVlcnkpfSk7CgokKGZ1bmN0aW9uICgpIHsKdG9hc3RyLm9wdGlvbnMgPSB7CiAgImNsb3NlQnV0dG9uIjogZmFsc2UsCiAgImRlYnVnIjogZmFsc2UsCiAgIm5ld2VzdE9uVG9wIjogZmFsc2UsCiAgInByb2dyZXNzQmFyIjogdHJ1ZSwKICAicG9zaXRpb25DbGFzcyI6ICJ0b2FzdC1ib3R0b20tZnVsbC13aWR0aCIsCiAgInByZXZlbnREdXBsaWNhdGVzIjogZmFsc2UsCiAgIm9uY2xpY2siOiBudWxsLAogICJzaG93RHVyYXRpb24iOiAiMzAwIiwKICAiaGlkZUR1cmF0aW9uIjogIjEwMDAiLAogICJ0aW1lT3V0IjogIjYwMDAiLAogICJleHRlbmRlZFRpbWVPdXQiOiAiMTAwMCIsCiAgInNob3dFYXNpbmciOiAic3dpbmciLAogICJoaWRlRWFzaW5nIjogImxpbmVhciIsCiAgInNob3dNZXRob2QiOiAiZmFkZUluIiwKICAiaGlkZU1ldGhvZCI6ICJmYWRlT3V0Igp9OwoKbGV0IHZpc2libGVNZXNzYWdlID0gJCgiLnRvYXN0LXN1Y2Nlc3MiKS5odG1sKCk7CmlmICh2aXNpYmxlTWVzc2FnZSAmJiB2aXNpYmxlTWVzc2FnZS5sZW5ndGggPiAwKSB7CiAgdG9hc3RyLnN1Y2Nlc3ModmlzaWJsZU1lc3NhZ2UsICIiLCB7CiAgICBjb250YWluZXJJZDogInRvYXN0LWNvbnRhaW5lciIsCiAgfSk7Cn0KCmxldCBpbnZpc2libGVNZXNzYWdlID0gJCgiLnRvYXN0LXdhcm5pbmciKS5odG1sKCk7CmlmIChpbnZpc2libGVNZXNzYWdlICYmIGludmlzaWJsZU1lc3NhZ2UubGVuZ3RoID4gMCkgewogIHRvYXN0ci53YXJuaW5nKGludmlzaWJsZU1lc3NhZ2UsICIiLCB7CiAgICBjb250YWluZXJJZDogInRvYXN0LWNvbnRhaW5lciIKICB9KTsKfQp9KTsoalF1ZXJ5LCBfKTs=SideNote ConfigureSideNote EnableGroup VisibilitySelect which groups can see the SideNoteMembers Can Dismiss SideNote Notification?When enabled, members can click to dismiss the SideNote only after opening the modalExclude GuestsWhen enabled, guests will not be able to dismiss the SideNoteModal SizeNarrowMediumLargeWideFullscreenPage PreferencesPage List URLsThe list uses string matching, you can enter partial URLs to select groups of pages.
Example: Enter forums to effect all forum pages.
Enter /downloads/category/1-projects/ toeffect a downlaods category pages]]>
WhitelistBlacklistPage List TypePage Address NotificationsShow NotificationsWhen enabled the groups selected below will see a toastr notification with page address and status of SideNote visibility. This should only be used for admins who have access to change settingsNotification GroupsCurrent page addressSideNote will display on this pageSideNote will not display on this pageSideNote ContentSideNote CustomizeSideNote InfoBoxSideNote BarSideNote TabMain TitleSimple and short title for your side note modal.Side Note Icon Hover TextShort description of no more than a sentence that will appear on hover over iconFull SideNote ContentFull description and details on the side note contentAdditional InformationAdd additional details and information that will show in a containerFontAwesome SideNote Tab IconFontAwesome]]>Side Note Bar Background ColorSide Note Bar Stripe ColorSide Note Bar Width in PixelsFontAwesome Icon Size in PixelsFontAwesome Hover ColorFontAwesome ColorIcon AnimationNoneSpinningBlinkingPulsingStart DateEnd DateFontAwesome iconFontAwesome]]>FontAwesome Icon Size in PixelsInfo Box Text (optional)Enable Info Box?Info Box will show a small box above the main content with text info and time stampsInfo Box Background ColorShow the Start and End TimesClick to Dismiss this NotificationHide the Side Bar?When enabled, the side bar will not show only the tabTab Background ColorWindow SpacingBy default the tab is positioned at bottom and 10px off bottom but you can move it for better visibility or if its blocking a element on the page. Number is in pixels and will effect top and bottom positioning respectivelyTab WidthTab HeightTab RadiusIn pixels the rounded corers of the tab, higher the number more pronounced the roundness, 0 is square no rounded cornersTab PositionPage BottomPage Top