TW9kdWxlTmVzdGVkQ29uc3RyYWludHNDaGVjayB7IGlzbyBvcmcoMykgZG9kKDYpIGludGVybmV0KDEpIHByaXZhdGUoNCkKCWVudGVycHJpc2UoMSkgc3BlbGlvKDkzNjMpIHNvZnR3YXJlKDEpIGFzbjFjKDUpIHRlc3QoMSkgNTAgMSB9CkRFRklOSVRJT05TIDo6PQpCRUdJTgoKSW50MSA6Oj0gSU5URUdFUgotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEludDEpOiAoTUlOLi5NQVgpICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoTUlOLi5NQVgpICAKCkludDIgOjo9IEludDEgKDAuLk1BWCkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgwLi5NQVgpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6ICgwLi5NQVgpICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoMC4uTUFYKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDAuLk1BWCkgIAoKSW50MyA6Oj0gSW50MiAoTUlOLi4xMCkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgwLi5NQVgpKE1JTi4uMTApCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6ICgwLi4xMCkgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICgwLi4xMCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICgwLi4xMCkgIAoKSW50NCA6Oj0gSW50MyAoNS4uTUFYLC4uLiwxLi40KQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKDAuLk1BWCkoTUlOLi4xMCkoNS4uTUFYLC4uLiwxLi40KQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEludDEpOiAoMS4uMTAsLi4uKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDAuLjEwKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDEuLjEwLC4uLikgIAoKSW50NSA6Oj0gSW50NCAoTUlOLi41KQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKDAuLk1BWCkoTUlOLi4xMCkoNS4uTUFYKShNSU4uLjUpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6ICg1KSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDUpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoNSkgIAoKdGVuIEludDEgOjo9IDEwCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAoKb3RoZXItdGVuIEludDIgOjo9IDEwCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAoKRXh0ZW5zaWJsZUV4dGVuc2lvbnMgOjo9IElOVEVHRVIgKCgxLi4yNTYsLi4uKSBeICgxLi4yNTYpKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKCgxLi4yNTYsLi4uKSBeICgxLi4yNTYpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEV4dGVuc2libGVFeHRlbnNpb25zKTogKDEuLjI1NiwuLi4pICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEV4dGVuc2libGVFeHRlbnNpb25zKTogKDEuLjI1NikgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoRXh0ZW5zaWJsZUV4dGVuc2lvbnMpOiAoMS4uMjU2LC4uLikgIAoKU3RyMSA6Oj0gSUE1U3RyaW5nCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoU3RyMSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIgAiLi4ifyIpKQotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU3RyMSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChTdHIxKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiACIuLiJ/IikpCgpTdHIyIDo6PSBTdHIxIChTSVpFKE1JTi4uMjAgfCAyNS4uMzApKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKFNJWkUoTUlOLi4yMCB8IDI1Li4zMCkpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoU3RyMSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uMjAgfCAyNS4uMzApKSAoRlJPTSgiACIuLiJ/IikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChTdHIxKTogKE1JTi4uTUFYKSAoU0laRSgwLi4yMCB8IDI1Li4zMCkpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU3RyMSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uMjAgfCAyNS4uMzApKSAoRlJPTSgiACIuLiJ/IikpCgpTdHIzIDo6PSBTdHIyIChTSVpFKDEwLi4yNykpKEZST00oIkFCQyIgfCAiZGVmIikpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoU0laRShNSU4uLjIwIHwgMjUuLjMwKSkoU0laRSgxMC4uMjcpKShGUk9NKCJBQkMiIHwgImRlZiIpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFN0cjEpOiAoTUlOLi5NQVgpIChTSVpFKDEwLi4yMCB8IDI1Li4yNykpIChGUk9NKCJBIi4uIkMiIHwgImQiLi4iZiIpKQotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU3RyMSk6IChNSU4uLk1BWCkgKFNJWkUoMTAuLjIwIHwgMjUuLjI3KSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChTdHIxKTogKE1JTi4uTUFYKSAoU0laRSgxMC4uMjAgfCAyNS4uMjcpKSAoRlJPTSgiQSIuLiJDIiB8ICJkIi4uImYiKSkKClN0cjQgOjo9IElBNVN0cmluZyAoIkFCQ0QiIHwgU0laRSg0KSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgiQUJDRCIgfCBTSVpFKDQpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFN0cjQpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCIAIi4uIn8iKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFN0cjQpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU3RyNCk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIgAiLi4ifyIpKQoKUEVSLVZpc2libGUgOjo9IElBNVN0cmluZyAoRlJPTSgiQSIuLiJGIikpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoRlJPTSgiQSIuLiJGIikpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCJBIi4uIkYiKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJGIikpCgpQRVItVmlzaWJsZS0yIDo6PSBQRVItVmlzaWJsZSAoRlJPTSgiRSIuLiJGIikpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoRlJPTSgiQSIuLiJGIikpKEZST00oIkUiLi4iRiIpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiRSIuLiJGIikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIkUiLi4iRiIpKQoKTm90LVBFUi1WaXNpYmxlLTEgOjo9IFBFUi1WaXNpYmxlIChGUk9NKCJBQiIpIHwgU0laRSgxLi4yKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIi4uIkYiKSkoRlJPTSgiQUIiKSB8IFNJWkUoMS4uMikpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCJBIi4uIkYiKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJGIikpCgpOb3QtUEVSLVZpc2libGUtMiA6Oj0gUEVSLVZpc2libGUgKEZST00oIkFCIiwuLi4pKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKEZST00oIkEiLi4iRiIpKShGUk9NKCJBQiIsLi4uKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIkEiLi4iQiIsLi4uKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJGIikpCgpOb3QtUEVSLVZpc2libGUtMyA6Oj0gUEVSLVZpc2libGUgKEZST00oIkFCIiksLi4uKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKEZST00oIkEiLi4iRiIpKShGUk9NKCJBQiIpLC4uLikKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIkEiLi4iQiIsLi4uKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJGIikpCgpTSVpFLWJ1dC1ub3QtRlJPTSA6Oj0gUEVSLVZpc2libGUgKFNJWkUoMS4uNCkgXiBGUk9NKCJBQkNEIiwuLi4pKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKEZST00oIkEiLi4iRiIpKShTSVpFKDEuLjQpIF4gRlJPTSgiQUJDRCIsLi4uKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uNCkpIChGUk9NKCJBIi4uIkQiLC4uLikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uNCkpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDEuLjQpKSAoRlJPTSgiQSIuLiJGIikpCgpTSVpFLWFuZC1GUk9NIDo6PSBQRVItVmlzaWJsZSAoU0laRSgxLi40KSBeIEZST00oIkFCQ0QiKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIi4uIkYiKSkoU0laRSgxLi40KSBeIEZST00oIkFCQ0QiKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uNCkpIChGUk9NKCJBIi4uIkQiKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgxLi40KSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uNCkpIChGUk9NKCJBIi4uIkQiKSkKCk5laXRoZXItU0laRS1ub3ItRlJPTSA6Oj0gUEVSLVZpc2libGUgKFNJWkUoMS4uNCkgfCBGUk9NKCJBQkNEIiwuLi4pKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKEZST00oIkEiLi4iRiIpKShTSVpFKDEuLjQpIHwgRlJPTSgiQUJDRCIsLi4uKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIkEiLi4iRiIpKQotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCJBIi4uIkYiKSkKClV0ZjgtNCA6Oj0gVVRGOFN0cmluZyAoRlJPTSgiQSIuLiJaIikpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoRlJPTSgiQSIuLiJaIikpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoVXRmOC00KTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJaIikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChVdGY4LTQpOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFV0ZjgtNCk6ICAgCgpVdGY4LTMgOjo9IFV0ZjgtMiAoRlJPTSgiQSIuLiJaIiB8ICJhIi4uInoiKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChTSVpFKDEuLjIpKShGUk9NKCJBIi4uIloiIHwgImEiLi4ieiIpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFV0ZjgtMSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uMikpIChGUk9NKCJBIi4uIloiIHwgImEiLi4ieiIpKQotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoVXRmOC0xKTogKE1JTi4uTUFYKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAgIAoKVXRmOC0yIDo6PSBVdGY4LTEgKFNJWkUoMS4uMikpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoU0laRSgxLi4yKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAoTUlOLi5NQVgpIChTSVpFKDEuLjIpKSAoRlJPTSgiACIuLiL/IikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFV0ZjgtMSk6ICAgCgpVdGY4LTEgOjo9IFVURjhTdHJpbmcKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCIAIi4uIv8iKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFV0ZjgtMSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAgIAoKVmlzaWJsZUlkZW50aWZpZXIgOjo9IElkZW50aWZpZXIKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIiB8ICJhIiB8ICJCIiB8ICJiIiB8ICJDIiB8ICJjIiB8ICJEIiB8ICJkIiB8ICJFIiB8ICJlIiB8ICJGIiB8ICJmIiB8ICJHIiB8ICJnIiB8ICJIIiB8ICJoIiB8ICJJIiB8ICJpIiB8ICJKIiB8ICJqIiB8ICJLIiB8ICJrIiB8ICJMIiB8ICJsIiB8ICJNIiB8ICJtIiB8ICJOIiB8ICJuIiB8ICJPIiB8ICJvIiB8ICJQIiB8ICJwIiB8ICJRIiB8ICJxIiB8ICJSIiB8ICJyIiB8ICJTIiB8ICJzIiB8ICJUIiB8ICJ0IiB8ICJVIiB8ICJ1IiB8ICJWIiB8ICJ2IiB8ICJXIiB8ICJ3IiB8ICJYIiB8ICJ4IiB8ICJZIiB8ICJ5IiB8ICJaIiB8ICJ6IiB8ICIkIiB8ICJfIiB8ICIwIiB8ICIxIiB8ICIyIiB8ICIzIiB8ICI0IiB8ICI1IiB8ICI2IiB8ICI3IiB8ICI4IiB8ICI5IikpKFNJWkUoMS4uMzIpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKElkZW50aWZpZXIpOiAoTUlOLi5NQVgpIChTSVpFKDEuLjMyKSkgKEZST00oIiQiIHwgIjAiLi4iOSIgfCAiQSIuLiJaIiB8ICJfIiB8ICJhIi4uInoiKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKElkZW50aWZpZXIpOiAoTUlOLi5NQVgpIChTSVpFKDEuLjMyKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAoU0laRSgxLi4zMikpIChGUk9NKCIkIiB8ICIwIi4uIjkiIHwgIkEiLi4iWiIgfCAiXyIgfCAiYSIuLiJ6IikpCgpTZXF1ZW5jZSA6Oj0gU0VRVUVOQ0UgewogICAgaW50MS1jCSBJbnQxICgtMi4uTUFYKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKC0yLi5NQVgpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6ICgtMi4uTUFYKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKC0yLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoLTIuLk1BWCkgIAogREVGQVVMVCAzLAogICAgaW50NAkgWzJdIEVYUExJQ0lUIEludDQKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgwLi5NQVgpKE1JTi4uMTApKDUuLk1BWCwuLi4sMS4uNCkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChJbnQxKTogKDEuLjEwLC4uLikgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICgwLi4xMCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICgxLi4xMCwuLi4pICAKLAogICAgaW50NC1jCSBJbnQ0IChNSU4uLjcpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoMC4uTUFYKShNSU4uLjEwKSg1Li5NQVgpKE1JTi4uNykKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChJbnQxKTogKDUuLjcpICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoNS4uNykgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICg1Li43KSAgCiwKICAgIGJvb2wJIEJPT0xFQU4KLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChib29sKTogKE1JTi4uTUFYKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChib29sKTogKE1JTi4uTUFYKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChib29sKTogKE1JTi4uTUFYKSAgCiBERUZBVUxUIDEsCiAgICBlbnVtLWMJIEVOVU1FUkFURUQgewogICAgICAgIG9uZSgxKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKG9uZSk6ICAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChvbmUpOiAgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAob25lKTogICAKLCAgICAKICAgICAgICB0d28oMikKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzICh0d28pOiAgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAodHdvKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKHR3byk6ICAgCiwgICAgCiAgICAgICAgLi4uLCAgICAKICAgICAgICB0aHJlZSgzKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKHRocmVlKTogICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKHRocmVlKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKHRocmVlKTogICAKCiAgICB9Ci0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoZW51bS1jKTogKE1JTi4uTUFYKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChlbnVtLWMpOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKGVudW0tYyk6IChNSU4uLk1BWCkgIAosCiAgICBudWxsCSBOVUxMCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAobnVsbCk6ICAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChudWxsKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKG51bGwpOiAgIAogT1BUSU9OQUwsCiAgICAuLi4sCiAgICBpbnQ1LWMJIEludDUgKDUpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoMC4uTUFYKShNSU4uLjEwKSg1Li5NQVgpKE1JTi4uNSkoNSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChJbnQxKTogKDUpICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoNSkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICg1KSAgCiBPUFRJT05BTAp9Ci0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoU2VxdWVuY2UpOiAgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU2VxdWVuY2UpOiAgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU2VxdWVuY2UpOiAgIAoKU2VxdWVuY2VPZiA6Oj0gU0VRVUVOQ0UgKFNJWkUoMS4uMikpIE9GIFNlcXVlbmNlCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoU2VxdWVuY2UpOiAgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU2VxdWVuY2UpOiAgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU2VxdWVuY2UpOiAgIAoKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChTSVpFKDEuLjIpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFNlcXVlbmNlT2YpOiAgKFNJWkUoMS4uMikpIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU2VxdWVuY2VPZik6ICAoU0laRSgxLi4yKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChTZXF1ZW5jZU9mKTogIChTSVpFKDEuLjIpKSAKCkVudW0wIDo6PSBFTlVNRVJBVEVEIHsKICAgIG9uZSgwKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKG9uZSk6ICAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChvbmUpOiAgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAob25lKTogICAKLAogICAgdHdvKDEpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAodHdvKTogICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKHR3byk6ICAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzICh0d28pOiAgIAoKfQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEVudW0wKTogKE1JTi4uTUFYKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChFbnVtMCk6IChNSU4uLk1BWCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoRW51bTApOiAoTUlOLi5NQVgpICAKCkVudW0xIDo6PSBFTlVNRVJBVEVEIHsKICAgIG9uZSgwKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKG9uZSk6ICAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChvbmUpOiAgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAob25lKTogICAKLAogICAgdHdvKDEpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAodHdvKTogICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKHR3byk6ICAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzICh0d28pOiAgIAoKfSAoMCkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgwKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEVudW0xKTogKDApICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEVudW0xKTogKDApICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEVudW0xKTogKDApICAKCkVORAoKSWRlbnRpZmllck1vZHVsZSB7IGlzbyBvcmcoMykgZG9kKDYpIGludGVybmV0KDEpIHByaXZhdGUoNCkgZW50ZXJwcmlzZSgxKQoJc3BlbGlvKDkzNjMpIHNvZnR3YXJlKDEpIGFzbjFjKDUpIHRlc3QoMSkgNTAgMiB9CkRFRklOSVRJT05TIDo6PQpCRUdJTgoKbWF4SWRlbnRpZmllciBJTlRFR0VSIDo6PSAzMgotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKG1heElkZW50aWZpZXIpOiAoTUlOLi5NQVgpICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKG1heElkZW50aWZpZXIpOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKG1heElkZW50aWZpZXIpOiAoTUlOLi5NQVgpICAKCklkZW50aWZpZXIgOjo9IFZpc2libGVTdHJpbmcgKEZST00oIkEiIHwgImEiIHwgIkIiIHwgImIiIHwgIkMiIHwgImMiIHwgIkQiIHwgImQiIHwgIkUiIHwgImUiIHwgIkYiIHwgImYiIHwgIkciIHwgImciIHwgIkgiIHwgImgiIHwgIkkiIHwgImkiIHwgIkoiIHwgImoiIHwgIksiIHwgImsiIHwgIkwiIHwgImwiIHwgIk0iIHwgIm0iIHwgIk4iIHwgIm4iIHwgIk8iIHwgIm8iIHwgIlAiIHwgInAiIHwgIlEiIHwgInEiIHwgIlIiIHwgInIiIHwgIlMiIHwgInMiIHwgIlQiIHwgInQiIHwgIlUiIHwgInUiIHwgIlYiIHwgInYiIHwgIlciIHwgInciIHwgIlgiIHwgIngiIHwgIlkiIHwgInkiIHwgIloiIHwgInoiIHwgIiQiIHwgIl8iIHwgIjAiIHwgIjEiIHwgIjIiIHwgIjMiIHwgIjQiIHwgIjUiIHwgIjYiIHwgIjciIHwgIjgiIHwgIjkiKSkoU0laRSgxLi4zMikpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoRlJPTSgiQSIgfCAiYSIgfCAiQiIgfCAiYiIgfCAiQyIgfCAiYyIgfCAiRCIgfCAiZCIgfCAiRSIgfCAiZSIgfCAiRiIgfCAiZiIgfCAiRyIgfCAiZyIgfCAiSCIgfCAiaCIgfCAiSSIgfCAiaSIgfCAiSiIgfCAiaiIgfCAiSyIgfCAiayIgfCAiTCIgfCAibCIgfCAiTSIgfCAibSIgfCAiTiIgfCAibiIgfCAiTyIgfCAibyIgfCAiUCIgfCAicCIgfCAiUSIgfCAicSIgfCAiUiIgfCAiciIgfCAiUyIgfCAicyIgfCAiVCIgfCAidCIgfCAiVSIgfCAidSIgfCAiViIgfCAidiIgfCAiVyIgfCAidyIgfCAiWCIgfCAieCIgfCAiWSIgfCAieSIgfCAiWiIgfCAieiIgfCAiJCIgfCAiXyIgfCAiMCIgfCAiMSIgfCAiMiIgfCAiMyIgfCAiNCIgfCAiNSIgfCAiNiIgfCAiNyIgfCAiOCIgfCAiOSIpKShTSVpFKDEuLjMyKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAoU0laRSgxLi4zMikpIChGUk9NKCIkIiB8ICIwIi4uIjkiIHwgIkEiLi4iWiIgfCAiXyIgfCAiYSIuLiJ6IikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAoU0laRSgxLi4zMikpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSWRlbnRpZmllcik6IChNSU4uLk1BWCkgKFNJWkUoMS4uMzIpKSAoRlJPTSgiJCIgfCAiMCIuLiI5IiB8ICJBIi4uIloiIHwgIl8iIHwgImEiLi4ieiIpKQoKRU5ECg==