Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
e34830d
Add temporary source snapshot workflow
remdui Aug 6, 2026
a51fedf
Run source snapshot for pull requests
remdui Aug 6, 2026
4312c82
Fix source snapshot archive output
remdui Aug 6, 2026
dd7d4d0
Add temporary patch builder workflow
remdui Aug 6, 2026
2ee2e62
fix: make feature reload dependency-transactional
remdui Aug 6, 2026
f2b81f8
Enable temporary patch commit builder
remdui Aug 6, 2026
f992831
Run temporary patch builder for PR updates
remdui Aug 6, 2026
b6d9952
test: fix reload response import
remdui Aug 6, 2026
e18a22b
Support encoded temporary patch payloads
remdui Aug 6, 2026
e0f4d44
test: distinguish replacement and rollback failures
remdui Aug 6, 2026
d4d7de3
test: align acceptance marker with transactional reload
remdui Aug 6, 2026
9a04259
fix: make feature disable cleanup consistent
remdui Aug 6, 2026
cedeea0
Use three-way application for temporary patches
remdui Aug 6, 2026
e49172b
fix: make feature disable cleanup consistent
remdui Aug 6, 2026
66422b7
test: verify failed disables leave no active features
remdui Aug 6, 2026
9902146
test: register dependent descriptors for disable failures
remdui Aug 6, 2026
3631890
Support chunked temporary patch payloads
remdui Aug 6, 2026
a9856d1
Store temporary framework patch chunk 1
remdui Aug 6, 2026
f26aefc
Store temporary framework patch chunk 2
remdui Aug 6, 2026
90d8a63
Fix chunked patch numbering
remdui Aug 6, 2026
4c7f72e
Store temporary framework patch chunk 3
remdui Aug 6, 2026
dc67c69
Store temporary framework patch chunk 4
remdui Aug 6, 2026
3f99992
Store temporary framework patch chunk 5
remdui Aug 6, 2026
523df3d
fix: stage feature capability publication
remdui Aug 6, 2026
4c1e096
Diagnose and tolerate encoded patch whitespace
remdui Aug 6, 2026
a07db86
fix: stage feature capability publication
remdui Aug 6, 2026
95afa43
Use compressed framework patch payload
remdui Aug 6, 2026
23bb943
Fast-forward staged framework changes to PR branch
remdui Aug 6, 2026
261b066
fix: lease capability invocations across reloads
remdui Aug 6, 2026
1bb9071
fix: replace active services atomically
remdui Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .automation/change.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ZGlmZiAtLWdpdCBhL3Byb3h5ZmVhdHVyZXMtcGxhdGZvcm0tdmVsb2NpdHkvc3JjL3Rlc3QvamF2YS9ubC9oYXVudGVkbWMvcHJveHlmZWF0dXJlcy9mcmFtZXdvcmsvbG9hZGVyL0ZlYXR1cmVMb2FkTWFuYWdlclRlc3QuamF2YSBiL3Byb3h5ZmVhdHVyZXMtcGxhdGZvcm0tdmVsb2NpdHkvc3JjL3Rlc3QvamF2YS9ubC9oYXVudGVkbWMvcHJveHlmZWF0dXJlcy9mcmFtZXdvcmsvbG9hZGVyL0ZlYXR1cmVMb2FkTWFuYWdlclRlc3QuamF2YQppbmRleCBkMTM5YmQ0Li44MTIzMzg2IDEwMDY0NAotLS0gYS9wcm94eWZlYXR1cmVzLXBsYXRmb3JtLXZlbG9jaXR5L3NyYy90ZXN0L2phdmEvbmwvaGF1bnRlZG1jL3Byb3h5ZmVhdHVyZXMvZnJhbWV3b3JrL2xvYWRlci9GZWF0dXJlTG9hZE1hbmFnZXJUZXN0LmphdmEKKysrIGIvcHJveHlmZWF0dXJlcy1wbGF0Zm9ybS12ZWxvY2l0eS9zcmMvdGVzdC9qYXZhL25sL2hhdW50ZWRtYy9wcm94eWZlYXR1cmVzL2ZyYW1ld29yay9sb2FkZXIvRmVhdHVyZUxvYWRNYW5hZ2VyVGVzdC5qYXZhCkBAIC0xNzksNiArMTc5LDggQEAgY2xhc3MgRmVhdHVyZUxvYWRNYW5hZ2VyVGVzdCB7CiAgICAgICAgIFZlbG9jaXR5QmFzZUZlYXR1cmUgcXVldWUgPSBmZWF0dXJlKCJRdWV1ZSIsIExpc3Qub2YoKSwgTGlzdC5vZigpKTsKICAgICAgICAgVmVsb2NpdHlCYXNlRmVhdHVyZSBkZXBlbmRlbnQgPSBmZWF0dXJlKCJEZXBlbmRlbnQiLCBMaXN0Lm9mKCJRdWV1ZSIpLCBMaXN0Lm9mKCkpOwogICAgICAgICBkb1Rocm93KG5ldyBSdW50aW1lRXhjZXB0aW9uKCJjbGVhbnVwIGZhaWxlZCIpKS53aGVuKGRlcGVuZGVudCkuY2xlYW51cCgpOworICAgICAgICBtYW5hZ2VyLmdldEZlYXR1cmVSZWdpc3RyeSgpLnJlZ2lzdGVyQXZhaWxhYmxlRmVhdHVyZShkZXNjcmlwdG9yKCJRdWV1ZSIsIFNldC5vZigpLCBTZXQub2YoKSkpOworICAgICAgICBtYW5hZ2VyLmdldEZlYXR1cmVSZWdpc3RyeSgpLnJlZ2lzdGVyQXZhaWxhYmxlRmVhdHVyZShkZXNjcmlwdG9yKCJEZXBlbmRlbnQiLCBTZXQub2YoIlF1ZXVlIiksIFNldC5vZigpKSk7CiAgICAgICAgIG1hbmFnZXIuZ2V0RmVhdHVyZVJlZ2lzdHJ5KCkucmVnaXN0ZXJMb2FkZWRGZWF0dXJlKCJRdWV1ZSIsIHF1ZXVlKTsKICAgICAgICAgbWFuYWdlci5nZXRGZWF0dXJlUmVnaXN0cnkoKS5yZWdpc3RlckxvYWRlZEZlYXR1cmUoIkRlcGVuZGVudCIsIGRlcGVuZGVudCk7CiAK
1 change: 1 addition & 0 deletions .automation/change.patch.gz.b64
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
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
1 change: 1 addition & 0 deletions .automation/change.patch.part-01
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ZGlmZiAtLWdpdCBhL3Byb3h5ZmVhdHVyZXMtcGxhdGZvcm0tdmVsb2NpdHkvc3JjL21haW4vamF2YS9ubC9oYXVudGVkbWMvcHJveHlmZWF0dXJlcy9mZWF0dXJlcy9WZWxvY2l0eUJhc2VGZWF0dXJlLmphdmEgYi9wcm94eWZlYXR1cmVzLXBsYXRmb3JtLXZlbG9jaXR5L3NyYy9tYWluL2phdmEvbmwvaGF1bnRlZG1jL3Byb3h5ZmVhdHVyZXMvZmVhdHVyZXMvVmVsb2NpdHlCYXNlRmVhdHVyZS5qYXZhCmluZGV4IDFiNGQzZGEuLjY1MzI0MzggMTAwNjQ0Ci0tLSBhL3Byb3h5ZmVhdHVyZXMtcGxhdGZvcm0tdmVsb2NpdHkvc3JjL21haW4vamF2YS9ubC9oYXVudGVkbWMvcHJveHlmZWF0dXJlcy9mZWF0dXJlcy9WZWxvY2l0eUJhc2VGZWF0dXJlLmphdmEKKysrIGIvcHJveHlmZWF0dXJlcy1wbGF0Zm9ybS12ZWxvY2l0eS9zcmMvbWFpbi9qYXZhL25sL2hhdW50ZWRtYy9wcm94eWZlYXR1cmVzL2ZlYXR1cmVzL1ZlbG9jaXR5QmFzZUZlYXR1cmUuamF2YQpAQCAtMTU4LDExICsxNTgsMjEgQEAgcHVibGljIGFic3RyYWN0IGNsYXNzIFZlbG9jaXR5QmFzZUZlYXR1cmUgaW1wbGVtZW50cyBGZWF0dXJlIHsKICAgICAgICAgVGhyb3dhYmxlIGZhaWx1cmUgPSBudWxsOwogCiAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBkaXNhYmxlKCk7CisgICAgICAgICAgICBnZXRMaWZlY3ljbGVNYW5hZ2VyKCkuZ2V0QXBpTWFuYWdlcigpLmRlYWN0aXZhdGVTZXJ2aWNlcygpOwogICAgICAgICB9IGNhdGNoIChUaHJvd2FibGUgdCkgewogICAgICAgICAgICAgZmFpbHVyZSA9IHQ7CiAgICAgICAgIH0KIAorICAgICAgICB0cnkgeworICAgICAgICAgICAgZGlzYWJsZSgpOworICAgICAgICB9IGNhdGNoIChUaHJvd2FibGUgdCkgeworICAgICAgICAgICAgaWYgKGZhaWx1cmUgPT0gbnVsbCkgeworICAgICAgICAgICAgICAgIGZhaWx1cmUgPSB0OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmYWlsdXJlLmFkZFN1cHByZXNzZWQodCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICB0cnkgewogICAgICAgICAgICAgZ2V0TGlmZWN5Y2xlTWFuYWdlcigpLmNsZWFudXAoKTsKICAgICAgICAgfSBjYXRjaCAoVGhyb3dhYmxlIHQpIHsKZGlmZiAtLWdpdCBhL3Byb3h5ZmVhdHVyZXMtcGxhdGZvcm0tdmVsb2NpdHkvc3JjL21haW4vamF2YS9ubC9oYXVudGVkbWMvcHJveHlmZWF0dXJlcy9mcmFtZXdvcmsvbGlmZWN5Y2xlL0ZlYXR1cmVBcGlNYW5hZ2VyLmphdmEgYi9wcm94eWZlYXR1cmVzLXBsYXRmb3JtLXZlbG9jaXR5L3NyYy9tYWluL2phdmEvbmwvaGF1bnRlZG1jL3Byb3h5ZmVhdHVyZXMvZnJhbWV3b3JrL2xpZmVjeWNsZS9GZWF0dXJlQXBpTWFuYWdlci5qYXZhCmluZGV4IGI0NjU2ZTQuLmI3NzYzZWEgMTAwNjQ0Ci0tLSBhL3Byb3h5ZmVhdHVyZXMtcGxhdGZvcm0tdmVsb2NpdHkvc3JjL21haW4vamF2YS9ubC9oYXVudGVkbWMvcHJveHlmZWF0dXJlcy9mcmFtZXdvcmsvbGlmZWN5Y2xlL0ZlYXR1cmVBcGlNYW5hZ2VyLmphdmEKKysrIGIvcHJveHlmZWF0dXJlcy1wbGF0Zm9ybS12ZWxvY2l0eS9zcmMvbWFpbi9qYXZhL25sL2hhdW50ZWRtYy9wcm94eWZlYXR1cmVzL2ZyYW1ld29yay9saWZlY3ljbGUvRmVhdHVyZUFwaU1hbmFnZXIuamF2YQpAQCAtNSw4MiArNSwxNzcgQEAgaW1wb3J0IG5sLmhhdW50ZWRtYy5wcm94eWZlYXR1cmVzLmZyYW1ld29yay5zZXJ2aWNlLkNhcGFiaWxpdHlSZWdpc3RyYXRpb247CiBpbXBvcnQgbmwuaGF1bnRlZG1jLnByb3h5ZmVhdHVyZXMuZnJhbWV3b3JrLnNlcnZpY2UuRGVmYXVsdENhcGFiaWxpdHlSZWdpc3RyeTsKIGltcG9ydCBubC5oYXVudGVkbWMucHJveHlmZWF0dXJlcy5mcmFtZXdvcmsuc2VydmljZS5JbnRlcm5hbFNlcnZpY2VSZWdpc3RyeTsKIAoraW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CiBpbXBvcnQgamF2YS51dGlsLkxpbmtlZEhhc2hNYXA7CitpbXBvcnQgamF2YS51dGlsLkxpc3Q7CiBpbXBvcnQgamF2YS51dGlsLk1hcDsKIGltcG9ydCBqYXZhLnV0aWwuT2JqZWN0czsKIAogLyoqCi0gKiBUcmFja3MgZmVhdHVyZS1vd25lZCBjYXBhYmlsaXR5IHJlZ2lzdHJhdGlvbnMgYW5kIGRldGFjaGVzIHRoZW0gb24gY2xlYW51cC4KKyAqIFN0YWdlcyBmZWF0dXJlLW93bmVkIGNhcGFiaWxpdGllcyBkdXJpbmcgaW5pdGlhbGl6YXRpb24gYW5kIHB1Ymxpc2hlcyB0aGVtIG9ubHkKKyAqIGFmdGVyIHRoZSBmZWF0dXJlIGhhcyBjb21wbGV0ZWQgc3RhcnR1cCBhbmQgc3RhdGUgcmVzdG9yYXRpb24uCiAgKi8KIHB1YmxpYyBjbGFzcyBGZWF0dXJlQXBpTWFuYWdlciB7CiAKLSAgICBwcml2YXRlIGZpbmFsIE1hcDxDbGFzczw/PiwgUmVnaXN0ZXJlZENhcGFiaWxpdHk+IHJlZ2lzdGVyZWRTZXJ2aWNlcyA9IG5ldyBMaW5rZWRIYXNoTWFwPD4oKTsKKyAgICBwcml2YXRlIGVudW0gUmVnaXN0cnlLaW5kIHsKKyAgICAgICAgUFVCTElDLAorICAgICAgICBJTlRFUk5BTAorICAgIH0KKworICAgIHByaXZhdGUgZmluYWwgTWFwPENsYXNzPD8+LCBTZXJ2aWNlRGVmaW5pdGlvbj4gc2VydmljZURlZmluaXRpb25zID0gbmV3IExpbmtlZEhhc2hNYXA8PigpOworICAgIHByaXZhdGUgZmluYWwgTWFwPENsYXNzPD8+LCBDYXBhYmlsaXR5UmVnaXN0cmF0aW9uPiBhY3RpdmVSZWdpc3RyYXRpb25zID0gbmV3IExpbmtlZEhhc2hNYXA8PigpOwogICAgIHByaXZhdGUgRGVmYXVsdENhcGFiaWxpdHlSZWdpc3RyeSByZWdpc3RyeTsKICAgICBwcml2YXRlIEludGVybmFsU2VydmljZVJlZ2lzdHJ5IGludGVybmFsUmVnaXN0cnk7CiAgICAgcHJpdmF0ZSBGZWF0dXJlSWQgb3duZXI7CisgICAgcHJpdmF0ZSBib29sZWFuIGFjdGl2ZTsKIAotICAgIC8qKiBCaW5kcyB0aGlzIGxpZmVjeWNsZSBtYW5hZ2VyIHRvIHRoZSBhdXRob3JpdGF0aXZlIHJlZ2lzdHJ5IGFuZCBvbmUgZmVhdHVyZSBvd25lci4gKi8KKyAgICAvKiogQmluZHMgdGhpcyBsaWZlY3ljbGUgbWFuYWdlciB0byB0aGUgYXV0aG9yaXRhdGl2ZSByZWdpc3RyaWVzIGFuZCBvbmUgZmVhdHVyZSBvd25lci4gKi8KICAgICBwdWJsaWMgc3luY2hyb25pemVkIHZvaWQgYmluZFJlZ2lzdHJ5KAogICAgICAgICAgICAgRGVmYXVsdENhcGFiaWxpdHlSZWdpc3RyeSByZWdpc3RyeSwKICAgICAgICAgICAgIEludGVybmFsU2VydmljZVJlZ2lzdHJ5IGludGVybmFsUmVnaXN0cnksCiAgICAgICAgICAgICBTdHJpbmcgb3duZXJGZWF0dXJlCiAgICAgKSB7CisgICAgICAgIGlmICghc2VydmljZURlZmluaXRpb25zLmlzRW1wdHkoKSB8fCAhYWN0aXZlUmVnaXN0cmF0aW9ucy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBJbGxlZ2FsU3RhdGVFeGNlcHRpb24oIkZlYXR1cmUgQVBJIG1hbmFnZXIgY2Fubm90IGJlIHJlYm91bmQgYWZ0ZXIgc2VydmljZXMgd2VyZSByZWdpc3RlcmVkIik7CisgICAgICAgIH0KICAgICAgICAgdGhpcy5yZWdpc3RyeSA9IE9iamVjdHMucmVxdWlyZU5vbk51bGwocmVnaXN0cnksICJyZWdpc3RyeSIpOwogICAgICAgICB0aGlzLmludGVybmFsUmVnaXN0cnkgPSBPYmplY3RzLnJlcXVpcmVOb25OdWxsKGludGVybmFsUmVnaXN0cnksICJpbnRlcm5hbFJlZ2lzdHJ5Iik7CiAgICAgICAgIHRoaXMub3duZXIgPSBGZWF0dXJlSWQub2YocmVxdWlyZVRleHQob3duZXJGZWF0dXJlLCAib3duZXJGZWF0dXJlIikpOwogICAgIH0KIAogICAgIHB1YmxpYyBzeW5jaHJvbml6ZWQgPFQ+IHZvaWQgcmVnaXN0ZXJJbnRlcm5hbFNlcnZpY2UoQ2xhc3M8VD4gdHlwZSwgVCBpbnN0YW5jZSkgeworICAgICAgICByZWdpc3Rlcih0eXBlLCBpbnN0YW5jZSwgUmVnaXN0cnlLaW5kLklOVEVSTkFMKTsKKyAgICB9CisKKyAgICBwdWJsaWMgc3luY2hyb25pemVkIDxUPiB2b2lkIHJlZ2lzdGVyU2VydmljZShDbGFzczxUPiB0eXBlLCBUIGluc3RhbmNlKSB7CisgICAgICAgIHJlZ2lzdGVyKHR5cGUsIGluc3RhbmNlLCBSZWdpc3RyeUtpbmQuUFVCTElDKTsKKyAgICB9CisKKyAgICAvKiogUHVibGlzaGVzIGFsbCBzdGFnZWQgc2VydmljZXMgYXMgb25lIGFjdGl2YXRpb24gc3RlcC4gKi8KKyAgICBwdWJsaWMgc3luY2hyb25pemVkIHZvaWQgYWN0aXZhdGVTZXJ2aWNlcygpIHsKKyAgICAgICAgcmVxdWlyZUJvdW5kKCk7CisgICAgICAgIGlmIChhY3RpdmUpIHsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIE1hcDxDbGFzczw/PiwgQ2FwYWJpbGl0eVJlZ2lzdHJhdGlvbj4gcHVibGlzaGVkID0gbmV3IExpbmtlZEhhc2hNYXA8PigpOworICAgICAgICB0cnkgeworICAgICAgICAgICAgZm9yIChNYXAuRW50cnk8Q2xhc3M8Pz4sIFNlcnZpY2VEZWZpbml0aW9uPiBlbnRyeSA6IHNlcnZpY2VEZWZpbml0aW9ucy5lbnRyeVNldCgpKSB7CisgICAgICAgICAgICAgICAgcHVibGlzaGVkLnB1dChlbnRyeS5nZXRLZXkoKSwgcHVibGlzaChlbnRyeS5nZXRLZXkoKSwgZW50cnkuZ2V0VmFsdWUoKSkpOworICAgICAgICAgICAgfQorCisgICAgICAgIH0gY2F0Y2ggKFRocm93YWJsZSBhY3RpdmF0aW9uRmFpbHVyZSkgeworICAgICAgICAgICAgY2xvc2VSZWdpc3RyYXRpb25zKHB1Ymxpc2hlZCwgYWN0aXZhdGlvbkZhaWx1cmUpOworICAgICAgICAgICAgdGhyb3dVbmNoZWNrZWQoYWN0aXZhdGlvbkZhaWx1cmUpOworICAgICAgICB9CisKKyAgICAgICAgYWN0aXZlUmVnaXN0cmF0aW9ucy5wdXRBbGwocHVibGlzaGVkKTsKKyAgICAgICAgYWN0aXZlID0gdHJ1ZTsKKyAgICB9CisKKyAgICAvKiogV2l0aGRyYXdzIGFsbCBhY3RpdmUgc2VydmljZXMgd2hpbGUgcmV0YWluaW5nIHRoZWlyIHN0YWdlZCBkZWZpbml0aW9ucy4gKi8KKyAgICBwdWJsaWMgc3luY2hyb25pemVkIHZvaWQgZGVhY3RpdmF0ZVNlcnZpY2VzKCkgeworICAgICAgICBhY3RpdmUgPSBmYWxzZTsKKyAgICAgICAgVGhyb3dhYmxlIGZhaWx1cmUgPSBjbG9zZVJlZ2lzdHJhdGlvbnMoYWN0aXZlUmVnaXN0cmF0aW9ucywgbnVsbCk7CisgICAgICAgIGFjdGl2ZVJlZ2lzdHJhdGlvbnMuY2xlYXIoKTsKKyICAgICAgICBpZiAoZmFpbHVyZSAhPSBudWxsKSB7CisgICAgICAgICAgICB0aHJvd1VuY2hlY2tlZChmYWlsdXJlKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHB1YmxpYyBzeW5jaHJvbml6ZWQgdm9pZCB1bnJlZ2lzdGVyU2VydmljZShDbGFzczw/PiB0eXBlKSB7CiAgICAgICAgIE9iamVjdHMucmVxdWlyZU5vbk51bGwodHlwZSwgInR5cGUiKTsKLSAgICAgICAgT2JqZWN0cy5yZXF1aXJlTm9uTnVsbChpbnN0YW5jZSwgImluc3RhbmNlIik7Ci0gICAgICAgIGlmIChpbnRlcm5hbFJlZ2lzdHJ5ID09IG51bGwgfHwgb3duZXIgPT0gbnVsbCkgewotICAgICAgICAgICAgdGhyb3cgbmV3IElsbGVnYWxTdGF0ZUV4Y2VwdGlvbigIk
1 change: 1 addition & 0 deletions .automation/change.patch.part-02
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
KGluc3RhbmNlLCAiaW5zdGFuY2UiKTsKLSAgICAgICAgaWYgKGludGVybmFsUmVnaXN0cnkgPT0gbnVsbCB8fCBvd25lciA9PSBudWxsKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgSWxsZWdhbFN0YXRlRXhjZXB0aW9uKCJGZWF0dXJlIEFQSSBtYW5hZ2VyIGlzIG5vdCBib3VuZCB0byBhbiBpbnRlcm5hbCBzZXJ2aWNlIHJlZ2lzdHJ5Iik7CisgICAgICAgIHNlcnZpY2VEZWZpbml0aW9ucy5yZW1vdmUodHlwZSk7CisgICAgICAgIENhcGFiaWxpdHlSZWdpc3RyYXRpb24gcmVnaXN0cmF0aW9uID0gYWN0aXZlUmVnaXN0cmF0aW9ucy5yZW1vdmUodHlwZSk7CisgICAgICAgIGlmIChyZWdpc3RyYXRpb24gIT0gbnVsbCkgeworICAgICAgICAgICAgcmVnaXN0cmF0aW9uLmNsb3NlKCk7CiAgICAgICAgIH0KLSAgICAgICAgUmVnaXN0ZXJlZENhcGFiaWxpdHkgcHJldmlvdXMgPSByZWdpc3RlcmVkU2VydmljZXMuZ2V0KHR5cGUpOwotICAgICAgICBpZiAocHJldmlvdXMgIT0gbnVsbCAmJiBwcmV2aW91cy5pbnN0YW5jZSgpID09IGluc3RhbmNlKSB7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgcHVibGljIHN5bmNocm9uaXplZCB2b2lkIHVucmVnaXN0ZXJBbGxTZXJ2aWNlcygpIHsKKyAgICAgICAgVGhyb3dhYmxlIGZhaWx1cmUgPSBudWxsOworICAgICAgICB0cnkgeworICAgICAgICAgICAgZGVhY3RpdmF0ZVNlcnZpY2VzKCk7CisgICAgICAgIH0gY2F0Y2ggKFRocm93YWJsZSBkZWFjdGl2YXRpb25GYWlsdXJlKSB7CisgICAgICAgICAgICBmYWlsdXJlID0gZGVhY3RpdmF0aW9uRmFpbHVyZTsKKyAgICAgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgICAgIHNlcnZpY2VEZWZpbml0aW9ucy5jbGVhcigpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChwcmV2aW91cyAhPSBudWxsKSB7Ci0gICAgICAgICAgICBwcmV2aW91cy5yZWdpc3RyYXRpb24oKS5jbG9zZSgpOworICAgICAgICBpZiAoZmFpbHVyZSAhPSBudWxsKSB7CisgICAgICAgICAgICB0aHJvd1VuY2hlY2tlZChmYWlsdXJlKTsKICAgICAgICAgfQotICAgICAgICBDYXBhYmlsaXR5UmVnaXN0cmF0aW9uIHJlZ2lzdHJhdGlvbiA9IGludGVybmFsUmVnaXN0cnkucmVnaXN0ZXIob3duZXIsIHR5cGUsIGluc3RhbmNlKTsKLSAgICAgICAgcmVnaXN0ZXJlZFNlcnZpY2VzLnB1dCh0eXBlLCBuZXcgUmVnaXN0ZXJlZENhcGFiaWxpdHkoaW5zdGFuY2UsIHJlZ2lzdHJhdGlvbikpOwogICAgIH0KIAotICAgIHB1YmxpYyBzeW5jaHJvbml6ZWQgPFQ+IHZvaWQgcmVnaXN0ZXJTZXJ2aWNlKENsYXNzPFQ+IHR5cGUsIFQgaW5zdGFuY2UpIHsKKyAgICBwdWJsaWMgc3luY2hyb25pemVkIGludCBnZXRSZWdpc3RlcmVkU2VydmljZUNvdW50KCkgeworICAgICAgICByZXR1cm4gc2VydmljZURlZmluaXRpb25zLnNpemUoKTsKKyAgICB9CisKKyAgICBwdWJsaWMgc3luY2hyb25pemVkIGJvb2xlYW4gaXNBY3RpdmUoKSB7CisgICAgICAgIHJldHVybiBhY3RpdmU7CisgICAgfQorCisgICAgcHJpdmF0ZSA8VD4gdm9pZCByZWdpc3RlcihDbGFzczxUPiB0eXBlLCBUIGluc3RhbmNlLCBSZWdpc3RyeUtpbmQga2luZCkgewogICAgICAgICBPYmplY3RzLnJlcXVpcmVOb25OdWxsKHR5cGUsICJ0eXBlIik7CiAgICAgICAgIE9iamVjdHMucmVxdWlyZU5vbk51bGwoaW5zdGFuY2UsICJpbnN0YW5jZSIpOworICAgICAgICByZXF1aXJlQm91bmQoKTsKIAotICAgICAgICBpZiAocmVnaXN0cnkgPT0gbnVsbCB8fCBvd25lciA9PSBudWxsKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgSWxsZWdhbFN0YXRlRXhjZXB0aW9uKCJGZWF0dXJlIEFQSSBtYW5hZ2VyIGlzIG5vdCBib3VuZCB0byBhIGNhcGFiaWxpdHkgcmVnaXN0cnkiKTsKKyAgICAgICAgU2VydmljZURlZmluaXRpb24gcHJldmlvdXMgPSBzZXJ2aWNlRGVmaW5pdGlvbnMuZ2V0KHR5cGUpOworICAgICAgICBpZiAocHJldmlvdXMgIT0gbnVsbCAmJiBwcmV2aW91cy5pbnN0YW5jZSgpID09IGluc3RhbmNlICYmIHByZXZpb3VzLmtpbmQoKSA9PSBraW5kKSB7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgUmVnaXN0ZXJlZENhcGFiaWxpdHkgcHJldmlvdXMgPSByZWdpc3RlcmVkU2VydmljZXMuZ2V0KHR5cGUpOwotICAgICAgICBpZiAocHJldmlvdXMgIT0gbnVsbCAmJiBwcmV2aW91cy5pbnN0YW5jZSgpID09IGluc3RhbmNlKSB7CisKKyAgICAgICAgU2VydmljZURlZmluaXRpb24gcmVwbGFjZW1lbnQgPSBuZXcgU2VydmljZURlZmluaXRpb24oa2luZCwgaW5zdGFuY2UpOworICAgICAgICBpZiAoIWFjdGl2ZSkgeworICAgICAgICAgICAgc2VydmljZURlZmluaXRpb25zLnB1dCh0eXBlLCByZXBsYWNlbWVudCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHByZXZpb3VzICE9IG51bGwpIHsKLSAgICAgICAgICAgIHByZXZpb3VzLnJlZ2lzdHJhdGlvbigpLmNsb3NlKCk7CisKKyAgICAgICAgQ2FwYWJpbGl0eVJlZ2lzdHJhdGlvbiBwcmV2aW91c1JlZ2lzdHJhdGlvbiA9IGFjdGl2ZVJlZ2lzdHJhdGlvbnMucmVtb3ZlKHR5cGUpOworICAgICAgICBpZiAocHJldmlvdXNSZWdpc3RyYXRpb24gIT0gbnVsbCkgeworICAgICAgICAgICAgcHJldmlvdXNSZWdpc3RyYXRpb24uY2xvc2UoKTsKICAgICAgICAgfQotICAgICAgICBDYXBhYmlsaXR5UmVnaXN0cmF0aW9uIHJlZ2lzdHJhdGlvbiA9IHJlZ2lzdHJ5LnJlZ2lzdGVyKG93bmVyLCB0eXBlLCBpbnN0YW5jZSk7Ci0gICAgICAgIHJlZ2lzdGVyZWRTZXJ2aWNlcy5wdXQodHlwZSwgbmV3IFJlZ2lzdGVyZWRDYXBhYmlsaXR5KGluc3RhbmNlLCByZWdpc3RyYXRpb24pKTsKKyAgICAgICAgQ2FwYWJpbGl0eVJlZ2lzdHJhdGlvbiByZXBsYWNlbWVudFJlZ2lzdHJhdGlvbiA9IHB1Ymxpc2godHlwZSwgcmVwbGFjZW1lbnQpOworICAgICAgICBzZXJ2aWNlRGVmaW5pdGlvbnMucHV0KHR5cGUsIHJlcGxhY2VtZW50KTsKKyAgICAgICAgYWN0aXZlUmVnaXN0cmF0aW9ucy5wdXQodHlwZSwgcmVwbGFjZW1lbnRSZWdpc3RyYXRpb24pOwogICAgIH0KIAotICAgIHB1YmxpYyBzeW5jaHJvbml6ZWQgdm9pZCB1bnJlZ2lzdGVyU2VydmljZShDbGFzczw/PiB0eXBlKSB7Ci0gICAgICAgIE9iamVjdHMucmVxdWlyZU5vbk51bGwodHlwZSwgInR5cGUiKTsKKyAgICBwcml2YXRlIENhcGFiaWxpdHlSZWdpc3RyYXRpb24gcHVibGlzaChDbGFzczw/PiB0eXBlLCBTZXJ2aWNlRGVmaW5pdGlvbiBkZWZpbml0aW9uKSB7CisgICAgICAgIHJldHVybiBzd2l0Y2ggKGRlZmluaXRpb24ua2luZCgpKSB7CisgICAgICAgICAgICBjYXNlIFBVQkxJQyAtPiBwdWJsaXNoUHVibGljKHR5cGUsIGRlZmluaXRpb24uaW5zdGFuY2UoKSk7CisgICAgICAgICAgICBjYXNlIElOVEVSTkFMIC0+IHB1Ymxpc2hJbnRlcm5hbCh0eXBlLCBkZWZpbml0aW9uLmluc3RhbmNlKCkpOworICAgICAgICB9OworICAgIH0KIAotICAgICAgICBSZWdpc3RlcmVkQ2FwYWJpbGl0eSByZWdpc3RlcmVkID0gcmVnaXN0ZXJlZFNlcnZpY2VzLnJlbW92ZSh0eXBlKTsKLSAgICAgICAgaWYgKHJlZ2lzdGVyZWQgIT0gbnVsbCkgewotICAgICAgICAgICAgcmVnaXN0ZXJlZC5yZWdpc3RyYXRpb24oKS5jbG9zZSgpOwotICAgICAgICB9CisgICAgcHJpdmF0ZSA8VD4gQ2FwYWJpbGl0eVJlZ2lzdHJhdGlvbiBwdWJsaXNoUHVibGljKENsYXNzPFQ+IHR5cGUsIE9iamVjdCBpbnN0YW5jZSkgeworICAgICAgICByZXR1cm4gcmVnaXN0cnkucmVnaXN0ZXIob3duZXIsIHR5cGUsIHR5cGUuY2FzdChpbnN0YW5jZSkpOwogICAgIH0KIAotICAgIHB1YmxpYyBzeW5jaHJvbml6ZWQgdm9pZCB1bnJlZ2lzdGVyQWxsU2VydmljZXMoKSB7Ci0gICAgICAgIHJlZ2lzdGVyZWRTZXJ2aWNlcy52YWx1ZXMoKS5mb3JFYWNoKHZhbHVlIC0+IHZhbHVlLnJlZ2lzdHJhdGlvbigpLmNsb3NlKCkpOwotICAgICAgICByZWdpc3RlcmVkU2VydmljZXMuY2xlYXIoKTsKKyAgICBwcml2YXRlIDxUPiBDYXBhYmlsaXR5UmVnaXN0cmF0aW9uIHB1Ymxpc2hJbnRlcm5hbChDbGFzczxUPiB0eXBlLCBPYmplY3QgaW5zdGFuY2UpIHsKKyAgICAgICAgcmV0dXJuIGludGVybmFsUmVnaXN0cnkucmVnaXN0ZXIob3duZXIsIHR5cGUsIHR5cGUuY2FzdChpbnN0YW5jZSkpOwogICAgIH0KIAotICAgIHB1YmxpYyBzeW5jaHJvbml6ZWQgaW50IGdldFJlZ2lzdGVyZWRTZXJ2aWNlQ291bnQoKSB7Ci0gICAgICAgIHJldHVybiByZWdpc3RlcmVkU2VydmljZXMuc2l6ZSgpOworICAgIHByaXZhdGUgdm9pZCByZXF1aXJlQm91bmQoKSB7CisgICAgICAgIGlmIChyZWdpc3RyeSA9PSBudWxsIHx8IGludGVybmFsUmVnaXN0cnkgPT0gbnVsbCB8fCBvd25lciA9PSBudWxsKSB7CisgICAgICAgICAgICB0aHJvdyBuZXcgSWxsZWdhbFN0YXRlRXhjZXB0aW9uKCJGZWF0dXJlIEFQSSBtYW5hZ2VyIGlzIG5vdCBib3VuZCB0byBjYXBhYmlsaXR5IHJlZ2lzdHJpZXMiKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHByaXZhdGUgc3RhdGljIFRocm93YWJsZSBjbG9zZVJlZ2lzdHJhdGlvbnMoCisgICAgICAgICAgICBNYXA8Q2xhc3M8Pz4sIENhcGFiaWxpdHlSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbnMsCisgICAgICAgICAgICBUaHJvd2FibGUgZmFpbHVyZQorICAgICkgeworICAgICAgICBMaXN0PENhcGFiaWxpdHlSZWdpc3RyYXRpb24+IHZhbHVlcyA9IG5ldyBBcnJheUxpc3Q8PihyZWdpc3RyYXRpb25zLnZhbHVlcygpKTsKKyAgICAgICAgZm9yIChpbnQgaW5kZXggPSB2YWx1ZXMuc2l6ZSgpIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkgeworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICB2YWx1ZXMuZ2V0KGluZGV4KS5jbG9zZSgpOworICAgICAgICAgICAgfSBjYXRjaCAoVGhyb3dhYmxlIGNsb3NlRmFpbHVyZSkgeworICAgICAgICAgICAgICAgIGlmIChmYWlsdXJlID09IG51bGwpIHsKKyAgICAgICAgICAgICAgICAgICAgZmFpbHVyZSA9IGNsb3NlRmFpbHVyZTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBmYWlsdXJlLmFkZFN1cHByZXNzZWQoY2xvc2VGYWlsdXJlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhaWx1cmU7CiAgICAgfQogCiAgICAgcHJpdmF0ZSBzdGF0aWMgU3RyaW5nIHJlcXVpcmVUZXh0KFN0cmluZyB2YWx1ZSwgU3RyaW5nIGZpZWxkTmFtZSkgewpA
Loading
Loading