Skip to content Skip to sidebar Skip to footer

[kc_row _id=”971048″][kc_column width=”12/12″ video_mute=”no” _id=”969054″][kc_raw_code code=”PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlcyI+DQo8aGVhZD4NCiAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+DQogIDx0aXRsZT5DYWxjdWxhZG9yYSBNYXJjaGFtbyBFViDigJQgQWxldGVjaCAoMjAyNik8L3RpdGxlPg0KICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiIC8+DQogIDxzdHlsZT4NCiAgICA6cm9vdHstLWJnOiMwZjE3MmE7LS1jYXJkOiNmZmZmZmY7LS1tdXRlZDojNjQ3NDhiOy0tdGV4dDojMGYxNzJhOy0tYWNjZW50OiMwZWE1ZTl9DQogICAgKntib3gtc2l6aW5nOmJvcmRlci1ib3h9DQogICAgYm9keXttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY1Zjk7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1mYW1pbHk6c3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sU2Vnb2UgVUksUm9ib3RvLFVidW50dSwiSGVsdmV0aWNhIE5ldWUiLEFyaWFsfQ0KICAgIC5jb250YWluZXJ7bWF4LXdpZHRoOjk4MHB4O21hcmdpbjozMnB4IGF1dG87cGFkZGluZzoxNnB4fQ0KICAgIC5jYXJke2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyLXJhZGl1czoxNnB4O2JveC1zaGFkb3c6MCAxMHB4IDMwcHggcmdiYSgyLDYsMjMsLjA4KTtwYWRkaW5nOjI0cHh9DQogICAgaDF7bWFyZ2luOjAgMCA4cHg7Zm9udC1zaXplOjI4cHh9DQogICAgcC5tdXRlZHttYXJnaW46MDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjE0cHh9DQogICAgLmdyaWR7ZGlzcGxheTpncmlkO2dhcDoxNnB4fQ0KICAgIEBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5ncmlkLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxNjBweCAxZnJ9fQ0KICAgIGxhYmVse2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTRweDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206NnB4fQ0KICAgIGlucHV0W3R5cGU9Im51bWJlciJdLHNlbGVjdHt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweCAxMnB4O2JvcmRlcjoxcHggc29saWQgI2UyZThmMDtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1zaXplOjE2cHg7YmFja2dyb3VuZDojZmZmfQ0KICAgIC5yb3d7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MTRweH0NCiAgICAucm93IHN0cm9uZ3tmb250LXdlaWdodDo3MDB9DQogICAgaHJ7Ym9yZGVyOm5vbmU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2UyZThmMDttYXJnaW46MTJweCAwfQ0KICAgIC50b3RhbHtmb250LXNpemU6MThweH0NCiAgICAuYmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZDojZTBmMmZlO2NvbG9yOiMwNzU5ODU7Ym9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwfQ0KICAgIC5oZWxwZXJ7Zm9udC1zaXplOjEycHg7Y29sb3I6IzY0NzQ4Yn0NCiAgICAuaGlkZGVue2Rpc3BsYXk6bm9uZX0NCiAgICAuZm9vdGVye21hcmdpbi10b3A6MTJweDtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOjEycHh9DQogICAgLm5vdGV7YmFja2dyb3VuZDojZjhmYWZjO2JvcmRlcjoxcHggc29saWQgI2UyZThmMDtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMnB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiMzMzQxNTV9DQogIDwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICA8ZGl2IGNsYXNzPSJjYXJkIj4NCiAgICAgIDxoMT5DYWxjdWxhZG9yYSBNYXJjaGFtbyBFVjwvaDE+DQogICAgICA8cCBjbGFzcz0ibXV0ZWQiIGlkPSJtc2ctdG9wIj4NCiAgICAgICAgPHN0cm9uZz5NYXJjaGFtbyAyMDI2PC9zdHJvbmc+LiBMYSA8c3Ryb25nPmV4b25lcmFjacOzbiBFViBkZWwgMjAlPC9zdHJvbmc+IGFwbGljYSA8dT5zb2xvPC91PiBwYXJhIHZlaMOtY3Vsb3MgY29uIGHDsW8gZW50cmUNCiAgICAgICAgPHN0cm9uZz4yMDIyIHkgMjAyNjwvc3Ryb25nPiAoaW5jbHVzaXZlKS4gTG9zIHNlZ3Vyb3MgKFNPQSkgeSBvdHJvcyBjYXJnb3Mgbm8gZXN0w6FuIGV4b25lcmFkb3MuDQogICAgICA8L3A+DQoNCiAgICAgIDwhLS0gRW50cmFkYXMgLS0+DQogICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtMyIgc3R5bGU9Im1hcmdpbi10b3A6MTZweCI+DQogICAgICAgIDxkaXY+DQogICAgICAgICAgPGxhYmVsIGZvcj0iYW5pb1ZlaGljdWxvIj5Bw7FvIGRlbCB2ZWjDrWN1bG88L2xhYmVsPg0KICAgICAgICAgIDxpbnB1dCBpZD0iYW5pb1ZlaGljdWxvIiB0eXBlPSJudW1iZXIiIG1pbj0iMTk5MCIgbWF4PSIyMTAwIiB2YWx1ZT0iMjAyNSIgLz4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWxwZXIiPlBhcmEgZXhvbmVyYWNpw7NuIDIwJSBkZWJlIGVzdGFyIGVudHJlIDIwMjIgeSAyMDI2LjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2Pg0KICAgICAgICAgIDxsYWJlbCBmb3I9Im1vbmVkYSI+TW9uZWRhPC9sYWJlbD4NCiAgICAgICAgICA8c2VsZWN0IGlkPSJtb25lZGEiPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iQ1JDIiBzZWxlY3RlZD7igqEgQ29sb25lczwvb3B0aW9uPg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iVVNEIj4kIFVTRDwvb3B0aW9uPg0KICAgICAgICAgIDwvc2VsZWN0Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGlkPSJ3cmFwLXRjIiBjbGFzcz0iaGlkZGVuIj4NCiAgICAgICAgICA8bGFiZWwgZm9yPSJ0YyI+VGlwbyBkZSBjYW1iaW8gKOKCoSBwb3IgJCk8L2xhYmVsPg0KICAgICAgICAgIDxpbnB1dCBpZD0idGMiIHR5cGU9Im51bWJlciIgbWluPSIxIiBzdGVwPSIwLjAxIiB2YWx1ZT0iNTEwIiAvPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlbHBlciI+U29sbyBzaSBsYSBtb25lZGEgZXMgVVNELjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KDQogICAgICA8ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0ibWFyZ2luLXRvcDoxMnB4Ij4NCiAgICAgICAgPGRpdj4NCiAgICAgICAgICA8bGFiZWwgZm9yPSJ2YWxvckZpc2NhbCIgaWQ9ImxhYmVsLXZhbG9yIj5WYWxvciBmaXNjYWw8L2xhYmVsPg0KICAgICAgICAgIDxpbnB1dCBpZD0idmFsb3JGaXNjYWwiIHR5cGU9Im51bWJlciIgbWluPSIwIiBzdGVwPSIwLjAxIiBwbGFjZWhvbGRlcj0iRWouOiAxMjAwMDAwMCBvIDI1MDAwIiAvPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlbHBlciI+RGlnaXRlIGVsIHZhbG9yIGZpc2NhbCBlbiBsYSBtb25lZGEgc2VsZWNjaW9uYWRhLjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KDQogICAgICA8IS0tIFJlc3VsdGFkb3MgKHJlc3VtZW4gc2luIG1vc3RyYXIgZGVkdWNjaW9uZXMgaW50ZXJuYXMpIC0tPg0KICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoyMHB4IiBpZD0icmVzdWx0cyIgYXJpYS1saXZlPSJwb2xpdGUiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPjxzcGFuPlZhbG9yIGZpc2NhbCBpbmdyZXNhZG86PC9zcGFuPjxzdHJvbmcgaWQ9InJmLWluZ3Jlc2FkbyI+4oCUPC9zdHJvbmc+PC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+PHNwYW4+VmFsb3IgZmlzY2FsIHVzYWRvICjigqEpOjwvc3Bhbj48c3Ryb25nIGlkPSJyZi12YWxvciI+4oKhMDwvc3Ryb25nPjwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+PHNwYW4+SW1wdWVzdG8gZGUgUHJvcGllZGFkIChicnV0byBwb3IgZXNjYWxvbmVzKTo8L3NwYW4+PHN0cm9uZyBpZD0icmYtYnJ1dG8tYmFzZSI+4oKhMDwvc3Ryb25nPjwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9InJvdyIgaWQ9ImZpbGEtZXhvbiI+DQogICAgICAgICAgPHNwYW4+RXhvbmVyYWNpw7NuIEVWIDxzcGFuIGNsYXNzPSJiYWRnZSIgaWQ9InJmLWV4b24tYmFkZ2UiPuKAlDwvc3Bhbj46PC9zcGFuPg0KICAgICAgICAgIDxzdHJvbmcgaWQ9InJmLWV4b24iPi0g4oKhMDwvc3Ryb25nPg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPjxzcGFuPkltcHVlc3RvIGRlIFByb3BpZWRhZCBhIHBhZ2FyOjwvc3Bhbj48c3Ryb25nIGlkPSJyZi1uZXRvIj7igqEwPC9zdHJvbmc+PC9kaXY+DQogICAgICAgIDxocj4NCiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij48c3Bhbj5TT0EgKGF1dG8pOjwvc3Bhbj48c3Ryb25nIGlkPSJyZi1zb2EiPuKAlDwvc3Ryb25nPjwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPjxzcGFuPkFwb3J0ZSBDT1NFVkk6PC9zcGFuPjxzdHJvbmcgaWQ9InJmLWNvc2V2aSI+4oCUPC9zdHJvbmc+PC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+PHNwYW4+SW1wdWVzdG8gTXVuaWNpcGFsaWRhZGVzOjwvc3Bhbj48c3Ryb25nIGlkPSJyZi1tdW5pIj7igJQ8L3N0cm9uZz48L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij48c3Bhbj5UaW1icmUgZGUgRmF1bmEgU2lsdmVzdHJlOjwvc3Bhbj48c3Ryb25nIGlkPSJyZi1mYXVuYSI+4oCUPC9zdHJvbmc+PC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+PHNwYW4+TGV5IDcwODg6PC9zcGFuPjxzdHJvbmcgaWQ9InJmLWxleSI+4oCUPC9zdHJvbmc+PC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+PHNwYW4+SVZBIFNPQSArIFRpbWJyZSBGYXVuYTo8L3NwYW4+PHN0cm9uZyBpZD0icmYtaXZhIj7igJQ8L3N0cm9uZz48L2Rpdj4NCiAgICAgICAgPGhyPg0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgdG90YWwiPjxzcGFuPlRvdGFsIE1hcmNoYW1vIChFVik6PC9zcGFuPjxzdHJvbmcgaWQ9InJmLXRvdGFsIj7igqEwPC9zdHJvbmc+PC9kaXY+DQogICAgICA8L2Rpdj4NCg0KICAgICAgPGRpdiBjbGFzcz0ibm90ZSIgc3R5bGU9Im1hcmdpbi10b3A6MTJweCI+DQogICAgICAgIEPDoWxjdWxvIGluZm9ybWF0aXZvLiBMb3MgbW9udG9zIG9maWNpYWxlcyBwdWVkZW4gdmFyaWFyIHNlZ8O6biBhY3R1YWxpemFjaW9uZXMsIHRpcG8gZGUgdmVow61jdWxvIHkgY29uZGljaW9uZXMgZXNwZWPDrWZpY2FzLg0KICAgICAgPC9kaXY+DQoNCiAgICAgIDxkaXYgY2xhc3M9ImZvb3RlciI+UG93ZXJlZCBieTogQWxldGVjaDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCg0KICA8c2NyaXB0Pg0KICAgIC8vID09PT09PT0gQ29uc3RhbnRlcyA9PT09PT09DQogICAgY29uc3QgQ09CUk9fWUVBUiA9IDIwMjY7ICAgICAgICAgICAgICAgICAvLyBQZXJpb2RvIGRlIGNvYnJvDQogICAgY29uc3QgQ1VSUkVOVF9ZRUFSID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOyAvLyBQYXJhIGFudGlnw7xlZGFkICgyMDI1IGFob3JhKQ0KDQogICAgLy8gQ2FyZ29zIGJhc2UgKGFqdXN0YWJsZXMpDQogICAgY29uc3QgRkVFU19CQVNFID0gew0KICAgICAgU09BOiAzMDIzOCwNCiAgICAgIEFQT1JURV9DT1NFVkk6IDEyODg2LA0KICAgICAgSU1QX01VTkk6IDIwMCwNCiAgICAgIFRJTUJSRV9GQVVOQTogMTE1NiwNCiAgICAgIExFWV83MDg4OiAyMTk1LA0KICAgICAgSVZBX1NPQV9USU1CUkU6IDM5MzENCiAgICB9Ow0KDQogICAgLy8gRXNjYWxvbmVzIEltcHVlc3RvIGEgbGEgUHJvcGllZGFkIChicnV0bykg4oCUIHNlZ8O6biB0dXMgZGF0b3MNCiAgICBjb25zdCBFU0NBTE9OX1VOT19GSUpPID0gMjMxMDA7IC8vIGZpam8gaGFzdGEgMjIwLjAwMA0KICAgIGNvbnN0IFRIXzEgPSAgICAyMjAwMDA7DQogICAgY29uc3QgVEhfMiA9ICAgMzAxMDAwMDsNCiAgICBjb25zdCBUSF8zID0gICA0MDAwMDAwOw0KICAgIGNvbnN0IFRIXzQgPSAgIDUwMTAwMDA7DQogICAgY29uc3QgVEhfNSA9ICAgNjAxMDAwMDsNCiAgICBjb25zdCBUSF82ID0gIDEwMDEwMDAwOw0KICAgIGNvbnN0IFRIXzcgPSAgMTMwMjAwMDA7DQoNCiAgICBjb25zdCBFU0NBTE9OX0RPUyAgICA9IDAuMDA2MDsgLy8gMC42MCUNCiAgICBjb25zdCBFU0NBTE9OX1RSRVMgICA9IDAuMDE4MDsgLy8gMS44MCUNCiAgICBjb25zdCBFU0NBTE9OX0NVQVRSTyA9IDAuMDIxMDsgLy8gMi4xMCUNCiAgICBjb25zdCBFU0NBTE9OX0NJTkNPICA9IDAuMDI1MDsgLy8gMi41MCUNCiAgICBjb25zdCBFU0NBTE9OX1NFSVMgICA9IDAuMDI4MDsgLy8gMi44MCUNCiAgICBjb25zdCBFU0NBTE9OX1NJRVRFICA9IDAuMDMxNTsgLy8gMy4xNSUNCiAgICBjb25zdCBFU0NBTE9OX09DSE8gICA9IDAuMDM1MDsgLy8gMy41MCUNCg0KICAgIC8vIERlZHVjY2lvbmVzIGludGVybmFzIChubyBzZSBtdWVzdHJhbiBlbiBVSSkNCiAgICBjb25zdCBFVl9TTUFMTF9ERURfUkFURSA9IDAuMDAxOyAvLyAwLjElIHBvciBzZXIgRVYNCiAgICBjb25zdCBERURfQU5USUcgPSB7IDE6MC4wMzg0LCAyOjAuMDM3MiwgMzowLjAzNjAsIDQ6MC4wMjQ4LCA1OjAuMDIzNiwgNjowLjAyMjQsIDc6MC4wMjEyLCA4OjAuMDIwMCwgOTowLjAxMDAgfTsNCg0KICAgIC8vIEV4b25lcmFjacOzbiAyMCUgcG9yIGHDsW8gZGUgdmVow61jdWxvICgyMDIy4oCTMjAyNikNCiAgICBmdW5jdGlvbiBnZXRFeG9uZXJhY2lvbkVWQnlWZWhZZWFyKHllYXJWZWgpew0KICAgICAgY29uc3QgeSA9IE51bWJlcih5ZWFyVmVoKTsNCiAgICAgIHJldHVybiAoeSA+PSAyMDIyICYmIHkgPD0gMjAyNikgPyAwLjIwIDogMC4wOw0KICAgIH0NCg0KICAgIC8vID09PT09PT0gVXRpbGlkYWRlcyA9PT09PT09DQogICAgY29uc3QgZm10Q1JDID0gbiA9PiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VzLUNSJywgeyBzdHlsZTonY3VycmVuY3knLCBjdXJyZW5jeTonQ1JDJywgbWF4aW11bUZyYWN0aW9uRGlnaXRzOjIgfSkuZm9ybWF0KChuPz8wKSk7DQogICAgY29uc3QgZm10VVNEID0gbiA9PiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VuLVVTJywgeyBzdHlsZTonY3VycmVuY3knLCBjdXJyZW5jeTonVVNEJywgbWF4aW11bUZyYWN0aW9uRGlnaXRzOjIgfSkuZm9ybWF0KE51bWJlcihufHwwKSk7DQoNCiAgICBmdW5jdGlvbiBpbXB1ZXN0b1Byb3BpZWRhZEJydXRvKHYpew0KICAgICAgaWYoIXYgfHwgdjw9MCkgcmV0dXJuIDA7DQoNCiAgICAgIGxldCB0b3RhbCA9IEVTQ0FMT05fVU5PX0ZJSk87DQoNCiAgICAgIGlmICh2ID4gVEhfMSkgew0KICAgICAgICBjb25zdCBiYXNlID0gTWF0aC5taW4odiwgVEhfMikgLSBUSF8xOw0KICAgICAgICBpZiAoYmFzZSA+IDApIHRvdGFsICs9IGJhc2UgKiBFU0NBTE9OX0RPUzsNCiAgICAgIH0NCiAgICAgIGlmICh2ID4gVEhfMikgew0KICAgICAgICBjb25zdCBiYXNlID0gTWF0aC5taW4odiwgVEhfMykgLSBUSF8yOw0KICAgICAgICBpZiAoYmFzZSA+IDApIHRvdGFsICs9IGJhc2UgKiBFU0NBTE9OX1RSRVM7DQogICAgICB9DQogICAgICBpZiAodiA+IFRIXzMpIHsNCiAgICAgICAgY29uc3QgYmFzZSA9IE1hdGgubWluKHYsIFRIXzQpIC0gVEhfMzsNCiAgICAgICAgaWYgKGJhc2UgPiAwKSB0b3RhbCArPSBiYXNlICogRVNDQUxPTl9DVUFUUk87DQogICAgICB9DQogICAgICBpZiAodiA+IFRIXzQpIHsNCiAgICAgICAgY29uc3QgYmFzZSA9IE1hdGgubWluKHYsIFRIXzUpIC0gVEhfNDsNCiAgICAgICAgaWYgKGJhc2UgPiAwKSB0b3RhbCArPSBiYXNlICogRVNDQUxPTl9DSU5DTzsNCiAgICAgIH0NCiAgICAgIGlmICh2ID4gVEhfNSkgew0KICAgICAgICBjb25zdCBiYXNlID0gTWF0aC5taW4odiwgVEhfNikgLSBUSF81Ow0KICAgICAgICBpZiAoYmFzZSA+IDApIHRvdGFsICs9IGJhc2UgKiBFU0NBTE9OX1NFSVM7DQogICAgICB9DQogICAgICBpZiAodiA+IFRIXzYpIHsNCiAgICAgICAgY29uc3QgYmFzZSA9IE1hdGgubWluKHYsIFRIXzcpIC0gVEhfNjsNCiAgICAgICAgaWYgKGJhc2UgPiAwKSB0b3RhbCArPSBiYXNlICogRVNDQUxPTl9TSUVURTsNCiAgICAgIH0NCiAgICAgIGlmICh2ID4gVEhfNykgew0KICAgICAgICBjb25zdCBiYXNlID0gdiAtIFRIXzc7DQogICAgICAgIGlmIChiYXNlID4gMCkgdG90YWwgKz0gYmFzZSAqIEVTQ0FMT05fT0NITzsNCiAgICAgIH0NCg0KICAgICAgcmV0dXJuIHRvdGFsOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGxlZXJWYWxvckZpc2NhbENSQygpew0KICAgICAgY29uc3QgcmF3ID0gTnVtYmVyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2YWxvckZpc2NhbCcpLnZhbHVlfHwwKTsNCiAgICAgIGNvbnN0IG1vbmVkYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25lZGEnKS52YWx1ZTsNCiAgICAgIGNvbnN0IHRjID0gTnVtYmVyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YycpLnZhbHVlfHwwKTsNCiAgICAgIGlmKG1vbmVkYSA9PT0gJ1VTRCcpeyByZXR1cm4gdGMgPiAwID8gKHJhdyAqIHRjKSA6IDA7IH0NCiAgICAgIHJldHVybiByYXc7DQogICAgfQ0KDQogICAgLy8gPT09PT09PSBBbnRpZ8O8ZWRhZCAoYWp1c3RhZGEgYSBsYSBmZWNoYSBhY3R1YWw7IG5vIHZpc2libGUgZW4gVUkpID09PT09PT0NCiAgICAvLyAtIFNpIGVsIGHDsW8gZGVsIHZlaMOtY3VsbyBlcyA+PSBDVVJSRU5UX1lFQVIgKGVqLiAyMDI1IG8gMjAyNiksIGFudGlnw7xlZGFkID0gMS4NCiAgICAvLyAtIFNpIGVzIGFudGVyaW9yLCBhbnRpZ8O8ZWRhZCA9IENVUlJFTlRfWUVBUiAtIGHDsW8gKyAxIChtw6F4LiA5KS4NCiAgICBmdW5jdGlvbiBjYWxjQW50aWd1ZWRhZCh5VmVoaWN1bG8pew0KICAgICAgY29uc3QgeSA9IE51bWJlcih5VmVoaWN1bG8pOw0KICAgICAgaWYgKCF5KSByZXR1cm4gMTsNCiAgICAgIGlmICh5ID49IENVUlJFTlRfWUVBUikgcmV0dXJuIDE7DQogICAgICBjb25zdCB5ZWFycyA9IENVUlJFTlRfWUVBUiAtIHkgKyAxOw0KICAgICAgcmV0dXJuIE1hdGgubWluKDksIE1hdGgubWF4KDEsIHllYXJzKSk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gZ2V0QW50aWdSYXRlRnJvbVllYXJzKGFudGlnKXsNCiAgICAgIHJldHVybiBERURfQU5USUdbTWF0aC5taW4oTnVtYmVyKGFudGlnKXx8MCwgOSldIHx8IDA7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gcmVuZGVyKCl7DQogICAgICBjb25zdCB5VmVoICAgPSBOdW1iZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FuaW9WZWhpY3VsbycpLnZhbHVlKTsNCiAgICAgIGNvbnN0IG1vbmVkYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25lZGEnKS52YWx1ZTsNCg0KICAgICAgLy8gTW9zdHJhci9vY3VsdGFyIFRDIHNlZ8O6biBtb25lZGENCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3cmFwLXRjJykuY2xhc3NMaXN0LnRvZ2dsZSgnaGlkZGVuJywgbW9uZWRhICE9PSAnVVNEJyk7DQoNCiAgICAgIC8vIEV4b25lcmFjacOzbiBwb3IgYcOxbyBkZWwgdmVow61jdWxvDQogICAgICBjb25zdCBleFJhdGUgPSBnZXRFeG9uZXJhY2lvbkVWQnlWZWhZZWFyKHlWZWgpOw0KICAgICAgY29uc3QgZXhvblBjdCA9IE1hdGgucm91bmQoZXhSYXRlKjEwMCk7DQogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmYtZXhvbi1iYWRnZScpLnRleHRDb250ZW50ID0gKGV4UmF0ZT4wID8gYCR7ZXhvblBjdH0lYCA6ICcwJScpOw0KICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGEtZXhvbicpLmNsYXNzTGlzdC50b2dnbGUoJ2hpZGRlbicsIGV4UmF0ZT09PTApOw0KDQogICAgICAvLyBFbnRyYWRhcw0KICAgICAgY29uc3QgaW5ncmVzYWRvID0gTnVtYmVyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2YWxvckZpc2NhbCcpLnZhbHVlfHwwKTsNCiAgICAgIGNvbnN0IHRjID0gTnVtYmVyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YycpLnZhbHVlfHwwKTsNCiAgICAgIGNvbnN0IHZhbG9yQ1JDID0gbGVlclZhbG9yRmlzY2FsQ1JDKCk7DQoNCiAgICAgIC8vIEPDoWxjdWxvcyBpbnRlcm5vcyAoZGVkdWNjaW9uZXMgbm8gdmlzaWJsZXMpDQogICAgICBjb25zdCBicnV0b0Jhc2UgPSBpbXB1ZXN0b1Byb3BpZWRhZEJydXRvKHZhbG9yQ1JDKTsNCiAgICAgIGNvbnN0IGFudGlnID0gY2FsY0FudGlndWVkYWQoeVZlaCk7DQogICAgICBjb25zdCBhbnRpZ1JhdGUgPSBnZXRBbnRpZ1JhdGVGcm9tWWVhcnMoYW50aWcpOw0KICAgICAgY29uc3QgZXYwMDEgICAgID0gYnJ1dG9CYXNlICogRVZfU01BTExfREVEX1JBVEU7DQogICAgICBjb25zdCBkZWRBbnRpZyAgPSBicnV0b0Jhc2UgKiBhbnRpZ1JhdGU7DQogICAgICBjb25zdCBicnV0b0FkaiAgPSBNYXRoLm1heCgwLCBicnV0b0Jhc2UgLSBldjAwMSAtIGRlZEFudGlnKTsNCg0KICAgICAgY29uc3QgZXhvbiAgICAgID0gYnJ1dG9BZGogKiBleFJhdGU7DQogICAgICBjb25zdCBuZXRvICAgICAgPSBNYXRoLm1heCgwLCBicnV0b0FkaiAtIGV4b24pOw0KDQogICAgICBjb25zdCBDID0gRkVFU19CQVNFOw0KICAgICAgY29uc3QgdG90YWwgICAgID0gKHZhbG9yQ1JDPjApID8gKG5ldG8gKyBDLlNPQSArIEMuQVBPUlRFX0NPU0VWSSArIEMuSU1QX01VTkkgKyBDLlRJTUJSRV9GQVVOQSArIEMuTEVZXzcwODggKyBDLklWQV9TT0FfVElNQlJFKSA6IDA7DQoNCiAgICAgIC8vIEluZ3Jlc2FkbyAodGV4dG8pDQogICAgICBjb25zdCB0ZXh0b0luZ3Jlc2FkbyA9ICgoKT0+ew0KICAgICAgICBpZihtb25lZGEgPT09ICdVU0QnKXsgcmV0dXJuIHRjID4gMCA/IGAke2ZtdFVTRChpbmdyZXNhZG8pfSBAICR7Zm10Q1JDKHRjKX0gLyAkYCA6IGAke2ZtdFVTRChpbmdyZXNhZG8pfWA7IH0NCiAgICAgICAgcmV0dXJuIGZtdENSQyhpbmdyZXNhZG8pOw0KICAgICAgfSkoKTsNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi1pbmdyZXNhZG8nKS50ZXh0Q29udGVudCA9IChpbmdyZXNhZG8gPyB0ZXh0b0luZ3Jlc2FkbyA6ICfigJQnKTsNCg0KICAgICAgLy8gRGVzZ2xvc2UgdmlzdWFsIChzaW4gbW9zdHJhciBkZWR1Y2Npb25lcyBpbnRlcm5hcykNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi12YWxvcicpLnRleHRDb250ZW50ID0gZm10Q1JDKHZhbG9yQ1JDKTsNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi1icnV0by1iYXNlJykudGV4dENvbnRlbnQgPSBmbXRDUkMoYnJ1dG9CYXNlKTsNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi1leG9uJykudGV4dENvbnRlbnQgPSBgLSAke2ZtdENSQyhleG9uKX1gOw0KICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JmLW5ldG8nKS50ZXh0Q29udGVudCA9IGZtdENSQyhuZXRvKTsNCg0KICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JmLXNvYScpLnRleHRDb250ZW50ID0gZm10Q1JDKEMuU09BKTsNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi1jb3NldmknKS50ZXh0Q29udGVudCA9IGZtdENSQyhDLkFQT1JURV9DT1NFVkkpOw0KICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JmLW11bmknKS50ZXh0Q29udGVudCA9IGZtdENSQyhDLklNUF9NVU5JKTsNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi1mYXVuYScpLnRleHRDb250ZW50ID0gZm10Q1JDKEMuVElNQlJFX0ZBVU5BKTsNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi1sZXknKS50ZXh0Q29udGVudCA9IGZtdENSQyhDLkxFWV83MDg4KTsNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi1pdmEnKS50ZXh0Q29udGVudCA9IGZtdENSQyhDLklWQV9TT0FfVElNQlJFKTsNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZi10b3RhbCcpLnRleHRDb250ZW50ID0gZm10Q1JDKHRvdGFsKTsNCiAgICB9DQoNCiAgICAvLyBFdmVudG9zDQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBlID0+IHsNCiAgICAgIGlmKFsnYW5pb1ZlaGljdWxvJywndmFsb3JGaXNjYWwnLCd0YyddLmluY2x1ZGVzKGUudGFyZ2V0LmlkKSkgcmVuZGVyKCk7DQogICAgfSk7DQogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZSA9PiB7DQogICAgICBpZihlLnRhcmdldC5pZCA9PT0gJ21vbmVkYScpIHJlbmRlcigpOw0KICAgIH0pOw0KDQogICAgLy8gUHJpbWVyIHJlbmRlcg0KICAgIHJlbmRlcigpOw0KICA8L3NjcmlwdD4NCjwvYm9keT4NCjwvaHRtbD4NCg==” _id=”734193″][/kc_column][/kc_row]