TW9kdWxlTmVzdGVkQ29uc3RyYWludHNDaGVjayB7IGlzbyBvcmcoMykgZG9kKDYpIGludGVybmV0KDEpIHByaXZhdGUoNCkKCWVudGVycHJpc2UoMSkgc3BlbGlvKDkzNjMpIHNvZnR3YXJlKDEpIGFzbjFjKDUpIHRlc3QoMSkgNTAgMSB9CkRFRklOSVRJT05TIDo6PQpCRUdJTgoKSW50MSA6Oj0gSU5URUdFUgotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEludDEpOiAoTUlOLi5NQVgpICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoTUlOLi5NQVgpICAKCkludDIgOjo9IEludDEgKDAuLk1BWCkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgwLi5NQVgpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6ICgwLi5NQVgpICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoMC4uTUFYKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDAuLk1BWCkgIAoKSW50MyA6Oj0gSW50MiAoTUlOLi4xMCkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgwLi5NQVgpIChNSU4uLjEwKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEludDEpOiAoMC4uMTApICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoMC4uMTApICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoMC4uMTApICAKCkludDQgOjo9IEludDMgKDUuLk1BWCwuLi4sMS4uNCkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgwLi5NQVgpIChNSU4uLjEwKSAoNS4uTUFYLC4uLiwxLi40KQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEludDEpOiAoMS4uMTAsLi4uKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDAuLjEwKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDEuLjEwLC4uLikgIAoKSW50NSA6Oj0gSW50NCAoTUlOLi41KQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKDAuLk1BWCkgKE1JTi4uMTApICg1Li5NQVgpIChNSU4uLjUpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6ICg1KSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDUpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoNSkgIAoKdGVuIEludDEgOjo9IDEwCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAoKb3RoZXItdGVuIEludDIgOjo9IDEwCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6IChNSU4uLk1BWCkgIAoKRXh0ZW5zaWJsZUV4dGVuc2lvbnMgOjo9IElOVEVHRVIgKDEuLjI1NikgKDEuLjI1NSwuLi4pCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoMS4uMjU2KSAoMS4uMjU1LC4uLikKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChFeHRlbnNpYmxlRXh0ZW5zaW9ucyk6ICgxLi4yNTUsLi4uKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChFeHRlbnNpYmxlRXh0ZW5zaW9ucyk6ICgxLi4yNTYpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEV4dGVuc2libGVFeHRlbnNpb25zKTogKDEuLjI1NSwuLi4pICAKClN0cjEgOjo9IElBNVN0cmluZwotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFN0cjEpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCIAIi4uIn8iKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFN0cjEpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU3RyMSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIgAiLi4ifyIpKQoKU3RyMiA6Oj0gU3RyMSAoU0laRShNSU4uLjIwIHwgMjUuLjMwKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChTSVpFKE1JTi4uMjAgfCAyNS4uMzApKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFN0cjEpOiAoTUlOLi5NQVgpIChTSVpFKDAuLjIwIHwgMjUuLjMwKSkgKEZST00oIgAiLi4ifyIpKQotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU3RyMSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uMjAgfCAyNS4uMzApKSAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFN0cjEpOiAoTUlOLi5NQVgpIChTSVpFKDAuLjIwIHwgMjUuLjMwKSkgKEZST00oIgAiLi4ifyIpKQoKU3RyMyA6Oj0gU3RyMiAoU0laRSgxMC4uMjcpKSAoRlJPTSgiQUJDIiB8ICJkZWYiKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChTSVpFKE1JTi4uMjAgfCAyNS4uMzApKSAoU0laRSgxMC4uMjcpKSAoRlJPTSgiQUJDIiB8ICJkZWYiKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChTdHIxKTogKE1JTi4uTUFYKSAoU0laRSgxMC4uMjAgfCAyNS4uMjcpKSAoRlJPTSgiQSIuLiJDIiB8ICJkIi4uImYiKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFN0cjEpOiAoTUlOLi5NQVgpIChTSVpFKDEwLi4yMCB8IDI1Li4yNykpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU3RyMSk6IChNSU4uLk1BWCkgKFNJWkUoMTAuLjIwIHwgMjUuLjI3KSkgKEZST00oIkEiLi4iQyIgfCAiZCIuLiJmIikpCgpTdHI0IDo6PSBJQTVTdHJpbmcgKCJBQkNEIiB8IFNJWkUoNCkpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoIkFCQ0QiIHwgU0laRSg0KSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChTdHI0KTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiACIuLiJ/IikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChTdHI0KTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFN0cjQpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCIAIi4uIn8iKSkKClBFUi1WaXNpYmxlIDo6PSBJQTVTdHJpbmcgKEZST00oIkEiLi4iRiIpKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKEZST00oIkEiLi4iRiIpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJGIikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIkEiLi4iRiIpKQoKUEVSLVZpc2libGUtMiA6Oj0gUEVSLVZpc2libGUgKEZST00oIkUiLi4iRiIpKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKEZST00oIkEiLi4iRiIpKSAoRlJPTSgiRSIuLiJGIikpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCJFIi4uIkYiKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiRSIuLiJGIikpCgpOb3QtUEVSLVZpc2libGUtMSA6Oj0gUEVSLVZpc2libGUgKEZST00oIkFCIikgfCBTSVpFKDEuLjIpKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKEZST00oIkEiLi4iRiIpKSAoRlJPTSgiQUIiKSB8IFNJWkUoMS4uMikpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCJBIi4uIkYiKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJGIikpCgpOb3QtUEVSLVZpc2libGUtMiA6Oj0gUEVSLVZpc2libGUgKEZST00oIkFCIiwuLi4pKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKEZST00oIkEiLi4iRiIpKSAoRlJPTSgiQUIiLC4uLikpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCJBIi4uIkIiLC4uLikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIkEiLi4iRiIpKQoKTm90LVBFUi1WaXNpYmxlLTMgOjo9IFBFUi1WaXNpYmxlIChGUk9NKCJBQiIpLC4uLikKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIi4uIkYiKSkgKEZST00oIkFCIiksLi4uKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJCIiwuLi4pKQotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCJBIi4uIkYiKSkKClNJWkUtYnV0LW5vdC1GUk9NIDo6PSBQRVItVmlzaWJsZSAoU0laRSgxLi40KSBeIEZST00oIkFCQ0QiLC4uLikpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoRlJPTSgiQSIuLiJGIikpIChTSVpFKDEuLjQpIF4gRlJPTSgiQUJDRCIsLi4uKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uNCkpIChGUk9NKCJBIi4uIkQiLC4uLikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uNCkpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDEuLjQpKSAoRlJPTSgiQSIuLiJGIikpCgpTSVpFLWFuZC1GUk9NIDo6PSBQRVItVmlzaWJsZSAoU0laRSgxLi40KSBeIEZST00oIkFCQ0QiKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIi4uIkYiKSkgKFNJWkUoMS4uNCkgXiBGUk9NKCJBQkNEIikpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDEuLjQpKSAoRlJPTSgiQSIuLiJEIikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uNCkpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoUEVSLVZpc2libGUpOiAoTUlOLi5NQVgpIChTSVpFKDEuLjQpKSAoRlJPTSgiQSIuLiJEIikpCgpOZWl0aGVyLVNJWkUtbm9yLUZST00gOjo9IFBFUi1WaXNpYmxlIChTSVpFKDEuLjQpIHwgRlJPTSgiQUJDRCIsLi4uKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIi4uIkYiKSkgKFNJWkUoMS4uNCkgfCBGUk9NKCJBQkNEIiwuLi4pKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFBFUi1WaXNpYmxlKTogKE1JTi4uTUFYKSAoU0laRSgwLi5NQVgpKSAoRlJPTSgiQSIuLiJGIikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChQRVItVmlzaWJsZSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgKEZST00oIkEiLi4iRiIpKQoKVXRmOC00IDo6PSBVVEY4U3RyaW5nIChGUk9NKCJBIi4uIloiKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIi4uIloiKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChVdGY4LTQpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCJBIi4uIloiKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFV0ZjgtNCk6IChNSU4uLk1BWCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoVXRmOC00KTogICAKClV0ZjgtMyA6Oj0gVXRmOC0yIChGUk9NKCJBIi4uIloiIHwgImEiLi4ieiIpKQotLSBDb21iaW5lZCBjb25zdHJhaW50czogKFNJWkUoMS4uMikpIChGUk9NKCJBIi4uIloiIHwgImEiLi4ieiIpKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFV0ZjgtMSk6IChNSU4uLk1BWCkgKFNJWkUoMS4uMikpIChGUk9NKCJBIi4uIloiIHwgImEiLi4ieiIpKQotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoVXRmOC0xKTogKE1JTi4uTUFYKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAgIAoKVXRmOC0yIDo6PSBVdGY4LTEgKFNJWkUoMS4uMikpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoU0laRSgxLi4yKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAoTUlOLi5NQVgpIChTSVpFKDEuLjIpKSAoRlJPTSgiACIuLiL/IikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFV0ZjgtMSk6ICAgCgpVdGY4LTEgOjo9IFVURjhTdHJpbmcKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAoTUlOLi5NQVgpIChTSVpFKDAuLk1BWCkpIChGUk9NKCIAIi4uIv8iKSkKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFV0ZjgtMSk6IChNSU4uLk1BWCkgKFNJWkUoMC4uTUFYKSkgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChVdGY4LTEpOiAgIAoKVmlzaWJsZUlkZW50aWZpZXIgOjo9IElkZW50aWZpZXIKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIiB8ICJhIiB8ICJCIiB8ICJiIiB8ICJDIiB8ICJjIiB8ICJEIiB8ICJkIiB8ICJFIiB8ICJlIiB8ICJGIiB8ICJmIiB8ICJHIiB8ICJnIiB8ICJIIiB8ICJoIiB8ICJJIiB8ICJpIiB8ICJKIiB8ICJqIiB8ICJLIiB8ICJrIiB8ICJMIiB8ICJsIiB8ICJNIiB8ICJtIiB8ICJOIiB8ICJuIiB8ICJPIiB8ICJvIiB8ICJQIiB8ICJwIiB8ICJRIiB8ICJxIiB8ICJSIiB8ICJyIiB8ICJTIiB8ICJzIiB8ICJUIiB8ICJ0IiB8ICJVIiB8ICJ1IiB8ICJWIiB8ICJ2IiB8ICJXIiB8ICJ3IiB8ICJYIiB8ICJ4IiB8ICJZIiB8ICJ5IiB8ICJaIiB8ICJ6IiB8ICIkIiB8ICJfIiB8ICIwIiB8ICIxIiB8ICIyIiB8ICIzIiB8ICI0IiB8ICI1IiB8ICI2IiB8ICI3IiB8ICI4IiB8ICI5IikpIChTSVpFKDEuLjMyKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAoU0laRSgxLi4zMikpIChGUk9NKCIkIiB8ICIwIi4uIjkiIHwgIkEiLi4iWiIgfCAiXyIgfCAiYSIuLiJ6IikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAoU0laRSgxLi4zMikpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSWRlbnRpZmllcik6IChNSU4uLk1BWCkgKFNJWkUoMS4uMzIpKSAoRlJPTSgiJCIgfCAiMCIuLiI5IiB8ICJBIi4uIloiIHwgIl8iIHwgImEiLi4ieiIpKQoKU2VxdWVuY2UgOjo9IFNFUVVFTkNFIHsKICAgIGludDEtYwkgSW50MSAoLTIuLk1BWCkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6ICgtMi4uTUFYKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKEludDEpOiAoLTIuLk1BWCkgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICgtMi4uTUFYKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKC0yLi5NQVgpICAKIERFRkFVTFQgMywKICAgIGludDQJIFsyXSBFWFBMSUNJVCBJbnQ0Ci0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoMC4uTUFYKSAoTUlOLi4xMCkgKDUuLk1BWCwuLi4sMS4uNCkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChJbnQxKTogKDEuLjEwLC4uLikgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICgwLi4xMCkgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICgxLi4xMCwuLi4pICAKLAogICAgaW50NC1jCSBJbnQ0IChNSU4uLjcpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoMC4uTUFYKSAoTUlOLi4xMCkgKDUuLk1BWCkgKE1JTi4uNykKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChJbnQxKTogKDUuLjcpICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoNS4uNykgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSW50MSk6ICg1Li43KSAgCiwKICAgIGJvb2wJIEJPT0xFQU4KLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChib29sKTogKE1JTi4uTUFYKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChib29sKTogKE1JTi4uTUFYKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChib29sKTogKE1JTi4uTUFYKSAgCiBERUZBVUxUIDEsCiAgICBlbnVtLWMJIEVOVU1FUkFURUQgewogICAgICAgIG9uZSgxKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKG9uZSk6ICAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChvbmUpOiAgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAob25lKTogICAKLCAgICAKICAgICAgICB0d28oMikKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzICh0d28pOiAgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAodHdvKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKHR3byk6ICAgCiwgICAgCiAgICAgICAgLi4uLCAgICAKICAgICAgICB0aHJlZSgzKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKHRocmVlKTogICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKHRocmVlKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKHRocmVlKTogICAKCiAgICB9Ci0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoZW51bS1jKTogKE1JTi4uTUFYKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChlbnVtLWMpOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKGVudW0tYyk6IChNSU4uLk1BWCkgIAosCiAgICBudWxsCSBOVUxMCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAobnVsbCk6ICAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChudWxsKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKG51bGwpOiAgIAogT1BUSU9OQUwsCiAgICAuLi4sCiAgICBpbnQ1LWMJIEludDUgKDUpCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoMC4uTUFYKSAoTUlOLi4xMCkgKDUuLk1BWCkgKE1JTi4uNSkgKDUpCi0tIFByYWN0aWNhbCBjb25zdHJhaW50cyAoSW50MSk6ICg1KSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJbnQxKTogKDUpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEludDEpOiAoNSkgIAogT1BUSU9OQUwKfQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFNlcXVlbmNlKTogICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFNlcXVlbmNlKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFNlcXVlbmNlKTogICAKClNlcXVlbmNlT2YgOjo9IFNFUVVFTkNFIChTSVpFKDEuLjIpKSBPRiBTZXF1ZW5jZQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKFNlcXVlbmNlKTogICAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFNlcXVlbmNlKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKFNlcXVlbmNlKTogICAKCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoU0laRSgxLi4yKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChTZXF1ZW5jZU9mKTogIChTSVpFKDEuLjIpKSAKLS0gT0VSLXZpc2libGUgY29uc3RyYWludHMgKFNlcXVlbmNlT2YpOiAgKFNJWkUoMS4uMikpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoU2VxdWVuY2VPZik6ICAoU0laRSgxLi4yKSkgCgpFbnVtMCA6Oj0gRU5VTUVSQVRFRCB7CiAgICBvbmUoMCkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChvbmUpOiAgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAob25lKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKG9uZSk6ICAgCiwKICAgIHR3bygxKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKHR3byk6ICAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzICh0d28pOiAgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAodHdvKTogICAKCn0KLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChFbnVtMCk6IChNSU4uLk1BWCkgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAoRW51bTApOiAoTUlOLi5NQVgpICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKEVudW0wKTogKE1JTi4uTUFYKSAgCgpFbnVtMSA6Oj0gRU5VTUVSQVRFRCB7CiAgICBvbmUoMCkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChvbmUpOiAgIAotLSBPRVItdmlzaWJsZSBjb25zdHJhaW50cyAob25lKTogICAKLS0gUEVSLXZpc2libGUgY29uc3RyYWludHMgKG9uZSk6ICAgCiwKICAgIHR3bygxKQotLSBQcmFjdGljYWwgY29uc3RyYWludHMgKHR3byk6ICAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzICh0d28pOiAgIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAodHdvKTogICAKCn0gKDApCi0tIENvbWJpbmVkIGNvbnN0cmFpbnRzOiAoMCkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChFbnVtMSk6ICgwKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChFbnVtMSk6ICgwKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChFbnVtMSk6ICgwKSAgCgpFTkQKCklkZW50aWZpZXJNb2R1bGUgeyBpc28gb3JnKDMpIGRvZCg2KSBpbnRlcm5ldCgxKSBwcml2YXRlKDQpIGVudGVycHJpc2UoMSkKCXNwZWxpbyg5MzYzKSBzb2Z0d2FyZSgxKSBhc24xYyg1KSB0ZXN0KDEpIDUwIDIgfQpERUZJTklUSU9OUyA6Oj0KQkVHSU4KCm1heElkZW50aWZpZXIgSU5URUdFUiA6Oj0gMzIKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChtYXhJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAgCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChtYXhJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAgCi0tIFBFUi12aXNpYmxlIGNvbnN0cmFpbnRzIChtYXhJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAgCgpJZGVudGlmaWVyIDo6PSBWaXNpYmxlU3RyaW5nIChGUk9NKCJBIiB8ICJhIiB8ICJCIiB8ICJiIiB8ICJDIiB8ICJjIiB8ICJEIiB8ICJkIiB8ICJFIiB8ICJlIiB8ICJGIiB8ICJmIiB8ICJHIiB8ICJnIiB8ICJIIiB8ICJoIiB8ICJJIiB8ICJpIiB8ICJKIiB8ICJqIiB8ICJLIiB8ICJrIiB8ICJMIiB8ICJsIiB8ICJNIiB8ICJtIiB8ICJOIiB8ICJuIiB8ICJPIiB8ICJvIiB8ICJQIiB8ICJwIiB8ICJRIiB8ICJxIiB8ICJSIiB8ICJyIiB8ICJTIiB8ICJzIiB8ICJUIiB8ICJ0IiB8ICJVIiB8ICJ1IiB8ICJWIiB8ICJ2IiB8ICJXIiB8ICJ3IiB8ICJYIiB8ICJ4IiB8ICJZIiB8ICJ5IiB8ICJaIiB8ICJ6IiB8ICIkIiB8ICJfIiB8ICIwIiB8ICIxIiB8ICIyIiB8ICIzIiB8ICI0IiB8ICI1IiB8ICI2IiB8ICI3IiB8ICI4IiB8ICI5IikpIChTSVpFKDEuLjMyKSkKLS0gQ29tYmluZWQgY29uc3RyYWludHM6IChGUk9NKCJBIiB8ICJhIiB8ICJCIiB8ICJiIiB8ICJDIiB8ICJjIiB8ICJEIiB8ICJkIiB8ICJFIiB8ICJlIiB8ICJGIiB8ICJmIiB8ICJHIiB8ICJnIiB8ICJIIiB8ICJoIiB8ICJJIiB8ICJpIiB8ICJKIiB8ICJqIiB8ICJLIiB8ICJrIiB8ICJMIiB8ICJsIiB8ICJNIiB8ICJtIiB8ICJOIiB8ICJuIiB8ICJPIiB8ICJvIiB8ICJQIiB8ICJwIiB8ICJRIiB8ICJxIiB8ICJSIiB8ICJyIiB8ICJTIiB8ICJzIiB8ICJUIiB8ICJ0IiB8ICJVIiB8ICJ1IiB8ICJWIiB8ICJ2IiB8ICJXIiB8ICJ3IiB8ICJYIiB8ICJ4IiB8ICJZIiB8ICJ5IiB8ICJaIiB8ICJ6IiB8ICIkIiB8ICJfIiB8ICIwIiB8ICIxIiB8ICIyIiB8ICIzIiB8ICI0IiB8ICI1IiB8ICI2IiB8ICI3IiB8ICI4IiB8ICI5IikpIChTSVpFKDEuLjMyKSkKLS0gUHJhY3RpY2FsIGNvbnN0cmFpbnRzIChJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAoU0laRSgxLi4zMikpIChGUk9NKCIkIiB8ICIwIi4uIjkiIHwgIkEiLi4iWiIgfCAiXyIgfCAiYSIuLiJ6IikpCi0tIE9FUi12aXNpYmxlIGNvbnN0cmFpbnRzIChJZGVudGlmaWVyKTogKE1JTi4uTUFYKSAoU0laRSgxLi4zMikpIAotLSBQRVItdmlzaWJsZSBjb25zdHJhaW50cyAoSWRlbnRpZmllcik6IChNSU4uLk1BWCkgKFNJWkUoMS4uMzIpKSAoRlJPTSgiJCIgfCAiMCIuLiI5IiB8ICJBIi4uIloiIHwgIl8iIHwgImEiLi4ieiIpKQoKRU5ECg==