From 9eb6c8c2d2f2f01559a5c45c170065c872824bbf Mon Sep 17 00:00:00 2001 From: David Fugate Date: Fri, 8 Jul 2011 16:02:19 -0700 Subject: [PATCH] 15.4.4.15-3-14, 15.4.4.15-3-29, and 15.4.4.15-3-8 were disabled with no reason or bug given. These actually look OK, and pass on all browsers... --- test/config/excludelist.xml | 6 +++--- website/resources/scripts/testcases/15.4.4.15.json | 2 +- website/resources/scripts/testcases/testcaseslist.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test/config/excludelist.xml b/test/config/excludelist.xml index 7d0de8c7b7..b5b44c130d 100644 --- a/test/config/excludelist.xml +++ b/test/config/excludelist.xml @@ -9,9 +9,9 @@ problem, test needs 'var' prior to public in strict mode problem, test needs 'var' prior to static in strict mode - - - + + + diff --git a/website/resources/scripts/testcases/15.4.4.15.json b/website/resources/scripts/testcases/15.4.4.15.json index 26eae84341..50849ca9e1 100644 --- a/website/resources/scripts/testcases/15.4.4.15.json +++ b/website/resources/scripts/testcases/15.4.4.15.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - 15.4.4.15","numTests":"190","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtMC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsKICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9Cn0pOwo=","id":"15.4.4.15-0-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtMC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGhhcyBhIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxLiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBpZiAoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCA9PT0gMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-0-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHVuZGVmaW5lZCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-1-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAyOwogICAgICAgICAgICBNYXRoWzFdID0gMTAwOwogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoTWF0aCwgMTAwKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7CiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-1-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBEYXRlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOwogICAgICAgIG9iai5sZW5ndGggPSAyOwogICAgICAgIG9ialsxXSA9IHRydWU7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-1-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTEyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCJhZmRhc2YiKTsKICAgICAgICBvYmoubGVuZ3RoID0gMTAwOwogICAgICAgIG9ialsxXSA9ICJhZmRhc2YiOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAiYWZkYXNmIikgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTEzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEpTT05bM10gPSB0YXJnZXRPYmo7CiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gNTsKICAgICAgICAgICAgcmV0dXJuIDMgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKEpTT04sIHRhcmdldE9iaik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEpTT05bM107CiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTeW50YXhFcnJvcigpOwogICAgICAgIG9iai5sZW5ndGggPSAyOwogICAgICAgIG9ialsxXSA9IEluZmluaXR5OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBJbmZpbml0eSkgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gZnVuKCkgewogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOwogICAgICAgIH0oMSwgMiwgMykpOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-1-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTE3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIGdsb2JhbCBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSBbImdsb2JhbCJdOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHRhcmdldE9iajsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAzOwogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-1-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3IiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChudWxsKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-1-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMV0gPSB0cnVlOwogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAyOwoKICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHRydWUsIHRydWUpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsKICAgICAgICBvYmoubGVuZ3RoID0gMjsKICAgICAgICBvYmpbMV0gPSB0cnVlOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-1-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVsxXSA9IGlzTmFOOwogICAgICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKDUsIGlzTmFOKTsKICAgICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzFdOwogICAgICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOwogICAgICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMyk7CiAgICAgICAgb2JqLmxlbmd0aCA9IDI7CiAgICAgICAgb2JqWzFdID0gdHJ1ZTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoImFiYyIsICJjIikgPT09IDI7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygidW5kZWZpbmVkIik7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosICJmIikgPT09IDQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBhICsgYjsKICAgICAgICB9OwogICAgICAgIG9ialsxXSA9IHRydWU7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-1-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciBvYmogPSB7IDE6IG51bGwsIDI6IHVuZGVmaW5lZCwgbGVuZ3RoOiAyIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAxICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-2-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcHJvdG8gPSB7fTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMV0gPSAxOwogICAgICAgIGNoaWxkWzJdID0gMjsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCAxKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgMikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-2-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDEgfTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-2-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBwcm90byA9IHt9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMF0gPSB0cnVlOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyB1bmRlZmluZWQgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiBudWxsLCAxOiB1bmRlZmluZWQgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0yLTE1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsKCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0YXJnZXRPYmo7CiAgICAgICAgICAgIGlmIChBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopICE9PSAxKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB7fTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IHRhcmdldE9iajsKCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopID09PSAtMTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-2-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdGFyZ2V0T2JqKSA9PT0gMSAmJgogICAgICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMl0pID09PSAtMTsKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gZnVuYygwLCB0YXJnZXRPYmopOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMyI7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChzdHIsICIyIikgPT09IDIgJiYKICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHN0ciwgIjMiKSA9PT0gLTE7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBhICsgYjsKICAgICAgICB9OwogICAgICAgIG9ialsxXSA9ICJiIjsKICAgICAgICBvYmpbMl0gPSAiYyI7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBvYmpbMl0pID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-2-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSB0YXJnZXRPYmo7CgogICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqKSA9PT0gMSAmJgogICAgICAgICAgICAgICAgWzAsIDFdLmxhc3RJbmRleE9mKHRhcmdldE9iaikgPT09IC0xOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0yLTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHByb3RvID0ge2xlbmd0aDogMH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAyOwogICAgICAgIGNoaWxkWzFdID0gY2hpbGQ7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgY2hpbGQpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307CiAgICAgICAgdmFyIGFyclByb3RvTGVuOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7CiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5sYXN0SW5kZXhPZih0YXJnZXRPYmopID09PSAxOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-2-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0yLTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHByb3RvID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7CiAgICAgICAgICAgIHZhbHVlOiAyLAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKICAgICAgICBjaGlsZFsxXSA9IG51bGw7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgbnVsbCkgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-2-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9OwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMV0gPSAieCI7CiAgICAgICAgY2hpbGRbMl0gPSAieSI7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgIngiKSA9PT0gMSAmJgogICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsICJ5IikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogZmFsc2UgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDAgfTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkWzFdID0gZXZhbDsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCBldmFsKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHByb3RvID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDEsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTEwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IE5hTiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTExIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBwb3NpdGl2ZSBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gezE6IHRydWUsIDI6IGZhbHNlLCBsZW5ndGg6ICIyIn07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTEyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBuZWdhdGl2ZSBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gezE6IG51bGwsIDI6IHVuZGVmaW5lZCwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQifTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09IDEgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyA0OiA0LCA1OiA1LCBsZW5ndGg6ICI1LjUxMjM0NSIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgNCkgPT09IDQgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA1KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTE1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gezIyOTogMjI5LCAyMzA6IDIuM0UyLCBsZW5ndGg6ICIyLjNFMiJ9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyMjkpID09PSAyMjkgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyLjNFMikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB3aGljaCBpcyBhYmxlIHRvIGJlIGNvbnZlcnRlZCBpbnRvIGhleCBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAyNTczOiAyNTczLCAyNTc0OiAweDAwMEEwRSwgbGVuZ3RoOiAiMHgwMDBBMEUiIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDI1NzMpID09PSAyNTczICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMHgwMDBBMEUpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogIjAwMDIuMCIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTE4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgdGFyZ2V0T2JqID0gbmV3IFN0cmluZygiMTIzYWJjMTIzIik7CiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIxMjNhYmMxMjMiIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdAogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCgogICAgICAgIHZhciB0YXJnZXRPYmogPSBmbkdsb2JhbE9iamVjdCgpOwogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDE6IHRhcmdldE9iaiwKICAgICAgICAgICAgMjogMiwKCiAgICAgICAgICAgIGxlbmd0aDogewogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm4gLTEgd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IHRydWUgfTsKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTIwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICAvL3ZhbHVlT2YgbWV0aG9kIHdpbGwgYmUgaW52b2tlZCBmaXJzdCwgc2luY2UgaGludCBpcyBOdW1iZXIKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAxOiB0cnVlLAogICAgICAgICAgICAyOiAyLAoKICAgICAgICAgICAgbGVuZ3RoOiB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMjEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHRoaXM7CiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgICAgMTogdGFyZ2V0T2JqLAogICAgICAgICAgICBsZW5ndGg6IHsKICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICczJzsKICAgICAgICAgICAgICAgIH0sCgogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTIyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbpJ0IHJldHVybiBwcmltaXRpdmUgdmFsdWVzIiwKICAgIAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAxOiB0cnVlLAogICAgICAgICAgICBsZW5ndGg6IHsKICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICAgICAgfSwKCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTIzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBhbiBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIHZhciBwcm90byA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgfTsKCiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgICAgMTogY2hpbGQsCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBjaGlsZCkgPT09IDEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMjQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAxMjI6IHRydWUsIDEyMzogZmFsc2UsIGxlbmd0aDogMTIzLjUgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEyMiAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTI1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogZmFsc2UsIGxlbmd0aDogLTQyOTQ5NjcyOTQuNSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTI4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDA6IHRhcmdldE9iaiwKICAgICAgICAgICAgNDI5NDk2NzI5NDogdGFyZ2V0T2JqLAogICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5NgogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOyAvL3ZlcmlmeSBsZW5ndGggaXMgMCBmaW5hbGx5CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6ICJ1bmRlZmluZWQiLCBsZW5ndGg6IDAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgInVuZGVmaW5lZCIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCBsZW5ndGg6IC0wIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiArMCwgbGVuZ3RoOiArMCB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCArMCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIGEgcG9zaXRpdmUgbnVtYmVyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDk5OiB0cnVlLCAxMDA6IDEwMCwgbGVuZ3RoOiAxMDAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDk5ICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMTAwKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBhIG5lZ2F0aXZlIG51bWJlcikiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyA0OiAtSW5maW5pdHksIDU6IEluZmluaXR5LCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgLUluZmluaXR5KSA9PT0gNCAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIEluZmluaXR5KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IC1JbmZpbml0eSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBpID0gW10ubGFzdEluZGV4T2YoNDIpOwogIGlmIChpID09PSAtMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-4-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTQtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAtNmUtMSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOwogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogLTZlLTEgfTsKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-4-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTQtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBlbXB0eSBzdHJpbmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsKICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIiIH07CiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-4-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIAogIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogbnVsbH0sIDEpOwogIAogIGlmIChpID09PSAtMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-4-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIAogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBmYWxzZX0sIDEpOwogIAogIGlmIChpID09PSAtMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-4-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoZ2VuZXJpYyAnYXJyYXknIHdpdGggbGVuZ3RoIDAgKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgZi5sZW5ndGggPSAwOwogIAogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiAwfSwgMSk7CiAgCiAgaWYgKGkgPT09IC0xKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-4-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6ICcwJ30sIDEpOwogIAogIGlmIChpID09PSAtMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-4-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAKIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogeyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319fSwgMSk7CiAgCiAgaWYgKGkgPT09IC0xKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-4-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBpcyBvYmplY3Qgb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07CiAgZi5sZW5ndGggPSBvOwogIAogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogeyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319fSwgMSk7CiAgCiAgaWYgKGkgPT09IC0xKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-4-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC04IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC04LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIGlzIGFuIGVtcHR5IGFycmF5KSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0OwogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZAogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUKICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgogIC8vCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywKICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaAogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcwogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwKICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLgogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBbIF19LCAxKTsKICAKICBpZiAoaSA9PT0gLTEpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-4-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTQtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYSBudW1iZXIgb2YgdmFsdWUgMC4xIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107CiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAwLjEgfTsKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-4-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIHN0cmluZyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMSk7CiAgaWYgKGEubGFzdEluZGV4T2YoMSwiMSIpID09PSAxICYmICAgICAgICAgIC8vICIxIiByZXNvbHZlcyB0byAxCiAgICAgIGEubGFzdEluZGV4T2YoMSwib25lIikgPT09IC0xKSB7ICAgICAgIC8vIE5hTiBzdHJpbmcgcmVzb2x2ZXMgdG8gMAogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-5-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IDEgJiYKICAgICAgICAgICAgWzAsIHRydWUsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAxICYmCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgLTIuNSkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgYXJyID0gW107CiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gbnVsbDsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZihudWxsLCBJbmZpbml0eSkgPT09IChNYXRoLnBvdygyLCAzMikgLSAyKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTEzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gW3RydWVdLmxhc3RJbmRleE9mKHRydWUsIC1JbmZpbml0eSkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIE5hTikgPT09IC0xICYmIC8vIGZyb20gSW5kZXggd2lsbCBiZSBjb252ZXJ0IHRvICswCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCBOYU4pID09PSAwICYmCiAgICAgICAgICAgIFswLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlLCAtTmFOKSA9PT0gLTEgJiYKICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9mKHRydWUsIC1OYU4pID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTE1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMCwgIi0yIiwgMl0ubGFzdEluZGV4T2YoIi0yIiwgIi0yIikgPT09IDEgJiYKICAgICAgICAgICAgWzAsIDIsICItMiJdLmxhc3RJbmRleE9mKCItMiIsICItMiIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIEluZmluaXR5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgYXJyID0gW107CiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gdHJ1ZTsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZih0cnVlLCAiSW5maW5pdHkiKSA9PT0gKE1hdGgucG93KDIsIDMyKSAtIDIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTE3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyAtSW5maW5pdHkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gW3RydWVdLmxhc3RJbmRleE9mKHRydWUsICItSW5maW5pdHkiKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgTmFOLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gMiAmJgogICAgICAgICAgICBbMCwgTmFOLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAyIikgPT09IDIgJiYKICAgICAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMiIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGZsb2F0aW5nIHBvaW50IG51bWJlciIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7CiAgaWYgKGEubGFzdEluZGV4T2YoMiwxLjQ5KSA9PT0gMSAmJiAgICAvLyAxLjQ5IHJlc29sdmVzIHRvIDEKICAgICAgYS5sYXN0SW5kZXhPZigyLDAuNTEpID09PSAtMSAmJiAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDAKICAgICAgYS5sYXN0SW5kZXhPZigxLDAuNTEpID09PSAwKXsgICAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDAKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-5-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAyICYmCiAgICAgICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIwMDAyLjEwIikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhbiBPYmplY3QsIGFuZCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kIGZyb20gT2JqZWN0CiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICcyJzsKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IG5ldyBSZWdFeHAoKTsKCiAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IDIgJiYKICAgICAgICBbMCwgdHJ1ZSwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTIyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gb2JqZWN0LCBhbmQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmcm9tSW5kZXggPSB7CiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpID09PSAyICYmCiAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTIzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIHZhciBmcm9tSW5kZXggPSB7CiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAnMSc7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIFswLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3QgdGhhdCBib3RoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhbiBkb24ndCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIHZhciBmcm9tSW5kZXggPSB7CiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBbMCwgbnVsbF0ubGFzdEluZGV4T2YobnVsbCwgZnJvbUluZGV4KTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTI1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZSBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgdmFyIHByb3RvID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdGVwVHdvT2NjdXJzID0gZmFsc2U7CiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7CiAgICAgICAgdmFyIG9iaiA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHN0ZXBUd29PY2N1cnMgPSB0cnVlOwogICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gMjA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOwogICAgICAgICAgICByZXR1cm4gc3RlcFR3b09jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdGVwVGhyZWVPY2N1cnMgPSBmYWxzZTsKICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsKCiAgICAgICAgdmFyIG9iaiA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGhyZWVPY2N1cnMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RlcEZpdmVPY2N1cnMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3RlcCA1IG9jY3VycmVkIG91dCBvZiBvcmRlciIpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsKICAgICAgICAgICAgcmV0dXJuIHN0ZXBUaHJlZU9jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTI4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMSBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGJvb2xlYW4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOwogIGlmIChhLmxhc3RJbmRleE9mKDIsdHJ1ZSkgPT09IDEgJiYgICAgICAgIC8vIHRydWUgcmVzb2x2ZXMgdG8gMQogICAgIGEubGFzdEluZGV4T2YoMixmYWxzZSkgPT09IC0xICkgeyAgICAgIC8vIGZhbHNlIHJlc29sdmVzIHRvIDAKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-5-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMzAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-30"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMzEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAxICYmCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgMS41KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-31"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMzIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAtMi41KSA9PT0gMSAmJgogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAtMTsKCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-32"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMzMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBtYXRjaCBvbiB0aGUgZmlyc3QgZWxlbWVudCwgYSBtaWRkbGUgZWxlbWVudCBhbmQgdGhlIGxhc3QgZWxlbWVudCB3aGVuICdmcm9tSW5kZXgnIGlzIHBhc3NlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMCwgMCkgPT09IDAgJiYKICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDAsIDIpID09PSAwICYmCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigyLCAyKSA9PT0gMiAmJgogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgNCkgPT09IDIgJiYKICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDQsIDQpID09PSA0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-33"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIHVuZGVmaW5lZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7CiAgaWYgKGEubGFzdEluZGV4T2YoMix1bmRlZmluZWQpID09PSAtMSAmJgogICAgICBhLmxhc3RJbmRleE9mKDEsdW5kZWZpbmVkKSA9PT0gMCAgJiYKICAgICAgYS5sYXN0SW5kZXhPZigxKSA9PT0gMikgICB7ICAgIC8vIHVuZGVmaW5lZCByZXNvbHZlcyB0byAwLCBubyBzZWNvbmQgYXJndW1lbnQgcmVzb2x2ZXMgdG8gbGVuCiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-5-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIG51bGwiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOwogIGlmIChhLmxhc3RJbmRleE9mKDIsbnVsbCkgPT09IC0xICYmIGEubGFzdEluZGV4T2YoMSxudWxsKSA9PT0gMCkgeyAgICAgICAvLyBudWxsIHJlc29sdmVzIHRvIDAKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-5-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2Zyb21JbmRleCcgaXNuJ3QgcGFzc2VkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOwogICAgICAgIC8vJ2Zyb21JbmRleCcgd2lsbCBiZSBzZXQgYXMgNCBpZiBub3QgcGFzc2VkIGJ5IGRlZmF1bHQKICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKDApID09PSBhcnIubGFzdEluZGV4T2YoMCwgNCkgJiYKICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpID09PSBhcnIubGFzdEluZGV4T2YoMiwgNCkgJiYKICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDQpID09PSBhcnIubGFzdEluZGV4T2YoNCwgNCk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFswLCAxMDBdLmxhc3RJbmRleE9mKDEwMCwgMCkgPT09IC0xICYmIC8vIHZlcmlmeSBmcm9tSW5kZXggaXMgbm90IG1vcmUgdGhhbiAwCiAgICAgICAgICAgIFsyMDAsIDBdLmxhc3RJbmRleE9mKDIwMCwgMCkgPT09IDA7IC8vIHZlcmlmeSBmcm9tSW5kZXggaXMgbm90IGxlc3MgdGhhbiAwCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgKzApID09PSAtMSAmJgogICAgICAgICAgICBbdHJ1ZSwgMF0ubGFzdEluZGV4T2YodHJ1ZSwgKzApID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gLTEgJiYKICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gMDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNi0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGdyZWF0ZXIgdGhhbiBBcnJheS5sZW5ndGgiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOwogIGlmIChhLmxhc3RJbmRleE9mKDMsNS40KSA9PT0gMiAmJiAgCiAgICAgYS5sYXN0SW5kZXhPZigzLDMuMSkgPT09IDIgKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-6-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigzLCAyKSA9PT0gMjsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KQoK","id":"15.4.4.15-6-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-6-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgYW5kICdsZW5ndGgnIGFyZSBib3RoIDAiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gW10ubGFzdEluZGV4T2YoMSwgMCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-6-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgMSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-6-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAxIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigyLCAxKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KQoK","id":"15.4.4.15-6-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNy0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdpdGggbmVnYXRpdmUgZnJvbUluZGV4ICIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7CiAgCiAgaWYgKGEubGFzdEluZGV4T2YoMiwtMikgPT09IDEgJiYgIAogICAgICBhLmxhc3RJbmRleE9mKDIsLTMpID09PSAtMSAmJiAgCiAgICAgIGEubGFzdEluZGV4T2YoMSwtNS4zKSA9PT0gLTEgKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-7-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS03LTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAtMSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoNCwgLTEpID09PSAzOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-7-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS03LTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkgLSAxIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigzLCAtMykgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-7-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS03LTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDIsIC00KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSkKCg==","id":"15.4.4.15-7-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoYm9vbGVhbikiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gdHJ1ZX19OwogIHZhciBfZmFsc2UgPSBmYWxzZTsKICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx0cnVlLGZhbHNlLG9iaixfZmFsc2UsdHJ1ZSwidHJ1ZSIsIHVuZGVmaW5lZCwwLG51bGwsMSwic3RyIiwwLDEpOwogIGlmIChhLmxhc3RJbmRleE9mKHRydWUpID09PSA1ICYmICAvL2FbNV09dHJ1ZQogICAgICBhLmxhc3RJbmRleE9mKGZhbHNlKSA9PT0gNCkgICAgLy9hWzRdID1fZmFsc2UKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-8-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC0xMCIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMTAuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoTmFOKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgX05hTiA9IE5hTjsKICB2YXIgYSA9IG5ldyBBcnJheSgiTmFOIixfTmFOLE5hTiwgdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCx7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIE5hTn19LCJmYWxzZSIpOwogIGlmIChhLmxhc3RJbmRleE9mKE5hTikgPT09IC0xKSAgLy8gTmFOIG1hdGNoZXMgbm90aGluZywgbm90IGV2ZW4gaXRzZWxmCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LTExIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdGhlIGxlbmd0aCBvZiBpdGVyYXRpb24gaXNuJ3QgY2hhbmdlZCBieSBhZGRpbmcgZWxlbWVudHMgdG8gdGhlIGFycmF5IGR1cmluZyBpdGVyYXRpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzIwXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYXJyWzFdID0gMTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigxKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoTnVtYmVyKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAwfX07CiAgdmFyIG9uZSA9IDE7CiAgdmFyIF9mbG9hdCA9IC0oNC8zKTsKICB2YXIgYSA9IG5ldyBBcnJheSgrMCx0cnVlLDAsLTAsIGZhbHNlLHVuZGVmaW5lZCxudWxsLCIwIixvYmosIF9mbG9hdCwtKDQvMyksLTEuMzMzMzMzMzMzMzMzMywic3RyIixvbmUsIDEsIGZhbHNlKTsKICBpZiAoYS5sYXN0SW5kZXhPZigtKDQvMykpID09PSAxMCAmJiAgICAgIC8vIGFbMTBdPS0oNC8zKQogICAgICBhLmxhc3RJbmRleE9mKDApID09PSAzICAgICAgICYmICAgICAgIC8vIGFbM10gPSAtMCwgYnV0IHVzaW5nID09PSAtMCBhbmQgMCBhcmUgZXF1YWwKICAgICAgYS5sYXN0SW5kZXhPZigtMCkgPT09MyAgICAgICAmJiAgICAgIC8vIGFbM10gPSAtMAogICAgICBhLmxhc3RJbmRleE9mKDEpID09PSAxNCApICAgICAgICAgICAgLy8gYVsxNF0gPSAxCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoc3RyaW5nKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX07CiAgdmFyIHN6RmFsc2UgPSAiZmFsc2UiOwogIHZhciBhID0gbmV3IEFycmF5KHN6RmFsc2UsICJmYWxzZSIsImZhbHNlMSIsdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwKTsKICBpZiAoYS5sYXN0SW5kZXhPZigiZmFsc2UiKSA9PT0gMSkgCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgodW5kZWZpbmVkKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiB1bmRlZmluZWQ7fX07CiAgdmFyIF91bmRlZmluZWQxID0gdW5kZWZpbmVkOwogIHZhciBfdW5kZWZpbmVkMjsKICB2YXIgYSA9IG5ldyBBcnJheShfdW5kZWZpbmVkMSxfdW5kZWZpbmVkMix1bmRlZmluZWQsdHJ1ZSwwLGZhbHNlLG51bGwsMSwidW5kZWZpbmVkIixvYmosMSk7CiAgaWYgKGEubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMikgCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoT2JqZWN0KSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgb2JqMSA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19OwogIHZhciBvYmoyID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX07CiAgdmFyIG9iajMgPSBvYmoxOwogIHZhciBhID0gbmV3IEFycmF5KG9iajIsb2JqMSxvYmozLGZhbHNlLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwse3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX0sImZhbHNlIik7CiAgaWYgKGEubGFzdEluZGV4T2Yob2JqMykgPT09IDIpIAogIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-8-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgobnVsbCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gbnVsbH19OwogIHZhciBfbnVsbCA9IG51bGw7CiAgdmFyIGEgPSBuZXcgQXJyYXkodHJ1ZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLDEsInN0ciIsMCwxLG51bGwsdHJ1ZSxmYWxzZSx1bmRlZmluZWQsX251bGwsIm51bGwiLHVuZGVmaW5lZCwic3RyIixvYmopOwogIGlmIChhLmxhc3RJbmRleE9mKG51bGwpID09PSAxMyApIAogIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-8-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKHNlbGYgcmVmZXJlbmNlKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgIAogIGFbMl0gPSBhOwogIGlmIChhLmxhc3RJbmRleE9mKGEpID09PSAyICYmICAKICAgICAgYS5sYXN0SW5kZXhPZigzKSA9PT0gMyApIAogIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-8-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC04IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC04LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKEFycmF5KSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYiA9IG5ldyBBcnJheSgiMCwxIik7ICAKICB2YXIgYSA9IG5ldyBBcnJheSgwLGIsIjAsMSIsMyk7ICAKICBpZiAoYS5sYXN0SW5kZXhPZihiLnRvU3RyaW5nKCkpID09PSAyICYmICAKICAgICAgYS5sYXN0SW5kZXhPZigiMCwxIikgPT09IDIgKSAKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-8-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC05IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC05LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKFNwYXJzZSBBcnJheSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxKTsgIAogIGFbNDI5NDk2NzI5NF0gPSAyOyAgICAgICAgICAvLyAyXjMyLTIgLSBpcyBtYXggYXJyYXkgZWxlbWVudCBpbmRleAogIGFbNDI5NDk2NzI5NV0gPSAzOyAgICAgICAgICAvLyAyXjMyLTEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkKICBhWzQyOTQ5NjcyOTZdID0gNDsgICAgICAgICAgLy8gMl4zMiAgIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5CiAgYVs0Mjk0OTY3Mjk3XSA9IDU7ICAgICAgICAgIC8vIDJeMzIrMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQogIC8vIHN0b3Agc2VhcmNoaW5nIG5lYXIgdGhlIGVuZCBpbiBjYXNlIGltcGxlbWVudGF0aW9uIGFjdHVhbGx5IHRyaWVzIHRvIHRlc3QgYWxsIG1pc3NpbmcgZWxlbWVudHMhIQogIGFbNDI5NDk2NzIwMF0gPSAzOyAgICAgICAgICAKICBhWzQyOTQ5NjcyMDFdID0gNDsgICAgICAgICAKICBhWzQyOTQ5NjcyMDJdID0gNTsgICAgICAgICAKCgogIHJldHVybiAoYS5sYXN0SW5kZXhPZigyKSA9PT0gNDI5NDk2NzI5NCAmJiAgICAKICAgICAgYS5sYXN0SW5kZXhPZigzKSA9PT0gNDI5NDk2NzIwMCAmJgogICAgICBhLmxhc3RJbmRleE9mKDQpID09PSA0Mjk0OTY3MjAxICYmCiAgICAgIGEubGFzdEluZGV4T2YoNSkgPT09IDQyOTQ5NjcyMDIpIDsKICAgfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0geyB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOwogICAgICAgICAgICAgICAgcmV0dXJuIDM7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAibGVuZ3RoIik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgewogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoNi45OSkgPT09IDE7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMjAwIH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEwMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgNi45OSk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgMywgNF07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiNi45OSIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAxKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsKICAgICAgICAgICAgcmV0dXJuIC0xID09PSBhcnIubGFzdEluZGV4T2YoMSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0geyAwOiAwLCAxOiAxMTEsIDI6IDIsIGxlbmd0aDogMTAgfTsKICAgICAgICAKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsKICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgMSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzAsIDExMSwgMl07IAogICAgICAgIAogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIHJldHVybiAxID09PSBhcnIubGFzdEluZGV4T2YoMSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiLCA0XTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKCJsYXN0Iik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIDIgPT09IGFyci5sYXN0SW5kZXhPZigicHJvdG90eXBlIik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsKICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIDIgPT09IGFyci5sYXN0SW5kZXhPZigidW5jb25maWd1cmFibGUiKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0yIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAzMCB9OwogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07CgogICAgICAgIHZhciBmcm9tSW5kZXggPSB7CiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFycls0XSA9IHRhcmdldE9iajsKICAgICAgICAgICAgICAgIHJldHVybiAxMDsKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgCiAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgdGFyZ2V0T2JqLCBmcm9tSW5kZXgpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0zIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFtdOwogICAgICAgIGFyci5sZW5ndGggPSAzMDsKICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9OwoKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7CiAgICAgICAgICAgICAgICByZXR1cm4gMTE7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gNCA9PT0gYXJyLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS00IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5IH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsKICAgICAgICAgICAgICAgIHJldHVybiAzOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDYuOTkpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0geyAxMDogZmFsc2UsIGxlbmd0aDogMzAgfTsKCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxMF07CiAgICAgICAgICAgICAgICByZXR1cm4gMTU7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgZmFsc2UsIGZyb21JbmRleCk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS02IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gW107CiAgICAgICAgYXJyWzEwXSA9ICIxMCI7CiAgICAgICAgYXJyLmxlbmd0aCA9IDIwOwoKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsKICAgICAgICAgICAgICAgIHJldHVybiAxMTsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKCIxMCIsIGZyb21JbmRleCk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgIAogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogOCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAxKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS04IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKDEpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogOSB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7CiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIEluZmluaXR5KSA9PT0gMTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB1bmRlZmluZWQgcHJvcGVydHkgd291bGRuJ3QgYmUgY2FsbGVkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFswLCAsIDJdLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAyOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTEwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMyB9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApICYmCiAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgJiYKICAgICAgICAgICAgMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gW107CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gZmFsc2U7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIDAgPT09IGFyci5sYXN0SW5kZXhPZih0cnVlKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOyAKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTEyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFtdOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIDAgPT09IGFyci5sYXN0SW5kZXhPZih0cnVlKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE0LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDEgfTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigxMCkgJiYKICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKDIwKSAmJgogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMzApOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTE2IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE2LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIyIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAxMCkgJiYKICAgICAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDIwKSAmJgogICAgICAgICAgICAgICAgMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgMzApOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOwogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbXTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTE4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE4LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7CiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTE5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE5LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9OwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KDApICYmIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgcmV0dXJuIFt0cnVlLCB0cnVlLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMiAmJgogICAgICAgICAgICBbdHJ1ZSwgdHJ1ZSwgZmFsc2VdLmxhc3RJbmRleE9mKHRydWUpID09PSAxICYmCiAgICAgICAgICAgIFt0cnVlLCBmYWxzZSwgZmFsc2VdLmxhc3RJbmRleE9mKHRydWUpID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTIwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbLCAxXTsKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnIubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0yMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7CiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgcmV0dXJuIFssIF0ubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiAhWywgMV0uaGFzT3duUHJvcGVydHkoMCkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTIyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMSB9LCB1bmRlZmluZWQpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0yMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSB0YXJnZXRPYmo7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMTAwXSA9ICIxMDAiOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzIwMF0gPSAiMjAwIjsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyMDA7CiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopICYmCiAgICAgICAgICAgICAgICAxMDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIxMDAiKSAmJgogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIyMDAiKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMTAwXTsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMjAwXTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI1LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJgogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKTsKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gZnVuYyh0cnVlKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI2IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI2LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIHRvIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJgogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMV0pICYmCiAgICAgICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMl0pOwogICAgICAgIH07CgogICAgICAgIHJldHVybiBmdW5jKDAsIHRydWUpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI3LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIDIgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJgogICAgICAgICAgICAgICAgMyA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbM10pICYmCiAgICAgICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbNF0pOwogICAgICAgIH07CgogICAgICAgIHJldHVybiBmdW5jKDAsIGFyZ3VtZW50cywgMCwgT2JqZWN0LnByb3RvdHlwZSk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0yOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlLWVmZmVjdHMgYXJlIHZpc2libGUgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgdmFyIGFyciA9IFtdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI5LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNpZGUtZWZmZWN0cyBhcmUgdmlzaWJsZSBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsKICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0zIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IE9iamVjdDsKICAgICAgICAgICAgcmV0dXJuIFtPYmplY3QucHJvdG90eXBlXS5sYXN0SW5kZXhPZihPYmplY3QucHJvdG90eXBlKSA9PT0gMDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0zMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdGVybWluYXRlcyBpdGVyYXRpb24gb24gdW5oYW5kbGVkIGV4Y2VwdGlvbiBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciBhcnIgPSBbXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBhcnIubGFzdEluZGV4T2YodHJ1ZSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIWFjY2Vzc2VkOwogICAgICAgIH0KCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-30"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTMxIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTMxLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7CiAgICAgICAgfQoKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-31"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybiAwID09PSBbTnVtYmVyXS5sYXN0SW5kZXhPZihOdW1iZXIpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyAwOiB0cnVlLCAxOiAxLCBsZW5ndGg6IDIgfSwgdHJ1ZSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOwogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSBmYWxzZTsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gInRydWUiOwogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YodHJ1ZSkgJiYKICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKGZhbHNlKSAmJgogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoInRydWUiKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSB0cnVlOwogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gZmFsc2U7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7CiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCB0cnVlKSAmJgogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgZmFsc2UpICYmCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAidHJ1ZSIpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOwogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFssICwgLCBdOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMCkgPT09IDAgJiYgYXJyLmxhc3RJbmRleE9mKDEpID09PSAxICYmIGFyci5sYXN0SW5kZXhPZigyKSA9PT0gMjsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB0eXBlIG9mIGFycmF5IGVsZW1lbnQgaXMgZGlmZmVyZW50IGZyb20gdHlwZSBvZiBzZWFyY2ggZWxlbWVudCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbInRydWUiXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gLTEgJiYKICAgICAgICAgICAgWyIwIl0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmCiAgICAgICAgICAgIFtmYWxzZV0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmCiAgICAgICAgICAgIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKDApID09PSAtMSAmJgogICAgICAgICAgICBbbnVsbF0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmCiAgICAgICAgICAgIFtbXV0ubGFzdEluZGV4T2YoMCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTEwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIGJvb2xlYW5zLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUiLAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbZmFsc2UsIHRydWVdLmxhc3RJbmRleE9mKHRydWUpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTExLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIE9iamVjdHMsIGFuZCB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCIsCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iajEgPSB7fTsKICAgICAgICB2YXIgb2JqMiA9IHt9OwogICAgICAgIHZhciBvYmozID0gb2JqMjsKICAgICAgICByZXR1cm4gW29iajIsIG9iajFdLmxhc3RJbmRleE9mKG9iajMpID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBzZWFyY2ggZWxlbWVudCBhcmUgVW5kZWZpbmVkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKCkgPT09IDAgJiYgW3VuZGVmaW5lZF0ubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-ii-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBzZWFyY2ggZWxlbWVudCBhcmUgTnVsbCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbbnVsbF0ubGFzdEluZGV4T2YobnVsbCkgPT09IDA7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-ii-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzZWFyY2ggZWxlbWVudCBpcyBOYU4iLAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbK05hTiwgTmFOLCAtTmFOXS5sYXN0SW5kZXhPZihOYU4pID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-ii-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzZWFyY2ggZWxlbWVudCBpcyAtTmFOIiwKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHJldHVybiBbK05hTiwgTmFOLCAtTmFOXS5sYXN0SW5kZXhPZigtTmFOKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-ii-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzICswIGFuZCBzZWFyY2ggZWxlbWVudCBpcyAtMCIsCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsrMF0ubGFzdEluZGV4T2YoLTApID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzIC0wIGFuZCBzZWFyY2ggZWxlbWVudCBpcyArMCIsCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFstMF0ubGFzdEluZGV4T2YoKzApID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBudW1iZXJzLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUiLAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbLTEsIDAsIDFdLmxhc3RJbmRleE9mKC0xKSA9PT0gMDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-ii-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBzdHJpbmdzLCBhbmQgdGhleSBoYXZlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyIsCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsiYWJjIiwgImFiIiwgImJjYSIsICIiXS5sYXN0SW5kZXhPZigiYWJjIikgPT09IDA7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-ii-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWlpLTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpaS0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGluZGV4IG9mIGxhc3Qgb25lIHdoZW4gbW9yZSB0aGFuIHR3byBlbGVtZW50cyBpbiBhcnJheSBhcmUgZWxpZ2libGUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gWzIsIDEsIDIsIDIsIDFdLmxhc3RJbmRleE9mKDIpID09PSAzOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-iii-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1paWktMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgd2l0aG91dCB2aXNpdGluZyBzdWJzZXF1ZW50IGVsZW1lbnQgb25jZSBzZWFyY2ggdmFsdWUgaXMgZm91bmQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciBhcnIgPSBbMiwgMSwgLCAxLCAyXTsKICAgICAgICB2YXIgZWxlbWVudEZpcnN0QWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnRGaXJzdEFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpOwogICAgICAgIHJldHVybiAhZWxlbWVudFRoaXJkQWNjZXNzZWQgJiYgIWVsZW1lbnRGaXJzdEFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-iii-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOS0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOS0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgZm9yIGVsZW1lbnRzIG5vdCBwcmVzZW50IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBhID0gbmV3IEFycmF5KCk7CiAgYVsxMDBdID0gMTsKICBhWzk5OTk5XSA9ICIiOyAgCiAgYVsxMF0gPSBuZXcgT2JqZWN0KCk7CiAgYVs1NTU1XSA9IDUuNTsKICBhWzEyMzQ1Nl0gPSAic3RyIjsKICBhWzVdID0gMUUrMzA5OwogIGlmIChhLmxhc3RJbmRleE9mKDEpICE9PSAxMDAgfHwKICAgICAgYS5sYXN0SW5kZXhPZigiIikgIT09IDk5OTk5IHx8CiAgICAgIGEubGFzdEluZGV4T2YoInN0ciIpICE9PSAxMjM0NTYgfHwKICAgICAgYS5sYXN0SW5kZXhPZig1LjUpICE9PSA1NTU1IHx8CiAgICAgIGEubGFzdEluZGV4T2YoMUUrMzA5KSAhPT0gNSApICAgICAgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0gICAgCiAgaWYgKGEubGFzdEluZGV4T2YodHJ1ZSkgPT09IC0xICYmIAogICAgICBhLmxhc3RJbmRleE9mKDUpID09PSAtMSAmJgogICAgICBhLmxhc3RJbmRleE9mKCJzdHIxIikgPT09IC0xICYmCiAgICAgIGEubGFzdEluZGV4T2YobnVsbCkgPT09IC0xICAmJgogICAgICBhLmxhc3RJbmRleE9mKG5ldyBPYmplY3QoKSkgPT09IC0xICkgCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-9-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOS0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgZG9lcyBub3QgYWNjZXNzIGFueSBvdGhlciBwcm9wZXJ0aWVzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogIHZhciBmID0ge2xlbmd0aDogMH07CiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsKICAKICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGYsMSk7CiAgCiAgaWYgKGkgPT09IC0xICYmIGFjY2Vzc2VkPT1mYWxzZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKIH0KfSk7Cg==","id":"15.4.4.15-9-2"}]}} \ No newline at end of file +{"testsCollection":{"name":"Chapter - 15.4.4.15","numTests":"193","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtMC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsKICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9Cn0pOwo=","id":"15.4.4.15-0-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtMC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGhhcyBhIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxLiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBpZiAoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCA9PT0gMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-0-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHVuZGVmaW5lZCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-1-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAyOwogICAgICAgICAgICBNYXRoWzFdID0gMTAwOwogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoTWF0aCwgMTAwKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7CiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-1-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBEYXRlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOwogICAgICAgIG9iai5sZW5ndGggPSAyOwogICAgICAgIG9ialsxXSA9IHRydWU7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-1-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTEyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCJhZmRhc2YiKTsKICAgICAgICBvYmoubGVuZ3RoID0gMTAwOwogICAgICAgIG9ialsxXSA9ICJhZmRhc2YiOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAiYWZkYXNmIikgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTEzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEpTT05bM10gPSB0YXJnZXRPYmo7CiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gNTsKICAgICAgICAgICAgcmV0dXJuIDMgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKEpTT04sIHRhcmdldE9iaik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEpTT05bM107CiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTeW50YXhFcnJvcigpOwogICAgICAgIG9iai5sZW5ndGggPSAyOwogICAgICAgIG9ialsxXSA9IEluZmluaXR5OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBJbmZpbml0eSkgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gZnVuKCkgewogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOwogICAgICAgIH0oMSwgMiwgMykpOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-1-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTE3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIGdsb2JhbCBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSBbImdsb2JhbCJdOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHRhcmdldE9iajsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAzOwogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-1-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3IiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChudWxsKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-1-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMV0gPSB0cnVlOwogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAyOwoKICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHRydWUsIHRydWUpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsKICAgICAgICBvYmoubGVuZ3RoID0gMjsKICAgICAgICBvYmpbMV0gPSB0cnVlOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-1-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVsxXSA9IGlzTmFOOwogICAgICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKDUsIGlzTmFOKTsKICAgICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzFdOwogICAgICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOwogICAgICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMyk7CiAgICAgICAgb2JqLmxlbmd0aCA9IDI7CiAgICAgICAgb2JqWzFdID0gdHJ1ZTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoImFiYyIsICJjIikgPT09IDI7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0xLTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMS04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygidW5kZWZpbmVkIik7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosICJmIikgPT09IDQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-1-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTEtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBhICsgYjsKICAgICAgICB9OwogICAgICAgIG9ialsxXSA9IHRydWU7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-1-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciBvYmogPSB7IDE6IG51bGwsIDI6IHVuZGVmaW5lZCwgbGVuZ3RoOiAyIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAxICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-2-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcHJvdG8gPSB7fTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMV0gPSAxOwogICAgICAgIGNoaWxkWzJdID0gMjsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCAxKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgMikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-2-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDEgfTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-2-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBwcm90byA9IHt9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMF0gPSB0cnVlOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyB1bmRlZmluZWQgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiBudWxsLCAxOiB1bmRlZmluZWQgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0yLTE1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsKCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0YXJnZXRPYmo7CiAgICAgICAgICAgIGlmIChBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopICE9PSAxKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB7fTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IHRhcmdldE9iajsKCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopID09PSAtMTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-2-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdGFyZ2V0T2JqKSA9PT0gMSAmJgogICAgICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMl0pID09PSAtMTsKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gZnVuYygwLCB0YXJnZXRPYmopOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMyI7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChzdHIsICIyIikgPT09IDIgJiYKICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHN0ciwgIjMiKSA9PT0gLTE7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBhICsgYjsKICAgICAgICB9OwogICAgICAgIG9ialsxXSA9ICJiIjsKICAgICAgICBvYmpbMl0gPSAiYyI7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBvYmpbMl0pID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-2-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSB0YXJnZXRPYmo7CgogICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqKSA9PT0gMSAmJgogICAgICAgICAgICAgICAgWzAsIDFdLmxhc3RJbmRleE9mKHRhcmdldE9iaikgPT09IC0xOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0yLTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHByb3RvID0ge2xlbmd0aDogMH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAyOwogICAgICAgIGNoaWxkWzFdID0gY2hpbGQ7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgY2hpbGQpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307CiAgICAgICAgdmFyIGFyclByb3RvTGVuOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7CiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5sYXN0SW5kZXhPZih0YXJnZXRPYmopID09PSAxOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-2-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0yLTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMi01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHByb3RvID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7CiAgICAgICAgICAgIHZhbHVlOiAyLAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKICAgICAgICBjaGlsZFsxXSA9IG51bGw7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgbnVsbCkgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-2-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9OwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMV0gPSAieCI7CiAgICAgICAgY2hpbGRbMl0gPSAieSI7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgIngiKSA9PT0gMSAmJgogICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsICJ5IikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogZmFsc2UgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDAgfTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkWzFdID0gZXZhbDsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCBldmFsKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTItOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHByb3RvID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-2-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDEsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTEwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IE5hTiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTExIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBwb3NpdGl2ZSBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gezE6IHRydWUsIDI6IGZhbHNlLCBsZW5ndGg6ICIyIn07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTEyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBuZWdhdGl2ZSBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gezE6IG51bGwsIDI6IHVuZGVmaW5lZCwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQifTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09IDEgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyA0OiA0LCA1OiA1LCBsZW5ndGg6ICI1LjUxMjM0NSIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgNCkgPT09IDQgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA1KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmpPbmUgPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIkluZmluaXR5IiB9OwogICAgICAgIHZhciBvYmpUd28gPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIitJbmZpbml0eSIgfTsKICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIi1JbmZpbml0eSIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IC0xICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9ialR3bywgdHJ1ZSkgPT09IC0xICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9ialRocmVlLCB0cnVlKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTE1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0gezIyOTogMjI5LCAyMzA6IDIuM0UyLCBsZW5ndGg6ICIyLjNFMiJ9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyMjkpID09PSAyMjkgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyLjNFMikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB3aGljaCBpcyBhYmxlIHRvIGJlIGNvbnZlcnRlZCBpbnRvIGhleCBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAyNTczOiAyNTczLCAyNTc0OiAweDAwMEEwRSwgbGVuZ3RoOiAiMHgwMDBBMEUiIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDI1NzMpID09PSAyNTczICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMHgwMDBBMEUpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogIjAwMDIuMCIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTE4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgdGFyZ2V0T2JqID0gbmV3IFN0cmluZygiMTIzYWJjMTIzIik7CiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIxMjNhYmMxMjMiIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdAogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCgogICAgICAgIHZhciB0YXJnZXRPYmogPSBmbkdsb2JhbE9iamVjdCgpOwogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDE6IHRhcmdldE9iaiwKICAgICAgICAgICAgMjogMiwKCiAgICAgICAgICAgIGxlbmd0aDogewogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm4gLTEgd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IHRydWUgfTsKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTIwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICAvL3ZhbHVlT2YgbWV0aG9kIHdpbGwgYmUgaW52b2tlZCBmaXJzdCwgc2luY2UgaGludCBpcyBOdW1iZXIKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAxOiB0cnVlLAogICAgICAgICAgICAyOiAyLAoKICAgICAgICAgICAgbGVuZ3RoOiB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMjEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHRoaXM7CiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgICAgMTogdGFyZ2V0T2JqLAogICAgICAgICAgICBsZW5ndGg6IHsKICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICczJzsKICAgICAgICAgICAgICAgIH0sCgogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTIyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbpJ0IHJldHVybiBwcmltaXRpdmUgdmFsdWVzIiwKICAgIAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAxOiB0cnVlLAogICAgICAgICAgICBsZW5ndGg6IHsKICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICAgICAgfSwKCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTIzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBhbiBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIHZhciBwcm90byA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgfTsKCiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgICAgMTogY2hpbGQsCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBjaGlsZCkgPT09IDEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtMjQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0yNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAxMjI6IHRydWUsIDEyMzogZmFsc2UsIGxlbmd0aDogMTIzLjUgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEyMiAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTI1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogZmFsc2UsIGxlbmd0aDogLTQyOTQ5NjcyOTQuNSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTI4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDA6IHRhcmdldE9iaiwKICAgICAgICAgICAgNDI5NDk2NzI5NDogdGFyZ2V0T2JqLAogICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5NgogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOyAvL3ZlcmlmeSBsZW5ndGggaXMgMCBmaW5hbGx5CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTI5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAwOiB0YXJnZXRPYmosCiAgICAgICAgICAgIDE6IDQyOTQ5NjcyOTcsCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5NwogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDAgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA0Mjk0OTY3Mjk3KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6ICJ1bmRlZmluZWQiLCBsZW5ndGg6IDAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgInVuZGVmaW5lZCIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCBsZW5ndGg6IC0wIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiArMCwgbGVuZ3RoOiArMCB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCArMCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-3-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIGEgcG9zaXRpdmUgbnVtYmVyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDk5OiB0cnVlLCAxMDA6IDEwMCwgbGVuZ3RoOiAxMDAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDk5ICYmCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMTAwKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBhIG5lZ2F0aXZlIG51bWJlcikiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyA0OiAtSW5maW5pdHksIDU6IEluZmluaXR5LCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgLUluZmluaXR5KSA9PT0gNCAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIEluZmluaXR5KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS0zLTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtMy04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IEluZmluaXR5IH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-3-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTMtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IC1JbmZpbml0eSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-3-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBpID0gW10ubGFzdEluZGV4T2YoNDIpOwogIGlmIChpID09PSAtMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-4-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTQtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAtNmUtMSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOwogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogLTZlLTEgfTsKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-4-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTQtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBlbXB0eSBzdHJpbmciLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsKICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIiIH07CiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-4-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIAogIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogbnVsbH0sIDEpOwogIAogIGlmIChpID09PSAtMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-4-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIAogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBmYWxzZX0sIDEpOwogIAogIGlmIChpID09PSAtMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-4-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoZ2VuZXJpYyAnYXJyYXknIHdpdGggbGVuZ3RoIDAgKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgZi5sZW5ndGggPSAwOwogIAogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiAwfSwgMSk7CiAgCiAgaWYgKGkgPT09IC0xKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-4-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6ICcwJ30sIDEpOwogIAogIGlmIChpID09PSAtMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-4-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAKIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogeyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319fSwgMSk7CiAgCiAgaWYgKGkgPT09IC0xKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-4-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBpcyBvYmplY3Qgb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07CiAgZi5sZW5ndGggPSBvOwogIAogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogeyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319fSwgMSk7CiAgCiAgaWYgKGkgPT09IC0xKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-4-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNC04IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNC04LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIGlzIGFuIGVtcHR5IGFycmF5KSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0OwogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZAogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUKICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgogIC8vCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywKICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaAogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcwogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwKICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLgogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBbIF19LCAxKTsKICAKICBpZiAoaSA9PT0gLTEpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-4-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTQtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYSBudW1iZXIgb2YgdmFsdWUgMC4xIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107CiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAwLjEgfTsKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-4-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIHN0cmluZyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMSk7CiAgaWYgKGEubGFzdEluZGV4T2YoMSwiMSIpID09PSAxICYmICAgICAgICAgIC8vICIxIiByZXNvbHZlcyB0byAxCiAgICAgIGEubGFzdEluZGV4T2YoMSwib25lIikgPT09IC0xKSB7ICAgICAgIC8vIE5hTiBzdHJpbmcgcmVzb2x2ZXMgdG8gMAogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-5-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IDEgJiYKICAgICAgICAgICAgWzAsIHRydWUsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAxICYmCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgLTIuNSkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgYXJyID0gW107CiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gbnVsbDsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZihudWxsLCBJbmZpbml0eSkgPT09IChNYXRoLnBvdygyLCAzMikgLSAyKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTEzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gW3RydWVdLmxhc3RJbmRleE9mKHRydWUsIC1JbmZpbml0eSkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIE5hTikgPT09IC0xICYmIC8vIGZyb20gSW5kZXggd2lsbCBiZSBjb252ZXJ0IHRvICswCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCBOYU4pID09PSAwICYmCiAgICAgICAgICAgIFswLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlLCAtTmFOKSA9PT0gLTEgJiYKICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9mKHRydWUsIC1OYU4pID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTE1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMCwgIi0yIiwgMl0ubGFzdEluZGV4T2YoIi0yIiwgIi0yIikgPT09IDEgJiYKICAgICAgICAgICAgWzAsIDIsICItMiJdLmxhc3RJbmRleE9mKCItMiIsICItMiIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIEluZmluaXR5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgYXJyID0gW107CiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gdHJ1ZTsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZih0cnVlLCAiSW5maW5pdHkiKSA9PT0gKE1hdGgucG93KDIsIDMyKSAtIDIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTE3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyAtSW5maW5pdHkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gW3RydWVdLmxhc3RJbmRleE9mKHRydWUsICItSW5maW5pdHkiKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgTmFOLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gMiAmJgogICAgICAgICAgICBbMCwgTmFOLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAyIikgPT09IDIgJiYKICAgICAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMiIpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGZsb2F0aW5nIHBvaW50IG51bWJlciIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7CiAgaWYgKGEubGFzdEluZGV4T2YoMiwxLjQ5KSA9PT0gMSAmJiAgICAvLyAxLjQ5IHJlc29sdmVzIHRvIDEKICAgICAgYS5sYXN0SW5kZXhPZigyLDAuNTEpID09PSAtMSAmJiAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDAKICAgICAgYS5sYXN0SW5kZXhPZigxLDAuNTEpID09PSAwKXsgICAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDAKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-5-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9OwogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAyICYmCiAgICAgICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIwMDAyLjEwIikgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhbiBPYmplY3QsIGFuZCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kIGZyb20gT2JqZWN0CiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICcyJzsKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgdmFyIHRhcmdldE9iaiA9IG5ldyBSZWdFeHAoKTsKCiAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IDIgJiYKICAgICAgICBbMCwgdHJ1ZSwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTIyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gb2JqZWN0LCBhbmQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmcm9tSW5kZXggPSB7CiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHt9OwogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpID09PSAyICYmCiAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTIzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIHZhciBmcm9tSW5kZXggPSB7CiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAnMSc7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIHt9OwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIFswLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3QgdGhhdCBib3RoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhbiBkb24ndCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIHZhciBmcm9tSW5kZXggPSB7CiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBbMCwgbnVsbF0ubGFzdEluZGV4T2YobnVsbCwgZnJvbUluZGV4KTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTI1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZSBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgdmFyIHByb3RvID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdGVwVHdvT2NjdXJzID0gZmFsc2U7CiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7CiAgICAgICAgdmFyIG9iaiA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHN0ZXBUd29PY2N1cnMgPSB0cnVlOwogICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gMjA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOwogICAgICAgICAgICByZXR1cm4gc3RlcFR3b09jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdGVwVGhyZWVPY2N1cnMgPSBmYWxzZTsKICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsKCiAgICAgICAgdmFyIG9iaiA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGhyZWVPY2N1cnMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RlcEZpdmVPY2N1cnMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3RlcCA1IG9jY3VycmVkIG91dCBvZiBvcmRlciIpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsKICAgICAgICAgICAgcmV0dXJuIHN0ZXBUaHJlZU9jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTI4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMSBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMjkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0yOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGJvb2xlYW4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOwogIGlmIChhLmxhc3RJbmRleE9mKDIsdHJ1ZSkgPT09IDEgJiYgICAgICAgIC8vIHRydWUgcmVzb2x2ZXMgdG8gMQogICAgIGEubGFzdEluZGV4T2YoMixmYWxzZSkgPT09IC0xICkgeyAgICAgIC8vIGZhbHNlIHJlc29sdmVzIHRvIDAKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-5-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMzAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-30"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMzEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAxICYmCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgMS41KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-31"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMzIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAtMi41KSA9PT0gMSAmJgogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAtMTsKCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-32"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtMzMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS0zMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBtYXRjaCBvbiB0aGUgZmlyc3QgZWxlbWVudCwgYSBtaWRkbGUgZWxlbWVudCBhbmQgdGhlIGxhc3QgZWxlbWVudCB3aGVuICdmcm9tSW5kZXgnIGlzIHBhc3NlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMCwgMCkgPT09IDAgJiYKICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDAsIDIpID09PSAwICYmCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigyLCAyKSA9PT0gMiAmJgogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgNCkgPT09IDIgJiYKICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDQsIDQpID09PSA0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-33"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIHVuZGVmaW5lZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7CiAgaWYgKGEubGFzdEluZGV4T2YoMix1bmRlZmluZWQpID09PSAtMSAmJgogICAgICBhLmxhc3RJbmRleE9mKDEsdW5kZWZpbmVkKSA9PT0gMCAgJiYKICAgICAgYS5sYXN0SW5kZXhPZigxKSA9PT0gMikgICB7ICAgIC8vIHVuZGVmaW5lZCByZXNvbHZlcyB0byAwLCBubyBzZWNvbmQgYXJndW1lbnQgcmVzb2x2ZXMgdG8gbGVuCiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-5-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNS01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIG51bGwiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOwogIGlmIChhLmxhc3RJbmRleE9mKDIsbnVsbCkgPT09IC0xICYmIGEubGFzdEluZGV4T2YoMSxudWxsKSA9PT0gMCkgeyAgICAgICAvLyBudWxsIHJlc29sdmVzIHRvIDAKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-5-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gJ2Zyb21JbmRleCcgaXNuJ3QgcGFzc2VkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOwogICAgICAgIC8vJ2Zyb21JbmRleCcgd2lsbCBiZSBzZXQgYXMgNCBpZiBub3QgcGFzc2VkIGJ5IGRlZmF1bHQKICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKDApID09PSBhcnIubGFzdEluZGV4T2YoMCwgNCkgJiYKICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpID09PSBhcnIubGFzdEluZGV4T2YoMiwgNCkgJiYKICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDQpID09PSBhcnIubGFzdEluZGV4T2YoNCwgNCk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFswLCAxMDBdLmxhc3RJbmRleE9mKDEwMCwgMCkgPT09IC0xICYmIC8vIHZlcmlmeSBmcm9tSW5kZXggaXMgbm90IG1vcmUgdGhhbiAwCiAgICAgICAgICAgIFsyMDAsIDBdLmxhc3RJbmRleE9mKDIwMCwgMCkgPT09IDA7IC8vIHZlcmlmeSBmcm9tSW5kZXggaXMgbm90IGxlc3MgdGhhbiAwCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-5-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTUtOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgKzApID09PSAtMSAmJgogICAgICAgICAgICBbdHJ1ZSwgMF0ubGFzdEluZGV4T2YodHJ1ZSwgKzApID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-5-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS01LTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNS05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gLTEgJiYKICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gMDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-5-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNi0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdoZW4gZnJvbUluZGV4IGdyZWF0ZXIgdGhhbiBBcnJheS5sZW5ndGgiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOwogIGlmIChhLmxhc3RJbmRleE9mKDMsNS40KSA9PT0gMiAmJiAgCiAgICAgYS5sYXN0SW5kZXhPZigzLDMuMSkgPT09IDIgKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-6-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigzLCAyKSA9PT0gMjsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KQoK","id":"15.4.4.15-6-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-6-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgYW5kICdsZW5ndGgnIGFyZSBib3RoIDAiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gW10ubGFzdEluZGV4T2YoMSwgMCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-6-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgMSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-6-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS02LTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNi02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAxIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigyLCAxKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KQoK","id":"15.4.4.15-6-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtNy0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHdpdGggbmVnYXRpdmUgZnJvbUluZGV4ICIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7CiAgCiAgaWYgKGEubGFzdEluZGV4T2YoMiwtMikgPT09IDEgJiYgIAogICAgICBhLmxhc3RJbmRleE9mKDIsLTMpID09PSAtMSAmJiAgCiAgICAgIGEubGFzdEluZGV4T2YoMSwtNS4zKSA9PT0gLTEgKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-7-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS03LTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAtMSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoNCwgLTEpID09PSAzOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-7-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS03LTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkgLSAxIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigzLCAtMykgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pCgo=","id":"15.4.4.15-7-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS03LTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtNy00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDIsIC00KSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSkKCg==","id":"15.4.4.15-7-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoYm9vbGVhbikiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gdHJ1ZX19OwogIHZhciBfZmFsc2UgPSBmYWxzZTsKICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx0cnVlLGZhbHNlLG9iaixfZmFsc2UsdHJ1ZSwidHJ1ZSIsIHVuZGVmaW5lZCwwLG51bGwsMSwic3RyIiwwLDEpOwogIGlmIChhLmxhc3RJbmRleE9mKHRydWUpID09PSA1ICYmICAvL2FbNV09dHJ1ZQogICAgICBhLmxhc3RJbmRleE9mKGZhbHNlKSA9PT0gNCkgICAgLy9hWzRdID1fZmFsc2UKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-8-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC0xMCIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMTAuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoTmFOKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgX05hTiA9IE5hTjsKICB2YXIgYSA9IG5ldyBBcnJheSgiTmFOIixfTmFOLE5hTiwgdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCx7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIE5hTn19LCJmYWxzZSIpOwogIGlmIChhLmxhc3RJbmRleE9mKE5hTikgPT09IC0xKSAgLy8gTmFOIG1hdGNoZXMgbm90aGluZywgbm90IGV2ZW4gaXRzZWxmCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LTExIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdGhlIGxlbmd0aCBvZiBpdGVyYXRpb24gaXNuJ3QgY2hhbmdlZCBieSBhZGRpbmcgZWxlbWVudHMgdG8gdGhlIGFycmF5IGR1cmluZyBpdGVyYXRpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzIwXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYXJyWzFdID0gMTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigxKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoTnVtYmVyKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAwfX07CiAgdmFyIG9uZSA9IDE7CiAgdmFyIF9mbG9hdCA9IC0oNC8zKTsKICB2YXIgYSA9IG5ldyBBcnJheSgrMCx0cnVlLDAsLTAsIGZhbHNlLHVuZGVmaW5lZCxudWxsLCIwIixvYmosIF9mbG9hdCwtKDQvMyksLTEuMzMzMzMzMzMzMzMzMywic3RyIixvbmUsIDEsIGZhbHNlKTsKICBpZiAoYS5sYXN0SW5kZXhPZigtKDQvMykpID09PSAxMCAmJiAgICAgIC8vIGFbMTBdPS0oNC8zKQogICAgICBhLmxhc3RJbmRleE9mKDApID09PSAzICAgICAgICYmICAgICAgIC8vIGFbM10gPSAtMCwgYnV0IHVzaW5nID09PSAtMCBhbmQgMCBhcmUgZXF1YWwKICAgICAgYS5sYXN0SW5kZXhPZigtMCkgPT09MyAgICAgICAmJiAgICAgIC8vIGFbM10gPSAtMAogICAgICBhLmxhc3RJbmRleE9mKDEpID09PSAxNCApICAgICAgICAgICAgLy8gYVsxNF0gPSAxCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoc3RyaW5nKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX07CiAgdmFyIHN6RmFsc2UgPSAiZmFsc2UiOwogIHZhciBhID0gbmV3IEFycmF5KHN6RmFsc2UsICJmYWxzZSIsImZhbHNlMSIsdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwKTsKICBpZiAoYS5sYXN0SW5kZXhPZigiZmFsc2UiKSA9PT0gMSkgCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgodW5kZWZpbmVkKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiB1bmRlZmluZWQ7fX07CiAgdmFyIF91bmRlZmluZWQxID0gdW5kZWZpbmVkOwogIHZhciBfdW5kZWZpbmVkMjsKICB2YXIgYSA9IG5ldyBBcnJheShfdW5kZWZpbmVkMSxfdW5kZWZpbmVkMix1bmRlZmluZWQsdHJ1ZSwwLGZhbHNlLG51bGwsMSwidW5kZWZpbmVkIixvYmosMSk7CiAgaWYgKGEubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMikgCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoT2JqZWN0KSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgb2JqMSA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19OwogIHZhciBvYmoyID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX07CiAgdmFyIG9iajMgPSBvYmoxOwogIHZhciBhID0gbmV3IEFycmF5KG9iajIsb2JqMSxvYmozLGZhbHNlLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwse3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX0sImZhbHNlIik7CiAgaWYgKGEubGFzdEluZGV4T2Yob2JqMykgPT09IDIpIAogIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-8-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgobnVsbCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gbnVsbH19OwogIHZhciBfbnVsbCA9IG51bGw7CiAgdmFyIGEgPSBuZXcgQXJyYXkodHJ1ZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLDEsInN0ciIsMCwxLG51bGwsdHJ1ZSxmYWxzZSx1bmRlZmluZWQsX251bGwsIm51bGwiLHVuZGVmaW5lZCwic3RyIixvYmopOwogIGlmIChhLmxhc3RJbmRleE9mKG51bGwpID09PSAxMyApIAogIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-8-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKHNlbGYgcmVmZXJlbmNlKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgIAogIGFbMl0gPSBhOwogIGlmIChhLmxhc3RJbmRleE9mKGEpID09PSAyICYmICAKICAgICAgYS5sYXN0SW5kZXhPZigzKSA9PT0gMyApIAogIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKIH0KfSk7Cg==","id":"15.4.4.15-8-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC04IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC04LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKEFycmF5KSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICB2YXIgYiA9IG5ldyBBcnJheSgiMCwxIik7ICAKICB2YXIgYSA9IG5ldyBBcnJheSgwLGIsIjAsMSIsMyk7ICAKICBpZiAoYS5sYXN0SW5kZXhPZihiLnRvU3RyaW5nKCkpID09PSAyICYmICAKICAgICAgYS5sYXN0SW5kZXhPZigiMCwxIikgPT09IDIgKSAKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiB9Cn0pOwo=","id":"15.4.4.15-8-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOC05IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC05LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKFNwYXJzZSBBcnJheSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxKTsgIAogIGFbNDI5NDk2NzI5NF0gPSAyOyAgICAgICAgICAvLyAyXjMyLTIgLSBpcyBtYXggYXJyYXkgZWxlbWVudCBpbmRleAogIGFbNDI5NDk2NzI5NV0gPSAzOyAgICAgICAgICAvLyAyXjMyLTEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkKICBhWzQyOTQ5NjcyOTZdID0gNDsgICAgICAgICAgLy8gMl4zMiAgIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5CiAgYVs0Mjk0OTY3Mjk3XSA9IDU7ICAgICAgICAgIC8vIDJeMzIrMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQogIC8vIHN0b3Agc2VhcmNoaW5nIG5lYXIgdGhlIGVuZCBpbiBjYXNlIGltcGxlbWVudGF0aW9uIGFjdHVhbGx5IHRyaWVzIHRvIHRlc3QgYWxsIG1pc3NpbmcgZWxlbWVudHMhIQogIGFbNDI5NDk2NzIwMF0gPSAzOyAgICAgICAgICAKICBhWzQyOTQ5NjcyMDFdID0gNDsgICAgICAgICAKICBhWzQyOTQ5NjcyMDJdID0gNTsgICAgICAgICAKCgogIHJldHVybiAoYS5sYXN0SW5kZXhPZigyKSA9PT0gNDI5NDk2NzI5NCAmJiAgICAKICAgICAgYS5sYXN0SW5kZXhPZigzKSA9PT0gNDI5NDk2NzIwMCAmJgogICAgICBhLmxhc3RJbmRleE9mKDQpID09PSA0Mjk0OTY3MjAxICYmCiAgICAgIGEubGFzdEluZGV4T2YoNSkgPT09IDQyOTQ5NjcyMDIpIDsKICAgfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-8-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0geyB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOwogICAgICAgICAgICAgICAgcmV0dXJuIDM7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAibGVuZ3RoIik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgewogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoNi45OSkgPT09IDE7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMjAwIH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEwMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgNi45OSk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgMywgNF07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiNi45OSIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAxKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsKICAgICAgICAgICAgcmV0dXJuIC0xID09PSBhcnIubGFzdEluZGV4T2YoMSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0geyAwOiAwLCAxOiAxMTEsIDI6IDIsIGxlbmd0aDogMTAgfTsKICAgICAgICAKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsKICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgMSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzAsIDExMSwgMl07IAogICAgICAgIAogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIHJldHVybiAxID09PSBhcnIubGFzdEluZGV4T2YoMSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiLCA0XTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKCJsYXN0Iik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIDIgPT09IGFyci5sYXN0SW5kZXhPZigicHJvdG90eXBlIik7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0xOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsKICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIDIgPT09IGFyci5sYXN0SW5kZXhPZigidW5jb25maWd1cmFibGUiKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0yIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAzMCB9OwogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07CgogICAgICAgIHZhciBmcm9tSW5kZXggPSB7CiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFycls0XSA9IHRhcmdldE9iajsKICAgICAgICAgICAgICAgIHJldHVybiAxMDsKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgCiAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgdGFyZ2V0T2JqLCBmcm9tSW5kZXgpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS0zIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFtdOwogICAgICAgIGFyci5sZW5ndGggPSAzMDsKICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9OwoKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7CiAgICAgICAgICAgICAgICByZXR1cm4gMTE7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gNCA9PT0gYXJyLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS00IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5IH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsKICAgICAgICAgICAgICAgIHJldHVybiAzOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDYuOTkpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0geyAxMDogZmFsc2UsIGxlbmd0aDogMzAgfTsKCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxMF07CiAgICAgICAgICAgICAgICByZXR1cm4gMTU7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgZmFsc2UsIGZyb21JbmRleCk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS02IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gW107CiAgICAgICAgYXJyWzEwXSA9ICIxMCI7CiAgICAgICAgYXJyLmxlbmd0aCA9IDIwOwoKICAgICAgICB2YXIgZnJvbUluZGV4ID0gewogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsKICAgICAgICAgICAgICAgIHJldHVybiAxMTsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKCIxMCIsIGZyb21JbmRleCk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-a-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgIAogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogOCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAxKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-a-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS04IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKDEpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYS05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogOSB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7CiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIEluZmluaXR5KSA9PT0gMTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-a-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB1bmRlZmluZWQgcHJvcGVydHkgd291bGRuJ3QgYmUgY2FsbGVkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFswLCAsIDJdLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAyOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTEwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMyB9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApICYmCiAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgJiYKICAgICAgICAgICAgMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gW107CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gZmFsc2U7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIDAgPT09IGFyci5sYXN0SW5kZXhPZih0cnVlKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOyAKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTEyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFtdOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIDAgPT09IGFyci5sYXN0SW5kZXhPZih0cnVlKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE0LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDEgfTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigxMCkgJiYKICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKDIwKSAmJgogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMzApOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTE2IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE2LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIyIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAxMCkgJiYKICAgICAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDIwKSAmJgogICAgICAgICAgICAgICAgMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgMzApOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOwogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0xNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbXTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTE4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE4LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7CiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTE5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE5LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9OwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KDApICYmIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgcmV0dXJuIFt0cnVlLCB0cnVlLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMiAmJgogICAgICAgICAgICBbdHJ1ZSwgdHJ1ZSwgZmFsc2VdLmxhc3RJbmRleE9mKHRydWUpID09PSAxICYmCiAgICAgICAgICAgIFt0cnVlLCBmYWxzZSwgZmFsc2VdLmxhc3RJbmRleE9mKHRydWUpID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTIwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhcnIgPSBbLCAxXTsKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnIubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0yMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7CiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgcmV0dXJuIFssIF0ubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiAhWywgMV0uaGFzT3duUHJvcGVydHkoMCkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTIyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMSB9LCB1bmRlZmluZWQpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0yMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSB0YXJnZXRPYmo7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMTAwXSA9ICIxMDAiOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzIwMF0gPSAiMjAwIjsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyMDA7CiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopICYmCiAgICAgICAgICAgICAgICAxMDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIxMDAiKSAmJgogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIyMDAiKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMTAwXTsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMjAwXTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI1LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJgogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKTsKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gZnVuYyh0cnVlKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI2IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI2LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIHRvIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJgogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMV0pICYmCiAgICAgICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMl0pOwogICAgICAgIH07CgogICAgICAgIHJldHVybiBmdW5jKDAsIHRydWUpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI3LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIDIgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJgogICAgICAgICAgICAgICAgMyA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbM10pICYmCiAgICAgICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbNF0pOwogICAgICAgIH07CgogICAgICAgIHJldHVybiBmdW5jKDAsIGFyZ3VtZW50cywgMCwgT2JqZWN0LnByb3RvdHlwZSk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0yOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlLWVmZmVjdHMgYXJlIHZpc2libGUgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgdmFyIGFyciA9IFtdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTI5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI5LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNpZGUtZWZmZWN0cyBhcmUgdmlzaWJsZSBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsKICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0zIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IE9iamVjdDsKICAgICAgICAgICAgcmV0dXJuIFtPYmplY3QucHJvdG90eXBlXS5sYXN0SW5kZXhPZihPYmplY3QucHJvdG90eXBlKSA9PT0gMDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS0zMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdGVybWluYXRlcyBpdGVyYXRpb24gb24gdW5oYW5kbGVkIGV4Y2VwdGlvbiBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciBhcnIgPSBbXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBhcnIubGFzdEluZGV4T2YodHJ1ZSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIWFjY2Vzc2VkOwogICAgICAgIH0KCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-30"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTMxIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTMxLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7CiAgICAgICAgfQoKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-31"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybiAwID09PSBbTnVtYmVyXS5sYXN0SW5kZXhPZihOdW1iZXIpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-i-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyAwOiB0cnVlLCAxOiAxLCBsZW5ndGg6IDIgfSwgdHJ1ZSk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOwogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSBmYWxzZTsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gInRydWUiOwogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YodHJ1ZSkgJiYKICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKGZhbHNlKSAmJgogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoInRydWUiKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1pLTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWktOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSB0cnVlOwogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gZmFsc2U7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7CiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCB0cnVlKSAmJgogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgZmFsc2UpICYmCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAidHJ1ZSIpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOwogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-i-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaS05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFssICwgLCBdOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMCkgPT09IDAgJiYgYXJyLmxhc3RJbmRleE9mKDEpID09PSAxICYmIGFyci5sYXN0SW5kZXhPZigyKSA9PT0gMjsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-i-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB0eXBlIG9mIGFycmF5IGVsZW1lbnQgaXMgZGlmZmVyZW50IGZyb20gdHlwZSBvZiBzZWFyY2ggZWxlbWVudCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbInRydWUiXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gLTEgJiYKICAgICAgICAgICAgWyIwIl0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmCiAgICAgICAgICAgIFtmYWxzZV0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmCiAgICAgICAgICAgIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKDApID09PSAtMSAmJgogICAgICAgICAgICBbbnVsbF0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmCiAgICAgICAgICAgIFtbXV0ubGFzdEluZGV4T2YoMCkgPT09IC0xOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTEwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIGJvb2xlYW5zLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUiLAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbZmFsc2UsIHRydWVdLmxhc3RJbmRleE9mKHRydWUpID09PSAxOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpLTExLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIE9iamVjdHMsIGFuZCB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCIsCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iajEgPSB7fTsKICAgICAgICB2YXIgb2JqMiA9IHt9OwogICAgICAgIHZhciBvYmozID0gb2JqMjsKICAgICAgICByZXR1cm4gW29iajIsIG9iajFdLmxhc3RJbmRleE9mKG9iajMpID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBzZWFyY2ggZWxlbWVudCBhcmUgVW5kZWZpbmVkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKCkgPT09IDAgJiYgW3VuZGVmaW5lZF0ubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-ii-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBzZWFyY2ggZWxlbWVudCBhcmUgTnVsbCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbbnVsbF0ubGFzdEluZGV4T2YobnVsbCkgPT09IDA7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-ii-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzZWFyY2ggZWxlbWVudCBpcyBOYU4iLAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbK05hTiwgTmFOLCAtTmFOXS5sYXN0SW5kZXhPZihOYU4pID09PSAtMTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-ii-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzZWFyY2ggZWxlbWVudCBpcyAtTmFOIiwKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHJldHVybiBbK05hTiwgTmFOLCAtTmFOXS5sYXN0SW5kZXhPZigtTmFOKSA9PT0gLTE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-ii-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzICswIGFuZCBzZWFyY2ggZWxlbWVudCBpcyAtMCIsCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsrMF0ubGFzdEluZGV4T2YoLTApID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzIC0wIGFuZCBzZWFyY2ggZWxlbWVudCBpcyArMCIsCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFstMF0ubGFzdEluZGV4T2YoKzApID09PSAwOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-ii-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBudW1iZXJzLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUiLAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHJldHVybiBbLTEsIDAsIDFdLmxhc3RJbmRleE9mKC0xKSA9PT0gMDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZik7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-ii-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWktOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBzdHJpbmdzLCBhbmQgdGhleSBoYXZlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyIsCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgcmV0dXJuIFsiYWJjIiwgImFiIiwgImJjYSIsICIiXS5sYXN0SW5kZXhPZigiYWJjIikgPT09IDA7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogICAgfQoKfSk7Cg==","id":"15.4.4.15-8-b-ii-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKCiAgICBpZDogIjE1LjQuNC4xNS04LWItaWlpLTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC1iLWlpaS0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGluZGV4IG9mIGxhc3Qgb25lIHdoZW4gbW9yZSB0aGFuIHR3byBlbGVtZW50cyBpbiBhcnJheSBhcmUgZWxpZ2libGUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICByZXR1cm4gWzIsIDEsIDIsIDIsIDFdLmxhc3RJbmRleE9mKDIpID09PSAzOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKTsKICAgIH0KCn0pOwo=","id":"15.4.4.15-8-b-iii-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjE1LTgtYi1paWktMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgd2l0aG91dCB2aXNpdGluZyBzdWJzZXF1ZW50IGVsZW1lbnQgb25jZSBzZWFyY2ggdmFsdWUgaXMgZm91bmQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciBhcnIgPSBbMiwgMSwgLCAxLCAyXTsKICAgICAgICB2YXIgZWxlbWVudEZpcnN0QWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnRGaXJzdEFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpOwogICAgICAgIHJldHVybiAhZWxlbWVudFRoaXJkQWNjZXNzZWQgJiYgIWVsZW1lbnRGaXJzdEFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.15-8-b-iii-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOS0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOS0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgZm9yIGVsZW1lbnRzIG5vdCBwcmVzZW50IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBhID0gbmV3IEFycmF5KCk7CiAgYVsxMDBdID0gMTsKICBhWzk5OTk5XSA9ICIiOyAgCiAgYVsxMF0gPSBuZXcgT2JqZWN0KCk7CiAgYVs1NTU1XSA9IDUuNTsKICBhWzEyMzQ1Nl0gPSAic3RyIjsKICBhWzVdID0gMUUrMzA5OwogIGlmIChhLmxhc3RJbmRleE9mKDEpICE9PSAxMDAgfHwKICAgICAgYS5sYXN0SW5kZXhPZigiIikgIT09IDk5OTk5IHx8CiAgICAgIGEubGFzdEluZGV4T2YoInN0ciIpICE9PSAxMjM0NTYgfHwKICAgICAgYS5sYXN0SW5kZXhPZig1LjUpICE9PSA1NTU1IHx8CiAgICAgIGEubGFzdEluZGV4T2YoMUUrMzA5KSAhPT0gNSApICAgICAgCiAgewogICAgcmV0dXJuIGZhbHNlOwogIH0gICAgCiAgaWYgKGEubGFzdEluZGV4T2YodHJ1ZSkgPT09IC0xICYmIAogICAgICBhLmxhc3RJbmRleE9mKDUpID09PSAtMSAmJgogICAgICBhLmxhc3RJbmRleE9mKCJzdHIxIikgPT09IC0xICYmCiAgICAgIGEubGFzdEluZGV4T2YobnVsbCkgPT09IC0xICAmJgogICAgICBhLmxhc3RJbmRleE9mKG5ldyBPYmplY3QoKSkgPT09IC0xICkgCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpOwogfQp9KTsK","id":"15.4.4.15-9-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMTUtOS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOS0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgZG9lcyBub3QgYWNjZXNzIGFueSBvdGhlciBwcm9wZXJ0aWVzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogIHZhciBmID0ge2xlbmd0aDogMH07CiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsKICAKICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGYsMSk7CiAgCiAgaWYgKGkgPT09IC0xICYmIGFjY2Vzc2VkPT1mYWxzZSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKIH0KfSk7Cg==","id":"15.4.4.15-9-2"}]}} \ No newline at end of file diff --git a/website/resources/scripts/testcases/testcaseslist.json b/website/resources/scripts/testcases/testcaseslist.json index 47fa945c36..ab9ee389ce 100644 --- a/website/resources/scripts/testcases/testcaseslist.json +++ b/website/resources/scripts/testcases/testcaseslist.json @@ -1 +1 @@ -{"date":"2011-07-07","numTests":10942,"testSuite":["resources/scripts/testcases/07_Lexical_Conventions.json","resources/scripts/testcases/08_Types.json","resources/scripts/testcases/09_Type_Conversion.json","resources/scripts/testcases/10_Execution_Contexts.json","resources/scripts/testcases/11.10_Binary_Bitwise_Operators.json","resources/scripts/testcases/11.11_Binary_Logical_Operators.json","resources/scripts/testcases/11.12_Conditional_Operator.json","resources/scripts/testcases/11.13_Assignment_Operators.json","resources/scripts/testcases/11.14_Comma_Operator.json","resources/scripts/testcases/11.1_Primary_Expressions.json","resources/scripts/testcases/11.2_Left_Hand_Side_Expressions.json","resources/scripts/testcases/11.3_PostfixExpressions.json","resources/scripts/testcases/11.4_Unary_Operators.json","resources/scripts/testcases/11.5_Multiplicative_Operators.json","resources/scripts/testcases/11.6_Additive_Operators.json","resources/scripts/testcases/11.7_Bitwise_Shift_Operators.json","resources/scripts/testcases/11.8_Relational_Operators.json","resources/scripts/testcases/11.9_Equality_Operators.json","resources/scripts/testcases/12_Statement.json","resources/scripts/testcases/13_Function_Definition.json","resources/scripts/testcases/14_Program.json","resources/scripts/testcases/15.10_RegExp_Objects.json","resources/scripts/testcases/15.11_Error_Objects.json","resources/scripts/testcases/15.12_The_JSON_Object.json","resources/scripts/testcases/15.1_The_Global_Object.json","resources/scripts/testcases/15.2_Object_Objects.json","resources/scripts/testcases/15.3_Function_Objects.json","resources/scripts/testcases/15.4_Array_Objects.json","resources/scripts/testcases/15.5_String_Objects.json","resources/scripts/testcases/15.6_Boolean_Objects.json","resources/scripts/testcases/15.7_Number_Objects.json","resources/scripts/testcases/15.8_The_Math_Object.json","resources/scripts/testcases/15.9_Date_Objects.json","resources/scripts/testcases/chapter07.json","resources/scripts/testcases/chapter08.json","resources/scripts/testcases/chapter10.json","resources/scripts/testcases/chapter11.json","resources/scripts/testcases/chapter12.json","resources/scripts/testcases/chapter13.json","resources/scripts/testcases/chapter14.json","resources/scripts/testcases/15.1.json","resources/scripts/testcases/15.10.json","resources/scripts/testcases/15.11.json","resources/scripts/testcases/15.12.json","resources/scripts/testcases/15.2.3.1.json","resources/scripts/testcases/15.2.3.10.json","resources/scripts/testcases/15.2.3.11.json","resources/scripts/testcases/15.2.3.12.json","resources/scripts/testcases/15.2.3.13.json","resources/scripts/testcases/15.2.3.14.json","resources/scripts/testcases/15.2.3.2.json","resources/scripts/testcases/15.2.3.3.json","resources/scripts/testcases/15.2.3.4.json","resources/scripts/testcases/15.2.3.5.json","resources/scripts/testcases/15.2.3.6.json","resources/scripts/testcases/15.2.3.7.json","resources/scripts/testcases/15.2.3.8.json","resources/scripts/testcases/15.2.3.9.json","resources/scripts/testcases/15.2.4.json","resources/scripts/testcases/15.3.json","resources/scripts/testcases/15.4.3.json","resources/scripts/testcases/15.4.4.10.json","resources/scripts/testcases/15.4.4.12.json","resources/scripts/testcases/15.4.4.14.json","resources/scripts/testcases/15.4.4.15.json","resources/scripts/testcases/15.4.4.16.json","resources/scripts/testcases/15.4.4.17.json","resources/scripts/testcases/15.4.4.18.json","resources/scripts/testcases/15.4.4.19.json","resources/scripts/testcases/15.4.4.20.json","resources/scripts/testcases/15.4.4.21.json","resources/scripts/testcases/15.4.4.22.json","resources/scripts/testcases/15.4.4.4.json","resources/scripts/testcases/15.4.5.json","resources/scripts/testcases/15.5.json","resources/scripts/testcases/15.7.json","resources/scripts/testcases/15.9.json"],"version":"0.7.5.2"} \ No newline at end of file +{"date":"2011-07-08","numTests":10945,"testSuite":["resources/scripts/testcases/07_Lexical_Conventions.json","resources/scripts/testcases/08_Types.json","resources/scripts/testcases/09_Type_Conversion.json","resources/scripts/testcases/10_Execution_Contexts.json","resources/scripts/testcases/11.10_Binary_Bitwise_Operators.json","resources/scripts/testcases/11.11_Binary_Logical_Operators.json","resources/scripts/testcases/11.12_Conditional_Operator.json","resources/scripts/testcases/11.13_Assignment_Operators.json","resources/scripts/testcases/11.14_Comma_Operator.json","resources/scripts/testcases/11.1_Primary_Expressions.json","resources/scripts/testcases/11.2_Left_Hand_Side_Expressions.json","resources/scripts/testcases/11.3_PostfixExpressions.json","resources/scripts/testcases/11.4_Unary_Operators.json","resources/scripts/testcases/11.5_Multiplicative_Operators.json","resources/scripts/testcases/11.6_Additive_Operators.json","resources/scripts/testcases/11.7_Bitwise_Shift_Operators.json","resources/scripts/testcases/11.8_Relational_Operators.json","resources/scripts/testcases/11.9_Equality_Operators.json","resources/scripts/testcases/12_Statement.json","resources/scripts/testcases/13_Function_Definition.json","resources/scripts/testcases/14_Program.json","resources/scripts/testcases/15.10_RegExp_Objects.json","resources/scripts/testcases/15.11_Error_Objects.json","resources/scripts/testcases/15.12_The_JSON_Object.json","resources/scripts/testcases/15.1_The_Global_Object.json","resources/scripts/testcases/15.2_Object_Objects.json","resources/scripts/testcases/15.3_Function_Objects.json","resources/scripts/testcases/15.4_Array_Objects.json","resources/scripts/testcases/15.5_String_Objects.json","resources/scripts/testcases/15.6_Boolean_Objects.json","resources/scripts/testcases/15.7_Number_Objects.json","resources/scripts/testcases/15.8_The_Math_Object.json","resources/scripts/testcases/15.9_Date_Objects.json","resources/scripts/testcases/chapter07.json","resources/scripts/testcases/chapter08.json","resources/scripts/testcases/chapter10.json","resources/scripts/testcases/chapter11.json","resources/scripts/testcases/chapter12.json","resources/scripts/testcases/chapter13.json","resources/scripts/testcases/chapter14.json","resources/scripts/testcases/15.1.json","resources/scripts/testcases/15.10.json","resources/scripts/testcases/15.11.json","resources/scripts/testcases/15.12.json","resources/scripts/testcases/15.2.3.1.json","resources/scripts/testcases/15.2.3.10.json","resources/scripts/testcases/15.2.3.11.json","resources/scripts/testcases/15.2.3.12.json","resources/scripts/testcases/15.2.3.13.json","resources/scripts/testcases/15.2.3.14.json","resources/scripts/testcases/15.2.3.2.json","resources/scripts/testcases/15.2.3.3.json","resources/scripts/testcases/15.2.3.4.json","resources/scripts/testcases/15.2.3.5.json","resources/scripts/testcases/15.2.3.6.json","resources/scripts/testcases/15.2.3.7.json","resources/scripts/testcases/15.2.3.8.json","resources/scripts/testcases/15.2.3.9.json","resources/scripts/testcases/15.2.4.json","resources/scripts/testcases/15.3.json","resources/scripts/testcases/15.4.3.json","resources/scripts/testcases/15.4.4.10.json","resources/scripts/testcases/15.4.4.12.json","resources/scripts/testcases/15.4.4.14.json","resources/scripts/testcases/15.4.4.15.json","resources/scripts/testcases/15.4.4.16.json","resources/scripts/testcases/15.4.4.17.json","resources/scripts/testcases/15.4.4.18.json","resources/scripts/testcases/15.4.4.19.json","resources/scripts/testcases/15.4.4.20.json","resources/scripts/testcases/15.4.4.21.json","resources/scripts/testcases/15.4.4.22.json","resources/scripts/testcases/15.4.4.4.json","resources/scripts/testcases/15.4.5.json","resources/scripts/testcases/15.5.json","resources/scripts/testcases/15.7.json","resources/scripts/testcases/15.9.json"],"version":"0.7.5.3"} \ No newline at end of file