Skip to contentLy8gPGJsb2NrOnNldHVwOjE+CmNvbnN0IERBVEFfQ09VTlQgPSAxMjsKY29uc3QgTlVNQkVSX0NGRyA9IHtjb3VudDogREFUQV9DT1VOVCwgbWluOiAyLCBtYXg6IDQwfTsKLy8gPC9ibG9jazpzZXR1cD4KCi8vIDxibG9jazp1dGlsczoyPgpmdW5jdGlvbiBjb2xvckZyb21SYXcoY3R4LCBib3JkZXIpIHsKICBpZiAoY3R4LnR5cGUgIT09ICdkYXRhJykgewogICAgcmV0dXJuICd0cmFuc3BhcmVudCc7CiAgfQogIGNvbnN0IHZhbHVlID0gY3R4LnJhdy52OwogIGxldCBhbHBoYSA9ICgxICsgTWF0aC5sb2codmFsdWUpKSAvIDU7CiAgY29uc3QgY29sb3IgPSAncHVycGxlJzsKICBpZiAoYm9yZGVyKSB7CiAgICBhbHBoYSArPSAwLjU7CiAgfQogIHJldHVybiBoZWxwZXJzLmNvbG9yKGNvbG9yKQogICAgLmFscGhhKGFscGhhKQogICAgLnJnYlN0cmluZygpOwp9Ci8vIDwvYmxvY2s6dXRpbHM+CgovLyA8YmxvY2s6Y29uZmlnOjA+CmNvbnN0IGNvbmZpZyA9IHsKICB0eXBlOiAndHJlZW1hcCcsCiAgZGF0YTogewogICAgZGF0YXNldHM6IFsKICAgICAgewogICAgICAgIGxhYmVsOiAnTXkgRmlyc3QgZGF0YXNldCcsCiAgICAgICAgdHJlZTogVXRpbHMubnVtYmVycyhOVU1CRVJfQ0ZHKSwKICAgICAgICBib3JkZXJDb2xvcjogKGN0eCkgPT4gY29sb3JGcm9tUmF3KGN0eCwgdHJ1ZSksCiAgICAgICAgYm9yZGVyV2lkdGg6IDEsCiAgICAgICAgc3BhY2luZzogLTAuNSwgLy8gQW5pbWF0aW9ucyBsb29rIGJldHRlciB3aGVuIG92ZXJsYXBwaW5nIGEgbGl0dGxlCiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAoY3R4KSA9PiBjb2xvckZyb21SYXcoY3R4KSwKICAgICAgfQogICAgXSwKICB9LAp9OwoKLy8gPC9ibG9jazpjb25maWc+Cgpjb25zdCBhY3Rpb25zID0gWwogIHsKICAgIG5hbWU6ICdSYW5kb21pemUnLAogICAgaGFuZGxlcihjaGFydCkgewogICAgICBjaGFydC5kYXRhLmRhdGFzZXRzLmZvckVhY2goZGF0YXNldCA9PiB7CiAgICAgICAgZGF0YXNldC50cmVlID0gVXRpbHMubnVtYmVycyhOVU1CRVJfQ0ZHKTsKICAgICAgfSk7CiAgICAgIGNoYXJ0LnVwZGF0ZSgpOwogICAgfQogIH0sCl07Cgptb2R1bGUuZXhwb3J0cyA9IHsKICBhY3Rpb25zLAogIGNvbmZpZwp9Ow==