mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2024-12-27 00:12:57 -05:00
660 lines
103 KiB
JavaScript
660 lines
103 KiB
JavaScript
const ArgumentType = require('../../extension-support/argument-type');
|
|
const BlockType = require('../../extension-support/block-type');
|
|
const log = require('../../util/log');
|
|
const BLESession = require('../../io/bleSession');
|
|
const Base64Util = require('../../util/base64-util');
|
|
|
|
/**
|
|
* Icon svg to be displayed at the left edge of each extension block, encoded as a data URI.
|
|
* @type {string}
|
|
*/
|
|
// eslint-disable-next-line max-len
|
|
const blockIconURI = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5taWNyb2JpdC1ibG9jay1pY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Im1pY3JvYml0LWJsb2NrLWljb24iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJtaWNyb2JpdCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMy41MDAwMDAsIDYuMDAwMDAwKSI+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJTaGFwZSIgc3Ryb2tlPSIjN0M4N0E1IiBzdHJva2Utd2lkdGg9IjAuMjIiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBwb2ludHM9IjE5LjExIDAuMTEgMTkuMTEgMSAxMy43OCAxIDEzLjc4IDAuMTEgMTQuMjIgMC4xMSAxNC4yMiAwLjMzIDE0LjY3IDAuMzMgMTQuNjcgMC4xMSAxOC4yMiAwLjExIDE4LjIyIDAuMzMgMTguNjcgMC4zMyAxOC42NyAwLjExIj48L3BvbHlnb24+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMC42NiwxIEwyLjIyLDEgQzEuMjQwODI1MTgsMC45OTk5ODQ1NDggMC40NDU1MDA5ODIsMS43OTA4NDA2NCAwLjQ0LDIuNzcgTDAuNDQsMjUgQzAuNDQxMjUzNjUxLDI1Ljc3MDA5NDQgMC45Mzc1ODgzNiwyNi40NTIwNTAyIDEuNjcsMjYuNjkgQzEuODQ4NzE2NTEsMjYuNzQyMTM0NSAyLjAzMzgzNjg3LDI2Ljc2OTA2MTEgMi4yMiwyNi43NyBMMzAuNjYsMjYuNzcgQzMwLjg0NjE2MzEsMjYuNzY5MDYxMSAzMS4wMzEyODM1LDI2Ljc0MjEzNDUgMzEuMjEsMjYuNjkgQzMxLjk0MjQxMTYsMjYuNDUyMDUwMiAzMi40Mzg3NDYzLDI1Ljc3MDA5NDQgMzIuNDQsMjUgTDMyLjQ0LDIuNzcgQzMyLjQzNDQ5OSwxLjc5MDg0MDY0IDMxLjYzOTE3NDgsMC45OTk5ODQ1NDggMzAuNjYsMSBaIE0zLjExLDIzLjU0IEMyLjcxMzQzNTE4LDIzLjU0IDIuMzQ2OTk0MTYsMjMuMzI4NDM1MiAyLjE0ODcxMTc1LDIyLjk4NSBDMS45NTA0MjkzMywyMi42NDE1NjQ4IDEuOTUwNDI5MzMsMjIuMjE4NDM1MiAyLjE0ODcxMTc1LDIxLjg3NSBDMi4zNDY5OTQxNiwyMS41MzE1NjQ4IDIuNzEzNDM1MTgsMjEuMzIgMy4xMSwyMS4zMiBDMy41MDY1NjQ4MiwyMS4zMiAzLjg3MzAwNTg0LDIxLjUzMTU2NDggNC4wNzEyODgyNSwyMS44NzUgQzQuMjY5NTcwNjcsMjIuMjE4NDM1MiA0LjI2OTU3MDY3LDIyLjY0MTU2NDggNC4wNzEyODgyNSwyMi45ODUgQzMuODczMDA1ODQsMjMuMzI4NDM1MiAzLjUwNjU2NDgyLDIzLjU0IDMuMTEsMjMuNTQgWiBNOS4zOCwyMy41NCBDOC45MzAxNDA4MywyMy41Mzk5ODE3IDguNTI0Nzc2MjYsMjMuMjY4NDQ0MSA4LjM1MzU3MTc5LDIyLjg1MjQzNjYgQzguMTgyMzY3MzIsMjIuNDM2NDI5IDguMjc5MTgxNDksMjEuOTU4MjIzOSA4LjU5ODcxNjA1LDIxLjY0MTU2OCBDOC45MTgyNTA2MSwyMS4zMjQ5MTIxIDkuMzk3MzEyMjYsMjEuMjMyNDI5NSA5LjgxMTc1MzQ3LDIxLjQwNzM5MTcgQzEwLjIyNjE5NDcsMjEuNTgyMzUzOCAxMC40OTQwNTI4LDIxLjk5MDE1OTEgMTAuNDksMjIuNDQgQzEwLjQ4NDUxMjEsMjMuMDQ5MTI3MiA5Ljk4OTE1MTk3LDIzLjU0MDAyNDcgOS4zOCwyMy41NCBaIE0xNi40NCwyMy41NCBDMTUuOTkwMTQwOCwyMy41Mzk5ODE3IDE1LjU4NDc3NjMsMjMuMjY4NDQ0MSAxNS40MTM1NzE4LDIyLjg1MjQzNjYgQzE1LjI0MjM2NzMsMjIuNDM2NDI5IDE1LjMzOTE4MTUsMjEuOTU4MjIzOSAxNS42NTg3MTYsMjEuNjQxNTY4IEMxNS45NzgyNTA2LDIxLjMyNDkxMjEgMTYuNDU3MzEyMywyMS4yMzI0Mjk1IDE2Ljg3MTc1MzUsMjEuNDA3MzkxNyBDMTcuMjg2MTk0NywyMS41ODIzNTM4IDE3LjU1NDA1MjgsMjEuOTkwMTU5MSAxNy41NSwyMi40NCBDMTcuNTQ0NTEyMSwyMy4wNDkxMjcyIDE3LjA0OTE1MiwyMy41NDAwMjQ3IDE2LjQ0LDIzLjU0IFogTTIzLjUsMjMuNTQgQzIzLjEwMzQzNTIsMjMuNTQgMjIuNzM2OTk0MiwyMy4zMjg0MzUyIDIyLjUzODcxMTcsMjIuOTg1IEMyMi4zNDA0MjkzLDIyLjY0MTU2NDggMjIuMzQwNDI5MywyMi4yMTg0MzUyIDIyLjUzODcxMTcsMjEuODc1IEMyMi43MzY5OTQyLDIxLjUzMTU2NDggMjMuMTAzNDM1MiwyMS4zMiAyMy41LDIxLjMyIEMyMy44OTY1NjQ4LDIxLjMyIDI0LjI2MzAwNTgsMjEuNTMxNTY0OCAyNC40NjEyODgzLDIxLjg3NSBDMjQuNjU5NTcwNywyMi4yMTg0MzUyIDI0LjY1OTU3MDcsMjIuNjQxNTY0OCAyNC40NjEyODgzLDIyLjk4NSBDMjQuMjYzMDA1OCwyMy4zMjg0MzUyIDIzLjg5NjU2NDgsMjMuNTQgMjMuNSwyMy41NCBaIE0yOS43NywyMy41NCBDMjkuMzIwMTQwOCwyMy41Mzk5ODE3IDI4LjkxNDc3NjMsMjMuMjY4NDQ0MSAyOC43NDM1NzE4LDIyLjg1MjQzNjYgQzI4LjU3MjM2NzMsMjIuNDM2NDI5IDI4LjY2OTE4MTUsMjEuOTU4MjIzOSAyOC45ODg3MTYsMjEuNjQxNTY4IEMyOS4zMDgyNTA2LDIxLjMyNDkxMjEgMjkuNzg3MzEyMywyMS4yMzI0Mjk1IDMwLjIwMTc1MzUsMjEuNDA3MzkxNyBDMzAuNjE2MTk0NywyMS41ODIzNTM4IDMwLjg4NDA1MjgsMjEuOTkwMTU5MSAzMC44OCwyMi40NCBDMzAuODc0NTEyMSwyMy4wNDkxMjcyIDMwLjM3OTE1MiwyMy41NDAwMjQ3IDI5Ljc3LDIzLjU0IFoiIGlkPSJTaGFwZSIgc3Ryb2tlPSIjMjMxRjIwIiBzdHJva2Utd2lkdGg9IjAuODkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMC42NiwxIEwyLjIyLDEgQzEuMjQwODI1MTgsMC45OTk5ODQ1NDggMC40NDU1MDA5ODIsMS43OTA4NDA2NCAwLjQ0LDIuNzcgTDAuNDQsMjUgQzAuNDQxMjUzNjUxLDI1Ljc3MDA5NDQgMC45Mzc1ODgzNiwyNi40NTIwNTAyIDEuNjcsMjYuNjkgQzEuODQ4NzE2NTEsMjYuNzQyMTM0NSAyLjAzMzgzNjg3LDI2Ljc2OTA2MTEgMi4yMiwyNi43NyBMMzAuNjYsMjYuNzcgQzMwLjg0NjE2MzEsMjYuNzY5MDYxMSAzMS4wMzEyODM1LDI2Ljc0MjEzNDUgMzEuMjEsMjYuNjkgQzMxLjk0MjQxMTYsMjYuNDUyMDUwMiAzMi40Mzg3NDYzLDI1Ljc3MDA5NDQgMzIuNDQsMjUgTDMyLjQ0LDIuNzcgQzMyLjQzNDQ5OSwxLjc5MDg0MDY0IDMxLjYzOTE3NDgsMC45OTk5ODQ1NDggMzAuNjYsMSBaIE0zLjExLDIzLjU0IEMyLjcxMzQzNTE4LDIzLjU0IDIuMzQ2OTk0MTYsMjMuMzI4NDM1MiAyLjE0ODcxMTc1LDIyLjk4NSBDMS45NTA0MjkzMywyMi42NDE1NjQ4IDEuOTUwNDI5MzMsMjIuMjE4NDM1MiAyLjE0ODcxMTc1LDIxLjg3NSBDMi4zNDY5OTQxNiwyMS41MzE1NjQ4IDIuNzEzNDM1MTgsMjEuMzIgMy4xMSwyMS4zMiBDMy41MDY1NjQ4MiwyMS4zMiAzLjg3MzAwNTg0LDIxLjUzMTU2NDggNC4wNzEyODgyNSwyMS44NzUgQzQuMjY5NTcwNjcsMjIuMjE4NDM1MiA0LjI2OTU3MDY3LDIyLjY0MTU2NDggNC4wNzEyODgyNSwyMi45ODUgQzMuODczMDA1ODQsMjMuMzI4NDM1MiAzLjUwNjU2NDgyLDIzLjU0IDMuMTEsMjMuNTQgWiBNOS4zOCwyMy41NCBDOC45MzAxNDA4MywyMy41Mzk5ODE3IDguNTI0Nzc2MjYsMjMuMjY4NDQ0MSA4LjM1MzU3MTc5LDIyLjg1MjQzNjYgQzguMTgyMzY3MzIsMjIuNDM2NDI5IDguMjc5MTgxNDksMjEuOTU4MjIzOSA4LjU5ODcxNjA1LDIxLjY0MTU2OCBDOC45MTgyNTA2MSwyMS4zMjQ5MTIxIDkuMzk3MzEyMjYsMjEuMjMyNDI5NSA5LjgxMTc1MzQ3LDIxLjQwNzM5MTcgQzEwLjIyNjE5NDcsMjEuNTgyMzUzOCAxMC40OTQwNTI4LDIxLjk5MDE1OTEgMTAuNDksMjIuNDQgQzEwLjQ4NDUxMjEsMjMuMDQ5MTI3MiA5Ljk4OTE1MTk3LDIzLjU0MDAyNDcgOS4zOCwyMy41NCBaIE0xNi40NCwyMy41NCBDMTUuOTkwMTQwOCwyMy41Mzk5ODE3IDE1LjU4NDc3NjMsMjMuMjY4NDQ0MSAxNS40MTM1NzE4LDIyLjg1MjQzNjYgQzE1LjI0MjM2NzMsMjIuNDM2NDI5IDE1LjMzOTE4MTUsMjEuOTU4MjIzOSAxNS42NTg3MTYsMjEuNjQxNTY4IEMxNS45NzgyNTA2LDIxLjMyNDkxMjEgMTYuNDU3MzEyMywyMS4yMzI0Mjk1IDE2Ljg3MTc1MzUsMjEuNDA3MzkxNyBDMTcuMjg2MTk0NywyMS41ODIzNTM4IDE3LjU1NDA1MjgsMjEuOTkwMTU5MSAxNy41NSwyMi40NCBDMTcuNTQ0NTEyMSwyMy4wNDkxMjcyIDE3LjA0OTE1MiwyMy41NDAwMjQ3IDE2LjQ0LDIzLjU0IFogTTIzLjUsMjMuNTQgQzIzLjEwMzQzNTIsMjMuNTQgMjIuNzM2OTk0MiwyMy4zMjg0MzUyIDIyLjUzODcxMTcsMjIuOTg1IEMyMi4zNDA0MjkzLDIyLjY0MTU2NDggMjIuMzQwNDI5MywyMi4yMTg0MzUyIDIyLjUzODcxMTcsMjEuODc1IEMyMi43MzY5OTQyLDIxLjUzMTU2NDggMjMuMTAzNDM1MiwyMS4zMiAyMy41LDIxLjMyIEMyMy44OTY1NjQ4LDIxLjMyIDI0LjI2MzAwNTgsMjEuNTMxNTY0OCAyNC40NjEyODgzLDIxLjg3NSBDMjQuNjU5NTcwNywyMi4yMTg0MzUyIDI0LjY1OTU3MDcsMjIuNjQxNTY0OCAyNC40NjEyODgzLDIyLjk4NSBDMjQuMjYzMDA1OCwyMy4zMjg0MzUyIDIzLjg5NjU2NDgsMjMuNTQgMjMuNSwyMy41NCBaIE0yOS43NywyMy41NCBDMjkuMzIwMTQwOCwyMy41Mzk5ODE3IDI4LjkxNDc3NjMsMjMuMjY4NDQ0MSAyOC43NDM1NzE4LDIyLjg1MjQzNjYgQzI4LjU3MjM2NzMsMjIuNDM2NDI5IDI4LjY2OTE4MTUsMjEuOTU4MjIzOSAyOC45ODg3MTYsMjEuNjQxNTY4IEMyOS4zMDgyNTA2LDIxLjMyNDkxMjEgMjkuNzg3MzEyMywyMS4yMzI0Mjk1IDMwLjIwMTc1MzUsMjEuNDA3MzkxNyBDMzAuNjE2MTk0NywyMS41ODIzNTM4IDMwLjg4NDA1MjgsMjEuOTkwMTU5MSAzMC44OCwyMi40NCBDMzAuODc0NTEyMSwyMy4wNDkxMjcyIDMwLjM3OTE1MiwyMy41NDAwMjQ3IDI5Ljc3LDIzLjU0IFoiIGlkPSJTaGFwZSIgZmlsbD0iIzQxNDc1NyIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjQ0LDkgTDAuNDQsMi43NyBDMC40NDU1MDA5ODIsMS43OTA4NDA2NCAxLjI0MDgyNTE4LDAuOTk5OTg0NTQ4IDIuMjIsMSBMOC40NCwxIEwwLjQ0LDkgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPHBvbHlnb24gaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHBvaW50cz0iOC40NCA0LjU2IDguNDQgMSAxMiAxIj48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJTaGFwZSIgZmlsbD0iIzRDOTdGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBwb2ludHM9IjEyIDMuNjcgMTIgMSAxNC42NyAxIj48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJTaGFwZSIgc3Ryb2tlPSIjNEM5N0ZGIiBzdHJva2Utd2lkdGg9IjAuMjIiIGZpbGw9IiM0Qzk3RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBwb2ludHM9IjI4LjQ0IDkuODkgMjguNDQgNy4yMiAzMS4xMSA3LjIyIj48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJTaGFwZSIgc3Ryb2tlPSIjNEM5N0ZGIiBzdHJva2Utd2lkdGg9IjAuMjIiIGZpbGw9IiM0Qzk3RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBwb2ludHM9IjQuNDUgMTYuMTEgNC40NSAxOC43OCAxLjc4IDE4Ljc4Ij48L3BvbHlnb24+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIwLjg5IiB5PSIxMi41NiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuNDQiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjMxLjExIiB5PSIxMi41NiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuNDQiPjwvcmVjdD4KICAgICAgICAgICAgPHBhdGggZD0iTTE3LjU2LDUuNTYgQzE3LjczMTIwODMsNS41NTk5OTk5OSAxNy44Nyw1LjQyMTIwODI2IDE3Ljg3LDUuMjUgQzE3Ljg3LDUuMDc4NzkxNzQgMTcuNzMxMjA4Myw0Ljk0MDAwMDAxIDE3LjU2LDQuOTQgQzE3LjM4ODc5MTcsNC45NCAxNy4yNSw1LjA3ODc5MTczIDE3LjI1LDUuMjUgQzE3LjI1LDUuNDIxMjA4MjcgMTcuMzg4NzkxNyw1LjU2IDE3LjU2LDUuNTYiIGlkPSJTaGFwZSIgZmlsbD0iIzRDOTdGRiIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNS4zLDQuOTQgQzE1LjE4OTI0NzcsNC45Mzk5OTk5OSAxNS4wODY5MDgzLDQuOTk5MDg1NjUgMTUuMDMxNTMyMSw1LjA5NDk5OTk5IEMxNC45NzYxNTU5LDUuMTkwOTE0MzMgMTQuOTc2MTU1OSw1LjMwOTA4NTY3IDE1LjAzMTUzMjEsNS40MDUwMDAwMSBDMTUuMDg2OTA4Myw1LjUwMDkxNDM1IDE1LjE4OTI0NzcsNS41NjAwMDAwMSAxNS4zLDUuNTYgQzE1LjQ3MTIwODMsNS41NTk5OTk5OSAxNS42MSw1LjQyMTIwODI2IDE1LjYxLDUuMjUgQzE1LjYxLDUuMDc4NzkxNzQgMTUuNDcxMjA4Myw0Ljk0MDAwMDAxIDE1LjMsNC45NCIgaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTE1LjMsNC4zMyBDMTQuOTUwMjYyLDQuMjkzMzg3ODkgMTQuNjEwMjQ2NCw0LjQ1OTM0MTEyIDE0LjQyMzk0MjEsNC43NTc1ODIyOCBDMTQuMjM3NjM3Nyw1LjA1NTgyMzQ1IDE0LjIzNzYzNzcsNS40MzQxNzY1NSAxNC40MjM5NDIxLDUuNzMyNDE3NzIgQzE0LjYxMDI0NjQsNi4wMzA2NTg4OCAxNC45NTAyNjIsNi4xOTY2MTIxMSAxNS4zLDYuMTYgTDE3LjU4LDYuMTYgQzE3LjkyOTczOCw2LjE5NjYxMjExIDE4LjI2OTc1MzYsNi4wMzA2NTg4OCAxOC40NTYwNTc5LDUuNzMyNDE3NzIgQzE4LjY0MjM2MjMsNS40MzQxNzY1NSAxOC42NDIzNjIzLDUuMDU1ODIzNDUgMTguNDU2MDU3OSw0Ljc1NzU4MjI4IEMxOC4yNjk3NTM2LDQuNDU5MzQxMTIgMTcuOTI5NzM4LDQuMjkzMzg3ODkgMTcuNTgsNC4zMyBMMTUuMyw0LjMzIE0xNy41OCw2Ljc3IEwxNS4zLDYuNzcgQzE0LjcwNTY0MzUsNi44NjczODEgMTQuMTA5ODQ3OSw2LjYwNDY0Mzc2IDEzLjc4MDkyNjcsNi4xMDAxMTA3MiBDMTMuNDUyMDA1Niw1LjU5NTU3NzY4IDEzLjQ1MjAwNTYsNC45NDQ0MjIzMiAxMy43ODA5MjY3LDQuNDM5ODg5MjggQzE0LjEwOTg0NzksMy45MzUzNTYyNCAxNC43MDU2NDM1LDMuNjcyNjE5IDE1LjMsMy43NyBMMTcuNTgsMy43NyBDMTguMTc0MzU2NSwzLjY3MjYxOSAxOC43NzAxNTIxLDMuOTM1MzU2MjQgMTkuMDk5MDczMyw0LjQzOTg4OTI4IEMxOS40Mjc5OTQ0LDQuOTQ0NDIyMzIgMTkuNDI3OTk0NCw1LjU5NTU3NzY4IDE5LjA5OTA3MzMsNi4xMDAxMTA3MiBDMTguNzcwMTUyMSw2LjYwNDY0Mzc2IDE4LjE3NDM1NjUsNi44NjczODEgMTcuNTgsNi43NyIgaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBzdHJva2U9IiMyMzFGMjAiIHN0cm9rZS13aWR0aD0iMC44OSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjIuMjIiIHk9IjEwLjc4IiB3aWR0aD0iNC40NCIgaGVpZ2h0PSI0LjQ0IiByeD0iMC40NCI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHN0cm9rZT0iIzdDODdBNSIgc3Ryb2tlLXdpZHRoPSIwLjIyIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iMi4yMiIgeT0iMTAuNzgiIHdpZHRoPSI0LjQ0IiBoZWlnaHQ9IjQuNDQiIHJ4PSIwLjQ0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIHN0cm9rZT0iIzIzMUYyMCIgc3Ryb2tlLXdpZHRoPSIwLjY3IiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMSIgY3g9IjQuNDQiIGN5PSIxMyIgcj0iMSI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIHN0cm9rZT0iIzQxNDc1NyIgc3Ryb2tlLXdpZHRoPSIwLjIyIiBmaWxsPSIjNDE0NzU3IiBmaWxsLXJ1bGU9Im5vbnplcm8iIGN4PSI0LjQ0IiBjeT0iMTMiIHI9IjEiPjwvY2lyY2xlPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHN0cm9rZT0iIzIzMUYyMCIgc3Ryb2tlLXdpZHRoPSIwLjg5IiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iMjYuMjIiIHk9IjEwLjc4IiB3aWR0aD0iNC40NCIgaGVpZ2h0PSI0LjQ0IiByeD0iMC40NCI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHN0cm9rZT0iIzdDODdBNSIgc3Ryb2tlLXdpZHRoPSIwLjIyIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iMjYuMjIiIHk9IjEwLjc4IiB3aWR0aD0iNC40NCIgaGVpZ2h0PSI0LjQ0IiByeD0iMC40NCI+PC9yZWN0PgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBzdHJva2U9IiMyMzFGMjAiIHN0cm9rZS13aWR0aD0iMC42NyIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjEiIGN4PSIyOC40NCIgY3k9IjEzIiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgc3Ryb2tlPSIjNDE0NzU3IiBzdHJva2Utd2lkdGg9IjAuMjIiIGZpbGw9IiM0MTQ3NTciIGZpbGwtcnVsZT0ibm9uemVybyIgY3g9IjI4LjQ0IiBjeT0iMTMiIHI9IjEiPjwvY2lyY2xlPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMDAwMDAwLCA4LjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMTEiIHk9IjAuNzgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS4wMDAwMDAsIDkuMDAwMDAwKSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4xMSIgeT0iMC40NCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTEuMTEiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDguMDAwMDAwKSIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC42NyIgeT0iMC43OCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzLjAwMDAwMCwgOS4wMDAwMDApIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjY3IiB5PSIwLjQ0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxMy42NyIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2LjAwMDAwMCwgOC4wMDAwMDApIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjIyIiB5PSIwLjc4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC4yNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMDAwMDAwLCA5LjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMjIiIHk9IjAuNDQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjE2LjIyIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTguMDAwMDAwLCA4LjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNzgiIHk9IjAuNzgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOC4wMDAwMDAsIDkuMDAwMDAwKSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC43OCIgeT0iMC40NCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTguNzgiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDguMDAwMDAwKSIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4zMyIgeT0iMC43OCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIxLjAwMDAwMCwgOS4wMDAwMDApIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjMzIiB5PSIwLjQ0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIyMS4zMyIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjAwMDAwMCwgMTEuMDAwMDAwKSIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4xMSIgeT0iMC4yOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjAwMDAwMCwgMTEuMDAwMDAwKSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4xMSIgeT0iMC45NCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTEuMTEiIHk9IjExLjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDExLjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNjciIHk9IjAuMjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDExLjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNjciIHk9IjAuOTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjEzLjY3IiB5PSIxMS41IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMDAwMDAwLCAxMS4wMDAwMDApIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjIyIiB5PSIwLjI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC4yNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMDAwMDAwLCAxMS4wMDAwMDApIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjIyIiB5PSIwLjk0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxNi4yMiIgeT0iMTEuNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LjAwMDAwMCwgMTEuMDAwMDAwKSIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC43OCIgeT0iMC4yOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LjAwMDAwMCwgMTEuMDAwMDAwKSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC43OCIgeT0iMC45NCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTguNzgiIHk9IjExLjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDExLjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMzMiIHk9IjAuMjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDExLjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMzMiIHk9IjAuOTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjIxLjMzIiB5PSIxMS41IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMDAwMDAwLCAxMy4wMDAwMDApIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjExIiB5PSIwLjc4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC4yNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMDAwMDAwLCAxNC4wMDAwMDApIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjExIiB5PSIwLjQ0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxMS4xMSIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDEzLjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNjciIHk9IjAuNzgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDE0LjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNjciIHk9IjAuNDQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjEzLjY3IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2LjAwMDAwMCwgMTMuMDAwMDAwKSIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4yMiIgeT0iMC43OCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2LjAwMDAwMCwgMTQuMDAwMDAwKSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4yMiIgeT0iMC40NCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTYuMjIiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTguMDAwMDAwLCAxMy4wMDAwMDApIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjc4IiB5PSIwLjc4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC4yNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTguMDAwMDAwLCAxNC4wMDAwMDApIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjc4IiB5PSIwLjQ0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxOC43OCIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDEzLjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMzMiIHk9IjAuNzgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDE0LjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMzMiIHk9IjAuNDQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjIxLjMzIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjAwMDAwMCwgMTYuMDAwMDAwKSIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4xMSIgeT0iMC4yOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjAwMDAwMCwgMTYuMDAwMDAwKSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4xMSIgeT0iMC45NCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTEuMTEiIHk9IjE2LjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDE2LjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNjciIHk9IjAuMjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDE2LjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNjciIHk9IjAuOTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjEzLjY3IiB5PSIxNi41IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMDAwMDAwLCAxNi4wMDAwMDApIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjIyIiB5PSIwLjI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC4yNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuMDAwMDAwLCAxNi4wMDAwMDApIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjIyIiB5PSIwLjk0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxNi4yMiIgeT0iMTYuNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LjAwMDAwMCwgMTYuMDAwMDAwKSIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC43OCIgeT0iMC4yOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LjAwMDAwMCwgMTYuMDAwMDAwKSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC43OCIgeT0iMC45NCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTguNzgiIHk9IjE2LjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDE2LjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMzMiIHk9IjAuMjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDE2LjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMzMiIHk9IjAuOTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjIxLjMzIiB5PSIxNi41IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMDAwMDAwLCAxOC4wMDAwMDApIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjExIiB5PSIwLjc4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC4yNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEuMDAwMDAwLCAxOS4wMDAwMDApIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjExIiB5PSIwLjQ0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxMS4xMSIgeT0iMTkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDE4LjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNjciIHk9IjAuNzgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4wMDAwMDAsIDE5LjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuNjciIHk9IjAuNDQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjEzLjY3IiB5PSIxOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2LjAwMDAwMCwgMTguMDAwMDAwKSIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4yMiIgeT0iMC43OCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuMjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2LjAwMDAwMCwgMTkuMDAwMDAwKSIgZmlsbD0iIzIzMUYyMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgeD0iMC4yMiIgeT0iMC40NCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTYuMjIiIHk9IjE5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAiIG9wYWNpdHk9IjAuNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTguMDAwMDAwLCAxOC4wMDAwMDApIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjc4IiB5PSIwLjc4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC4yNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTguMDAwMDAwLCAxOS4wMDAwMDApIiBmaWxsPSIjMjMxRjIwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiB4PSIwLjc4IiB5PSIwLjQ0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wNCI+PC9yZWN0PgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxOC43OCIgeT0iMTkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDE4LjAwMDAwMCkiIGZpbGw9IiNFNkU3RTgiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMzMiIHk9IjAuNzgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwIiBvcGFjaXR5PSIwLjI1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMS4wMDAwMDAsIDE5LjAwMDAwMCkiIGZpbGw9IiMyMzFGMjAiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIHg9IjAuMzMiIHk9IjAuNDQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjA0Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjIxLjMzIiB5PSIxOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDQiPjwvcmVjdD4KICAgICAgICAgICAgPHBhdGggZD0iTTEuNDQsMjMuNjcgTDEuNDQsMjYuNTggQzEuMjM4NzA3MjksMjYuNDc4NTM1NCAxLjA1ODc4MDI4LDI2LjMzOTM0NjYgMC45MSwyNi4xNyBMMC45MSwyMy42NyBMMS40NCwyMy42NyBaIiBpZD0iU2hhcGUiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgICAgICA8cG9seWdvbiBpZD0iU2hhcGUiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgcG9pbnRzPSIyLjA4IDI2Ljc3IDIuMiAyNi43NyAyLjIgMjMuNjcgMS42NyAyMy42NyAxLjY3IDI2LjY5Ij48L3BvbHlnb24+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIyLjQ2IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIzLjI0IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSI0LjAzIiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSI0LjgxIiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSI1LjU5IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSI2LjM4IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSI3LjE2IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSI3Ljk1IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSI4LjczIiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSI5LjUyIiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxMC4zIiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxMS4wOCIgeT0iMjMuNjciIHdpZHRoPSIxIiBoZWlnaHQ9IjMuMSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTEuODciIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjEyLjY1IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxMy40NCIgeT0iMjMuNjciIHdpZHRoPSIxIiBoZWlnaHQ9IjMuMSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTQuMjIiIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjE1LjAxIiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxNS43OSIgeT0iMjMuNjciIHdpZHRoPSIxIiBoZWlnaHQ9IjMuMSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTYuNTgiIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjE3LjM2IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIxOC4xNCIgeT0iMjMuNjciIHdpZHRoPSIxIiBoZWlnaHQ9IjMuMSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMTguOTMiIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjE5LjcxIiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIyMC41IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIyMS4yOCIgeT0iMjMuNjciIHdpZHRoPSIxIiBoZWlnaHQ9IjMuMSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMjIuMDYiIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjIyLjg1IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIyMy42MyIgeT0iMjMuNjciIHdpZHRoPSIxIiBoZWlnaHQ9IjMuMSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMjQuNDIiIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjI1LjIiIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjI1Ljk5IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIyNi43NyIgeT0iMjMuNjciIHdpZHRoPSIxIiBoZWlnaHQ9IjMuMSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMjcuNTYiIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHg9IjI4LjM0IiB5PSIyMy42NyIgd2lkdGg9IjEiIGhlaWdodD0iMy4xIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIiB4PSIyOS4xMiIgeT0iMjMuNjciIHdpZHRoPSIxIiBoZWlnaHQ9IjMuMSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyIgeD0iMjkuOTEiIHk9IjIzLjY3IiB3aWR0aD0iMSIgaGVpZ2h0PSIzLjEiPjwvcmVjdD4KICAgICAgICAgICAgPHBvbHlnb24gaWQ9IlNoYXBlIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHBvaW50cz0iMzAuODEgMjYuNzcgMzAuNjkgMjYuNzcgMzAuNjkgMjMuNjcgMzEuMjIgMjMuNjcgMzEuMjIgMjYuNjkiPjwvcG9seWdvbj4KICAgICAgICAgICAgPHBhdGggZD0iTTMyLDIzLjY3IEwzMiwyNi4xNyBDMzEuODUxMjE5NywyNi4zMzkzNDY2IDMxLjY3MTI5MjcsMjYuNDc4NTM1NCAzMS40NywyNi41OCBMMzEuNDcsMjMuNjcgTDMyLDIzLjY3IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zLjExLDIzLjU0IEMyLjcxMzQzNTE4LDIzLjU0IDIuMzQ2OTk0MTYsMjMuMzI4NDM1MiAyLjE0ODcxMTc1LDIyLjk4NSBDMS45NTA0MjkzMywyMi42NDE1NjQ4IDEuOTUwNDI5MzMsMjIuMjE4NDM1MiAyLjE0ODcxMTc1LDIxLjg3NSBDMi4zNDY5OTQxNiwyMS41MzE1NjQ4IDIuNzEzNDM1MTgsMjEuMzIgMy4xMSwyMS4zMiBDMy41MDY1NjQ4MiwyMS4zMiAzLjg3MzAwNTg0LDIxLjUzMTU2NDggNC4wNzEyODgyNSwyMS44NzUgQzQuMjY5NTcwNjcsMjIuMjE4NDM1MiA0LjI2OTU3MDY3LDIyLjY0MTU2NDggNC4wNzEyODgyNSwyMi45ODUgQzMuODczMDA1ODQsMjMuMzI4NDM1MiAzLjUwNjU2NDgyLDIzLjU0IDMuMTEsMjMuNTQgWiBNMi4yMiwyNi43NyBMNC41NCwyNi43NyBMNC41NCwyMi40NCBDNC40Nzc2NTM1MiwyMS42OTM3OTIgMy44NTM4MDgwNiwyMS4xMTk4OTU4IDMuMTA1LDIxLjExOTg5NTggQzIuMzU2MTkxOTQsMjEuMTE5ODk1OCAxLjczMjM0NjQ4LDIxLjY5Mzc5MiAxLjY3LDIyLjQ0IEwxLjY3LDI2LjcgTDIuMjIsMjYuNzcgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTEwLjQ0LDIxLjQ0IEMxMC4wMzA2ODA2LDIxLjAyOTE4MTcgOS40MTQ4Njc0NCwyMC45MDM5ODk1IDguODc3NjMzMDksMjEuMTIyMzc3NCBDOC4zNDAzOTg3NSwyMS4zNDA3NjU0IDcuOTg2NTkzMDYsMjEuODYwMTExNiA3Ljk4LDIyLjQ0IEw3Ljk4LDI2Ljc4IEwxMC44NiwyNi43OCBMMTAuODYsMjIuNDQgQzEwLjg1Njc0OTIsMjIuMDY0NDQ2NiAxMC43MDU4ODU0LDIxLjcwNTI0NjkgMTAuNDQsMjEuNDQgWiBNOS40NCwyMy41NiBDOC45ODczMDQ5MiwyMy41ODQ0ODA5IDguNTY1MjE4NjYsMjMuMzMxMjAxNSA4LjM3MzgyNjE0LDIyLjkyMDIyNTcgQzguMTgyNDMzNjMsMjIuNTA5MjUgOC4yNjAyMDUzNCwyMi4wMjMxODUzIDguNTcwMjc0NTIsMjEuNjkyNDQ0OSBDOC44ODAzNDM3MSwyMS4zNjE3MDQ0IDkuMzYwMzg1NTIsMjEuMjUyNzY4IDkuNzgyODQxOTEsMjEuNDE3Mjc1NiBDMTAuMjA1Mjk4MywyMS41ODE3ODMyIDEwLjQ4NTI1NDIsMjEuOTg2NjY4MyAxMC40OSwyMi40NCBDMTAuNDg0NTEyMSwyMy4wNDkxMjcyIDkuOTg5MTUxOTcsMjMuNTQwMDI0NyA5LjM4LDIzLjU0IEw5LjQ0LDIzLjU2IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0ZGQkYwMCIgZmlsbC1ydWxlPSJub256ZXJvIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNy40NCwyMS40NCBDMTcuMDMwNjgwNiwyMS4wMjkxODE3IDE2LjQxNDg2NzQsMjAuOTAzOTg5NSAxNS44Nzc2MzMxLDIxLjEyMjM3NzQgQzE1LjM0MDM5ODcsMjEuMzQwNzY1NCAxNC45ODY1OTMxLDIxLjg2MDExMTYgMTQuOTgsMjIuNDQgTDE0Ljk4LDI2Ljc4IEwxNy44NiwyNi43OCBMMTcuODYsMjIuNDQgQzE3Ljg1Njc0OTIsMjIuMDY0NDQ2NiAxNy43MDU4ODU0LDIxLjcwNTI0NjkgMTcuNDQsMjEuNDQgWiBNMTYuNDQsMjMuNTQgQzE1Ljk5MDE0MDgsMjMuNTM5OTgxNyAxNS41ODQ3NzYzLDIzLjI2ODQ0NDEgMTUuNDEzNTcxOCwyMi44NTI0MzY2IEMxNS4yNDIzNjczLDIyLjQzNjQyOSAxNS4zMzkxODE1LDIxLjk1ODIyMzkgMTUuNjU4NzE2LDIxLjY0MTU2OCBDMTUuOTc4MjUwNiwyMS4zMjQ5MTIxIDE2LjQ1NzMxMjMsMjEuMjMyNDI5NSAxNi44NzE3NTM1LDIxLjQwNzM5MTcgQzE3LjI4NjE5NDcsMjEuNTgyMzUzOCAxNy41NTQwNTI4LDIxLjk5MDE1OTEgMTcuNTUsMjIuNDQgQzE3LjU0NDUxMjEsMjMuMDQ5MTI3MiAxNy4wNDkxNTIsMjMuNTQwMDI0NyAxNi40NCwyMy41NCBaIiBpZD0iU2hhcGUiIGZpbGw9IiNGRkJGMDAiIGZpbGwtcnVsZT0ibm9uemVybyI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjQuNTIsMjEuNDQgQzI0LjExMDY4MDYsMjEuMDI5MTgxNyAyMy40OTQ4Njc0LDIwLjkwMzk4OTUgMjIuOTU3NjMzMSwyMS4xMjIzNzc0IEMyMi40MjAzOTg3LDIxLjM0MDc2NTQgMjIuMDY2NTkzMSwyMS44NjAxMTE2IDIyLjA2LDIyLjQ0IEwyMi4wNiwyNi43OCBMMjQuOTQsMjYuNzggTDI0Ljk0LDIyLjQ0IEMyNC45MzY3NDkyLDIyLjA2NDQ0NjYgMjQuNzg1ODg1NCwyMS43MDUyNDY5IDI0LjUyLDIxLjQ0IFogTTIzLjUyLDIzLjU2IEMyMi45MDY5NjM5LDIzLjU2IDIyLjQxLDIzLjA2MzAzNjEgMjIuNDEsMjIuNDUgQzIyLjQxLDIxLjgzNjk2MzkgMjIuOTA2OTYzOSwyMS4zNCAyMy41MiwyMS4zNCBDMjQuMTMzMDM2MSwyMS4zNCAyNC42MywyMS44MzY5NjM5IDI0LjYzLDIyLjQ1IEMyNC42MywyMy4wNjMwMzYxIDI0LjEzMzAzNjEsMjMuNTYgMjMuNTIsMjMuNTYgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTMwLjc5LDIxLjQ0IEMzMC4zNzk4MDQyLDIxLjAzNjE3MTkgMjkuNzY4NTI2NCwyMC45MTU0MjIgMjkuMjM1NTkwNSwyMS4xMzI5NDY4IEMyOC43MDI2NTQ3LDIxLjM1MDQ3MTcgMjguMzUwNDYwMSwyMS44NjQ0NzU3IDI4LjM0LDIyLjQ0IEwyOC4zNCwyNi43OCBMMzAuNjYsMjYuNzggTDMxLjIxLDI2LjcgTDMxLjIxLDIyLjQ0IEMzMS4yMDY3NDkyLDIyLjA2NDQ0NjYgMzEuMDU1ODg1NCwyMS43MDUyNDY5IDMwLjc5LDIxLjQ0IFogTTI5Ljc5LDIzLjU2IEMyOS4zNDAyMjk5LDIzLjU2ODA4NjQgMjguOTMwMDUwNywyMy4zMDM5MTU0IDI4Ljc1MTM2ODgsMjIuODkxMDgyMiBDMjguNTcyNjg2OCwyMi40NzgyNDkgMjguNjYwODM2OCwyMS45OTgzOTE4IDI4Ljk3NDU3NjgsMjEuNjc2MDE2NyBDMjkuMjg4MzE2OSwyMS4zNTM2NDE3IDI5Ljc2NTYwNDQsMjEuMjUyNDk4OCAzMC4xODMxMzU3LDIxLjQxOTkwODggQzMwLjYwMDY2NzEsMjEuNTg3MzE4OCAzMC44NzU4NzQ3LDIxLjk5MDE3NjEgMzAuODgsMjIuNDQgQzMwLjg3NDUxMjEsMjMuMDQ5MTI3MiAzMC4zNzkxNTIsMjMuNTQwMDI0NyAyOS43NywyMy41NCBMMjkuNzksMjMuNTYgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjRkZCRjAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTIuOTgwOTMsMjQuODI4MTcgQzIuOTgwOTMsMjQuODUwMzcwMSAyLjk4MTY2OTk5LDI0Ljg3NzE5NDggMi45ODMxNSwyNC45MDg2NDUgQzIuOTg0NjMwMDEsMjQuOTQwMDk1MiAyLjk4OTI1NDk2LDI0Ljk3MDQzNDkgMi45OTcwMjUsMjQuOTk5NjY1IEMzLjAwNDc5NTA0LDI1LjAyODg5NTEgMy4wMTcxODk5MSwyNS4wNTM4Njk5IDMuMDM0MjEsMjUuMDc0NTkgQzMuMDUxMjMwMDksMjUuMDk1MzEwMSAzLjA3NTY0OTg0LDI1LjEwNTY3IDMuMTA3NDcsMjUuMTA1NjcgQzMuMTQwMDMwMTYsMjUuMTA1NjcgMy4xNjUwMDQ5MSwyNS4wOTUzMTAxIDMuMTgyMzk1LDI1LjA3NDU5IEMzLjE5OTc4NTA5LDI1LjA1Mzg2OTkgMy4yMTIzNjQ5NiwyNS4wMjg4OTUxIDMuMjIwMTM1LDI0Ljk5OTY2NSBDMy4yMjc5MDUwNCwyNC45NzA0MzQ5IDMuMjMyNTI5OTksMjQuOTQwMDk1MiAzLjIzNDAxLDI0LjkwODY0NSBDMy4yMzU0OTAwMSwyNC44NzcxOTQ4IDMuMjM2MjMsMjQuODUwMzcwMSAzLjIzNjIzLDI0LjgyODE3IEMzLjIzNjIzLDI0LjgxNDg0OTkgMy4yMzYwNDUsMjQuNzk4NzU1MSAzLjIzNTY3NSwyNC43Nzk4ODUgQzMuMjM1MzA1LDI0Ljc2MTAxNDkgMy4yMzM4MjUwMSwyNC43NDE1OTAxIDMuMjMxMjM1LDI0LjcyMTYxIEMzLjIyODY0NDk5LDI0LjcwMTYyOTkgMy4yMjQ5NDUwMiwyNC42ODE4MzUxIDMuMjIwMTM1LDI0LjY2MjIyNSBDMy4yMTUzMjQ5OCwyNC42NDI2MTQ5IDMuMjA4MTEwMDUsMjQuNjI1MDQwMSAzLjE5ODQ5LDI0LjYwOTUgQzMuMTg4ODY5OTUsMjQuNTkzOTU5OSAzLjE3NjY2MDA3LDI0LjU4MTM4IDMuMTYxODYsMjQuNTcxNzYgQzMuMTQ3MDU5OTMsMjQuNTYyMTQgMy4xMjg5MzAxMSwyNC41NTczMyAzLjEwNzQ3LDI0LjU1NzMzIEMzLjA4NjAwOTg5LDI0LjU1NzMzIDMuMDY4MDY1MDcsMjQuNTYyMTQgMy4wNTM2MzUsMjQuNTcxNzYgQzMuMDM5MjA0OTMsMjQuNTgxMzggMy4wMjczNjUwNSwyNC41OTM5NTk5IDMuMDE4MTE1LDI0LjYwOTUgQzMuMDA4ODY0OTUsMjQuNjI1MDQwMSAzLjAwMTY1MDAzLDI0LjY0MjYxNDkgMi45OTY0NywyNC42NjIyMjUgQzIuOTkxMjg5OTcsMjQuNjgxODM1MSAyLjk4NzU5MDAxLDI0LjcwMTYyOTkgMi45ODUzNywyNC43MjE2MSBDMi45ODMxNDk5OSwyNC43NDE1OTAxIDIuOTgxODU1LDI0Ljc2MTAxNDkgMi45ODE0ODUsMjQuNzc5ODg1IEMyLjk4MTExNSwyNC43OTg3NTUxIDIuOTgwOTMsMjQuODE0ODQ5OSAyLjk4MDkzLDI0LjgyODE3IFogTTIuODIzMzEsMjQuODI4MTcgQzIuODIzMzEsMjQuNzUyNjg5NiAyLjgzMDg5NDkyLDI0LjY4OTIzNTMgMi44NDYwNjUsMjQuNjM3ODA1IEMyLjg2MTIzNTA4LDI0LjU4NjM3NDcgMi44ODE3Njk4NywyNC41NDUxMjAyIDIuOTA3NjcsMjQuNTE0MDQgQzIuOTMzNTcwMTMsMjQuNDgyOTU5OCAyLjk2MzcyNDgzLDI0LjQ2MDc2MDEgMi45OTgxMzUsMjQuNDQ3NDQgQzMuMDMyNTQ1MTcsMjQuNDM0MTE5OSAzLjA2ODk4OTgxLDI0LjQyNzQ2IDMuMTA3NDcsMjQuNDI3NDYgQzMuMTQ2NjkwMiwyNC40Mjc0NiAzLjE4MzUwNDgzLDI0LjQzNDExOTkgMy4yMTc5MTUsMjQuNDQ3NDQgQzMuMjUyMzI1MTcsMjQuNDYwNzYwMSAzLjI4MjY2NDg3LDI0LjQ4Mjk1OTggMy4zMDg5MzUsMjQuNTE0MDQgQzMuMzM1MjA1MTMsMjQuNTQ1MTIwMiAzLjM1NTkyNDkyLDI0LjU4NjM3NDcgMy4zNzEwOTUsMjQuNjM3ODA1IEMzLjM4NjI2NTA4LDI0LjY4OTIzNTMgMy4zOTM4NSwyNC43NTI2ODk2IDMuMzkzODUsMjQuODI4MTcgQzMuMzkzODUsMjQuOTA1ODcwNCAzLjM4NjI2NTA4LDI0Ljk3MDgwNDcgMy4zNzEwOTUsMjUuMDIyOTc1IEMzLjM1NTkyNDkyLDI1LjA3NTE0NTMgMy4zMzUyMDUxMywyNS4xMTY3Njk4IDMuMzA4OTM1LDI1LjE0Nzg1IEMzLjI4MjY2NDg3LDI1LjE3ODkzMDIgMy4yNTIzMjUxNywyNS4yMDExMjk5IDMuMjE3OTE1LDI1LjIxNDQ1IEMzLjE4MzUwNDgzLDI1LjIyNzc3MDEgMy4xNDY2OTAyLDI1LjIzNDQzIDMuMTA3NDcsMjUuMjM0NDMgQzMuMDY4OTg5ODEsMjUuMjM0NDMgMy4wMzI1NDUxNywyNS4yMjc3NzAxIDIuOTk4MTM1LDI1LjIxNDQ1IEMyLjk2MzcyNDgzLDI1LjIwMTEyOTkgMi45MzM1NzAxMywyNS4xNzg5MzAyIDIuOTA3NjcsMjUuMTQ3ODUgQzIuODgxNzY5ODcsMjUuMTE2NzY5OCAyLjg2MTIzNTA4LDI1LjA3NTE0NTMgMi44NDYwNjUsMjUuMDIyOTc1IEMyLjgzMDg5NDkyLDI0Ljk3MDgwNDcgMi44MjMzMSwyNC45MDU4NzA0IDIuODIzMzEsMjQuODI4MTcgWiIgaWQ9IjAiIGZpbGw9IiM1NzVFNzUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTMuNzM2MzksMTguMjMzNjQgTDMuOTQxNzQsMTguMjMzNjQgTDMuODQxODQsMTcuOTQyODIgTDMuODM5NjIsMTcuOTQyODIgTDMuNzM2MzksMTguMjMzNjQgWiBNMy43NTMwNCwxNy43NDc0NiBMMy45MzE3NSwxNy43NDc0NiBMNC4yMjgxMiwxOC41NCBMNC4wNDcxOSwxOC41NCBMMy45ODcyNSwxOC4zNjM1MSBMMy42OTA4OCwxOC4zNjM1MSBMMy42Mjg3MiwxOC41NCBMMy40NTMzNCwxOC41NCBMMy43NTMwNCwxNy43NDc0NiBaIiBpZD0iQSIgZmlsbD0iIzU3NUU3NSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjguODIwODYsNy43OTgyNSBMMjguOTk3MzUsNy43OTgyNSBDMjkuMDI4NDMwMiw3Ljc5ODI1IDI5LjA1Mzk1OTksNy43OTA4NTAwNyAyOS4wNzM5NCw3Ljc3NjA1IEMyOS4wOTM5MjAxLDcuNzYxMjQ5OTMgMjkuMTAzOTEsNy43MzcyMDAxNyAyOS4xMDM5MSw3LjcwMzkgQzI5LjEwMzkxLDcuNjg1Mzk5OTEgMjkuMTAwNTgsNy42NzAyMzAwNiAyOS4wOTM5Miw3LjY1ODM5IEMyOS4wODcyNiw3LjY0NjU0OTk0IDI5LjA3ODM4MDEsNy42MzczMDAwMyAyOS4wNjcyOCw3LjYzMDY0IEMyOS4wNTYxNzk5LDcuNjIzOTc5OTcgMjkuMDQzNDE1MSw3LjYxOTM1NTAxIDI5LjAyODk4NSw3LjYxNjc2NSBDMjkuMDE0NTU0OSw3LjYxNDE3NDk5IDI4Ljk5OTU3MDEsNy42MTI4OCAyOC45ODQwMyw3LjYxMjg4IEwyOC44MjA4Niw3LjYxMjg4IEwyOC44MjA4Niw3Ljc5ODI1IFogTTI4LjY0NjU5LDcuNDc3NDYgTDI5LjAxOTU1LDcuNDc3NDYgQzI5LjA1NzI5MDIsNy40Nzc0NiAyOS4wOTE2OTk4LDcuNDgwNzg5OTcgMjkuMTIyNzgsNy40ODc0NSBDMjkuMTUzODYwMiw3LjQ5NDExMDAzIDI5LjE4MDQ5OTksNy41MDUwMjQ5MiAyOS4yMDI3LDcuNTIwMTk1IEMyOS4yMjQ5MDAxLDcuNTM1MzY1MDggMjkuMjQyMTA0OSw3LjU1NTUyOTg3IDI5LjI1NDMxNSw3LjU4MDY5IEMyOS4yNjY1MjUxLDcuNjA1ODUwMTMgMjkuMjcyNjMsNy42MzY5Mjk4MSAyOS4yNzI2Myw3LjY3MzkzIEMyOS4yNzI2Myw3LjcxMzg5MDIgMjkuMjYzNTY1MSw3Ljc0NzE4OTg3IDI5LjI0NTQzNSw3Ljc3MzgzIEMyOS4yMjczMDQ5LDcuODAwNDcwMTMgMjkuMjAwNDgwMiw3LjgyMjI5OTkxIDI5LjE2NDk2LDcuODM5MzIgQzI5LjIxMzgwMDIsNy44NTMzODAwNyAyOS4yNTAyNDQ5LDcuODc3OTg0ODIgMjkuMjc0Mjk1LDcuOTEzMTM1IEMyOS4yOTgzNDUxLDcuOTQ4Mjg1MTggMjkuMzEwMzcsNy45OTA2NDk3NSAyOS4zMTAzNyw4LjA0MDIzIEMyOS4zMTAzNyw4LjA4MDE5MDIgMjkuMzAyNjAwMSw4LjExNDc4NDg1IDI5LjI4NzA2LDguMTQ0MDE1IEMyOS4yNzE1MTk5LDguMTczMjQ1MTUgMjkuMjUwNjE1MSw4LjE5NzEwOTkxIDI5LjIyNDM0NSw4LjIxNTYxIEMyOS4xOTgwNzQ5LDguMjM0MTEwMDkgMjkuMTY4MTA1Miw4LjI0Nzc5OTk2IDI5LjEzNDQzNSw4LjI1NjY4IEMyOS4xMDA3NjQ4LDguMjY1NTYwMDQgMjkuMDY2MTcwMiw4LjI3IDI5LjAzMDY1LDguMjcgTDI4LjY0NjU5LDguMjcgTDI4LjY0NjU5LDcuNDc3NDYgWiBNMjguODIwODYsOC4xMzQ1OCBMMjkuMDA3MzQsOC4xMzQ1OCBDMjkuMDI0MzYwMSw4LjEzNDU4IDI5LjA0MDYzOTksOC4xMzI5MTUwMiAyOS4wNTYxOCw4LjEyOTU4NSBDMjkuMDcxNzIwMSw4LjEyNjI1NDk4IDI5LjA4NTQwOTksOC4xMjA3MDUwNCAyOS4wOTcyNSw4LjExMjkzNSBDMjkuMTA5MDkwMSw4LjEwNTE2NDk2IDI5LjExODUyNSw4LjA5NDYyMDA3IDI5LjEyNTU1NSw4LjA4MTMgQzI5LjEzMjU4NSw4LjA2Nzk3OTkzIDI5LjEzNjEsOC4wNTA5NjAxIDI5LjEzNjEsOC4wMzAyNCBDMjkuMTM2MSw3Ljk4OTUzOTggMjkuMTI0NjMwMSw3Ljk2MDQ5NTA5IDI5LjEwMTY5LDcuOTQzMTA1IEMyOS4wNzg3NDk5LDcuOTI1NzE0OTEgMjkuMDQ4NDEwMiw3LjkxNzAyIDI5LjAxMDY3LDcuOTE3MDIgTDI4LjgyMDg2LDcuOTE3MDIgTDI4LjgyMDg2LDguMTM0NTggWiIgaWQ9IkIiIGZpbGw9IiM1NzVFNzUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTkuNDU1MTIsMjUuMjIgTDkuMjk3NSwyNS4yMiBMOS4yOTc1LDI0LjcxNjA2IEw5LjEwMjE0LDI0LjcxNjA2IEw5LjEwMjE0LDI0LjU5NzI5IEM5LjEyOTUyMDE0LDI0LjU5ODAzIDkuMTU1OTc0ODcsMjQuNTk1OTk1IDkuMTgxNTA1LDI0LjU5MTE4NSBDOS4yMDcwMzUxMywyNC41ODYzNzUgOS4yMjk5NzQ5LDI0LjU3Nzg2NTEgOS4yNTAzMjUsMjQuNTY1NjU1IEM5LjI3MDY3NTEsMjQuNTUzNDQ0OSA5LjI4Nzg3OTkzLDI0LjUzNzM1MDEgOS4zMDE5NCwyNC41MTczNyBDOS4zMTYwMDAwNywyNC40OTczODk5IDkuMzI1MjQ5OTgsMjQuNDcyNjAwMSA5LjMyOTY5LDI0LjQ0MyBMOS40NTUxMiwyNC40NDMgTDkuNDU1MTIsMjUuMjIgWiIgaWQ9IjEiIGZpbGw9IiM1NzVFNzUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTE2LjE4MTA3LDI0Ljc0MTU5IEMxNi4xNzk1OSwyNC42OTcxODk4IDE2LjE4NDc2OTksMjQuNjU1OTM1MiAxNi4xOTY2MSwyNC42MTc4MjUgQzE2LjIwODQ1MDEsMjQuNTc5NzE0OCAxNi4yMjYyMDk5LDI0LjU0NjQxNTEgMTYuMjQ5ODksMjQuNTE3OTI1IEMxNi4yNzM1NzAxLDI0LjQ4OTQzNDkgMTYuMzAzMzU0OCwyNC40NjcyMzUxIDE2LjMzOTI0NSwyNC40NTEzMjUgQzE2LjM3NTEzNTIsMjQuNDM1NDE0OSAxNi40MTYzODk4LDI0LjQyNzQ2IDE2LjQ2MzAxLDI0LjQyNzQ2IEMxNi40OTg1MzAyLDI0LjQyNzQ2IDE2LjUzMjM4NDgsMjQuNDMzMDA5OSAxNi41NjQ1NzUsMjQuNDQ0MTEgQzE2LjU5Njc2NTIsMjQuNDU1MjEwMSAxNi42MjUwNjk5LDI0LjQ3MTExOTkgMTYuNjQ5NDksMjQuNDkxODQgQzE2LjY3MzkxMDEsMjQuNTEyNTYwMSAxNi42OTMzMzQ5LDI0LjUzODA4OTggMTYuNzA3NzY1LDI0LjU2ODQzIEMxNi43MjIxOTUxLDI0LjU5ODc3MDIgMTYuNzI5NDEsMjQuNjMyODA5OCAxNi43Mjk0MSwyNC42NzA1NSBDMTYuNzI5NDEsMjQuNzA5NzcwMiAxNi43MjMxMjAxLDI0Ljc0MzQzOTkgMTYuNzEwNTQsMjQuNzcxNTYgQzE2LjY5Nzk1OTksMjQuNzk5NjgwMSAxNi42ODEzMTAxLDI0LjgyNDY1NDkgMTYuNjYwNTksMjQuODQ2NDg1IEMxNi42Mzk4Njk5LDI0Ljg2ODMxNTEgMTYuNjE2Mzc1MSwyNC44ODgxMDk5IDE2LjU5MDEwNSwyNC45MDU4NyBDMTYuNTYzODM0OSwyNC45MjM2MzAxIDE2LjUzNzM4MDEsMjQuOTQxMjA0OSAxNi41MTA3NCwyNC45NTg1OTUgQzE2LjQ4NDA5OTksMjQuOTc1OTg1MSAxNi40NTgyMDAxLDI0Ljk5NDY2OTkgMTYuNDMzMDQsMjUuMDE0NjUgQzE2LjQwNzg3OTksMjUuMDM0NjMwMSAxNi4zODU2ODAxLDI1LjA1NzkzOTkgMTYuMzY2NDQsMjUuMDg0NTggTDE2LjczMzg1LDI1LjA4NDU4IEwxNi43MzM4NSwyNS4yMiBMMTYuMTYzMzEsMjUuMjIgQzE2LjE2MzMxLDI1LjE3NDg1OTggMTYuMTY5Nzg0OSwyNS4xMzU2NDAyIDE2LjE4MjczNSwyNS4xMDIzNCBDMTYuMTk1Njg1MSwyNS4wNjkwMzk4IDE2LjIxMzI1OTksMjUuMDM5MjU1MSAxNi4yMzU0NiwyNS4wMTI5ODUgQzE2LjI1NzY2MDEsMjQuOTg2NzE0OSAxNi4yODM3NDQ5LDI0Ljk2MjQ4MDEgMTYuMzEzNzE1LDI0Ljk0MDI4IEMxNi4zNDM2ODUxLDI0LjkxODA3OTkgMTYuMzc1MzE5OCwyNC44OTU1MTAxIDE2LjQwODYyLDI0Ljg3MjU3IEMxNi40MjU2NDAxLDI0Ljg2MDcyOTkgMTYuNDQzNzY5OSwyNC44NDg3MDUxIDE2LjQ2MzAxLDI0LjgzNjQ5NSBDMTYuNDgyMjUwMSwyNC44MjQyODQ5IDE2LjQ5OTgyNDksMjQuODEwNzgwMSAxNi41MTU3MzUsMjQuNzk1OTggQzE2LjUzMTY0NTEsMjQuNzgxMTc5OSAxNi41NDQ5NjQ5LDI0Ljc2NDUzMDEgMTYuNTU1Njk1LDI0Ljc0NjAzIEMxNi41NjY0MjUxLDI0LjcyNzUyOTkgMTYuNTcxNzksMjQuNzA2NDQwMSAxNi41NzE3OSwyNC42ODI3NiBDMTYuNTcxNzksMjQuNjQ1MDE5OCAxNi41NjA4NzUxLDI0LjYxNTYwNTEgMTYuNTM5MDQ1LDI0LjU5NDUxNSBDMTYuNTE3MjE0OSwyNC41NzM0MjQ5IDE2LjQ4OTI4MDIsMjQuNTYyODggMTYuNDU1MjQsMjQuNTYyODggQzE2LjQzMjI5OTksMjQuNTYyODggMTYuNDEyODc1MSwyNC41NjgyNDQ5IDE2LjM5Njk2NSwyNC41Nzg5NzUgQzE2LjM4MTA1NDksMjQuNTg5NzA1MSAxNi4zNjgyOSwyNC42MDM3NjQ5IDE2LjM1ODY3LDI0LjYyMTE1NSBDMTYuMzQ5MDUsMjQuNjM4NTQ1MSAxNi4zNDIyMDUsMjQuNjU3Nzg0OSAxNi4zMzgxMzUsMjQuNjc4ODc1IEMxNi4zMzQwNjUsMjQuNjk5OTY1MSAxNi4zMzIwMywyNC43MjA4Njk5IDE2LjMzMjAzLDI0Ljc0MTU5IEwxNi4xODEwNywyNC43NDE1OSBaIiBpZD0iMiIgZmlsbD0iIzU3NUU3NSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjMuMjEzMDgsMjQuNzU3MTMgQzIzLjIzMDEwMDEsMjQuNzU4NjEgMjMuMjQ4MjI5OSwyNC43NTg2MSAyMy4yNjc0NywyNC43NTcxMyBDMjMuMjg2NzEwMSwyNC43NTU2NSAyMy4zMDQ2NTQ5LDI0Ljc1MTM5NSAyMy4zMjEzMDUsMjQuNzQ0MzY1IEMyMy4zMzc5NTUxLDI0LjczNzMzNSAyMy4zNTE2NDQ5LDI0LjcyNzE2MDEgMjMuMzYyMzc1LDI0LjcxMzg0IEMyMy4zNzMxMDUxLDI0LjcwMDUxOTkgMjMuMzc4NDcsMjQuNjgyNzYwMSAyMy4zNzg0NywyNC42NjA1NiBDMjMuMzc4NDcsMjQuNjI3MjU5OCAyMy4zNjczNzAxLDI0LjYwMTczMDEgMjMuMzQ1MTcsMjQuNTgzOTcgQzIzLjMyMjk2OTksMjQuNTY2MjA5OSAyMy4yOTc0NDAxLDI0LjU1NzMzIDIzLjI2ODU4LDI0LjU1NzMzIEMyMy4yMjg2MTk4LDI0LjU1NzMzIDIzLjE5ODQ2NTEsMjQuNTcwNDY0OSAyMy4xNzgxMTUsMjQuNTk2NzM1IEMyMy4xNTc3NjQ5LDI0LjYyMzAwNTEgMjMuMTQ3OTYsMjQuNjU2MTE5OCAyMy4xNDg3LDI0LjY5NjA4IEwyMi45OTg4NSwyNC42OTYwOCBDMjMuMDAwMzMsMjQuNjU2MTE5OCAyMy4wMDc1NDQ5LDI0LjYxOTY3NTIgMjMuMDIwNDk1LDI0LjU4Njc0NSBDMjMuMDMzNDQ1MSwyNC41NTM4MTQ4IDIzLjA1MTU3NDksMjQuNTI1NTEwMSAyMy4wNzQ4ODUsMjQuNTAxODMgQzIzLjA5ODE5NTEsMjQuNDc4MTQ5OSAyMy4xMjYxMjk4LDI0LjQ1OTgzNTEgMjMuMTU4NjksMjQuNDQ2ODg1IEMyMy4xOTEyNTAyLDI0LjQzMzkzNDkgMjMuMjI3NTA5OCwyNC40Mjc0NiAyMy4yNjc0NywyNC40Mjc0NiBDMjMuMjk4NTUwMiwyNC40Mjc0NiAyMy4zMjk2Mjk4LDI0LjQzMjA4NSAyMy4zNjA3MSwyNC40NDEzMzUgQzIzLjM5MTc5MDIsMjQuNDUwNTg1IDIzLjQxOTcyNDksMjQuNDY0NDU5OSAyMy40NDQ1MTUsMjQuNDgyOTYgQzIzLjQ2OTMwNTEsMjQuNTAxNDYwMSAyMy40ODk0Njk5LDI0LjUyNDAyOTkgMjMuNTA1MDEsMjQuNTUwNjcgQzIzLjUyMDU1MDEsMjQuNTc3MzEwMSAyMy41MjgzMiwyNC42MDgwMTk4IDIzLjUyODMyLDI0LjY0MjggQzIzLjUyODMyLDI0LjY4MDU0MDIgMjMuNTE5MjU1MSwyNC43MTM4Mzk5IDIzLjUwMTEyNSwyNC43NDI3IEMyMy40ODI5OTQ5LDI0Ljc3MTU2MDEgMjMuNDU1ODAwMiwyNC43OTExNjk5IDIzLjQxOTU0LDI0LjgwMTUzIEwyMy40MTk1NCwyNC44MDM3NSBDMjMuNDYyNDYwMiwyNC44MTMzNyAyMy40OTYxMjk5LDI0LjgzNDA4OTggMjMuNTIwNTUsMjQuODY1OTEgQzIzLjU0NDk3MDEsMjQuODk3NzMwMiAyMy41NTcxOCwyNC45MzU4Mzk4IDIzLjU1NzE4LDI0Ljk4MDI0IEMyMy41NTcxOCwyNS4wMjA5NDAyIDIzLjU0OTIyNTEsMjUuMDU3MTk5OCAyMy41MzMzMTUsMjUuMDg5MDIgQzIzLjUxNzQwNDksMjUuMTIwODQwMiAyMy40OTYxMzAxLDI1LjE0NzQ3OTkgMjMuNDY5NDksMjUuMTY4OTQgQzIzLjQ0Mjg0OTksMjUuMTkwNDAwMSAyMy40MTIxNDAyLDI1LjIwNjY3OTkgMjMuMzc3MzYsMjUuMjE3NzggQzIzLjM0MjU3OTgsMjUuMjI4ODgwMSAyMy4zMDYzMjAyLDI1LjIzNDQzIDIzLjI2ODU4LDI1LjIzNDQzIEMyMy4yMjQ5MTk4LDI1LjIzNDQzIDIzLjE4NTE0NTIsMjUuMjI4MTQwMSAyMy4xNDkyNTUsMjUuMjE1NTYgQzIzLjExMzM2NDgsMjUuMjAyOTc5OSAyMy4wODI4NDAxLDI1LjE4NDY2NTEgMjMuMDU3NjgsMjUuMTYwNjE1IEMyMy4wMzI1MTk5LDI1LjEzNjU2NDkgMjMuMDEzMDk1MSwyNS4xMDcxNTAyIDIyLjk5OTQwNSwyNS4wNzIzNyBDMjIuOTg1NzE0OSwyNS4wMzc1ODk4IDIyLjk3OTI0LDI0Ljk5NzYzMDIgMjIuOTc5OTgsMjQuOTUyNDkgTDIzLjEyOTgzLDI0Ljk1MjQ5IEMyMy4xMzA1NywyNC45NzMyMTAxIDIzLjEzMzksMjQuOTkzMDA0OSAyMy4xMzk4MiwyNS4wMTE4NzUgQzIzLjE0NTc0LDI1LjAzMDc0NTEgMjMuMTU0MjQ5OSwyNS4wNDcwMjQ5IDIzLjE2NTM1LDI1LjA2MDcxNSBDMjMuMTc2NDUwMSwyNS4wNzQ0MDUxIDIzLjE5MDMyNDksMjUuMDg1MzIgMjMuMjA2OTc1LDI1LjA5MzQ2IEMyMy4yMjM2MjUxLDI1LjEwMTYgMjMuMjQzNDE5OSwyNS4xMDU2NyAyMy4yNjYzNiwyNS4xMDU2NyBDMjMuMzAxODgwMiwyNS4xMDU2NyAyMy4zMzE4NDk5LDI1LjA5NDc1NTEgMjMuMzU2MjcsMjUuMDcyOTI1IEMyMy4zODA2OTAxLDI1LjA1MTA5NDkgMjMuMzkyOSwyNS4wMjEzMTAyIDIzLjM5MjksMjQuOTgzNTcgQzIzLjM5MjksMjQuOTUzOTY5OSAyMy4zODcxNjUxLDI0LjkzMTQwMDEgMjMuMzc1Njk1LDI0LjkxNTg2IEMyMy4zNjQyMjQ5LDI0LjkwMDMxOTkgMjMuMzQ5NjEwMSwyNC44ODkwMzUgMjMuMzMxODUsMjQuODgyMDA1IEMyMy4zMTQwODk5LDI0Ljg3NDk3NSAyMy4yOTQ2NjUxLDI0Ljg3MDkwNSAyMy4yNzM1NzUsMjQuODY5Nzk1IEMyMy4yNTI0ODQ5LDI0Ljg2ODY4NSAyMy4yMzIzMjAxLDI0Ljg2ODEzIDIzLjIxMzA4LDI0Ljg2ODEzIEwyMy4yMTMwOCwyNC43NTcxMyBaIE0yMy45NTQ1NiwyNS4yMiBMMjMuNzc5MTgsMjUuMjIgTDIzLjU4MjcxLDI0LjY0NjEzIEwyMy43NDgxLDI0LjY0NjEzIEwyMy44NjkwOSwyNS4wMzc5NiBMMjMuODcxMzEsMjUuMDM3OTYgTDIzLjk5MjMsMjQuNjQ2MTMgTDI0LjE0ODgxLDI0LjY0NjEzIEwyMy45NTQ1NiwyNS4yMiBaIiBpZD0iM3YiIGZpbGw9IiM1NzVFNzUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTI5LjE3OTM1LDI1LjEzMDA5IEMyOS4xNDgyNjk4LDI1LjE3MDA1MDIgMjkuMTEzODYwMiwyNS4xOTc5ODQ5IDI5LjA3NjEyLDI1LjIxMzg5NSBDMjkuMDM4Mzc5OCwyNS4yMjk4MDUxIDI5LjAwMDI3MDIsMjUuMjM3NzYgMjguOTYxNzksMjUuMjM3NzYgQzI4LjkwMTEwOTcsMjUuMjM3NzYgMjguODQ2NTM1MiwyNS4yMjcyMTUxIDI4Ljc5ODA2NSwyNS4yMDYxMjUgQzI4Ljc0OTU5NDgsMjUuMTg1MDM0OSAyOC43MDg3MTAyLDI1LjE1NTk5MDIgMjguNjc1NDEsMjUuMTE4OTkgQzI4LjY0MjEwOTgsMjUuMDgxOTg5OCAyOC42MTY1ODAxLDI1LjAzODUxNTIgMjguNTk4ODIsMjQuOTg4NTY1IEMyOC41ODEwNTk5LDI0LjkzODYxNDggMjguNTcyMTgsMjQuODg0NzgwMyAyOC41NzIxOCwyNC44MjcwNiBDMjguNTcyMTgsMjQuNzY3ODU5NyAyOC41ODEwNTk5LDI0LjcxMjkxNTMgMjguNTk4ODIsMjQuNjYyMjI1IEMyOC42MTY1ODAxLDI0LjYxMTUzNDcgMjguNjQyMTA5OCwyNC41NjczMjAyIDI4LjY3NTQxLDI0LjUyOTU4IEMyOC43MDg3MTAyLDI0LjQ5MTgzOTggMjguNzQ5NTk0OCwyNC40NjIyNDAxIDI4Ljc5ODA2NSwyNC40NDA3OCBDMjguODQ2NTM1MiwyNC40MTkzMTk5IDI4LjkwMTEwOTcsMjQuNDA4NTkgMjguOTYxNzksMjQuNDA4NTkgQzI5LjAwMjQ5MDIsMjQuNDA4NTkgMjkuMDQxODk0OCwyNC40MTQ2OTQ5IDI5LjA4MDAwNSwyNC40MjY5MDUgQzI5LjExODExNTIsMjQuNDM5MTE1MSAyOS4xNTI1MjQ4LDI0LjQ1NzA1OTkgMjkuMTgzMjM1LDI0LjQ4MDc0IEMyOS4yMTM5NDUyLDI0LjUwNDQyMDEgMjkuMjM5Mjg5OSwyNC41MzM2NDk4IDI5LjI1OTI3LDI0LjU2ODQzIEMyOS4yNzkyNTAxLDI0LjYwMzIxMDIgMjkuMjkxNDYsMjQuNjQzMTY5OCAyOS4yOTU5LDI0LjY4ODMxIEwyOS4xMjk0LDI0LjY4ODMxIEMyOS4xMTkwMzk5LDI0LjY0MzkwOTggMjkuMDk5MDYwMSwyNC42MTA2MTAxIDI5LjA2OTQ2LDI0LjU4ODQxIEMyOS4wMzk4NTk5LDI0LjU2NjIwOTkgMjkuMDAzOTcwMiwyNC41NTUxMSAyOC45NjE3OSwyNC41NTUxMSBDMjguOTIyNTY5OCwyNC41NTUxMSAyOC44ODkyNzAxLDI0LjU2MjY5NDkgMjguODYxODksMjQuNTc3ODY1IEMyOC44MzQ1MDk5LDI0LjU5MzAzNTEgMjguODEyMzEwMSwyNC42MTMzODQ5IDI4Ljc5NTI5LDI0LjYzODkxNSBDMjguNzc4MjY5OSwyNC42NjQ0NDUxIDI4Ljc2NTg3NSwyNC42OTM0ODk4IDI4Ljc1ODEwNSwyNC43MjYwNSBDMjguNzUwMzM1LDI0Ljc1ODYxMDIgMjguNzQ2NDUsMjQuNzkyMjc5OCAyOC43NDY0NSwyNC44MjcwNiBDMjguNzQ2NDUsMjQuODYwMzYwMiAyOC43NTAzMzUsMjQuODkyNzM0OCAyOC43NTgxMDUsMjQuOTI0MTg1IEMyOC43NjU4NzUsMjQuOTU1NjM1MiAyOC43NzgyNjk5LDI0Ljk4MzkzOTkgMjguNzk1MjksMjUuMDA5MSBDMjguODEyMzEwMSwyNS4wMzQyNjAxIDI4LjgzNDUwOTksMjUuMDU0NDI0OSAyOC44NjE4OSwyNS4wNjk1OTUgQzI4Ljg4OTI3MDEsMjUuMDg0NzY1MSAyOC45MjI1Njk4LDI1LjA5MjM1IDI4Ljk2MTc5LDI1LjA5MjM1IEMyOS4wMTk1MTAzLDI1LjA5MjM1IDI5LjA2NDA5NDgsMjUuMDc3NzM1MSAyOS4wOTU1NDUsMjUuMDQ4NTA1IEMyOS4xMjY5OTUyLDI1LjAxOTI3NDkgMjkuMTQ1MzEsMjQuOTc2OTEwMyAyOS4xNTA0OSwyNC45MjE0MSBMMjguOTc1MTEsMjQuOTIxNDEgTDI4Ljk3NTExLDI0Ljc5MTU0IEwyOS4zMDgxMSwyNC43OTE1NCBMMjkuMzA4MTEsMjUuMjIgTDI5LjE5NzExLDI1LjIyIEwyOS4xNzkzNSwyNS4xMzAwOSBaIE0yOS40NDkwOCwyNC40Mjc0NiBMMjkuNjIyMjQsMjQuNDI3NDYgTDI5Ljk1MzAyLDI0Ljk1OTE1IEwyOS45NTUyNCwyNC45NTkxNSBMMjkuOTU1MjQsMjQuNDI3NDYgTDMwLjExODQxLDI0LjQyNzQ2IEwzMC4xMTg0MSwyNS4yMiBMMjkuOTQ0MTQsMjUuMjIgTDI5LjYxNDQ3LDI0LjY4OTQyIEwyOS42MTIyNSwyNC42ODk0MiBMMjkuNjEyMjUsMjUuMjIgTDI5LjQ0OTA4LDI1LjIyIEwyOS40NDkwOCwyNC40Mjc0NiBaIE0zMC40NDU4NiwyNS4wNzM0OCBMMzAuNjAxMjYsMjUuMDczNDggQzMwLjYyNjQyMDEsMjUuMDczNDggMzAuNjUwODM5OSwyNS4wNjk0MSAzMC42NzQ1MiwyNS4wNjEyNyBDMzAuNjk4MjAwMSwyNS4wNTMxMyAzMC43MTkyODk5LDI1LjAzOTYyNTEgMzAuNzM3NzksMjUuMDIwNzU1IEMzMC43NTYyOTAxLDI1LjAwMTg4NDkgMzAuNzcxMDg5OSwyNC45NzcyODAyIDMwLjc4MjE5LDI0Ljk0Njk0IEMzMC43OTMyOTAxLDI0LjkxNjU5OTggMzAuNzk4ODQsMjQuODc5NjAwMiAzMC43OTg4NCwyNC44MzU5NCBDMzAuNzk4ODQsMjQuNzk1OTc5OCAzMC43OTQ5NTUsMjQuNzU5OTA1MiAzMC43ODcxODUsMjQuNzI3NzE1IEMzMC43Nzk0MTUsMjQuNjk1NTI0OCAzMC43NjY2NTAxLDI0LjY2Nzk2MDEgMzAuNzQ4ODksMjQuNjQ1MDIgQzMwLjczMTEyOTksMjQuNjIyMDc5OSAzMC43MDc2MzUxLDI0LjYwNDUwNTEgMzAuNjc4NDA1LDI0LjU5MjI5NSBDMzAuNjQ5MTc0OSwyNC41ODAwODQ5IDMwLjYxMzEwMDIsMjQuNTczOTggMzAuNTcwMTgsMjQuNTczOTggTDMwLjQ0NTg2LDI0LjU3Mzk4IEwzMC40NDU4NiwyNS4wNzM0OCBaIE0zMC4yNzE1OSwyNC40Mjc0NiBMMzAuNjEzNDcsMjQuNDI3NDYgQzMwLjY2NDUzMDMsMjQuNDI3NDYgMzAuNzEyMDc0OCwyNC40MzU1OTk5IDMwLjc1NjEwNSwyNC40NTE4OCBDMzAuODAwMTM1MiwyNC40NjgxNjAxIDMwLjgzODI0NDgsMjQuNDkyNTc5OCAzMC44NzA0MzUsMjQuNTI1MTQgQzMwLjkwMjYyNTIsMjQuNTU3NzAwMiAzMC45Mjc3ODQ5LDI0LjU5ODM5OTggMzAuOTQ1OTE1LDI0LjY0NzI0IEMzMC45NjQwNDUxLDI0LjY5NjA4MDIgMzAuOTczMTEsMjQuNzUzNDI5NyAzMC45NzMxMSwyNC44MTkyOSBDMzAuOTczMTEsMjQuODc3MDEwMyAzMC45NjU3MTAxLDI0LjkzMDI4OTggMzAuOTUwOTEsMjQuOTc5MTMgQzMwLjkzNjEwOTksMjUuMDI3OTcwMiAzMC45MTM3MjUxLDI1LjA3MDE0OTggMzAuODgzNzU1LDI1LjEwNTY3IEMzMC44NTM3ODQ5LDI1LjE0MTE5MDIgMzAuODE2NDE1MiwyNS4xNjkxMjQ5IDMwLjc3MTY0NSwyNS4xODk0NzUgQzMwLjcyNjg3NDgsMjUuMjA5ODI1MSAzMC42NzQxNTAzLDI1LjIyIDMwLjYxMzQ3LDI1LjIyIEwzMC4yNzE1OSwyNS4yMiBMMzAuMjcxNTksMjQuNDI3NDYgWiIgaWQ9IkdORCIgZmlsbD0iIzU3NUU3NSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+'
|
|
|
|
/**
|
|
* Icon svg to be displayed in the menu encoded as a data URI.
|
|
* @type {string}
|
|
*/
|
|
// eslint-disable-next-line max-len
|
|
const menuIconURI = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5taWNyb2JpdC1tZW51LWljb248L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0ibWljcm9iaXQtbWVudS1pY29uIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0ibWljcm9iaXQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNzUwMDAwLCAzLjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJTaGFwZSIgc3Ryb2tlPSIjN0M4N0E1IiBzdHJva2Utd2lkdGg9IjAuNSIgZmlsbD0iI0U2RTdFOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBwb2ludHM9IjkuNTU1IDAuMDU1IDkuNTU1IDAuNSA2Ljg5IDAuNSA2Ljg5IDAuMDU1IDcuMTEgMC4wNTUgNy4xMSAwLjE2NSA3LjMzNSAwLjE2NSA3LjMzNSAwLjA1NSA5LjExIDAuMDU1IDkuMTEgMC4xNjUgOS4zMzUgMC4xNjUgOS4zMzUgMC4wNTUiPjwvcG9seWdvbj4KICAgICAgICAgICAgPHBhdGggZD0iTTE1LjMzLDAuNSBMMS4xMSwwLjUgQzAuNjIwNDEyNTkyLDAuNDk5OTkyMjc0IDAuMjIyNzUwNDkxLDAuODk1NDIwMzE4IDAuMjIsMS4zODUgTDAuMjIsMTIuNSBDMC4yMjA2MjY4MjYsMTIuODg1MDQ3MiAwLjQ2ODc5NDE4LDEzLjIyNjAyNTEgMC44MzUsMTMuMzQ1IEMwLjkyNDM1ODI1NCwxMy4zNzEwNjcyIDEuMDE2OTE4NDQsMTMuMzg0NTMwNSAxLjExLDEzLjM4NSBMMTUuMzMsMTMuMzg1IEMxNS40MjMwODE2LDEzLjM4NDUzMDUgMTUuNTE1NjQxNywxMy4zNzEwNjcyIDE1LjYwNSwxMy4zNDUgQzE1Ljk3MTIwNTgsMTMuMjI2MDI1MSAxNi4yMTkzNzMyLDEyLjg4NTA0NzIgMTYuMjIsMTIuNSBMMTYuMjIsMS4zODUgQzE2LjIxNzI0OTUsMC44OTU0MjAzMTggMTUuODE5NTg3NCwwLjQ5OTk5MjI3NCAxNS4zMywwLjUgWiBNMS41NTUsMTEuNzcgQzEuMzU2NzE3NTksMTEuNzcgMS4xNzM0OTcwOCwxMS42NjQyMTc2IDEuMDc0MzU1ODcsMTEuNDkyNSBDMC45NzUyMTQ2NjUsMTEuMzIwNzgyNCAwLjk3NTIxNDY2NSwxMS4xMDkyMTc2IDEuMDc0MzU1ODcsMTAuOTM3NSBDMS4xNzM0OTcwOCwxMC43NjU3ODI0IDEuMzU2NzE3NTksMTAuNjYgMS41NTUsMTAuNjYgQzEuNzUzMjgyNDEsMTAuNjYgMS45MzY1MDI5MiwxMC43NjU3ODI0IDIuMDM1NjQ0MTMsMTAuOTM3NSBDMi4xMzQ3ODUzNCwxMS4xMDkyMTc2IDIuMTM0Nzg1MzQsMTEuMzIwNzgyNCAyLjAzNTY0NDEzLDExLjQ5MjUgQzEuOTM2NTAyOTIsMTEuNjY0MjE3NiAxLjc1MzI4MjQxLDExLjc3IDEuNTU1LDExLjc3IFogTTQuNjksMTEuNzcgQzQuNDY1MDcwNDEsMTEuNzY5OTkwOSA0LjI2MjM4ODEzLDExLjYzNDIyMjEgNC4xNzY3ODU4OSwxMS40MjYyMTgzIEM0LjA5MTE4MzY2LDExLjIxODIxNDUgNC4xMzk1OTA3NCwxMC45NzkxMTE5IDQuMjk5MzU4MDIsMTAuODIwNzg0IEM0LjQ1OTEyNTMxLDEwLjY2MjQ1NjEgNC42OTg2NTYxMywxMC42MTYyMTQ3IDQuOTA1ODc2NzQsMTAuNzAzNjk1OCBDNS4xMTMwOTczNCwxMC43OTExNzY5IDUuMjQ3MDI2MzksMTAuOTk1MDc5NSA1LjI0NSwxMS4yMiBDNS4yNDIyNTYwNywxMS41MjQ1NjM2IDQuOTk0NTc1OTgsMTEuNzcwMDEyNCA0LjY5LDExLjc3IFogTTguMjIsMTEuNzcgQzcuOTk1MDcwNDEsMTEuNzY5OTkwOSA3Ljc5MjM4ODEzLDExLjYzNDIyMjEgNy43MDY3ODU4OSwxMS40MjYyMTgzIEM3LjYyMTE4MzY2LDExLjIxODIxNDUgNy42Njk1OTA3NCwxMC45NzkxMTE5IDcuODI5MzU4MDIsMTAuODIwNzg0IEM3Ljk4OTEyNTMxLDEwLjY2MjQ1NjEgOC4yMjg2NTYxMywxMC42MTYyMTQ3IDguNDM1ODc2NzQsMTAuNzAzNjk1OCBDOC42NDMwOTczNCwxMC43OTExNzY5IDguNzc3MDI2MzksMTAuOTk1MDc5NSA4Ljc3NSwxMS4yMiBDOC43NzIyNTYwNywxMS41MjQ1NjM2IDguNTI0NTc1OTgsMTEuNzcwMDEyNCA4LjIyLDExLjc3IFogTTExLjc1LDExLjc3IEMxMS41NTE3MTc2LDExLjc3IDExLjM2ODQ5NzEsMTEuNjY0MjE3NiAxMS4yNjkzNTU5LDExLjQ5MjUgQzExLjE3MDIxNDcsMTEuMzIwNzgyNCAxMS4xNzAyMTQ3LDExLjEwOTIxNzYgMTEuMjY5MzU1OSwxMC45Mzc1IEMxMS4zNjg0OTcxLDEwLjc2NTc4MjQgMTEuNTUxNzE3NiwxMC42NiAxMS43NSwxMC42NiBDMTEuOTQ4MjgyNCwxMC42NiAxMi4xMzE1MDI5LDEwLjc2NTc4MjQgMTIuMjMwNjQ0MSwxMC45Mzc1IEMxMi4zMjk3ODUzLDExLjEwOTIxNzYgMTIuMzI5Nzg1MywxMS4zMjA3ODI0IDEyLjIzMDY0NDEsMTEuNDkyNSBDMTIuMTMxNTAyOSwxMS42NjQyMTc2IDExLjk0ODI4MjQsMTEuNzcgMTEuNzUsMTEuNzcgWiBNMTQuODg1LDExLjc3IEMxNC42NjAwNzA0LDExLjc2OTk5MDkgMTQuNDU3Mzg4MSwxMS42MzQyMjIxIDE0LjM3MTc4NTksMTEuNDI2MjE4MyBDMTQuMjg2MTgzNywxMS4yMTgyMTQ1IDE0LjMzNDU5MDcsMTAuOTc5MTExOSAxNC40OTQzNTgsMTAuODIwNzg0IEMxNC42NTQxMjUzLDEwLjY2MjQ1NjEgMTQuODkzNjU2MSwxMC42MTYyMTQ3IDE1LjEwMDg3NjcsMTAuNzAzNjk1OCBDMTUuMzA4MDk3MywxMC43OTExNzY5IDE1LjQ0MjAyNjQsMTAuOTk1MDc5NSAxNS40NCwxMS4yMiBDMTUuNDM3MjU2MSwxMS41MjQ1NjM2IDE1LjE4OTU3NiwxMS43NzAwMTI0IDE0Ljg4NSwxMS43NyBaIiBpZD0iU2hhcGUiIHN0cm9rZT0iIzIzMUYyMCIgc3Ryb2tlLXdpZHRoPSIwLjUiIGZpbGw9IiMyMzFGMjAiIG9wYWNpdHk9IjAuMSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUuMzMsMC41IEwxLjExLDAuNSBDMC42MjA0MTI1OTIsMC40OTk5OTIyNzQgMC4yMjI3NTA0OTEsMC44OTU0MjAzMTggMC4yMiwxLjM4NSBMMC4yMiwxMi41IEMwLjIyMDYyNjgyNiwxMi44ODUwNDcyIDAuNDY4Nzk0MTgsMTMuMjI2MDI1MSAwLjgzNSwxMy4zNDUgQzAuOTI0MzU4MjU0LDEzLjM3MTA2NzIgMS4wMTY5MTg0NCwxMy4zODQ1MzA1IDEuMTEsMTMuMzg1IEwxNS4zMywxMy4zODUgQzE1LjQyMzA4MTYsMTMuMzg0NTMwNSAxNS41MTU2NDE3LDEzLjM3MTA2NzIgMTUuNjA1LDEzLjM0NSBDMTUuOTcxMjA1OCwxMy4yMjYwMjUxIDE2LjIxOTM3MzIsMTIuODg1MDQ3MiAxNi4yMiwxMi41IEwxNi4yMiwxLjM4NSBDMTYuMjE3MjQ5NSwwLjg5NTQyMDMxOCAxNS44MTk1ODc0LDAuNDk5OTkyMjc0IDE1LjMzLDAuNSBaIE0xLjU1NSwxMS43NyBDMS4zNTY3MTc1OSwxMS43NyAxLjE3MzQ5NzA4LDExLjY2NDIxNzYgMS4wNzQzNTU4NywxMS40OTI1IEMwLjk3NTIxNDY2NSwxMS4zMjA3ODI0IDAuOTc1MjE0NjY1LDExLjEwOTIxNzYgMS4wNzQzNTU4NywxMC45Mzc1IEMxLjE3MzQ5NzA4LDEwLjc2NTc4MjQgMS4zNTY3MTc1OSwxMC42NiAxLjU1NSwxMC42NiBDMS43NTMyODI0MSwxMC42NiAxLjkzNjUwMjkyLDEwLjc2NTc4MjQgMi4wMzU2NDQxMywxMC45Mzc1IEMyLjEzNDc4NTM0LDExLjEwOTIxNzYgMi4xMzQ3ODUzNCwxMS4zMjA3ODI0IDIuMDM1NjQ0MTMsMTEuNDkyNSBDMS45MzY1MDI5MiwxMS42NjQyMTc2IDEuNzUzMjgyNDEsMTEuNzcgMS41NTUsMTEuNzcgWiBNNC42OSwxMS43NyBDNC40NjUwNzA0MSwxMS43Njk5OTA5IDQuMjYyMzg4MTMsMTEuNjM0MjIyMSA0LjE3Njc4NTg5LDExLjQyNjIxODMgQzQuMDkxMTgzNjYsMTEuMjE4MjE0NSA0LjEzOTU5MDc0LDEwLjk3OTExMTkgNC4yOTkzNTgwMiwxMC44MjA3ODQgQzQuNDU5MTI1MzEsMTAuNjYyNDU2MSA0LjY5ODY1NjEzLDEwLjYxNjIxNDcgNC45MDU4NzY3NCwxMC43MDM2OTU4IEM1LjExMzA5NzM0LDEwLjc5MTE3NjkgNS4yNDcwMjYzOSwxMC45OTUwNzk1IDUuMjQ1LDExLjIyIEM1LjI0MjI1NjA3LDExLjUyNDU2MzYgNC45OTQ1NzU5OCwxMS43NzAwMTI0IDQuNjksMTEuNzcgWiBNOC4yMiwxMS43NyBDNy45OTUwNzA0MSwxMS43Njk5OTA5IDcuNzkyMzg4MTMsMTEuNjM0MjIyMSA3LjcwNjc4NTg5LDExLjQyNjIxODMgQzcuNjIxMTgzNjYsMTEuMjE4MjE0NSA3LjY2OTU5MDc0LDEwLjk3OTExMTkgNy44MjkzNTgwMiwxMC44MjA3ODQgQzcuOTg5MTI1MzEsMTAuNjYyNDU2MSA4LjIyODY1NjEzLDEwLjYxNjIxNDcgOC40MzU4NzY3NCwxMC43MDM2OTU4IEM4LjY0MzA5NzM0LDEwLjc5MTE3NjkgOC43NzcwMjYzOSwxMC45OTUwNzk1IDguNzc1LDExLjIyIEM4Ljc3MjI1NjA3LDExLjUyNDU2MzYgOC41MjQ1NzU5OCwxMS43NzAwMTI0IDguMjIsMTEuNzcgWiBNMTEuNzUsMTEuNzcgQzExLjU1MTcxNzYsMTEuNzcgMTEuMzY4NDk3MSwxMS42NjQyMTc2IDExLjI2OTM1NTksMTEuNDkyNSBDMTEuMTcwMjE0NywxMS4zMjA3ODI0IDExLjE3MDIxNDcsMTEuMTA5MjE3NiAxMS4yNjkzNTU5LDEwLjkzNzUgQzExLjM2ODQ5NzEsMTAuNzY1NzgyNCAxMS41NTE3MTc2LDEwLjY2IDExLjc1LDEwLjY2IEMxMS45NDgyODI0LDEwLjY2IDEyLjEzMTUwMjksMTAuNzY1NzgyNCAxMi4yMzA2NDQxLDEwLjkzNzUgQzEyLjMyOTc4NTMsMTEuMTA5MjE3NiAxMi4zMjk3ODUzLDExLjMyMDc4MjQgMTIuMjMwNjQ0MSwxMS40OTI1IEMxMi4xMzE1MDI5LDExLjY2NDIxNzYgMTEuOTQ4MjgyNCwxMS43NyAxMS43NSwxMS43NyBaIE0xNC44ODUsMTEuNzcgQzE0LjY2MDA3MDQsMTEuNzY5OTkwOSAxNC40NTczODgxLDExLjYzNDIyMjEgMTQuMzcxNzg1OSwxMS40MjYyMTgzIEMxNC4yODYxODM3LDExLjIxODIxNDUgMTQuMzM0NTkwNywxMC45NzkxMTE5IDE0LjQ5NDM1OCwxMC44MjA3ODQgQzE0LjY1NDEyNTMsMTAuNjYyNDU2MSAxNC44OTM2NTYxLDEwLjYxNjIxNDcgMTUuMTAwODc2NywxMC43MDM2OTU4IEMxNS4zMDgwOTczLDEwLjc5MTE3NjkgMTUuNDQyMDI2NCwxMC45OTUwNzk1IDE1LjQ0LDExLjIyIEMxNS40MzcyNTYxLDExLjUyNDU2MzYgMTUuMTg5NTc2LDExLjc3MDAxMjQgMTQuODg1LDExLjc3IFoiIGlkPSJTaGFwZSIgZmlsbD0iIzQxNDc1NyI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMC4yMiw0LjUgTDAuMjIsMS4zODUgQzAuMjIyNzUwNDkxLDAuODk1NDIwMzE4IDAuNjIwNDEyNTkyLDAuNDk5OTkyMjc0IDEuMTEsMC41IEw0LjIyLDAuNSBMMC4yMiw0LjUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIj48L3BhdGg+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJTaGFwZSIgZmlsbD0iIzRDOTdGRiIgcG9pbnRzPSI0LjIyIDIuMjggNC4yMiAwLjUgNiAwLjUiPjwvcG9seWdvbj4KICAgICAgICAgICAgPHBvbHlnb24gaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIiBwb2ludHM9IjYgMS44MzUgNiAwLjUgNy4zMzUgMC41Ij48L3BvbHlnb24+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJTaGFwZSIgZmlsbD0iIzRDOTdGRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBwb2ludHM9IjE0LjIyIDQuOTQ1IDE0LjIyIDMuNjEgMTUuNTU1IDMuNjEiPjwvcG9seWdvbj4KICAgICAgICAgICAgPHBvbHlnb24gaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHBvaW50cz0iMi4yMjUgOC4wNTUgMi4yMjUgOS4zOSAwLjg5IDkuMzkiPjwvcG9seWdvbj4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZGRkZGIiB4PSIwLjQ0NSIgeT0iNi4yOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMjIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZGRkZGIiB4PSIxNS41NTUiIHk9IjYuMjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjIyIj48L3JlY3Q+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04Ljc4LDIuNzggQzguODY1NjA0MTMsMi43Nzk5OTk5OSA4LjkzNDk5OTk5LDIuNzEwNjA0MTMgOC45MzQ5OTk5OSwyLjYyNSBDOC45MzQ5OTk5OSwyLjUzOTM5NTg3IDguODY1NjA0MTMsMi40NzAwMDAwMSA4Ljc4LDIuNDcgQzguNjk0Mzk1ODYsMi40NyA4LjYyNSwyLjUzOTM5NTg2IDguNjI1LDIuNjI1IEM4LjYyNSwyLjcxMDYwNDE0IDguNjk0Mzk1ODYsMi43OCA4Ljc4LDIuNzgiIGlkPSJTaGFwZSIgZmlsbD0iIzRDOTdGRiI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNNy42NSwyLjQ3IEM3LjU5NDYyMzgzLDIuNDcgNy41NDM0NTQxNCwyLjQ5OTU0MjgzIDcuNTE1NzY2MDUsMi41NDc1IEM3LjQ4ODA3Nzk3LDIuNTk1NDU3MTcgNy40ODgwNzc5NywyLjY1NDU0MjgzIDcuNTE1NzY2MDUsMi43MDI1IEM3LjU0MzQ1NDE0LDIuNzUwNDU3MTcgNy41OTQ2MjM4MywyLjc4IDcuNjUsMi43OCBDNy43MzU2MDQxMywyLjc3OTk5OTk5IDcuODA0OTk5OTksMi43MTA2MDQxMyA3LjgwNDk5OTk5LDIuNjI1IEM3LjgwNDk5OTk5LDIuNTM5Mzk1ODcgNy43MzU2MDQxMywyLjQ3MDAwMDAxIDcuNjUsMi40NyIgaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik03LjY1LDIuMTY1IEM3LjQ3NTEzMSwyLjE0NjY5Mzk1IDcuMzA1MTIzMjEsMi4yMjk2NzA1NiA3LjIxMTk3MTAzLDIuMzc4NzkxMTQgQzcuMTE4ODE4ODQsMi41Mjc5MTE3MiA3LjExODgxODg0LDIuNzE3MDg4MjggNy4yMTE5NzEwMywyLjg2NjIwODg2IEM3LjMwNTEyMzIxLDMuMDE1MzI5NDQgNy40NzUxMzEsMy4wOTgzMDYwNSA3LjY1LDMuMDggTDguNzksMy4wOCBDOC45NjQ4NjksMy4wOTgzMDYwNSA5LjEzNDg3Njc5LDMuMDE1MzI5NDQgOS4yMjgwMjg5NywyLjg2NjIwODg2IEM5LjMyMTE4MTE2LDIuNzE3MDg4MjggOS4zMjExODExNiwyLjUyNzkxMTcyIDkuMjI4MDI4OTcsMi4zNzg3OTExNCBDOS4xMzQ4NzY3OSwyLjIyOTY3MDU2IDguOTY0ODY5LDIuMTQ2NjkzOTUgOC43OSwyLjE2NSBMNy42NSwyLjE2NSBNOC43OSwzLjM4NSBMNy42NSwzLjM4NSBDNy4zNTI4MjE3NSwzLjQzMzY5MDUgNy4wNTQ5MjM5MywzLjMwMjMyMTg4IDYuODkwNDYzMzcsMy4wNTAwNTUzNiBDNi43MjYwMDI4LDIuNzk3Nzg4ODQgNi43MjYwMDI4LDIuNDcyMjExMTYgNi44OTA0NjMzNywyLjIxOTk0NDY0IEM3LjA1NDkyMzkzLDEuOTY3Njc4MTIgNy4zNTI4MjE3NSwxLjgzNjMwOTUgNy42NSwxLjg4NSBMOC43OSwxLjg4NSBDOS4wODcxNzgyNSwxLjgzNjMwOTUgOS4zODUwNzYwNywxLjk2NzY3ODEyIDkuNTQ5NTM2NjMsMi4yMTk5NDQ2NCBDOS43MTM5OTcyLDIuNDcyMjExMTYgOS43MTM5OTcyLDIuNzk3Nzg4ODQgOS41NDk1MzY2MywzLjA1MDA1NTM2IEM5LjM4NTA3NjA3LDMuMzAyMzIxODggOS4wODcxNzgyNSwzLjQzMzY5MDUgOC43OSwzLjM4NSIgaWQ9IlNoYXBlIiBmaWxsPSIjNEM5N0ZGIj48L3BhdGg+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB4PSIxLjExIiB5PSI1LjM5IiB3aWR0aD0iMi4yMiIgaGVpZ2h0PSIyLjIyIiByeD0iMC4yMiI+PC9yZWN0PgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBzdHJva2U9IiMyMzFGMjAiIHN0cm9rZS13aWR0aD0iMC41IiBmaWxsPSIjMjMxRjIwIiBvcGFjaXR5PSIwLjEiIGN4PSIyLjIyIiBjeT0iNi41IiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgc3Ryb2tlPSIjNDE0NzU3IiBzdHJva2Utd2lkdGg9IjAuNSIgZmlsbD0iIzQxNDc1NyIgY3g9IjIuMjIiIGN5PSI2LjUiIHI9IjEiPjwvY2lyY2xlPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIG9wYWNpdHk9IjAuMjUiIHg9IjEzLjExIiB5PSI1LjM5IiB3aWR0aD0iMi4yMiIgaGVpZ2h0PSIyLjIyIiByeD0iMC4yMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iMTMuMTEiIHk9IjUuMzkiIHdpZHRoPSIyLjIyIiBoZWlnaHQ9IjIuMjIiIHJ4PSIwLjIyIj48L3JlY3Q+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIHN0cm9rZT0iIzIzMUYyMCIgc3Ryb2tlLXdpZHRoPSIwLjUiIGZpbGw9IiMyMzFGMjAiIG9wYWNpdHk9IjAuMSIgY3g9IjE0LjIyIiBjeT0iNi41IiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbCIgc3Ryb2tlPSIjNDE0NzU3IiBzdHJva2Utd2lkdGg9IjAuNSIgZmlsbD0iIzQxNDc1NyIgY3g9IjE0LjIyIiBjeT0iNi41IiByPSIxIj48L2NpcmNsZT4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSI1LjU1NSIgeT0iNC41IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjYuODM1IiB5PSI0LjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjAyIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgeD0iOC4xMSIgeT0iNC41IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjkuMzkiIHk9IjQuNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSIxMC42NjUiIHk9IjQuNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSI1LjU1NSIgeT0iNS43NSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSI2LjgzNSIgeT0iNS43NSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSI4LjExIiB5PSI1Ljc1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjkuMzkiIHk9IjUuNzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjAyIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgeD0iMTAuNjY1IiB5PSI1Ljc1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjUuNTU1IiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjYuODM1IiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjguMTEiIHk9IjciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjAyIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgeD0iOS4zOSIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSIxMC42NjUiIHk9IjciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjAyIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgeD0iNS41NTUiIHk9IjguMjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjAyIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgeD0iNi44MzUiIHk9IjguMjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjAyIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgeD0iOC4xMSIgeT0iOC4yNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSI5LjM5IiB5PSI4LjI1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjEwLjY2NSIgeT0iOC4yNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSI1LjU1NSIgeT0iOS41IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjYuODM1IiB5PSI5LjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjAyIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0U2RTdFOCIgeD0iOC4xMSIgeT0iOS41IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiByeD0iMC4wMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNFNkU3RTgiIHg9IjkuMzkiIHk9IjkuNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRTZFN0U4IiB4PSIxMC42NjUiIHk9IjkuNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcng9IjAuMDIiPjwvcmVjdD4KICAgICAgICAgICAgPHBhdGggZD0iTTAuNzIsMTEuODM1IEwwLjcyLDEzLjI5IEMwLjYxOTM1MzY0NSwxMy4yMzkyNjc3IDAuNTI5MzkwMTM5LDEzLjE2OTY3MzMgMC40NTUsMTMuMDg1IEwwLjQ1NSwxMS44MzUgTDAuNzIsMTEuODM1IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0ZGQkYwMCI+PC9wYXRoPgogICAgICAgICAgICA8cG9seWdvbiBpZD0iU2hhcGUiIGZpbGw9IiNGRkJGMDAiIHBvaW50cz0iMS4wNCAxMy4zODUgMS4xIDEzLjM4NSAxLjEgMTEuODM1IDAuODM1IDExLjgzNSAwLjgzNSAxMy4zNDUiPjwvcG9seWdvbj4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIxLjIzIiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIxLjYyIiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIyLjAxNSIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iMi40MDUiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjIuNzk1IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIzLjE5IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIzLjU4IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIzLjk3NSIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iNC4zNjUiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjQuNzYiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjUuMTUiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjUuNTQiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjUuOTM1IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSI2LjMyNSIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iNi43MiIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iNy4xMSIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iNy41MDUiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjcuODk1IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSI4LjI5IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSI4LjY4IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSI5LjA3IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSI5LjQ2NSIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iOS44NTUiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjEwLjI1IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIxMC42NCIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iMTEuMDMiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjExLjQyNSIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iMTEuODE1IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIxMi4yMSIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iMTIuNiIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iMTIuOTk1IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIxMy4zODUiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjEzLjc4IiB5PSIxMS44MzUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEuNTUiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBmaWxsPSIjRkZCRjAwIiB4PSIxNC4xNyIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iI0ZGQkYwMCIgeD0iMTQuNTYiIHk9IjExLjgzNSIgd2lkdGg9IjEiIGhlaWdodD0iMS41NSI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiNGRkJGMDAiIHg9IjE0Ljk1NSIgeT0iMTEuODM1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxLjU1Ij48L3JlY3Q+CiAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJTaGFwZSIgZmlsbD0iI0ZGQkYwMCIgcG9pbnRzPSIxNS40MDUgMTMuMzg1IDE1LjM0NSAxMy4zODUgMTUuMzQ1IDExLjgzNSAxNS42MSAxMS44MzUgMTUuNjEgMTMuMzQ1Ij48L3BvbHlnb24+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNiwxMS44MzUgTDE2LDEzLjA4NSBDMTUuOTI1NjA5OSwxMy4xNjk2NzMzIDE1LjgzNTY0NjQsMTMuMjM5MjY3NyAxNS43MzUsMTMuMjkgTDE1LjczNSwxMS44MzUgTDE2LDExLjgzNSBaIiBpZD0iU2hhcGUiIGZpbGw9IiNGRkJGMDAiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTEuNTU1LDExLjc3IEMxLjM1NjcxNzU5LDExLjc3IDEuMTczNDk3MDgsMTEuNjY0MjE3NiAxLjA3NDM1NTg3LDExLjQ5MjUgQzAuOTc1MjE0NjY1LDExLjMyMDc4MjQgMC45NzUyMTQ2NjUsMTEuMTA5MjE3NiAxLjA3NDM1NTg3LDEwLjkzNzUgQzEuMTczNDk3MDgsMTAuNzY1NzgyNCAxLjM1NjcxNzU5LDEwLjY2IDEuNTU1LDEwLjY2IEMxLjc1MzI4MjQxLDEwLjY2IDEuOTM2NTAyOTIsMTAuNzY1NzgyNCAyLjAzNTY0NDEzLDEwLjkzNzUgQzIuMTM0Nzg1MzQsMTEuMTA5MjE3NiAyLjEzNDc4NTM0LDExLjMyMDc4MjQgMi4wMzU2NDQxMywxMS40OTI1IEMxLjkzNjUwMjkyLDExLjY2NDIxNzYgMS43NTMyODI0MSwxMS43NyAxLjU1NSwxMS43NyBaIE0xLjExLDEzLjM4NSBMMi4yNywxMy4zODUgTDIuMjcsMTEuMjIgQzIuMjM4ODI2NzYsMTAuODQ2ODk2IDEuOTI2OTA0MDMsMTAuNTU5OTQ3OSAxLjU1MjUsMTAuNTU5OTQ3OSBDMS4xNzgwOTU5NywxMC41NTk5NDc5IDAuODY2MTczMjQsMTAuODQ2ODk2IDAuODM1LDExLjIyIEwwLjgzNSwxMy4zNSBMMS4xMSwxMy4zODUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjRkZCRjAwIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01LjIyLDEwLjcyIEM1LjAxNTM0MDMxLDEwLjUxNDU5MDggNC43MDc0MzM3MiwxMC40NTE5OTQ3IDQuNDM4ODE2NTUsMTAuNTYxMTg4NyBDNC4xNzAxOTkzNywxMC42NzAzODI3IDMuOTkzMjk2NTMsMTAuOTMwMDU1OCAzLjk5LDExLjIyIEwzLjk5LDEzLjM5IEw1LjQzLDEzLjM5IEw1LjQzLDExLjIyIEM1LjQyODM3NDYyLDExLjAzMjIyMzMgNS4zNTI5NDI2OSwxMC44NTI2MjM0IDUuMjIsMTAuNzIgWiBNNC43MiwxMS43OCBDNC40OTM2NTI0NiwxMS43OTIyNDA1IDQuMjgyNjA5MzMsMTEuNjY1NjAwNyA0LjE4NjkxMzA3LDExLjQ2MDExMjkgQzQuMDkxMjE2ODIsMTEuMjU0NjI1IDQuMTMwMTAyNjcsMTEuMDExNTkyNyA0LjI4NTEzNzI2LDEwLjg0NjIyMjQgQzQuNDQwMTcxODUsMTAuNjgwODUyMiA0LjY4MDE5Mjc2LDEwLjYyNjM4NCA0Ljg5MTQyMDk2LDEwLjcwODYzNzggQzUuMTAyNjQ5MTUsMTAuNzkwODkxNiA1LjI0MjYyNzEyLDEwLjk5MzMzNDEgNS4yNDUsMTEuMjIgQzUuMjQyMjU2MDcsMTEuNTI0NTYzNiA0Ljk5NDU3NTk4LDExLjc3MDAxMjQgNC42OSwxMS43NyBMNC43MiwxMS43OCBaIiBpZD0iU2hhcGUiIGZpbGw9IiNGRkJGMDAiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTguNzIsMTAuNzIgQzguNTE1MzQwMzEsMTAuNTE0NTkwOCA4LjIwNzQzMzcyLDEwLjQ1MTk5NDcgNy45Mzg4MTY1NSwxMC41NjExODg3IEM3LjY3MDE5OTM3LDEwLjY3MDM4MjcgNy40OTMyOTY1MywxMC45MzAwNTU4IDcuNDksMTEuMjIgTDcuNDksMTMuMzkgTDguOTMsMTMuMzkgTDguOTMsMTEuMjIgQzguOTI4Mzc0NjIsMTEuMDMyMjIzMyA4Ljg1Mjk0MjY5LDEwLjg1MjYyMzQgOC43MiwxMC43MiBaIE04LjIyLDExLjc3IEM3Ljk5NTA3MDQxLDExLjc2OTk5MDkgNy43OTIzODgxMywxMS42MzQyMjIxIDcuNzA2Nzg1ODksMTEuNDI2MjE4MyBDNy42MjExODM2NiwxMS4yMTgyMTQ1IDcuNjY5NTkwNzQsMTAuOTc5MTExOSA3LjgyOTM1ODAyLDEwLjgyMDc4NCBDNy45ODkxMjUzMSwxMC42NjI0NTYxIDguMjI4NjU2MTMsMTAuNjE2MjE0NyA4LjQzNTg3Njc0LDEwLjcwMzY5NTggQzguNjQzMDk3MzQsMTAuNzkxMTc2OSA4Ljc3NzAyNjM5LDEwLjk5NTA3OTUgOC43NzUsMTEuMjIgQzguNzcyMjU2MDcsMTEuNTI0NTYzNiA4LjUyNDU3NTk4LDExLjc3MDAxMjQgOC4yMiwxMS43NyBaIiBpZD0iU2hhcGUiIGZpbGw9IiNGRkJGMDAiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTEyLjI2LDEwLjcyIEMxMi4wNTUzNDAzLDEwLjUxNDU5MDggMTEuNzQ3NDMzNywxMC40NTE5OTQ3IDExLjQ3ODgxNjUsMTAuNTYxMTg4NyBDMTEuMjEwMTk5NCwxMC42NzAzODI3IDExLjAzMzI5NjUsMTAuOTMwMDU1OCAxMS4wMywxMS4yMiBMMTEuMDMsMTMuMzkgTDEyLjQ3LDEzLjM5IEwxMi40NywxMS4yMiBDMTIuNDY4Mzc0NiwxMS4wMzIyMjMzIDEyLjM5Mjk0MjcsMTAuODUyNjIzNCAxMi4yNiwxMC43MiBaIE0xMS43NiwxMS43OCBDMTEuNDUzNDgyLDExLjc4IDExLjIwNSwxMS41MzE1MTggMTEuMjA1LDExLjIyNSBDMTEuMjA1LDEwLjkxODQ4MiAxMS40NTM0ODIsMTAuNjcgMTEuNzYsMTAuNjcgQzEyLjA2NjUxOCwxMC42NyAxMi4zMTUsMTAuOTE4NDgyIDEyLjMxNSwxMS4yMjUgQzEyLjMxNSwxMS41MzE1MTggMTIuMDY2NTE4LDExLjc4IDExLjc2LDExLjc4IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0ZGQkYwMCI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUuMzk1LDEwLjcyIEMxNS4xODk5MDIxLDEwLjUxODA4NiAxNC44ODQyNjMyLDEwLjQ1NzcxMSAxNC42MTc3OTUzLDEwLjU2NjQ3MzQgQzE0LjM1MTMyNzMsMTAuNjc1MjM1OCAxNC4xNzUyMywxMC45MzIyMzc4IDE0LjE3LDExLjIyIEwxNC4xNywxMy4zOSBMMTUuMzMsMTMuMzkgTDE1LjYwNSwxMy4zNSBMMTUuNjA1LDExLjIyIEMxNS42MDMzNzQ2LDExLjAzMjIyMzMgMTUuNTI3OTQyNywxMC44NTI2MjM0IDE1LjM5NSwxMC43MiBaIE0xNC44OTUsMTEuNzggQzE0LjY3MDExNSwxMS43ODQwNDMyIDE0LjQ2NTAyNTQsMTEuNjUxOTU3NyAxNC4zNzU2ODQ0LDExLjQ0NTU0MTEgQzE0LjI4NjM0MzQsMTEuMjM5MTI0NSAxNC4zMzA0MTg0LDEwLjk5OTE5NTkgMTQuNDg3Mjg4NCwxMC44MzgwMDg0IEMxNC42NDQxNTg0LDEwLjY3NjgyMDggMTQuODgyODAyMiwxMC42MjYyNDk0IDE1LjA5MTU2NzksMTAuNzA5OTU0NCBDMTUuMzAwMzMzNSwxMC43OTM2NTk0IDE1LjQzNzkzNzMsMTAuOTk1MDg4MSAxNS40NCwxMS4yMiBDMTUuNDM3MjU2MSwxMS41MjQ1NjM2IDE1LjE4OTU3NiwxMS43NzAwMTI0IDE0Ljg4NSwxMS43NyBMMTQuODk1LDExLjc4IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0ZGQkYwMCI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+'
|
|
|
|
/**
|
|
* Enum for micro:bit BLE command protocol.
|
|
* https://github.com/LLK/scratch-microbit-firmware/blob/master/protocol.md
|
|
* @readonly
|
|
* @enum {number}
|
|
*/
|
|
const BLECommand = {
|
|
CMD_PIN_CONFIG: 0x80,
|
|
CMD_DISPLAY_TEXT: 0x81,
|
|
CMD_DISPLAY_LED: 0x82
|
|
};
|
|
|
|
/**
|
|
* Enum for micro:bit protocol.
|
|
* https://github.com/LLK/scratch-microbit-firmware/blob/master/protocol.md
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
const BLEUUID = {
|
|
service: 0xf005,
|
|
rxChar: '5261da01-fa7e-42ab-850b-7c80220097cc',
|
|
txChar: '5261da02-fa7e-42ab-850b-7c80220097cc'
|
|
};
|
|
|
|
/**
|
|
* Manage communication with a MicroBit device over a Scrath Link client socket.
|
|
*/
|
|
class MicroBit {
|
|
|
|
/**
|
|
* Construct a MicroBit communication object.
|
|
* @param {Runtime} runtime - the Scratch 3.0 runtime
|
|
* @param {string} extensionId - the id of the extension
|
|
*/
|
|
constructor (runtime, extensionId) {
|
|
|
|
/**
|
|
* The Scratch 3.0 runtime used to trigger the green flag button.
|
|
* @type {Runtime}
|
|
* @private
|
|
*/
|
|
this._runtime = runtime;
|
|
|
|
/**
|
|
* The BluetoothLowEnergy connection session for reading/writing device data.
|
|
* @type {BLESession}
|
|
* @private
|
|
*/
|
|
this._ble = null;
|
|
this._runtime.registerExtensionDevice(extensionId, this);
|
|
|
|
/**
|
|
* The most recently received value for each sensor.
|
|
* @type {Object.<string, number>}
|
|
* @private
|
|
*/
|
|
this._sensors = {
|
|
tiltX: 0,
|
|
tiltY: 0,
|
|
buttonA: 0,
|
|
buttonB: 0,
|
|
touchPins: [0, 0, 0],
|
|
gestureState: 0,
|
|
ledMatrixState: new Uint8Array(5)
|
|
};
|
|
|
|
/**
|
|
* The most recently received value for each gesture.
|
|
* @type {Object.<string, Object>}
|
|
* @private
|
|
*/
|
|
this._gestures = {
|
|
moving: false,
|
|
move: {
|
|
active: false,
|
|
timeout: false
|
|
},
|
|
shake: {
|
|
active: false,
|
|
timeout: false
|
|
},
|
|
jump: {
|
|
active: false,
|
|
timeout: false
|
|
}
|
|
};
|
|
}
|
|
|
|
// TODO: keep here?
|
|
/**
|
|
* Called by the runtime when user wants to scan for a device.
|
|
*/
|
|
startDeviceScan () {
|
|
log.info('making a new BLE session');
|
|
this._ble = new BLESession(this._runtime, {
|
|
filters: [
|
|
{services: [BLEUUID.service]}
|
|
]
|
|
}, this._onSessionConnect.bind(this));
|
|
}
|
|
|
|
// TODO: keep here?
|
|
/**
|
|
* Called by the runtime when user wants to connect to a certain device.
|
|
* @param {number} id - the id of the device to connect to.
|
|
*/
|
|
connectDevice (id) {
|
|
this._ble.connectDevice(id);
|
|
}
|
|
|
|
disconnectSession () {
|
|
this._ble.disconnectSession();
|
|
}
|
|
|
|
getPeripheralIsConnected () {
|
|
let connected = false;
|
|
if (this._ble) {
|
|
connected = this._ble.getPeripheralIsConnected();
|
|
}
|
|
return connected;
|
|
}
|
|
|
|
/**
|
|
* @param {string} text - the text to display.
|
|
* @return {Promise} - a Promise that resolves when writing to device.
|
|
*/
|
|
displayText (text) {
|
|
const output = new Uint8Array(text.length);
|
|
for (let i = 0; i < text.length; i++) {
|
|
output[i] = text.charCodeAt(i);
|
|
}
|
|
return this._writeSessionData(BLECommand.CMD_DISPLAY_TEXT, output);
|
|
}
|
|
|
|
/**
|
|
* @param {Uint8Array} matrix - the matrix to display.
|
|
* @return {Promise} - a Promise that resolves when writing to device.
|
|
*/
|
|
displayMatrix (matrix) {
|
|
return this._writeSessionData(BLECommand.CMD_DISPLAY_LED, matrix);
|
|
}
|
|
|
|
/**
|
|
* @return {number} - the latest value received for the tilt sensor's tilt about the X axis.
|
|
*/
|
|
get tiltX () {
|
|
return this._sensors.tiltX;
|
|
}
|
|
|
|
/**
|
|
* @return {number} - the latest value received for the tilt sensor's tilt about the Y axis.
|
|
*/
|
|
get tiltY () {
|
|
return this._sensors.tiltY;
|
|
}
|
|
|
|
/**
|
|
* @return {boolean} - the latest value received for the A button.
|
|
*/
|
|
get buttonA () {
|
|
return this._sensors.buttonA;
|
|
}
|
|
|
|
/**
|
|
* @return {boolean} - the latest value received for the B button.
|
|
*/
|
|
get buttonB () {
|
|
return this._sensors.buttonB;
|
|
}
|
|
|
|
/**
|
|
* @return {number} - the latest value received for the motion gesture states.
|
|
*/
|
|
get gestureState () {
|
|
return this._sensors.gestureState;
|
|
}
|
|
|
|
/**
|
|
* @return {Uint8Array} - the current state of the 5x5 LED matrix.
|
|
*/
|
|
get ledMatrixState () {
|
|
return this._sensors.ledMatrixState;
|
|
}
|
|
|
|
/**
|
|
* @param {number} pin - the pin to check touch state.
|
|
* @return {number} - the latest value received for the touch pin states.
|
|
*/
|
|
_checkPinState (pin) {
|
|
return this._sensors.touchPins[pin];
|
|
}
|
|
|
|
/**
|
|
* Starts reading data from device after BLE has connected to it.
|
|
*/
|
|
_onSessionConnect () {
|
|
const callback = this._processSessionData.bind(this);
|
|
this._ble.read(BLEUUID.service, BLEUUID.rxChar, true, callback);
|
|
}
|
|
|
|
/**
|
|
* Process the sensor data from the incoming BLE characteristic.
|
|
* @param {object} base64 - the incoming BLE data.
|
|
* @private
|
|
*/
|
|
_processSessionData (base64) {
|
|
const data = Base64Util.base64ToUint8Array(base64);
|
|
|
|
this._sensors.tiltX = data[1] | (data[0] << 8);
|
|
if (this._sensors.tiltX > (1 << 15)) this._sensors.tiltX -= (1 << 16);
|
|
this._sensors.tiltY = data[3] | (data[2] << 8);
|
|
if (this._sensors.tiltY > (1 << 15)) this._sensors.tiltY -= (1 << 16);
|
|
|
|
this._sensors.buttonA = data[4];
|
|
this._sensors.buttonB = data[5];
|
|
|
|
this._sensors.touchPins[0] = data[6];
|
|
this._sensors.touchPins[1] = data[7];
|
|
this._sensors.touchPins[2] = data[8];
|
|
|
|
this._sensors.gestureState = data[9];
|
|
}
|
|
|
|
/**
|
|
* Write a message to the device BLE session.
|
|
* @param {number} command - the BLE command hex.
|
|
* @param {Uint8Array} message - the message to write.
|
|
* @return {Promise} - a Promise that resolves when writing to device.
|
|
* @private
|
|
*/
|
|
_writeSessionData (command, message) {
|
|
const output = new Uint8Array(message.length + 1);
|
|
output[0] = command; // attach command to beginning of message
|
|
for (let i = 0; i < message.length; i++) {
|
|
output[i + 1] = message[i];
|
|
}
|
|
const data = Base64Util.uint8ArrayToBase64(output);
|
|
return this._ble.write(BLEUUID.service, BLEUUID.txChar, data, 'base64');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Enum for tilt sensor direction.
|
|
* @readonly
|
|
* @enum {string}
|
|
*/
|
|
const TiltDirection = {
|
|
FRONT: 'front',
|
|
BACK: 'back',
|
|
LEFT: 'left',
|
|
RIGHT: 'right',
|
|
ANY: 'any'
|
|
};
|
|
|
|
/**
|
|
* Converting symbols to hex values
|
|
* @readonly
|
|
*/
|
|
const symbols2hex = {
|
|
'❤': 0xAAC544,
|
|
'♫': 0xF4AF78,
|
|
'☓': 0x1151151,
|
|
'✓': 0x8A88,
|
|
'↑': 0x477C84,
|
|
'↓': 0x427DC4,
|
|
'←': 0x467D84,
|
|
'→': 0x437CC4,
|
|
'◯': 0xE8C62E,
|
|
'☀': 0x1577DD5,
|
|
'☺': 0x5022E,
|
|
'!': 0x421004,
|
|
'?': 0xC91004
|
|
};
|
|
|
|
/**
|
|
* Scratch 3.0 blocks to interact with a MicroBit device.
|
|
*/
|
|
class Scratch3MicroBitBlocks {
|
|
|
|
/**
|
|
* @return {string} - the name of this extension.
|
|
*/
|
|
static get EXTENSION_NAME () {
|
|
return 'MicroBit';
|
|
}
|
|
|
|
/**
|
|
* @return {string} - the ID of this extension.
|
|
*/
|
|
static get EXTENSION_ID () {
|
|
return 'microbit';
|
|
}
|
|
|
|
/**
|
|
* @return {number} - the tilt sensor counts as "tilted" if its tilt angle meets or exceeds this threshold.
|
|
*/
|
|
static get TILT_THRESHOLD () {
|
|
return 15;
|
|
}
|
|
|
|
/**
|
|
* Construct a set of MicroBit blocks.
|
|
* @param {Runtime} runtime - the Scratch 3.0 runtime.
|
|
*/
|
|
constructor (runtime) {
|
|
/**
|
|
* The Scratch 3.0 runtime.
|
|
* @type {Runtime}
|
|
*/
|
|
this.runtime = runtime;
|
|
|
|
// Create a new MicroBit device instance
|
|
this._device = new MicroBit(this.runtime, Scratch3MicroBitBlocks.EXTENSION_ID);
|
|
}
|
|
|
|
/**
|
|
* @returns {object} metadata for this extension and its blocks.
|
|
*/
|
|
getInfo () {
|
|
return {
|
|
id: Scratch3MicroBitBlocks.EXTENSION_ID,
|
|
name: Scratch3MicroBitBlocks.EXTENSION_NAME,
|
|
menuIconURI: menuIconURI,
|
|
blockIconURI: blockIconURI,
|
|
showStatusButton: true,
|
|
blocks: [
|
|
{
|
|
opcode: 'whenButtonPressed',
|
|
text: 'when [BTN] button pressed',
|
|
blockType: BlockType.HAT,
|
|
arguments: {
|
|
BTN: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'buttons',
|
|
defaultValue: 'A'
|
|
}
|
|
}
|
|
},
|
|
{
|
|
opcode: 'whenMoved',
|
|
text: 'when moved',
|
|
blockType: BlockType.HAT
|
|
},
|
|
{
|
|
opcode: 'whenShaken',
|
|
text: 'when shaken',
|
|
blockType: BlockType.HAT
|
|
},
|
|
{
|
|
opcode: 'whenJumped',
|
|
text: 'when jumped',
|
|
blockType: BlockType.HAT
|
|
},
|
|
{
|
|
opcode: 'displayText',
|
|
text: 'display [TEXT]',
|
|
blockType: BlockType.COMMAND,
|
|
arguments: {
|
|
TEXT: {
|
|
type: ArgumentType.STRING,
|
|
defaultValue: 'Hello!'
|
|
}
|
|
}
|
|
},
|
|
{
|
|
opcode: 'displaySymbol',
|
|
text: 'display [SYMBOL]',
|
|
blockType: BlockType.COMMAND,
|
|
arguments: {
|
|
SYMBOL: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'symbols',
|
|
defaultValue: '❤'
|
|
}
|
|
}
|
|
},
|
|
{
|
|
opcode: 'displayMatrix',
|
|
text: 'set light x:[X] y:[Y] [STATE]',
|
|
blockType: BlockType.COMMAND,
|
|
arguments: {
|
|
X: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'rowcol',
|
|
defaultValue: '1'
|
|
},
|
|
Y: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'rowcol',
|
|
defaultValue: '1'
|
|
},
|
|
STATE: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'pinState',
|
|
defaultValue: 'on'
|
|
}
|
|
}
|
|
},
|
|
{
|
|
opcode: 'displayClear',
|
|
text: 'set all lights off',
|
|
blockType: BlockType.COMMAND
|
|
},
|
|
{
|
|
opcode: 'whenTilted',
|
|
text: 'when tilted [DIRECTION]',
|
|
blockType: BlockType.HAT,
|
|
arguments: {
|
|
DIRECTION: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'tiltDirectionAny',
|
|
defaultValue: TiltDirection.ANY
|
|
}
|
|
}
|
|
},
|
|
{
|
|
opcode: 'isTilted',
|
|
text: 'tilted [DIRECTION]?',
|
|
blockType: BlockType.BOOLEAN,
|
|
arguments: {
|
|
DIRECTION: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'tiltDirectionAny',
|
|
defaultValue: TiltDirection.ANY
|
|
}
|
|
}
|
|
},
|
|
{
|
|
opcode: 'getTiltAngle',
|
|
text: 'tilt angle [DIRECTION]',
|
|
blockType: BlockType.REPORTER,
|
|
arguments: {
|
|
DIRECTION: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'tiltDirection',
|
|
defaultValue: TiltDirection.FRONT
|
|
}
|
|
}
|
|
},
|
|
{
|
|
opcode: 'whenPinConnected',
|
|
text: 'when pin [PIN] connected',
|
|
blockType: BlockType.HAT,
|
|
arguments: {
|
|
PIN: {
|
|
type: ArgumentType.STRING,
|
|
menu: 'touchPins',
|
|
defaultValue: '0'
|
|
}
|
|
}
|
|
}
|
|
],
|
|
menus: {
|
|
buttons: ['A', 'B', 'any'],
|
|
rowcol: ['1', '2', '3', '4', '5'],
|
|
pinState: ['on', 'off'],
|
|
symbols: Object.keys(symbols2hex),
|
|
tiltDirection: [TiltDirection.FRONT, TiltDirection.BACK, TiltDirection.LEFT, TiltDirection.RIGHT],
|
|
tiltDirectionAny: [
|
|
TiltDirection.FRONT, TiltDirection.BACK, TiltDirection.LEFT,
|
|
TiltDirection.RIGHT, TiltDirection.ANY
|
|
],
|
|
touchPins: ['0', '1', '2']
|
|
}
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Test whether the A or B button is pressed
|
|
* @param {object} args - the block's arguments.
|
|
* @return {boolean} - true if the button is pressed.
|
|
*/
|
|
whenButtonPressed (args) {
|
|
if (args.BTN === 'any') {
|
|
return this._device.buttonA | this._device.buttonB;
|
|
} else if (args.BTN === 'A') {
|
|
return this._device.buttonA;
|
|
} else if (args.BTN === 'B') {
|
|
return this._device.buttonB;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Test whether the micro:bit is moving
|
|
* @return {boolean} - true if the micro:bit is moving.
|
|
*/
|
|
whenMoved () {
|
|
return (this._device.gestureState >> 2) & 1;
|
|
}
|
|
|
|
/**
|
|
* Test whether the micro:bit is shaken
|
|
* @return {boolean} - true if the micro:bit is shaken.
|
|
*/
|
|
whenShaken () {
|
|
return this._device.gestureState & 1;
|
|
}
|
|
|
|
/**
|
|
* Test whether the micro:bit is free falling
|
|
* @return {boolean} - true if the micro:bit is free falling.
|
|
*/
|
|
whenJumped () {
|
|
return (this._device.gestureState >> 1) & 1;
|
|
}
|
|
|
|
/**
|
|
* Display text on the 5x5 LED matrix.
|
|
* @param {object} args - the block's arguments.
|
|
* @return {Promise} - a Promise that resolves when writing to device.
|
|
* Note the limit is 19 characters
|
|
*/
|
|
displayText (args) {
|
|
const text = String(args.TEXT).substring(0, 19);
|
|
return this._device.displayText(text);
|
|
}
|
|
|
|
/**
|
|
* Display a predefined symbol on the 5x5 LED matrix.
|
|
* @param {object} args - the block's arguments.
|
|
* @return {Promise} - a Promise that resolves when writing to device.
|
|
*/
|
|
displaySymbol (args) {
|
|
const hex = symbols2hex[args.SYMBOL];
|
|
if (!hex) return;
|
|
this._device.ledMatrixState[0] = (hex >> 20) & 0x1F;
|
|
this._device.ledMatrixState[1] = (hex >> 15) & 0x1F;
|
|
this._device.ledMatrixState[2] = (hex >> 10) & 0x1F;
|
|
this._device.ledMatrixState[3] = (hex >> 5) & 0x1F;
|
|
this._device.ledMatrixState[4] = hex & 0x1F;
|
|
return this._device.displayMatrix(this._device.ledMatrixState);
|
|
}
|
|
|
|
/**
|
|
* Control individual LEDs on the 5x5 matrix.
|
|
* @param {object} args - the block's arguments.
|
|
*/
|
|
displayMatrix (args) {
|
|
if (args.STATE === 'on') {
|
|
this._device.ledMatrixState[args.Y - 1] |= 1 << 5 - args.X;
|
|
} else if (args.STATE === 'off') {
|
|
this._device.ledMatrixState[args.Y - 1] &= ~(1 << 5 - args.X);
|
|
} else return;
|
|
this._device.displayMatrix(this._device.ledMatrixState);
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Turn all 5x5 matrix LEDs off.
|
|
*/
|
|
displayClear () {
|
|
for (let i = 0; i < 5; i++) {
|
|
this._device.ledMatrixState[i] = 0;
|
|
}
|
|
this._device.displayMatrix(this._device.ledMatrixState);
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Test whether the tilt sensor is currently tilted.
|
|
* @param {object} args - the block's arguments.
|
|
* @property {TiltDirection} DIRECTION - the tilt direction to test (front, back, left, right, or any).
|
|
* @return {boolean} - true if the tilt sensor is tilted past a threshold in the specified direction.
|
|
*/
|
|
whenTilted (args) {
|
|
return this._isTilted(args.DIRECTION);
|
|
}
|
|
|
|
/**
|
|
* Test whether the tilt sensor is currently tilted.
|
|
* @param {object} args - the block's arguments.
|
|
* @property {TiltDirection} DIRECTION - the tilt direction to test (front, back, left, right, or any).
|
|
* @return {boolean} - true if the tilt sensor is tilted past a threshold in the specified direction.
|
|
*/
|
|
isTilted (args) {
|
|
return this._isTilted(args.DIRECTION);
|
|
}
|
|
|
|
/**
|
|
* @param {object} args - the block's arguments.
|
|
* @property {TiltDirection} DIRECTION - the direction (front, back, left, right) to check.
|
|
* @return {number} - the tilt sensor's angle in the specified direction.
|
|
* Note that getTiltAngle(front) = -getTiltAngle(back) and getTiltAngle(left) = -getTiltAngle(right).
|
|
*/
|
|
getTiltAngle (args) {
|
|
return this._getTiltAngle(args.DIRECTION);
|
|
}
|
|
|
|
/**
|
|
* Test whether the tilt sensor is currently tilted.
|
|
* @param {TiltDirection} direction - the tilt direction to test (front, back, left, right, or any).
|
|
* @return {boolean} - true if the tilt sensor is tilted past a threshold in the specified direction.
|
|
* @private
|
|
*/
|
|
_isTilted (direction) {
|
|
switch (direction) {
|
|
case TiltDirection.ANY:
|
|
return (Math.abs(this._device.tiltX / 10) >= Scratch3MicroBitBlocks.TILT_THRESHOLD) ||
|
|
(Math.abs(this._device.tiltY / 10) >= Scratch3MicroBitBlocks.TILT_THRESHOLD);
|
|
default:
|
|
return this._getTiltAngle(direction) >= Scratch3MicroBitBlocks.TILT_THRESHOLD;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param {TiltDirection} direction - the direction (front, back, left, right) to check.
|
|
* @return {number} - the tilt sensor's angle in the specified direction.
|
|
* Note that getTiltAngle(front) = -getTiltAngle(back) and getTiltAngle(left) = -getTiltAngle(right).
|
|
* @private
|
|
*/
|
|
_getTiltAngle (direction) {
|
|
switch (direction) {
|
|
case TiltDirection.FRONT:
|
|
return Math.round(this._device.tiltY / -10);
|
|
case TiltDirection.BACK:
|
|
return Math.round(this._device.tiltY / 10);
|
|
case TiltDirection.LEFT:
|
|
return Math.round(this._device.tiltX / -10);
|
|
case TiltDirection.RIGHT:
|
|
return Math.round(this._device.tiltX / 10);
|
|
default:
|
|
log.warn(`Unknown tilt direction in _getTiltAngle: ${direction}`);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param {object} args - the block's arguments.
|
|
* @return {boolean} - the touch pin state.
|
|
* @private
|
|
*/
|
|
whenPinConnected (args) {
|
|
const pin = parseInt(args.PIN, 10);
|
|
if (isNaN(pin)) return;
|
|
if (pin < 0 || pin > 2) return false;
|
|
return this._device._checkPinState(pin);
|
|
}
|
|
}
|
|
|
|
module.exports = Scratch3MicroBitBlocks;
|