<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>127614</bug_id>
          
          <creation_ts>2014-01-25 00:40:49 -0800</creation_ts>
          <short_desc>[GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols</short_desc>
          <delta_ts>2014-01-27 23:47:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127091</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>danw</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971917</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-25 00:40:49 -0800</bug_when>
    <thetext>It&apos;s currently broken, because the RemoteNetworkingContext doesn&apos;t implement initiatingPageID, see bug #125582. This is public API already used by applications (midori at least) that will crash if it returns NULL.

The CustomProtocolManager is a supplemental of the networking process. It registers the custom schemes in the soup session, so that when soup loads a request for any registered scheme, the WebKitSoupRequestGeneric object is used. This generic soup request notifies the CustomProtocolManager which creates the request identifier (customProtocolID) and sends a message to the UI process to start the loading. At this point, there&apos;s no way to know which page is associated to this request. In the web process, where the networking context implements initiatingPageID(), the resource handle sets the page ID as user data of the SoupRequest and we can get the page ID from the WebKitSoupRequestGeneric object used. In the network process, there&apos;s no page ID associated to the soup request.

So, the easiest solution would be to implement RemoteNetworkingContext::initiatingPageID(), but the patch to do that doesn&apos;t look like it will be accepted by reviewers, so we need to find another way to not break our public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971918</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-25 00:46:50 -0800</bug_when>
    <thetext>There&apos;s another solution that wouldn&apos;t need to change any cross-platform code:

We could move the initiatingPageID to the ResourceRequest. In the willSendRequest callback we set the initiating page id (willSendRequest receives the frame, so we have the page) to the request we return. In ResourceHandle, when creating the soup request for the given request we attach the page id to the soup request the same way we are currently doing, but using the ResourceRequest instead of NetworkingContext. Then we can remove the initiatingPageID() method from NetworkingContext. 
I think this is actually moving the problem to another place, but at least we can implement it in platform specific code entirely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971928</commentid>
    <comment_count>2</comment_count>
      <attachid>222201</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-25 02:13:41 -0800</bug_when>
    <thetext>Created attachment 222201
Patch

Note that this doesn&apos;t affect EFL because they don&apos;t use the initiatingPageID.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972186</commentid>
    <comment_count>3</comment_count>
      <attachid>222270</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-26 06:25:50 -0800</bug_when>
    <thetext>Created attachment 222270
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972389</commentid>
    <comment_count>4</comment_count>
      <attachid>222270</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2014-01-27 04:52:16 -0800</bug_when>
    <thetext>Comment on attachment 222270
Updated patch

yay</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972392</commentid>
    <comment_count>5</comment_count>
      <attachid>222318</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-27 05:12:56 -0800</bug_when>
    <thetext>Created attachment 222318
Patch for landing

Want to make sure I haven&apos;t broken EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972393</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-27 05:13:37 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972806</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-27 23:47:36 -0800</bug_when>
    <thetext>Committed r162920: &lt;http://trac.webkit.org/changeset/162920&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222201</attachid>
            <date>2014-01-25 02:13:41 -0800</date>
            <delta_ts>2014-01-26 06:25:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-initiating-page-id.diff</filename>
            <type>text/plain</type>
            <size>26279</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNWUyYTc2OC4uMWFhOWU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDE0LTAxLTI1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXSBNYWtlIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dl
Yl92aWV3KCkgd29yayB3aXRoIEN1c3RvbVByb3RvY29scworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0byBzZXQgdGhlIHBhZ2UgaWRlbnRp
ZmllciB0aGF0IGluaXRpYXRlZCB0aGUgcmVxdWVzdCB0bworICAgICAgICBSZXNvdXJjZVJlcXVl
c3QsIGFuZCByZW1vdmUgdGhlIGluaXRpYXRpbmdQYWdlSUQoKSBtZXRob2QgZnJvbSB0aGUKKyAg
ICAgICAgTmV0d29ya2luZ0NvbnRleHQgY2xhc3MuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL05ldHdvcmtpbmdDb250ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhh
bmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlU291cFJlcXVlc3RBbmRNZXNz
YWdlRm9ySGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VS
ZXF1ZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OlJlc291cmNlUmVx
dWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmluaXRpYXRpbmdQYWdl
SUQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRJbml0aWF0aW5nUGFn
ZUlEKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291
cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVNvdXBSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6dXBkYXRlRnJvbVNvdXBS
ZXF1ZXN0KToKKwogMjAxNC0wMS0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQXZvaWQgdW5uZWNlc3Nhcnkgc3RyaW5nIGR1cGxp
Y2F0aW9ucyBpbiBGaWxlU3lzdGVtR3RrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL05ldHdvcmtpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtpbmdDb250ZXh0LmgKaW5kZXggZDM2ZGZmNi4uMzA4MGE3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JraW5nQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya2luZ0NvbnRl
eHQuaApAQCAtNjcsMTAgKzY3LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVzb3VyY2VFcnJv
ciBibG9ja2VkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JikgY29uc3QgPSAwOwogI2VuZGlm
CiAKLSNpZiBVU0UoU09VUCkKLSAgICB2aXJ0dWFsIHVpbnQ2NF90IGluaXRpYXRpbmdQYWdlSUQo
KSBjb25zdCA9IDA7Ci0jZW5kaWYKLQogcHJvdGVjdGVkOgogICAgIE5ldHdvcmtpbmdDb250ZXh0
KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZS5oCmluZGV4IGRhYWQyNzYuLmMxZGEwMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTE4Miw3ICsxODIsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBlbnN1cmVSZWFkQnVmZmVyKCk7CiAgICAgc2l6ZV90IGN1cnJlbnRT
dHJlYW1Qb3NpdGlvbigpIGNvbnN0OwogICAgIHZvaWQgZGlkU3RhcnRSZXF1ZXN0KCk7Ci0gICAg
c3RhdGljIHVpbnQ2NF90IGdldFNvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJRChTb3VwUmVxdWVz
dCopOwogICAgIHN0YXRpYyB2b2lkIHNldEhvc3RBbGxvd3NBbnlIVFRQU0NlcnRpZmljYXRlKGNv
bnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyB2b2lkIHNldENsaWVudENlcnRpZmljYXRlKGNvbnN0
IFN0cmluZyYgaG9zdCwgR1Rsc0NlcnRpZmljYXRlKik7CiAgICAgc3RhdGljIHZvaWQgc2V0SWdu
b3JlU1NMRXJyb3JzKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA3YTY3NzZlLi42
ZjJmN2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtOTE3LDE4ICs5MTcsNiBAQCBzdGF0
aWMgdm9pZCBuZXR3b3JrRXZlbnRDYWxsYmFjayhTb3VwTWVzc2FnZSosIEdTb2NrZXRDbGllbnRF
dmVudCBldmVudCwgR0lPU3RyZQogfQogI2VuZGlmCiAKLXN0YXRpYyBjb25zdCBjaGFyKiBnU291
cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlES2V5ID0gIndrLXNvdXAtcmVxdWVzdC1pbml0aWF0aW5n
LXBhZ2UtaWQiOwotCi1zdGF0aWMgdm9pZCBzZXRTb3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSURG
cm9tTmV0d29ya2luZ0NvbnRleHQoU291cFJlcXVlc3QqIHJlcXVlc3QsIE5ldHdvcmtpbmdDb250
ZXh0KiBjb250ZXh0KQotewotICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+aXNWYWxpZCgp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICB1aW50NjRfdCogaW5pdGlhdGluZ1BhZ2VJRFB0ciA9
IHN0YXRpY19jYXN0PHVpbnQ2NF90Kj4oZmFzdE1hbGxvYyhzaXplb2YodWludDY0X3QpKSk7Ci0g
ICAgKmluaXRpYXRpbmdQYWdlSURQdHIgPSBjb250ZXh0LT5pbml0aWF0aW5nUGFnZUlEKCk7Ci0g
ICAgZ19vYmplY3Rfc2V0X2RhdGFfZnVsbChHX09CSkVDVChyZXF1ZXN0KSwgZ19pbnRlcm5fc3Rh
dGljX3N0cmluZyhnU291cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlES2V5KSwgaW5pdGlhdGluZ1Bh
Z2VJRFB0ciwgZmFzdEZyZWUpOwotfQotCiBzdGF0aWMgYm9vbCBjcmVhdGVTb3VwTWVzc2FnZUZv
ckhhbmRsZUFuZFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIEFTU0VSVChoYW5kbGUpOwpAQCAtMTAwOSw3ICs5OTcs
NyBAQCBzdGF0aWMgYm9vbCBjcmVhdGVTb3VwUmVxdWVzdEFuZE1lc3NhZ2VGb3JIYW5kbGUoUmVz
b3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogCi0gICAgc2V0U291cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlERnJvbU5ldHdvcmtpbmdDb250
ZXh0KGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIGQtPm1fY29udGV4dC5nZXQoKSk7CisgICAgcmVx
dWVzdC51cGRhdGVTb3VwUmVxdWVzdChkLT5tX3NvdXBSZXF1ZXN0LmdldCgpKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtMTM5MiwxMCArMTM4MCw0IEBAIHN0YXRpYyBnYm9vbGVhbiByZXF1
ZXN0VGltZW91dENhbGxiYWNrKGdwb2ludGVyIGRhdGEpCiAgICAgcmV0dXJuIEZBTFNFOwogfQog
Ci11aW50NjRfdCBSZXNvdXJjZUhhbmRsZTo6Z2V0U291cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlE
KFNvdXBSZXF1ZXN0KiByZXF1ZXN0KQotewotICAgIHVpbnQ2NF90KiBpbml0aWF0aW5nUGFnZUlE
UHRyID0gc3RhdGljX2Nhc3Q8dWludDY0X3QqPihnX29iamVjdF9nZXRfZGF0YShHX09CSkVDVChy
ZXF1ZXN0KSwgZ1NvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJREtleSkpOwotICAgIHJldHVybiBp
bml0aWF0aW5nUGFnZUlEUHRyID8gKmluaXRpYXRpbmdQYWdlSURQdHIgOiAwOwotfQotCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VS
ZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VS
ZXF1ZXN0LmgKaW5kZXggY2YyMjZjMS4uNjc5MTUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3QuaApAQCAtMjgsNiAr
MjgsNyBAQAogI2RlZmluZSBSZXNvdXJjZVJlcXVlc3RfaAogCiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oIgorI2luY2x1ZGUgIlNvdXBVUklVdGlscy5oIgogI2luY2x1ZGUgPGxpYnNv
dXAvc291cC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOCw2ICszOSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZShVUkwoUGFy
c2VkVVJMU3RyaW5nLCB1cmwpLCBVc2VQcm90b2NvbENhY2hlUG9saWN5KQogICAgICAgICAgICAg
LCBtX2FjY2VwdEVuY29kaW5nKHRydWUpCiAgICAgICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRp
Y19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQorICAgICAgICAgICAgLCBtX2luaXRpYXRpbmdQ
YWdlSUQoMCkKICAgICAgICAgewogICAgICAgICB9CiAKQEAgLTQ1LDYgKzQ3LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKHVybCwgVXNl
UHJvdG9jb2xDYWNoZVBvbGljeSkKICAgICAgICAgICAgICwgbV9hY2NlcHRFbmNvZGluZyh0cnVl
KQogICAgICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdz
PigwKSkKKyAgICAgICAgICAgICwgbV9pbml0aWF0aW5nUGFnZUlEKDApCiAgICAgICAgIHsKICAg
ICAgICAgfQogCkBAIC01Miw2ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
ICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZSh1cmwsIHBvbGljeSkKICAgICAgICAgICAgICwgbV9h
Y2NlcHRFbmNvZGluZyh0cnVlKQogICAgICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2Fz
dDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKKyAgICAgICAgICAgICwgbV9pbml0aWF0aW5nUGFnZUlE
KDApCiAgICAgICAgIHsKICAgICAgICAgICAgIHNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAg
ICAgICAgIH0KQEAgLTYwLDYgKzY0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAg
ICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKFVSTCgpLCBVc2VQcm90b2NvbENhY2hlUG9saWN5KQog
ICAgICAgICAgICAgLCBtX2FjY2VwdEVuY29kaW5nKHRydWUpCiAgICAgICAgICAgICAsIG1fc291
cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQorICAgICAgICAgICAgLCBt
X2luaXRpYXRpbmdQYWdlSUQoMCkKICAgICAgICAgewogICAgICAgICB9CiAKQEAgLTY3LDEwICs3
MiwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICA6IFJlc291cmNlUmVxdWVz
dEJhc2UoVVJMKCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fYWNj
ZXB0RW5jb2RpbmcodHJ1ZSkKICAgICAgICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGljX2Nhc3Q8
U291cE1lc3NhZ2VGbGFncz4oMCkpCisgICAgICAgICAgICAsIG1faW5pdGlhdGluZ1BhZ2VJRCgw
KQogICAgICAgICB7CiAgICAgICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1lc3Nh
Z2UpOwogICAgICAgICB9CiAKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0KFNvdXBSZXF1ZXN0KiBz
b3VwUmVxdWVzdCkKKyAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZShzb3VwVVJJVG9L
VVJMKHNvdXBfcmVxdWVzdF9nZXRfdXJpKHNvdXBSZXF1ZXN0KSksIFVzZVByb3RvY29sQ2FjaGVQ
b2xpY3kpCisgICAgICAgICAgICAsIG1fYWNjZXB0RW5jb2RpbmcodHJ1ZSkKKyAgICAgICAgICAg
ICwgbV9zb3VwRmxhZ3Moc3RhdGljX2Nhc3Q8U291cE1lc3NhZ2VGbGFncz4oMCkpCisgICAgICAg
ICAgICAsIG1faW5pdGlhdGluZ1BhZ2VJRCgwKQorICAgICAgICB7CisgICAgICAgICAgICB1cGRh
dGVGcm9tU291cFJlcXVlc3Qoc291cFJlcXVlc3QpOworICAgICAgICB9CisKICAgICAgICAgdm9p
ZCB1cGRhdGVGcm9tRGVsZWdhdGVQcmVzZXJ2aW5nT2xkSFRUUEJvZHkoY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiBkZWxlZ2F0ZVByb3ZpZGVkUmVxdWVzdCkgeyAqdGhpcyA9IGRlbGVnYXRlUHJvdmlk
ZWRSZXF1ZXN0OyB9CiAKICAgICAgICAgYm9vbCBhY2NlcHRFbmNvZGluZygpIGNvbnN0IHsgcmV0
dXJuIG1fYWNjZXB0RW5jb2Rpbmc7IH0KQEAgLTgxLDEwICs5NiwxNSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZvaWQgdXBkYXRlU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqKSBjb25z
dDsKICAgICAgICAgU291cE1lc3NhZ2UqIHRvU291cE1lc3NhZ2UoKSBjb25zdDsKICAgICAgICAg
dm9pZCB1cGRhdGVGcm9tU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqKTsKKyAgICAgICAgdm9pZCB1
cGRhdGVTb3VwUmVxdWVzdChTb3VwUmVxdWVzdCopIGNvbnN0OworICAgICAgICB2b2lkIHVwZGF0
ZUZyb21Tb3VwUmVxdWVzdChTb3VwUmVxdWVzdCopOwogCiAgICAgICAgIFNvdXBNZXNzYWdlRmxh
Z3Mgc291cE1lc3NhZ2VGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fc291cEZsYWdzOyB9CiAgICAg
ICAgIHZvaWQgc2V0U291cE1lc3NhZ2VGbGFncyhTb3VwTWVzc2FnZUZsYWdzIHNvdXBGbGFncykg
eyBtX3NvdXBGbGFncyA9IHNvdXBGbGFnczsgfQogCisgICAgICAgIHVpbnQ2NF90IGluaXRpYXRp
bmdQYWdlSUQoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYXRpbmdQYWdlSUQ7IH0KKyAgICAgICAg
dm9pZCBzZXRJbml0aWF0aW5nUGFnZUlEKHVpbnQ2NF90IHBhZ2VJRCkgeyBtX2luaXRpYXRpbmdQ
YWdlSUQgPSBwYWdlSUQ7IH0KKwogICAgICAgICBTb3VwVVJJKiBzb3VwVVJJKCkgY29uc3Q7CiAK
ICAgICBwcml2YXRlOgpAQCAtOTIsNiArMTEyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgICAgIGJvb2wgbV9hY2NlcHRFbmNvZGluZyA6IDE7CiAgICAgICAgIFNvdXBNZXNzYWdlRmxh
Z3MgbV9zb3VwRmxhZ3M7CisgICAgICAgIHVpbnQ2NF90IG1faW5pdGlhdGluZ1BhZ2VJRDsKIAog
ICAgICAgICB2b2lkIHVwZGF0ZVNvdXBNZXNzYWdlTWVtYmVycyhTb3VwTWVzc2FnZSopIGNvbnN0
OwogICAgICAgICB2b2lkIGRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KCkgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1
ZXN0U291cC5jcHAKaW5kZXggMjM1OWZkNi4uMmEwMjM3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3Vw
LmNwcApAQCAtMTE3LDYgKzExNywyMSBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6dXBkYXRlRnJv
bVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICAvLyBkb1VwZGF0ZVBs
YXRmb3JtUmVxdWVzdCBzb21laG93LgogfQogCitzdGF0aWMgY29uc3QgY2hhciogZ1NvdXBSZXF1
ZXN0SW5pdGlhdGluZ1BhZ2VJREtleSA9ICJ3ay1zb3VwLXJlcXVlc3QtaW5pdGlhdGluZy1wYWdl
LWlkIjsKKwordm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVNvdXBSZXF1ZXN0KFNvdXBSZXF1
ZXN0KiBzb3VwUmVxdWVzdCkgY29uc3QKK3sKKyAgICB1aW50NjRfdCogaW5pdGlhdGluZ1BhZ2VJ
RFB0ciA9IHN0YXRpY19jYXN0PHVpbnQ2NF90Kj4oZmFzdE1hbGxvYyhzaXplb2YodWludDY0X3Qp
KSk7CisgICAgKmluaXRpYXRpbmdQYWdlSURQdHIgPSBtX2luaXRpYXRpbmdQYWdlSUQ7CisgICAg
Z19vYmplY3Rfc2V0X2RhdGFfZnVsbChHX09CSkVDVChzb3VwUmVxdWVzdCksIGdfaW50ZXJuX3N0
YXRpY19zdHJpbmcoZ1NvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJREtleSksIGluaXRpYXRpbmdQ
YWdlSURQdHIsIGZhc3RGcmVlKTsKK30KKwordm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZy
b21Tb3VwUmVxdWVzdChTb3VwUmVxdWVzdCogc291cFJlcXVlc3QpCit7CisgICAgdWludDY0X3Qq
IGluaXRpYXRpbmdQYWdlSURQdHIgPSBzdGF0aWNfY2FzdDx1aW50NjRfdCo+KGdfb2JqZWN0X2dl
dF9kYXRhKEdfT0JKRUNUKHNvdXBSZXF1ZXN0KSwgZ1NvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJ
REtleSkpOworICAgIG1faW5pdGlhdGluZ1BhZ2VJRCA9IGluaXRpYXRpbmdQYWdlSURQdHIgPyAq
aW5pdGlhdGluZ1BhZ2VJRFB0ciA6IDA7Cit9CisKIHVuc2lnbmVkIGluaXRpYWxpemVNYXhpbXVt
SFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QoKQogewogICAgIC8vIFNvdXAgaGFzIGl0cyBvd24g
cXVldWUgY29udHJvbDsgaXQgd2FudHMgdG8gaGF2ZSBhbGwgcmVxdWVzdHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZwppbmRleCBjMTdmYmMyLi41MTcwYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTQtMDEtMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIE1ha2Ugd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2Vi
X3ZpZXcoKSB3b3JrIHdpdGggQ3VzdG9tUHJvdG9jb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgaW5pdGlhdGluZ1BhZ2VJRCgpIG1ldGhv
ZCBmb3JtIHRoZSBGcmFtZU5ldHdvcmtpbmdDb250ZXh0LgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEVmbC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEVmbC5oOgorCiAyMDE0LTAxLTIyICBSeXVhbiBD
aG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBSZW1vdmUgdW5u
ZWNlc3Nhcnkgc21hcnQgbWV0aG9kIHNpbmNlIGV3a192aWV3X3RpbGVkIHJlbW92ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0Nv
bnRleHRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3
b3JraW5nQ29udGV4dEVmbC5jcHAKaW5kZXggM2NhNmMxMS4uODI1M2IyOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3Jr
aW5nQ29udGV4dEVmbC5jcHAKQEAgLTU4LDEwICs1OCw0IEBAIE5ldHdvcmtTdG9yYWdlU2Vzc2lv
biYgRnJhbWVOZXR3b3JraW5nQ29udGV4dEVmbDo6c3RvcmFnZVNlc3Npb24oKSBjb25zdAogICAg
IHJldHVybiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOwog
fQogCi11aW50NjRfdCBGcmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsOjppbml0aWF0aW5nUGFnZUlE
KCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwotfQotCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdv
cmtpbmdDb250ZXh0RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFt
ZU5ldHdvcmtpbmdDb250ZXh0RWZsLmgKaW5kZXggNmIxMzQ3Zi4uMjViNDUyYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4
dEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29y
a2luZ0NvbnRleHRFZmwuaApAQCAtMzgsNyArMzgsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dEVmbD4gY3JlYXRlKEZyYW1lKiwgRXZhc19P
YmplY3QqKTsKIAogICAgIFdlYkNvcmU6OkZyYW1lKiBjb3JlRnJhbWUoKSBjb25zdCB7IHJldHVy
biBmcmFtZSgpOyB9Ci0gICAgdmlydHVhbCB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlEKCkgY29u
c3Q7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Np
b24mIHN0b3JhZ2VTZXNzaW9uKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNWI2OTI2Ni4u
OGM3NTUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAxLTI1ICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RL
XSBNYWtlIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3KCkgd29yayB3aXRo
IEN1c3RvbVByb3RvY29scworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI3NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlIGluaXRpYXRpbmdQYWdlSUQoKSBtZXRob2QgZnJvbSBGcmFtZU5ldHdv
cmtpbmdDb250ZXh0LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5n
Q29udGV4dEd0ay5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5n
Q29udGV4dEd0ay5oOgorCiAyMDE0LTAxLTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXNlIEdVbmlxdWVQdHIgaW5zdGVhZCBv
ZiBHT3duUHRyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
cmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGsuY3BwCmluZGV4IGZhZTEzN2UuLmQyMDVk
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0
d29ya2luZ0NvbnRleHRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGsuY3BwCkBAIC0zMywxMCArMzMsNCBAQCBOZXR3
b3JrU3RvcmFnZVNlc3Npb24mIEZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGs6OnN0b3JhZ2VTZXNz
aW9uKCkgY29uc3QKICAgICByZXR1cm4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3Rv
cmFnZVNlc3Npb24oKTsKIH0KIAotdWludDY0X3QgRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0azo6
aW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0Ci17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBy
ZXR1cm4gMDsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0ay5oCmluZGV4IDY0MmRmYjEuLmFm
ZDZhOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TmV0d29ya2luZ0NvbnRleHRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmgKQEAgLTMyLDcgKzMyLDYgQEAgcHVibGlj
OgogICAgIH0KIAogICAgIFdlYkNvcmU6OkZyYW1lKiBjb3JlRnJhbWUoKSBjb25zdCB7IHJldHVy
biBmcmFtZSgpOyB9Ci0gICAgdmlydHVhbCB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlEKCkgY29u
c3Q7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Np
b24mIHN0b3JhZ2VTZXNzaW9uKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTExMzAxNC4uMjAzYzdi
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTAxLTI1ICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBNYWtlIHdlYmtp
dF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3KCkgd29yayB3aXRoIEN1c3RvbVByb3Rv
Y29scworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3
NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oOiBSZW1vdmUKKyAgICAgICAg
aW5pdGlhdGluZ1BhZ2VJRCgpIG1ldGhvZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3Vw
L1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHA6IERpdHRvLgorICAgICAgICAqIFNoYXJl
ZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL0N1c3RvbVByb3RvY29sTWFuYWdlckltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpDdXN0b21Qcm90b2NvbE1hbmFnZXJJbXBsOjpzZW5kKTog
Q3JlYXRlIHRoZSByZXF1ZXN0IHdpdGgKKyAgICAgICAgdGhlIFJlc291cmNlUmVxdWVzdCBjb25z
dHJ1Y3RvciB0aGF0IHJlY2VpdmVzIGEgU291cFJlcXVlc3QuCisgICAgICAgICogU2hhcmVkL3Nv
dXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKTogRW5jb2RlIGluaXRp
YXRpbmdQYWdlSUQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0
Pjo6ZGVjb2RlUGxhdGZvcm1EYXRhKTogRGVjb2RlIGluaXRpYXRpbmdQYWdlSUQuCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHA6CisgICAgICAg
ICh3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlKTogUmVtb3ZlIGluaXRpYXRpbmdQYWdlSUQg
cGFyYW1ldGVyCisgICAgICAgIGFuZCBnZXQgaXQgZnJvbSB0aGUgZ2l2ZW4gUmVzb3VyY2VSZXF1
ZXN0LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQ
cml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5j
cHA6CisgICAgICAgICh3ZWJraXRXZWJDb250ZXh0U3RhcnRMb2FkaW5nQ3VzdG9tUHJvdG9jb2wp
OiBVcGRhdGUgdG8KKyAgICAgICAgd2Via2l0VVJJU2NoZW1lUmVxdWVzdENyZWF0ZSBBUEkgY2hh
bmdlLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRX
ZWJQYWdlLmNwcDoKKyAgICAgICAgKHdpbGxTZW5kUmVxdWVzdEZvckZyYW1lKTogU2V0IHRoZSBp
bml0aWF0aW5nUGFnZUlEIHRvIHRoZSBSZXNvdXJjZVJlcXVlc3QuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0OjpXZWJGcmFtZU5ldHdv
cmtpbmdDb250ZXh0KToKKyAgICAgICAgUmVtb3ZlIGluaXRpYXRpbmdQYWdlSUQoKSBtZXRob2Qu
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0d29y
a2luZ0NvbnRleHQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RN
YW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU291cFJlcXVlc3RNYW5hZ2VyOjpzZW5k
KTogR2V0IHRoZSBpbml0aWF0aW5nUGFnZUlECisgICAgICAgIGZyb20gdGhlIFNvdXBSZXF1ZXN0
IHVzaW5nIHRoZSBSZXNvdXJjZVJlcXVlc3QgQVBJLgorCiAyMDE0LTAxLTE2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBJbXBsZW1l
bnQgY3VzdG9tIFVSSSBzY2hlbWVzIHdpdGggQ3VzdG9tUHJvdG9jb2xzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaApp
bmRleCBkYTZiMzdhLi5lM2VkMTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgKQEAgLTY2LDEwICs2Niw2IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJv
cihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKSBjb25zdCBvdmVycmlkZTsKICNlbmRp
ZgogCi0jaWYgVVNFKFNPVVApCi0gICAgdmlydHVhbCB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlE
KCkgY29uc3Q7Ci0jZW5kaWYKLQogICAgIHVpbnQ2NF90IG1fc2Vzc2lvbklEOwogICAgIGJvb2wg
bV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdDb250
ZXh0U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5l
dHdvcmtpbmdDb250ZXh0U291cC5jcHAKaW5kZXggZDdmOGQyYi4uZDdjZjg2ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9SZW1vdGVOZXR3b3JraW5nQ29u
dGV4dFNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvUmVt
b3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcApAQCAtNDYsMTIgKzQ2LDYgQEAgYm9vbCBSZW1v
dGVOZXR3b3JraW5nQ29udGV4dDo6aXNWYWxpZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLXVpbnQ2NF90IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0Ojppbml0aWF0aW5nUGFnZUlEKCkg
Y29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwotfQotCiB2b2lk
IFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjplbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKHVp
bnQ2NF90IHNlc3Npb25JRCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9D
dXN0b21Qcm90b2NvbHMvc291cC9DdXN0b21Qcm90b2NvbE1hbmFnZXJJbXBsLmNwcAppbmRleCAy
ODYwZDJjLi45OGM1NWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29y
ay9DdXN0b21Qcm90b2NvbHMvc291cC9DdXN0b21Qcm90b2NvbE1hbmFnZXJJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9DdXN0
b21Qcm90b2NvbE1hbmFnZXJJbXBsLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3Bv
bnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Tb3VwTmV0d29ya1Nlc3Npb24uaD4KLSNpbmNsdWRl
IDxXZWJDb3JlL1NvdXBVUklVdGlscy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTkz
LDcgKzE5Miw3IEBAIHZvaWQgQ3VzdG9tUHJvdG9jb2xNYW5hZ2VySW1wbDo6c2VuZChHVGFzayog
dGFzaykKICAgICBXZWJLaXRTb3VwUmVxdWVzdEdlbmVyaWMqIHJlcXVlc3QgPSBXRUJLSVRfU09V
UF9SRVFVRVNUX0dFTkVSSUMoZ190YXNrX2dldF9zb3VyY2Vfb2JqZWN0KHRhc2spKTsKICAgICBt
X2N1c3RvbVByb3RvY29sTWFwLnNldChjdXN0b21Qcm90b2NvbElELCBzdGQ6Om1ha2VfdW5pcXVl
PFdlYlNvdXBSZXF1ZXN0QXN5bmNEYXRhPih0YXNrLCByZXF1ZXN0KSk7CiAKLSAgICBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0KFdlYkNvcmU6OnNvdXBVUklUb0tVUkwo
c291cF9yZXF1ZXN0X2dldF91cmkoU09VUF9SRVFVRVNUKHJlcXVlc3QpKSkpOworICAgIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3QoU09VUF9SRVFVRVNUKHJlcXVlc3Qp
KTsKICAgICBtX2NoaWxkUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHk6OlN0YXJ0TG9hZGluZyhjdXN0b21Qcm90b2NvbElELCByZXNvdXJjZVJlcXVlc3Qp
LCAwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCA3NTY1YWEyLi43Mjc4OTUwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNTb3VwLmNwcApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgSVBDIHsKIHZvaWQgQXJndW1l
bnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCkKIHsK
ICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihyZXNvdXJjZVJlcXVlc3Quc291
cE1lc3NhZ2VGbGFncygpKTsKKyAgICBlbmNvZGVyIDw8IHJlc291cmNlUmVxdWVzdC5pbml0aWF0
aW5nUGFnZUlEKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+Ojpk
ZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVJlcXVl
c3QmIHJlc291cmNlUmVxdWVzdCkKQEAgLTUwLDYgKzUxLDEyIEBAIGJvb2wgQXJndW1lbnRDb2Rl
cjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBk
ZWNvZGVyCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzb3VwTWVzc2FnZUZsYWdzKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc291cmNlUmVxdWVzdC5zZXRTb3VwTWVzc2FnZUZsYWdz
KHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KHNvdXBNZXNzYWdlRmxhZ3MpKTsKKworICAg
IHVpbnQ2NF90IGluaXRpYXRpbmdQYWdlSUQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpbml0
aWF0aW5nUGFnZUlEKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc291cmNlUmVxdWVz
dC5zZXRJbml0aWF0aW5nUGFnZUlEKGluaXRpYXRpbmdQYWdlSUQpOworCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKaW5kZXggZWNiOWUxOC4uZDYzMmQ0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdC5jcHAKQEAgLTc0LDEzICs3NCwxMyBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2NsYXNzX2luaXQoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdENs
YXNzKiByZQogewogfQogCi1XZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiB3ZWJraXRVUklTY2hlbWVS
ZXF1ZXN0Q3JlYXRlKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViS2l0V2ViQ29udGV4dCogd2ViQ29u
dGV4dCwgQVBJOjpVUkxSZXF1ZXN0KiB1cmxSZXF1ZXN0LCBXZWJQYWdlUHJveHkqIGluaXRpYXRp
bmdQYWdlKQorV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCogd2Via2l0VVJJU2NoZW1lUmVxdWVzdENy
ZWF0ZSh1aW50NjRfdCByZXF1ZXN0SUQsIFdlYktpdFdlYkNvbnRleHQqIHdlYkNvbnRleHQsIEFQ
STo6VVJMUmVxdWVzdCogdXJsUmVxdWVzdCkKIHsKICAgICBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0
KiByZXF1ZXN0ID0gV0VCS0lUX1VSSV9TQ0hFTUVfUkVRVUVTVChnX29iamVjdF9uZXcoV0VCS0lU
X1RZUEVfVVJJX1NDSEVNRV9SRVFVRVNULCBOVUxMKSk7CiAgICAgcmVxdWVzdC0+cHJpdi0+d2Vi
Q29udGV4dCA9IHdlYkNvbnRleHQ7CiAgICAgcmVxdWVzdC0+cHJpdi0+d2ViUmVxdWVzdE1hbmFn
ZXIgPSB3ZWJraXRXZWJDb250ZXh0R2V0UmVxdWVzdE1hbmFnZXIod2ViQ29udGV4dCk7CiAgICAg
cmVxdWVzdC0+cHJpdi0+dXJpID0gdXJsUmVxdWVzdC0+cmVzb3VyY2VSZXF1ZXN0KCkudXJsKCku
c3RyaW5nKCkudXRmOCgpOwotICAgIHJlcXVlc3QtPnByaXYtPmluaXRpYXRpbmdQYWdlID0gaW5p
dGlhdGluZ1BhZ2U7CisgICAgcmVxdWVzdC0+cHJpdi0+aW5pdGlhdGluZ1BhZ2UgPSBXZWJQcm9j
ZXNzUHJveHk6OndlYlBhZ2UodXJsUmVxdWVzdC0+cmVzb3VyY2VSZXF1ZXN0KCkuaW5pdGlhdGlu
Z1BhZ2VJRCgpKTsKICAgICByZXF1ZXN0LT5wcml2LT5yZXF1ZXN0SUQgPSByZXF1ZXN0SUQ7CiAg
ICAgcmV0dXJuIHJlcXVlc3Q7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUuaAppbmRl
eCA1MjA4OTkzLi5jNzJmYTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlLmgKQEAg
LTI0LDcgKzI0LDcgQEAKICNpbmNsdWRlICJXZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmgiCiAjaW5j
bHVkZSAiV2ViS2l0V2ViQ29udGV4dC5oIgogCi1XZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiB3ZWJr
aXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViS2l0V2ViQ29u
dGV4dCosIEFQSTo6VVJMUmVxdWVzdCosIFdlYktpdDo6V2ViUGFnZVByb3h5Kik7CitXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0KiB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlKHVpbnQ2NF90IHJl
cXVlc3RJRCwgV2ViS2l0V2ViQ29udGV4dCosIEFQSTo6VVJMUmVxdWVzdCopOwogdm9pZCB3ZWJr
aXRVUklTY2hlbWVSZXF1ZXN0Q2FuY2VsKFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqKTsKIAogI2Vu
ZGlmIC8vIFdlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggNjUw
OWRkZS4uNDFkZmI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTk0MCw4ICs5NDAsNyBAQCBXZWJTb3VwQ3Vz
dG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdlciogd2Via2l0V2ViQ29udGV4dEdldFJlcXVlc3RNYW5h
Z2VyKFdlYktpdFdlYgogCiB2b2lkIHdlYmtpdFdlYkNvbnRleHRTdGFydExvYWRpbmdDdXN0b21Q
cm90b2NvbChXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0LCB1aW50NjRfdCBjdXN0b21Qcm90b2Nv
bElELCBBUEk6OlVSTFJlcXVlc3QqIHVybFJlcXVlc3QpCiB7Ci0gICAgLy8gRklYTUU6IFdlIG5l
ZWQgdG8gZmlndXJlIG91dCBob3cgdG8gZ2V0IHRoZSBpbml0aWF0aW5nIHBhZ2UuCi0gICAgR1Jl
ZlB0cjxXZWJLaXRVUklTY2hlbWVSZXF1ZXN0PiByZXF1ZXN0ID0gYWRvcHRHUmVmKHdlYmtpdFVS
SVNjaGVtZVJlcXVlc3RDcmVhdGUoY3VzdG9tUHJvdG9jb2xJRCwgY29udGV4dCwgdXJsUmVxdWVz
dCwgbnVsbHB0cikpOworICAgIEdSZWZQdHI8V2ViS2l0VVJJU2NoZW1lUmVxdWVzdD4gcmVxdWVz
dCA9IGFkb3B0R1JlZih3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlKGN1c3RvbVByb3RvY29s
SUQsIGNvbnRleHQsIHVybFJlcXVlc3QpKTsKICAgICBTdHJpbmcgc2NoZW1lKFN0cmluZzo6ZnJv
bVVURjgod2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfc2NoZW1lKHJlcXVlc3QuZ2V0KCkp
KSk7CiAgICAgUmVmUHRyPFdlYktpdFVSSVNjaGVtZUhhbmRsZXI+IGhhbmRsZXIgPSBjb250ZXh0
LT5wcml2LT51cmlTY2hlbWVIYW5kbGVycy5nZXQoc2NoZW1lKTsKICAgICBBU1NFUlQoaGFuZGxl
ci5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViUGFnZS5jcHAKaW5kZXggY2UyZWQy
Zi4uNWE1ZWFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcApAQCAtMTcy
LDYgKzE3Miw3IEBAIHN0YXRpYyBXS1VSTFJlcXVlc3RSZWYgd2lsbFNlbmRSZXF1ZXN0Rm9yRnJh
bWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlRnJhCiAKICAgICBSZXNvdXJjZVJlcXVl
c3QgcmVzb3VyY2VSZXF1ZXN0OwogICAgIHdlYmtpdFVSSVJlcXVlc3RHZXRSZXNvdXJjZVJlcXVl
c3QocmVxdWVzdC5nZXQoKSwgcmVzb3VyY2VSZXF1ZXN0KTsKKyAgICByZXNvdXJjZVJlcXVlc3Qu
c2V0SW5pdGlhdGluZ1BhZ2VJRCh0b0ltcGwocGFnZSktPnBhZ2VJRCgpKTsKICAgICBSZWZQdHI8
QVBJOjpVUkxSZXF1ZXN0PiBuZXdSZXF1ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVz
b3VyY2VSZXF1ZXN0KTsKIAogICAgIEltbXV0YWJsZURpY3Rpb25hcnk6Ok1hcFR5cGUgbWVzc2Fn
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
c291cC9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvc291cC9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmNwcApp
bmRleCAyNDUwNzQzLi40ZDEzZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1l
TmV0d29ya2luZ0NvbnRleHQuY3BwCkBAIC00OSwxMCArNDksNyBAQCB2b2lkIFdlYkZyYW1lTmV0
d29ya2luZ0NvbnRleHQ6OmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24odWludDY0X3Qgc2Vz
c2lvbklEKQogCiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0OjpXZWJGcmFtZU5ldHdvcmtpbmdD
b250ZXh0KFdlYkZyYW1lKiBmcmFtZSkKICAgICA6IEZyYW1lTmV0d29ya2luZ0NvbnRleHQoZnJh
bWUtPmNvcmVGcmFtZSgpKQotICAgICwgbV9pbml0aWF0aW5nUGFnZUlEKDApCiB7Ci0gICAgaWYg
KFdlYlBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKQotICAgICAgICBtX2luaXRpYXRpbmdQYWdl
SUQgPSBwYWdlLT5wYWdlSUQoKTsKIH0KIAogTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBXZWJGcmFt
ZU5ldHdvcmtpbmdDb250ZXh0OjpzdG9yYWdlU2Vzc2lvbigpIGNvbnN0CkBAIC02MywxMSArNjAs
NiBAQCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OnN0
b3JhZ2VTZXNzaW9uKCkgY29uc3QKICAgICByZXR1cm4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpk
ZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKIH0KIAotdWludDY0X3QgV2ViRnJhbWVOZXR3b3JraW5n
Q29udGV4dDo6aW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1faW5pdGlh
dGluZ1BhZ2VJRDsKLX0KLQogV2ViRnJhbWVMb2FkZXJDbGllbnQqIFdlYkZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ6OndlYkZyYW1lTG9hZGVyQ2xpZW50KCkgY29uc3QKIHsKICAgICBpZiAoIWZyYW1l
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaAppbmRl
eCAyMDRjY2I5Li4yNjMwNjFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3
b3JraW5nQ29udGV4dC5oCkBAIC01MCw5ICs1MCw2IEBAIHByaXZhdGU6CiAgICAgV2ViRnJhbWVO
ZXR3b3JraW5nQ29udGV4dChXZWJGcmFtZSopOwogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpOZXR3
b3JrU3RvcmFnZVNlc3Npb24mIHN0b3JhZ2VTZXNzaW9uKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB1
aW50NjRfdCBpbml0aWF0aW5nUGFnZUlEKCkgY29uc3Q7Ci0KLSAgICB1aW50NjRfdCBtX2luaXRp
YXRpbmdQYWdlSUQ7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCmluZGV4IDgxOGVlZjAuLmQ1ZTNj
ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVx
dWVzdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJT
b3VwUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC0xODEsNyArMTgxLDcgQEAgdm9pZCBXZWJTb3VwUmVx
dWVzdE1hbmFnZXI6OnNlbmQoR1Rhc2sqIHRhc2spCiAgICAgdWludDY0X3QgcmVxdWVzdElEID0g
Z2VuZXJhdGVTb3VwUmVxdWVzdElEKCk7CiAgICAgbV9yZXF1ZXN0TWFwLnNldChyZXF1ZXN0SUQs
IGFkb3B0UHRyKG5ldyBXZWJTb3VwUmVxdWVzdEFzeW5jRGF0YSh0YXNrLCByZXF1ZXN0KSkpOwog
Ci0gICAgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjpnZXRTb3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSUQoc291cFJlcXVlc3QpOworICAgIHVpbnQ2
NF90IGluaXRpYXRpbmdQYWdlSUQgPSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qoc291cFJlcXVl
c3QpLmluaXRpYXRpbmdQYWdlSUQoKTsKICAgICBtX3Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25u
ZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVjZWl2ZVVSSVJlcXVl
c3QoU3RyaW5nOjpmcm9tVVRGOCh1cmlTdHJpbmcuZ2V0KCkpLCByZXF1ZXN0SUQpLCBpbml0aWF0
aW5nUGFnZUlEKTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGQyNjU3OGEuLjkyN2FiNjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wMS0yNSAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10g
TWFrZSB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldygpIHdvcmsgd2l0aCBD
dXN0b21Qcm90b2NvbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNzYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRXZWJDb250
ZXh0LmNwcDogQnJpbmcKKyAgICAgICAgYmFjayB0aGUgY3VzdG9tIFVSSSBzY2hlbWUgV2ViVmll
dyBjaGVjay4KKwogMjAxNC0wMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gSW1wbGVtZW50IGN1c3RvbSBVUkkgc2NoZW1lcyB3
aXRoIEN1c3RvbVByb3RvY29scwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mkd0ay9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggNDcyMTgy
My4uMzE5ZWVjNCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
R3RrL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDJHdGsvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCkBAIC0xNDYsOCArMTQ2LDcg
QEAgcHVibGljOgogICAgICAgICB0ZXN0LT5tX3VyaVNjaGVtZVJlcXVlc3QgPSByZXF1ZXN0Owog
ICAgICAgICB0ZXN0LT5hc3NlcnRPYmplY3RJc0RlbGV0ZWRXaGVuVGVzdEZpbmlzaGVzKEdfT0JK
RUNUKHJlcXVlc3QpKTsKIAotICAgICAgICAvLyBGSVhNRTogd2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9nZXRfd2ViX3ZpZXcgZG9lc24ndCB3b3JrIHdpdGggY3VzdG9tIHByb3RvY29scy4KLSAg
ICAgICAgLy8gZ19hc3NlcnQod2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXco
cmVxdWVzdCkgPT0gdGVzdC0+bV93ZWJWaWV3KTsKKyAgICAgICAgZ19hc3NlcnQod2Via2l0X3Vy
aV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcocmVxdWVzdCkgPT0gdGVzdC0+bV93ZWJWaWV3
KTsKIAogICAgICAgICBHUmVmUHRyPEdJbnB1dFN0cmVhbT4gaW5wdXRTdHJlYW0gPSBhZG9wdEdS
ZWYoZ19tZW1vcnlfaW5wdXRfc3RyZWFtX25ldygpKTsKICAgICAgICAgdGVzdC0+YXNzZXJ0T2Jq
ZWN0SXNEZWxldGVkV2hlblRlc3RGaW5pc2hlcyhHX09CSkVDVChpbnB1dFN0cmVhbS5nZXQoKSkp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222270</attachid>
            <date>2014-01-26 06:25:50 -0800</date>
            <delta_ts>2014-01-27 05:12:56 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wkcore-resource-initiating-page-id.diff</filename>
            <type>text/plain</type>
            <size>26303</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYTM1N2NmLi45MGJlMjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTQtMDEtMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIE1ha2Ugd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2Vi
X3ZpZXcoKSB3b3JrIHdpdGggQ3VzdG9tUHJvdG9jb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRvIHNldCB0aGUgcGFnZSBpZGVudGlm
aWVyIHRoYXQgaW5pdGlhdGVkIHRoZSByZXF1ZXN0IHRvCisgICAgICAgIFJlc291cmNlUmVxdWVz
dCwgYW5kIHJlbW92ZSB0aGUgaW5pdGlhdGluZ1BhZ2VJRCgpIG1ldGhvZCBmcm9tIHRoZQorICAg
ICAgICBOZXR3b3JraW5nQ29udGV4dCBjbGFzcy4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvTmV0d29ya2luZ0NvbnRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVTb3VwUmVxdWVzdEFuZE1lc3Nh
Z2VGb3JIYW5kbGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJl
cXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6UmVzb3VyY2VSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6aW5pdGlhdGluZ1BhZ2VJ
RCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNldEluaXRpYXRpbmdQYWdl
SUQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3Vw
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6dXBkYXRlU291cFJlcXVl
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVGcm9tU291cFJl
cXVlc3QpOgorCiAyMDE0LTAxLTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBdm9pZCB1bm5lY2Vzc2FyeSBzdHJpbmcgZHVwbGlj
YXRpb25zIGluIEZpbGVTeXN0ZW1HdGsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya2luZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvTmV0d29ya2luZ0NvbnRleHQuaAppbmRleCBkMzZkZmY2Li4zMDgwYTdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtpbmdDb250ZXh0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JraW5nQ29udGV4
dC5oCkBAIC02NywxMCArNjcsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZXNvdXJjZUVycm9y
IGJsb2NrZWRFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmKSBjb25zdCA9IDA7CiAjZW5kaWYK
IAotI2lmIFVTRShTT1VQKQotICAgIHZpcnR1YWwgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCgp
IGNvbnN0ID0gMDsKLSNlbmRpZgotCiBwcm90ZWN0ZWQ6CiAgICAgTmV0d29ya2luZ0NvbnRleHQo
KSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
SGFuZGxlLmgKaW5kZXggZGFhZDI3Ni4uYzFkYTAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaApAQCAtMTgyLDcgKzE4Miw2IEBAIHB1
YmxpYzoKICAgICB2b2lkIGVuc3VyZVJlYWRCdWZmZXIoKTsKICAgICBzaXplX3QgY3VycmVudFN0
cmVhbVBvc2l0aW9uKCkgY29uc3Q7CiAgICAgdm9pZCBkaWRTdGFydFJlcXVlc3QoKTsKLSAgICBz
dGF0aWMgdWludDY0X3QgZ2V0U291cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlEKFNvdXBSZXF1ZXN0
Kik7CiAgICAgc3RhdGljIHZvaWQgc2V0SG9zdEFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29u
c3QgU3RyaW5nJik7CiAgICAgc3RhdGljIHZvaWQgc2V0Q2xpZW50Q2VydGlmaWNhdGUoY29uc3Qg
U3RyaW5nJiBob3N0LCBHVGxzQ2VydGlmaWNhdGUqKTsKICAgICBzdGF0aWMgdm9pZCBzZXRJZ25v
cmVTU0xFcnJvcnMoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDdhNjc3NmUuLjZm
MmY3YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC05MTcsMTggKzkxNyw2IEBAIHN0YXRp
YyB2b2lkIG5ldHdvcmtFdmVudENhbGxiYWNrKFNvdXBNZXNzYWdlKiwgR1NvY2tldENsaWVudEV2
ZW50IGV2ZW50LCBHSU9TdHJlCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGNoYXIqIGdTb3Vw
UmVxdWVzdEluaXRpYXRpbmdQYWdlSURLZXkgPSAid2stc291cC1yZXF1ZXN0LWluaXRpYXRpbmct
cGFnZS1pZCI7Ci0KLXN0YXRpYyB2b2lkIHNldFNvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJREZy
b21OZXR3b3JraW5nQ29udGV4dChTb3VwUmVxdWVzdCogcmVxdWVzdCwgTmV0d29ya2luZ0NvbnRl
eHQqIGNvbnRleHQpCi17Ci0gICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5pc1ZhbGlkKCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIHVpbnQ2NF90KiBpbml0aWF0aW5nUGFnZUlEUHRyID0g
c3RhdGljX2Nhc3Q8dWludDY0X3QqPihmYXN0TWFsbG9jKHNpemVvZih1aW50NjRfdCkpKTsKLSAg
ICAqaW5pdGlhdGluZ1BhZ2VJRFB0ciA9IGNvbnRleHQtPmluaXRpYXRpbmdQYWdlSUQoKTsKLSAg
ICBnX29iamVjdF9zZXRfZGF0YV9mdWxsKEdfT0JKRUNUKHJlcXVlc3QpLCBnX2ludGVybl9zdGF0
aWNfc3RyaW5nKGdTb3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSURLZXkpLCBpbml0aWF0aW5nUGFn
ZUlEUHRyLCBmYXN0RnJlZSk7Ci19Ci0KIHN0YXRpYyBib29sIGNyZWF0ZVNvdXBNZXNzYWdlRm9y
SGFuZGxlQW5kUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QpCiB7CiAgICAgQVNTRVJUKGhhbmRsZSk7CkBAIC0xMDA5LDcgKzk5Nyw3
IEBAIHN0YXRpYyBib29sIGNyZWF0ZVNvdXBSZXF1ZXN0QW5kTWVzc2FnZUZvckhhbmRsZShSZXNv
dXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CiAKLSAgICBzZXRTb3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSURGcm9tTmV0d29ya2luZ0NvbnRl
eHQoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jb250ZXh0LmdldCgpKTsKKyAgICByZXF1
ZXN0LnVwZGF0ZVNvdXBSZXF1ZXN0KGQtPm1fc291cFJlcXVlc3QuZ2V0KCkpOwogCiAgICAgcmV0
dXJuIHRydWU7CiB9CkBAIC0xMzkyLDEwICsxMzgwLDQgQEAgc3RhdGljIGdib29sZWFuIHJlcXVl
c3RUaW1lb3V0Q2FsbGJhY2soZ3BvaW50ZXIgZGF0YSkKICAgICByZXR1cm4gRkFMU0U7CiB9CiAK
LXVpbnQ2NF90IFJlc291cmNlSGFuZGxlOjpnZXRTb3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSUQo
U291cFJlcXVlc3QqIHJlcXVlc3QpCi17Ci0gICAgdWludDY0X3QqIGluaXRpYXRpbmdQYWdlSURQ
dHIgPSBzdGF0aWNfY2FzdDx1aW50NjRfdCo+KGdfb2JqZWN0X2dldF9kYXRhKEdfT0JKRUNUKHJl
cXVlc3QpLCBnU291cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlES2V5KSk7Ci0gICAgcmV0dXJuIGlu
aXRpYXRpbmdQYWdlSURQdHIgPyAqaW5pdGlhdGluZ1BhZ2VJRFB0ciA6IDA7Ci19Ci0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJl
cXVlc3QuaAppbmRleCBjZjIyNmMxLi42NzkxNTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oCkBAIC0yOCw2ICsy
OCw3IEBACiAjZGVmaW5lIFJlc291cmNlUmVxdWVzdF9oCiAKICNpbmNsdWRlICJSZXNvdXJjZVJl
cXVlc3RCYXNlLmgiCisjaW5jbHVkZSAiU291cFVSSVV0aWxzLmgiCiAjaW5jbHVkZSA8bGlic291
cC9zb3VwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM4LDYgKzM5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKFVSTChQYXJz
ZWRVUkxTdHJpbmcsIHVybCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAs
IG1fYWNjZXB0RW5jb2RpbmcodHJ1ZSkKICAgICAgICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGlj
X2Nhc3Q8U291cE1lc3NhZ2VGbGFncz4oMCkpCisgICAgICAgICAgICAsIG1faW5pdGlhdGluZ1Bh
Z2VJRCgwKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtNDUsNiArNDcsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgICAgICA6IFJlc291cmNlUmVxdWVzdEJhc2UodXJsLCBVc2VQ
cm90b2NvbENhY2hlUG9saWN5KQogICAgICAgICAgICAgLCBtX2FjY2VwdEVuY29kaW5nKHRydWUp
CiAgICAgICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+
KDApKQorICAgICAgICAgICAgLCBtX2luaXRpYXRpbmdQYWdlSUQoMCkKICAgICAgICAgewogICAg
ICAgICB9CiAKQEAgLTUyLDYgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAg
ICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKHVybCwgcG9saWN5KQogICAgICAgICAgICAgLCBtX2Fj
Y2VwdEVuY29kaW5nKHRydWUpCiAgICAgICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0
PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQorICAgICAgICAgICAgLCBtX2luaXRpYXRpbmdQYWdlSUQo
MCkKICAgICAgICAgewogICAgICAgICAgICAgc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKICAg
ICAgICAgfQpAQCAtNjAsNiArNjQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAg
ICA6IFJlc291cmNlUmVxdWVzdEJhc2UoVVJMKCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAg
ICAgICAgICAgICAsIG1fYWNjZXB0RW5jb2RpbmcodHJ1ZSkKICAgICAgICAgICAgICwgbV9zb3Vw
RmxhZ3Moc3RhdGljX2Nhc3Q8U291cE1lc3NhZ2VGbGFncz4oMCkpCisgICAgICAgICAgICAsIG1f
aW5pdGlhdGluZ1BhZ2VJRCgwKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtNjcsMTAgKzcy
LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0
QmFzZShVUkwoKSwgVXNlUHJvdG9jb2xDYWNoZVBvbGljeSkKICAgICAgICAgICAgICwgbV9hY2Nl
cHRFbmNvZGluZyh0cnVlKQogICAgICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxT
b3VwTWVzc2FnZUZsYWdzPigwKSkKKyAgICAgICAgICAgICwgbV9pbml0aWF0aW5nUGFnZUlEKDAp
CiAgICAgICAgIHsKICAgICAgICAgICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShzb3VwTWVzc2Fn
ZSk7CiAgICAgICAgIH0KIAorICAgICAgICBSZXNvdXJjZVJlcXVlc3QoU291cFJlcXVlc3QqIHNv
dXBSZXF1ZXN0KQorICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKHNvdXBVUklUb0tV
Ukwoc291cF9yZXF1ZXN0X2dldF91cmkoc291cFJlcXVlc3QpKSwgVXNlUHJvdG9jb2xDYWNoZVBv
bGljeSkKKyAgICAgICAgICAgICwgbV9hY2NlcHRFbmNvZGluZyh0cnVlKQorICAgICAgICAgICAg
LCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKKyAgICAgICAg
ICAgICwgbV9pbml0aWF0aW5nUGFnZUlEKDApCisgICAgICAgIHsKKyAgICAgICAgICAgIHVwZGF0
ZUZyb21Tb3VwUmVxdWVzdChzb3VwUmVxdWVzdCk7CisgICAgICAgIH0KKwogICAgICAgICB2b2lk
IHVwZGF0ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRIVFRQQm9keShjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIGRlbGVnYXRlUHJvdmlkZWRSZXF1ZXN0KSB7ICp0aGlzID0gZGVsZWdhdGVQcm92aWRl
ZFJlcXVlc3Q7IH0KIAogICAgICAgICBib29sIGFjY2VwdEVuY29kaW5nKCkgY29uc3QgeyByZXR1
cm4gbV9hY2NlcHRFbmNvZGluZzsgfQpAQCAtODEsMTAgKzk2LDE1IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdm9pZCB1cGRhdGVTb3VwTWVzc2FnZShTb3VwTWVzc2FnZSopIGNvbnN0
OwogICAgICAgICBTb3VwTWVzc2FnZSogdG9Tb3VwTWVzc2FnZSgpIGNvbnN0OwogICAgICAgICB2
b2lkIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShTb3VwTWVzc2FnZSopOworICAgICAgICB2b2lkIHVw
ZGF0ZVNvdXBSZXF1ZXN0KFNvdXBSZXF1ZXN0KikgY29uc3Q7CisgICAgICAgIHZvaWQgdXBkYXRl
RnJvbVNvdXBSZXF1ZXN0KFNvdXBSZXF1ZXN0Kik7CiAKICAgICAgICAgU291cE1lc3NhZ2VGbGFn
cyBzb3VwTWVzc2FnZUZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9zb3VwRmxhZ3M7IH0KICAgICAg
ICAgdm9pZCBzZXRTb3VwTWVzc2FnZUZsYWdzKFNvdXBNZXNzYWdlRmxhZ3Mgc291cEZsYWdzKSB7
IG1fc291cEZsYWdzID0gc291cEZsYWdzOyB9CiAKKyAgICAgICAgdWludDY0X3QgaW5pdGlhdGlu
Z1BhZ2VJRCgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdGluZ1BhZ2VJRDsgfQorICAgICAgICB2
b2lkIHNldEluaXRpYXRpbmdQYWdlSUQodWludDY0X3QgcGFnZUlEKSB7IG1faW5pdGlhdGluZ1Bh
Z2VJRCA9IHBhZ2VJRDsgfQorCiAgICAgICAgIFNvdXBVUkkqIHNvdXBVUkkoKSBjb25zdDsKIAog
ICAgIHByaXZhdGU6CkBAIC05Miw2ICsxMTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgYm9vbCBtX2FjY2VwdEVuY29kaW5nIDogMTsKICAgICAgICAgU291cE1lc3NhZ2VGbGFn
cyBtX3NvdXBGbGFnczsKKyAgICAgICAgdWludDY0X3QgbV9pbml0aWF0aW5nUGFnZUlEOwogCiAg
ICAgICAgIHZvaWQgdXBkYXRlU291cE1lc3NhZ2VNZW1iZXJzKFNvdXBNZXNzYWdlKikgY29uc3Q7
CiAgICAgICAgIHZvaWQgZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QoKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3Vw
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVl
c3RTb3VwLmNwcAppbmRleCAyMzU5ZmQ2Li5iZjZjNmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAu
Y3BwCkBAIC0xMTcsNiArMTE3LDI0IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVGcm9t
U291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgIC8vIGRvVXBkYXRlUGxh
dGZvcm1SZXF1ZXN0IHNvbWVob3cuCiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBnU291cFJlcXVl
c3RJbml0aWF0aW5nUGFnZUlES2V5ID0gIndrLXNvdXAtcmVxdWVzdC1pbml0aWF0aW5nLXBhZ2Ut
aWQiOworCit2b2lkIFJlc291cmNlUmVxdWVzdDo6dXBkYXRlU291cFJlcXVlc3QoU291cFJlcXVl
c3QqIHNvdXBSZXF1ZXN0KSBjb25zdAoreworICAgIGlmICghbV9pbml0aWF0aW5nUGFnZUlEKQor
ICAgICAgICByZXR1cm47CisKKyAgICB1aW50NjRfdCogaW5pdGlhdGluZ1BhZ2VJRFB0ciA9IHN0
YXRpY19jYXN0PHVpbnQ2NF90Kj4oZmFzdE1hbGxvYyhzaXplb2YodWludDY0X3QpKSk7CisgICAg
KmluaXRpYXRpbmdQYWdlSURQdHIgPSBtX2luaXRpYXRpbmdQYWdlSUQ7CisgICAgZ19vYmplY3Rf
c2V0X2RhdGFfZnVsbChHX09CSkVDVChzb3VwUmVxdWVzdCksIGdfaW50ZXJuX3N0YXRpY19zdHJp
bmcoZ1NvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJREtleSksIGluaXRpYXRpbmdQYWdlSURQdHIs
IGZhc3RGcmVlKTsKK30KKwordm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZyb21Tb3VwUmVx
dWVzdChTb3VwUmVxdWVzdCogc291cFJlcXVlc3QpCit7CisgICAgdWludDY0X3QqIGluaXRpYXRp
bmdQYWdlSURQdHIgPSBzdGF0aWNfY2FzdDx1aW50NjRfdCo+KGdfb2JqZWN0X2dldF9kYXRhKEdf
T0JKRUNUKHNvdXBSZXF1ZXN0KSwgZ1NvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJREtleSkpOwor
ICAgIG1faW5pdGlhdGluZ1BhZ2VJRCA9IGluaXRpYXRpbmdQYWdlSURQdHIgPyAqaW5pdGlhdGlu
Z1BhZ2VJRFB0ciA6IDA7Cit9CisKIHVuc2lnbmVkIGluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5l
Y3Rpb25Db3VudFBlckhvc3QoKQogewogICAgIC8vIFNvdXAgaGFzIGl0cyBvd24gcXVldWUgY29u
dHJvbDsgaXQgd2FudHMgdG8gaGF2ZSBhbGwgcmVxdWVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA3
NDZmZDUxLi4yMDJiMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQt
MDEtMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAg
ICAgIFtHVEtdIE1ha2Ugd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcoKSB3
b3JrIHdpdGggQ3VzdG9tUHJvdG9jb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjc2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgaW5pdGlhdGluZ1BhZ2VJRCgpIG1ldGhvZCBmb3JtIHRo
ZSBGcmFtZU5ldHdvcmtpbmdDb250ZXh0LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJh
bWVOZXR3b3JraW5nQ29udGV4dEVmbC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJh
bWVOZXR3b3JraW5nQ29udGV4dEVmbC5oOgorCiAyMDE0LTAxLTI1ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGFuIHVudXNlZCBGcmFtZUxv
YWRlckNsaWVudCBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsLmNwcAppbmRleCAzY2E2
YzExLi44MjUzYjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsLmNwcApAQCAtNTgsMTAgKzU4
LDQgQEAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBGcmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsOjpz
dG9yYWdlU2Vzc2lvbigpIGNvbnN0CiAgICAgcmV0dXJuIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6
ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uKCk7CiB9CiAKLXVpbnQ2NF90IEZyYW1lTmV0d29ya2luZ0Nv
bnRleHRFZmw6OmluaXRpYXRpbmdQYWdlSUQoKSBjb25zdAotewotICAgIG5vdEltcGxlbWVudGVk
KCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRFZmwuaCBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRFZmwuaAppbmRleCA2
YjEzNDdmLi4yNWI0NTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEVmbC5oCkBAIC0zOCw3ICszOCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0
RWZsPiBjcmVhdGUoRnJhbWUqLCBFdmFzX09iamVjdCopOwogCiAgICAgV2ViQ29yZTo6RnJhbWUq
IGNvcmVGcmFtZSgpIGNvbnN0IHsgcmV0dXJuIGZyYW1lKCk7IH0KLSAgICB2aXJ0dWFsIHVpbnQ2
NF90IGluaXRpYXRpbmdQYWdlSUQoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIFdl
YkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbiYgc3RvcmFnZVNlc3Npb24oKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwppbmRleCAxN2MzNTAwLi40NDkxNjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTQtMDEtMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIE1ha2Ugd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVz
dF9nZXRfd2ViX3ZpZXcoKSB3b3JrIHdpdGggQ3VzdG9tUHJvdG9jb2xzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgaW5pdGlhdGluZ1BhZ2VJ
RCgpIG1ldGhvZCBmcm9tIEZyYW1lTmV0d29ya2luZ0NvbnRleHQuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmNwcDoKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmg6CisKIDIwMTQtMDEtMjUgIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYW4g
dW51c2VkIEZyYW1lTG9hZGVyQ2xpZW50IGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGsu
Y3BwCmluZGV4IGZhZTEzN2UuLmQyMDVkYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGsuY3Bw
CkBAIC0zMywxMCArMzMsNCBAQCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIEZyYW1lTmV0d29ya2lu
Z0NvbnRleHRHdGs6OnN0b3JhZ2VTZXNzaW9uKCkgY29uc3QKICAgICByZXR1cm4gTmV0d29ya1N0
b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKIH0KIAotdWludDY0X3QgRnJh
bWVOZXR3b3JraW5nQ29udGV4dEd0azo6aW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0Ci17Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0ay5o
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4
dEd0ay5oCmluZGV4IDY0MmRmYjEuLmFmZDZhOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGsuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmgK
QEAgLTMyLDcgKzMyLDYgQEAgcHVibGljOgogICAgIH0KIAogICAgIFdlYkNvcmU6OkZyYW1lKiBj
b3JlRnJhbWUoKSBjb25zdCB7IHJldHVybiBmcmFtZSgpOyB9Ci0gICAgdmlydHVhbCB1aW50NjRf
dCBpbml0aWF0aW5nUGFnZUlEKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJD
b3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHN0b3JhZ2VTZXNzaW9uKCkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggYzk1MjMzMS4uODlhMWIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisy
MDE0LTAxLTI1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbR1RLXSBNYWtlIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3
KCkgd29yayB3aXRoIEN1c3RvbVByb3RvY29scworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29u
dGV4dC5oOiBSZW1vdmUKKyAgICAgICAgaW5pdGlhdGluZ1BhZ2VJRCgpIG1ldGhvZC4KKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHA6
IERpdHRvLgorICAgICAgICAqIFNoYXJlZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9zb3VwL0N1
c3RvbVByb3RvY29sTWFuYWdlckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDdXN0b21Qcm90
b2NvbE1hbmFnZXJJbXBsOjpzZW5kKTogQ3JlYXRlIHRoZSByZXF1ZXN0IHdpdGgKKyAgICAgICAg
dGhlIFJlc291cmNlUmVxdWVzdCBjb25zdHJ1Y3RvciB0aGF0IHJlY2VpdmVzIGEgU291cFJlcXVl
c3QuCisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHA6
CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2RlUGxh
dGZvcm1EYXRhKTogRW5jb2RlIGluaXRpYXRpbmdQYWdlSUQuCisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZGVjb2RlUGxhdGZvcm1EYXRhKTogRGVjb2RlIGlu
aXRpYXRpbmdQYWdlSUQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdC5jcHA6CisgICAgICAgICh3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlKTog
UmVtb3ZlIGluaXRpYXRpbmdQYWdlSUQgcGFyYW1ldGVyCisgICAgICAgIGFuZCBnZXQgaXQgZnJv
bSB0aGUgZ2l2ZW4gUmVzb3VyY2VSZXF1ZXN0LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHA6CisgICAgICAgICh3ZWJraXRXZWJDb250ZXh0U3Rh
cnRMb2FkaW5nQ3VzdG9tUHJvdG9jb2wpOiBVcGRhdGUgdG8KKyAgICAgICAgd2Via2l0VVJJU2No
ZW1lUmVxdWVzdENyZWF0ZSBBUEkgY2hhbmdlLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcDoKKyAgICAgICAgKHdpbGxTZW5kUmVx
dWVzdEZvckZyYW1lKTogU2V0IHRoZSBpbml0aWF0aW5nUGFnZUlEIHRvIHRoZSBSZXNvdXJjZVJl
cXVlc3QuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1l
TmV0d29ya2luZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZU5ldHdvcmtp
bmdDb250ZXh0OjpXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0KToKKyAgICAgICAgUmVtb3ZlIGlu
aXRpYXRpbmdQYWdlSUQoKSBtZXRob2QuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9zb3VwL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
U291cFJlcXVlc3RNYW5hZ2VyOjpzZW5kKTogR2V0IHRoZSBpbml0aWF0aW5nUGFnZUlECisgICAg
ICAgIGZyb20gdGhlIFNvdXBSZXF1ZXN0IHVzaW5nIHRoZSBSZXNvdXJjZVJlcXVlc3QgQVBJLgor
CiAyMDE0LTAxLTE2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR1RLXSBJbXBsZW1lbnQgY3VzdG9tIFVSSSBzY2hlbWVzIHdpdGggQ3VzdG9t
UHJvdG9jb2xzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9SZW1v
dGVOZXR3b3JraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUmVt
b3RlTmV0d29ya2luZ0NvbnRleHQuaAppbmRleCBkYTZiMzdhLi5lM2VkMTJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdvcmtpbmdDb250
ZXh0LmgKQEAgLTY2LDEwICs2Niw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
KSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCi0jaWYgVVNFKFNPVVApCi0gICAgdmlydHVhbCB1
aW50NjRfdCBpbml0aWF0aW5nUGFnZUlEKCkgY29uc3Q7Ci0jZW5kaWYKLQogICAgIHVpbnQ2NF90
IG1fc2Vzc2lvbklEOwogICAgIGJvb2wgbV9zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRU
UFJlZGlyZWN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9z
b3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAKaW5kZXggZDdm
OGQyYi4uZDdjZjg2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
c291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3VwLmNwcApAQCAt
NDYsMTIgKzQ2LDYgQEAgYm9vbCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6aXNWYWxpZCgpIGNv
bnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXVpbnQ2NF90IFJlbW90ZU5ldHdvcmtpbmdDb250
ZXh0Ojppbml0aWF0aW5nUGFnZUlEKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIHJldHVybiAwOwotfQotCiB2b2lkIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0OjplbnN1cmVQ
cml2YXRlQnJvd3NpbmdTZXNzaW9uKHVpbnQ2NF90IHNlc3Npb25JRCkKIHsKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3Vz
dG9tUHJvdG9jb2xzL3NvdXAvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VySW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9DdXN0b21Qcm90b2Nv
bE1hbmFnZXJJbXBsLmNwcAppbmRleCAyODYwZDJjLi45OGM1NWUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9DdXN0b21Qcm90
b2NvbE1hbmFnZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9D
dXN0b21Qcm90b2NvbHMvc291cC9DdXN0b21Qcm90b2NvbE1hbmFnZXJJbXBsLmNwcApAQCAtMzIs
NyArMzIsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Tb3VwTmV0
d29ya1Nlc3Npb24uaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NvdXBVUklVdGlscy5oPgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIApAQCAtMTkzLDcgKzE5Miw3IEBAIHZvaWQgQ3VzdG9tUHJvdG9jb2xN
YW5hZ2VySW1wbDo6c2VuZChHVGFzayogdGFzaykKICAgICBXZWJLaXRTb3VwUmVxdWVzdEdlbmVy
aWMqIHJlcXVlc3QgPSBXRUJLSVRfU09VUF9SRVFVRVNUX0dFTkVSSUMoZ190YXNrX2dldF9zb3Vy
Y2Vfb2JqZWN0KHRhc2spKTsKICAgICBtX2N1c3RvbVByb3RvY29sTWFwLnNldChjdXN0b21Qcm90
b2NvbElELCBzdGQ6Om1ha2VfdW5pcXVlPFdlYlNvdXBSZXF1ZXN0QXN5bmNEYXRhPih0YXNrLCBy
ZXF1ZXN0KSk7CiAKLSAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0
KFdlYkNvcmU6OnNvdXBVUklUb0tVUkwoc291cF9yZXF1ZXN0X2dldF91cmkoU09VUF9SRVFVRVNU
KHJlcXVlc3QpKSkpOworICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVl
c3QoU09VUF9SRVFVRVNUKHJlcXVlc3QpKTsKICAgICBtX2NoaWxkUHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6OlN0YXJ0TG9hZGluZyhjdXN0b21Qcm90
b2NvbElELCByZXNvdXJjZVJlcXVlc3QpLCAwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCA3
NTY1YWEyLi43Mjc4OTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
c291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtNDIsNiArNDIsNyBAQCBuYW1l
c3BhY2UgSVBDIHsKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjplbmNvZGVQ
bGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlc291cmNlUmVxdWVzdCkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQz
Ml90PihyZXNvdXJjZVJlcXVlc3Quc291cE1lc3NhZ2VGbGFncygpKTsKKyAgICBlbmNvZGVyIDw8
IHJlc291cmNlUmVxdWVzdC5pbml0aWF0aW5nUGFnZUlEKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRD
b2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCkKQEAgLTUwLDYgKzUx
LDEyIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGVQbGF0Zm9y
bURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShz
b3VwTWVzc2FnZUZsYWdzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc291cmNlUmVx
dWVzdC5zZXRTb3VwTWVzc2FnZUZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KHNv
dXBNZXNzYWdlRmxhZ3MpKTsKKworICAgIHVpbnQ2NF90IGluaXRpYXRpbmdQYWdlSUQ7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShpbml0aWF0aW5nUGFnZUlEKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHJlc291cmNlUmVxdWVzdC5zZXRJbml0aWF0aW5nUGFnZUlEKGluaXRpYXRpbmdQ
YWdlSUQpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKaW5k
ZXggZWNiOWUxOC4uZDYzMmQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKQEAgLTc0LDEzICs3
NCwxMyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2NsYXNzX2luaXQo
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdENsYXNzKiByZQogewogfQogCi1XZWJLaXRVUklTY2hlbWVS
ZXF1ZXN0KiB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlKHVpbnQ2NF90IHJlcXVlc3RJRCwg
V2ViS2l0V2ViQ29udGV4dCogd2ViQ29udGV4dCwgQVBJOjpVUkxSZXF1ZXN0KiB1cmxSZXF1ZXN0
LCBXZWJQYWdlUHJveHkqIGluaXRpYXRpbmdQYWdlKQorV2ViS2l0VVJJU2NoZW1lUmVxdWVzdCog
d2Via2l0VVJJU2NoZW1lUmVxdWVzdENyZWF0ZSh1aW50NjRfdCByZXF1ZXN0SUQsIFdlYktpdFdl
YkNvbnRleHQqIHdlYkNvbnRleHQsIEFQSTo6VVJMUmVxdWVzdCogdXJsUmVxdWVzdCkKIHsKICAg
ICBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1ZXN0ID0gV0VCS0lUX1VSSV9TQ0hFTUVfUkVR
VUVTVChnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfVVJJX1NDSEVNRV9SRVFVRVNULCBOVUxMKSk7
CiAgICAgcmVxdWVzdC0+cHJpdi0+d2ViQ29udGV4dCA9IHdlYkNvbnRleHQ7CiAgICAgcmVxdWVz
dC0+cHJpdi0+d2ViUmVxdWVzdE1hbmFnZXIgPSB3ZWJraXRXZWJDb250ZXh0R2V0UmVxdWVzdE1h
bmFnZXIod2ViQ29udGV4dCk7CiAgICAgcmVxdWVzdC0+cHJpdi0+dXJpID0gdXJsUmVxdWVzdC0+
cmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkudXRmOCgpOwotICAgIHJlcXVlc3QtPnBy
aXYtPmluaXRpYXRpbmdQYWdlID0gaW5pdGlhdGluZ1BhZ2U7CisgICAgcmVxdWVzdC0+cHJpdi0+
aW5pdGlhdGluZ1BhZ2UgPSBXZWJQcm9jZXNzUHJveHk6OndlYlBhZ2UodXJsUmVxdWVzdC0+cmVz
b3VyY2VSZXF1ZXN0KCkuaW5pdGlhdGluZ1BhZ2VJRCgpKTsKICAgICByZXF1ZXN0LT5wcml2LT5y
ZXF1ZXN0SUQgPSByZXF1ZXN0SUQ7CiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdFByaXZhdGUuaAppbmRleCA1MjA4OTkzLi5jNzJmYTE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNj
aGVtZVJlcXVlc3RQcml2YXRlLmgKQEAgLTI0LDcgKzI0LDcgQEAKICNpbmNsdWRlICJXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViQ29udGV4dC5oIgogCi1XZWJL
aXRVUklTY2hlbWVSZXF1ZXN0KiB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlKHVpbnQ2NF90
IHJlcXVlc3RJRCwgV2ViS2l0V2ViQ29udGV4dCosIEFQSTo6VVJMUmVxdWVzdCosIFdlYktpdDo6
V2ViUGFnZVByb3h5Kik7CitXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiB3ZWJraXRVUklTY2hlbWVS
ZXF1ZXN0Q3JlYXRlKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViS2l0V2ViQ29udGV4dCosIEFQSTo6
VVJMUmVxdWVzdCopOwogdm9pZCB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q2FuY2VsKFdlYktpdFVS
SVNjaGVtZVJlcXVlc3QqKTsKIAogI2VuZGlmIC8vIFdlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2
YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViQ29udGV4dC5jcHAKaW5kZXggNjUwOWRkZS4uNDFkZmI2NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTk0
MCw4ICs5NDAsNyBAQCBXZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdlciogd2Via2l0
V2ViQ29udGV4dEdldFJlcXVlc3RNYW5hZ2VyKFdlYktpdFdlYgogCiB2b2lkIHdlYmtpdFdlYkNv
bnRleHRTdGFydExvYWRpbmdDdXN0b21Qcm90b2NvbChXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0
LCB1aW50NjRfdCBjdXN0b21Qcm90b2NvbElELCBBUEk6OlVSTFJlcXVlc3QqIHVybFJlcXVlc3Qp
CiB7Ci0gICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gZmlndXJlIG91dCBob3cgdG8gZ2V0IHRoZSBp
bml0aWF0aW5nIHBhZ2UuCi0gICAgR1JlZlB0cjxXZWJLaXRVUklTY2hlbWVSZXF1ZXN0PiByZXF1
ZXN0ID0gYWRvcHRHUmVmKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RDcmVhdGUoY3VzdG9tUHJvdG9j
b2xJRCwgY29udGV4dCwgdXJsUmVxdWVzdCwgbnVsbHB0cikpOworICAgIEdSZWZQdHI8V2ViS2l0
VVJJU2NoZW1lUmVxdWVzdD4gcmVxdWVzdCA9IGFkb3B0R1JlZih3ZWJraXRVUklTY2hlbWVSZXF1
ZXN0Q3JlYXRlKGN1c3RvbVByb3RvY29sSUQsIGNvbnRleHQsIHVybFJlcXVlc3QpKTsKICAgICBT
dHJpbmcgc2NoZW1lKFN0cmluZzo6ZnJvbVVURjgod2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9n
ZXRfc2NoZW1lKHJlcXVlc3QuZ2V0KCkpKSk7CiAgICAgUmVmUHRyPFdlYktpdFVSSVNjaGVtZUhh
bmRsZXI+IGhhbmRsZXIgPSBjb250ZXh0LT5wcml2LT51cmlTY2hlbWVIYW5kbGVycy5nZXQoc2No
ZW1lKTsKICAgICBBU1NFUlQoaGFuZGxlci5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0
V2ViUGFnZS5jcHAKaW5kZXggMTZiZDhlYi4uOTdlNzdhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9X
ZWJLaXRXZWJQYWdlLmNwcApAQCAtMTcyLDYgKzE3Miw3IEBAIHN0YXRpYyBXS1VSTFJlcXVlc3RS
ZWYgd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxl
RnJhCiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0OwogICAgIHdlYmtpdFVS
SVJlcXVlc3RHZXRSZXNvdXJjZVJlcXVlc3QocmVxdWVzdC5nZXQoKSwgcmVzb3VyY2VSZXF1ZXN0
KTsKKyAgICByZXNvdXJjZVJlcXVlc3Quc2V0SW5pdGlhdGluZ1BhZ2VJRCh0b0ltcGwocGFnZSkt
PnBhZ2VJRCgpKTsKICAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiBuZXdSZXF1ZXN0ID0gQVBJ
OjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgIEltbXV0YWJsZURp
Y3Rpb25hcnk6Ok1hcFR5cGUgbWVzc2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvc291cC9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvc291cC9XZWJGcmFt
ZU5ldHdvcmtpbmdDb250ZXh0LmNwcAppbmRleCAyNDUwNzQzLi40ZDEzZGMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVO
ZXR3b3JraW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuY3BwCkBAIC00OSwxMCAr
NDksNyBAQCB2b2lkIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OmVuc3VyZVByaXZhdGVCcm93
c2luZ1Nlc3Npb24odWludDY0X3Qgc2Vzc2lvbklEKQogCiBXZWJGcmFtZU5ldHdvcmtpbmdDb250
ZXh0OjpXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0KFdlYkZyYW1lKiBmcmFtZSkKICAgICA6IEZy
YW1lTmV0d29ya2luZ0NvbnRleHQoZnJhbWUtPmNvcmVGcmFtZSgpKQotICAgICwgbV9pbml0aWF0
aW5nUGFnZUlEKDApCiB7Ci0gICAgaWYgKFdlYlBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKQot
ICAgICAgICBtX2luaXRpYXRpbmdQYWdlSUQgPSBwYWdlLT5wYWdlSUQoKTsKIH0KIAogTmV0d29y
a1N0b3JhZ2VTZXNzaW9uJiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0OjpzdG9yYWdlU2Vzc2lv
bigpIGNvbnN0CkBAIC02MywxMSArNjAsNiBAQCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIFdlYkZy
YW1lTmV0d29ya2luZ0NvbnRleHQ6OnN0b3JhZ2VTZXNzaW9uKCkgY29uc3QKICAgICByZXR1cm4g
TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKIH0KIAotdWlu
dDY0X3QgV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dDo6aW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1faW5pdGlhdGluZ1BhZ2VJRDsKLX0KLQogV2ViRnJhbWVMb2FkZXJD
bGllbnQqIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OndlYkZyYW1lTG9hZGVyQ2xpZW50KCkg
Y29uc3QKIHsKICAgICBpZiAoIWZyYW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1l
TmV0d29ya2luZ0NvbnRleHQuaAppbmRleCAyMDRjY2I5Li4yNjMwNjFhMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0
d29ya2luZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oCkBAIC01MCw5ICs1MCw2IEBA
IHByaXZhdGU6CiAgICAgV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dChXZWJGcmFtZSopOwogCiAg
ICAgdmlydHVhbCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHN0b3JhZ2VTZXNzaW9u
KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlEKCkgY29uc3Q7
Ci0KLSAgICB1aW50NjRfdCBtX2luaXRpYXRpbmdQYWdlSUQ7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIu
Y3BwCmluZGV4IDgxOGVlZjAuLmQ1ZTNjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC0xODEsNyAr
MTgxLDcgQEAgdm9pZCBXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OnNlbmQoR1Rhc2sqIHRhc2spCiAg
ICAgdWludDY0X3QgcmVxdWVzdElEID0gZ2VuZXJhdGVTb3VwUmVxdWVzdElEKCk7CiAgICAgbV9y
ZXF1ZXN0TWFwLnNldChyZXF1ZXN0SUQsIGFkb3B0UHRyKG5ldyBXZWJTb3VwUmVxdWVzdEFzeW5j
RGF0YSh0YXNrLCByZXF1ZXN0KSkpOwogCi0gICAgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCA9
IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpnZXRTb3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSUQo
c291cFJlcXVlc3QpOworICAgIHVpbnQ2NF90IGluaXRpYXRpbmdQYWdlSUQgPSBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3Qoc291cFJlcXVlc3QpLmluaXRpYXRpbmdQYWdlSUQoKTsKICAgICBtX3By
b2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6RGlkUmVjZWl2ZVVSSVJlcXVlc3QoU3RyaW5nOjpmcm9tVVRGOCh1cmlTdHJpbmcuZ2V0
KCkpLCByZXF1ZXN0SUQpLCBpbml0aWF0aW5nUGFnZUlEKTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGMyYTcyZGEuLmQwNmQyNDIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxNC0wMS0yNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gTWFrZSB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dl
dF93ZWJfdmlldygpIHdvcmsgd2l0aCBDdXN0b21Qcm90b2NvbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzYxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyR3RrL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcDogQnJpbmcKKyAgICAgICAgYmFjayB0aGUg
Y3VzdG9tIFVSSSBzY2hlbWUgV2ViVmlldyBjaGVjay4KKwogMjAxNC0wMS0xNiAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gSW1wbGVt
ZW50IGN1c3RvbSBVUkkgc2NoZW1lcyB3aXRoIEN1c3RvbVByb3RvY29scwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRXZWJDb250ZXh0
LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mkd0ay9UZXN0V2ViS2l0V2Vi
Q29udGV4dC5jcHAKaW5kZXggNDcyMTgyMy4uMzE5ZWVjNCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvVGVzdFdlYktpdFdlYkNvbnRl
eHQuY3BwCkBAIC0xNDYsOCArMTQ2LDcgQEAgcHVibGljOgogICAgICAgICB0ZXN0LT5tX3VyaVNj
aGVtZVJlcXVlc3QgPSByZXF1ZXN0OwogICAgICAgICB0ZXN0LT5hc3NlcnRPYmplY3RJc0RlbGV0
ZWRXaGVuVGVzdEZpbmlzaGVzKEdfT0JKRUNUKHJlcXVlc3QpKTsKIAotICAgICAgICAvLyBGSVhN
RTogd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcgZG9lc24ndCB3b3JrIHdp
dGggY3VzdG9tIHByb3RvY29scy4KLSAgICAgICAgLy8gZ19hc3NlcnQod2Via2l0X3VyaV9zY2hl
bWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcocmVxdWVzdCkgPT0gdGVzdC0+bV93ZWJWaWV3KTsKKyAg
ICAgICAgZ19hc3NlcnQod2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcocmVx
dWVzdCkgPT0gdGVzdC0+bV93ZWJWaWV3KTsKIAogICAgICAgICBHUmVmUHRyPEdJbnB1dFN0cmVh
bT4gaW5wdXRTdHJlYW0gPSBhZG9wdEdSZWYoZ19tZW1vcnlfaW5wdXRfc3RyZWFtX25ldygpKTsK
ICAgICAgICAgdGVzdC0+YXNzZXJ0T2JqZWN0SXNEZWxldGVkV2hlblRlc3RGaW5pc2hlcyhHX09C
SkVDVChpbnB1dFN0cmVhbS5nZXQoKSkpOwo=
</data>
<flag name="review"
          id="246247"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222318</attachid>
            <date>2014-01-27 05:12:56 -0800</date>
            <delta_ts>2014-01-27 05:12:56 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wkcore-initiating-page-id.diff</filename>
            <type>text/plain</type>
            <size>26491</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0NzNmNTkxLi5lMzhkMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTQtMDEtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIE1ha2Ugd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2Vi
X3ZpZXcoKSB3b3JrIHdpdGggQ3VzdG9tUHJvdG9jb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEgU2lsdmEuCisKKyAgICAgICAgQWRkIEFQSSB0byBzZXQgdGhlIHBhZ2Ug
aWRlbnRpZmllciB0aGF0IGluaXRpYXRlZCB0aGUgcmVxdWVzdCB0bworICAgICAgICBSZXNvdXJj
ZVJlcXVlc3QsIGFuZCByZW1vdmUgdGhlIGluaXRpYXRpbmdQYWdlSUQoKSBtZXRob2QgZnJvbSB0
aGUKKyAgICAgICAgTmV0d29ya2luZ0NvbnRleHQgY2xhc3MuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtpbmdDb250ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlU291cFJlcXVlc3RB
bmRNZXNzYWdlRm9ySGFuZGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OlJlc291
cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmluaXRpYXRp
bmdQYWdlSUQpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRJbml0aWF0
aW5nUGFnZUlEKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1
ZXN0U291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVNv
dXBSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6dXBkYXRlRnJv
bVNvdXBSZXF1ZXN0KToKKwogMjAxNC0wMS0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBEaXNhYmxlIGFjY2Vzc2liaWxpdHkgYWZ0ZXIgZXZl
cnkgdGVzdCBydW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
TmV0d29ya2luZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya2luZ0NvbnRleHQuaAppbmRleCBkMzZkZmY2Li4zMDgwYTdlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtpbmdDb250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JraW5nQ29udGV4dC5oCkBAIC02Nywx
MCArNjcsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJv
cihjb25zdCBSZXNvdXJjZVJlcXVlc3QmKSBjb25zdCA9IDA7CiAjZW5kaWYKIAotI2lmIFVTRShT
T1VQKQotICAgIHZpcnR1YWwgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0ID0gMDsK
LSNlbmRpZgotCiBwcm90ZWN0ZWQ6CiAgICAgTmV0d29ya2luZ0NvbnRleHQoKSB7IH0KIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKaW5k
ZXggZGFhZDI3Ni4uYzFkYTAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuaApAQCAtMTgyLDcgKzE4Miw2IEBAIHB1YmxpYzoKICAgICB2
b2lkIGVuc3VyZVJlYWRCdWZmZXIoKTsKICAgICBzaXplX3QgY3VycmVudFN0cmVhbVBvc2l0aW9u
KCkgY29uc3Q7CiAgICAgdm9pZCBkaWRTdGFydFJlcXVlc3QoKTsKLSAgICBzdGF0aWMgdWludDY0
X3QgZ2V0U291cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlEKFNvdXBSZXF1ZXN0Kik7CiAgICAgc3Rh
dGljIHZvaWQgc2V0SG9zdEFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJik7
CiAgICAgc3RhdGljIHZvaWQgc2V0Q2xpZW50Q2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJiBob3N0
LCBHVGxzQ2VydGlmaWNhdGUqKTsKICAgICBzdGF0aWMgdm9pZCBzZXRJZ25vcmVTU0xFcnJvcnMo
Ym9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDdhNjc3NmUuLjZmMmY3YWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwCkBAIC05MTcsMTggKzkxNyw2IEBAIHN0YXRpYyB2b2lkIG5ldHdv
cmtFdmVudENhbGxiYWNrKFNvdXBNZXNzYWdlKiwgR1NvY2tldENsaWVudEV2ZW50IGV2ZW50LCBH
SU9TdHJlCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGNoYXIqIGdTb3VwUmVxdWVzdEluaXRp
YXRpbmdQYWdlSURLZXkgPSAid2stc291cC1yZXF1ZXN0LWluaXRpYXRpbmctcGFnZS1pZCI7Ci0K
LXN0YXRpYyB2b2lkIHNldFNvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJREZyb21OZXR3b3JraW5n
Q29udGV4dChTb3VwUmVxdWVzdCogcmVxdWVzdCwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQp
Ci17Ci0gICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5pc1ZhbGlkKCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIHVpbnQ2NF90KiBpbml0aWF0aW5nUGFnZUlEUHRyID0gc3RhdGljX2Nhc3Q8
dWludDY0X3QqPihmYXN0TWFsbG9jKHNpemVvZih1aW50NjRfdCkpKTsKLSAgICAqaW5pdGlhdGlu
Z1BhZ2VJRFB0ciA9IGNvbnRleHQtPmluaXRpYXRpbmdQYWdlSUQoKTsKLSAgICBnX29iamVjdF9z
ZXRfZGF0YV9mdWxsKEdfT0JKRUNUKHJlcXVlc3QpLCBnX2ludGVybl9zdGF0aWNfc3RyaW5nKGdT
b3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSURLZXkpLCBpbml0aWF0aW5nUGFnZUlEUHRyLCBmYXN0
RnJlZSk7Ci19Ci0KIHN0YXRpYyBib29sIGNyZWF0ZVNvdXBNZXNzYWdlRm9ySGFuZGxlQW5kUmVx
dWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QpCiB7CiAgICAgQVNTRVJUKGhhbmRsZSk7CkBAIC0xMDA5LDcgKzk5Nyw3IEBAIHN0YXRpYyBi
b29sIGNyZWF0ZVNvdXBSZXF1ZXN0QW5kTWVzc2FnZUZvckhhbmRsZShSZXNvdXJjZUhhbmRsZSog
aGFuZGxlLCBjb25zdCBSCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBzZXRT
b3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSURGcm9tTmV0d29ya2luZ0NvbnRleHQoZC0+bV9zb3Vw
UmVxdWVzdC5nZXQoKSwgZC0+bV9jb250ZXh0LmdldCgpKTsKKyAgICByZXF1ZXN0LnVwZGF0ZVNv
dXBSZXF1ZXN0KGQtPm1fc291cFJlcXVlc3QuZ2V0KCkpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9
CkBAIC0xMzkyLDEwICsxMzgwLDQgQEAgc3RhdGljIGdib29sZWFuIHJlcXVlc3RUaW1lb3V0Q2Fs
bGJhY2soZ3BvaW50ZXIgZGF0YSkKICAgICByZXR1cm4gRkFMU0U7CiB9CiAKLXVpbnQ2NF90IFJl
c291cmNlSGFuZGxlOjpnZXRTb3VwUmVxdWVzdEluaXRpYXRpbmdQYWdlSUQoU291cFJlcXVlc3Qq
IHJlcXVlc3QpCi17Ci0gICAgdWludDY0X3QqIGluaXRpYXRpbmdQYWdlSURQdHIgPSBzdGF0aWNf
Y2FzdDx1aW50NjRfdCo+KGdfb2JqZWN0X2dldF9kYXRhKEdfT0JKRUNUKHJlcXVlc3QpLCBnU291
cFJlcXVlc3RJbml0aWF0aW5nUGFnZUlES2V5KSk7Ci0gICAgcmV0dXJuIGluaXRpYXRpbmdQYWdl
SURQdHIgPyAqaW5pdGlhdGluZ1BhZ2VJRFB0ciA6IDA7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3QuaAppbmRl
eCBjZjIyNmMxLi42NzkxNTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdC5oCkBAIC0yOCw2ICsyOCw3IEBACiAjZGVm
aW5lIFJlc291cmNlUmVxdWVzdF9oCiAKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3RCYXNlLmgi
CisjaW5jbHVkZSAiU291cFVSSVV0aWxzLmgiCiAjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM4LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKFVSTChQYXJzZWRVUkxTdHJpbmcs
IHVybCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fYWNjZXB0RW5j
b2RpbmcodHJ1ZSkKICAgICAgICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGljX2Nhc3Q8U291cE1l
c3NhZ2VGbGFncz4oMCkpCisgICAgICAgICAgICAsIG1faW5pdGlhdGluZ1BhZ2VJRCgwKQogICAg
ICAgICB7CiAgICAgICAgIH0KIApAQCAtNDUsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgICAgICA6IFJlc291cmNlUmVxdWVzdEJhc2UodXJsLCBVc2VQcm90b2NvbENhY2hl
UG9saWN5KQogICAgICAgICAgICAgLCBtX2FjY2VwdEVuY29kaW5nKHRydWUpCiAgICAgICAgICAg
ICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdlRmxhZ3M+KDApKQorICAgICAg
ICAgICAgLCBtX2luaXRpYXRpbmdQYWdlSUQoMCkKICAgICAgICAgewogICAgICAgICB9CiAKQEAg
LTUyLDYgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgOiBSZXNvdXJj
ZVJlcXVlc3RCYXNlKHVybCwgcG9saWN5KQogICAgICAgICAgICAgLCBtX2FjY2VwdEVuY29kaW5n
KHRydWUpCiAgICAgICAgICAgICAsIG1fc291cEZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdl
RmxhZ3M+KDApKQorICAgICAgICAgICAgLCBtX2luaXRpYXRpbmdQYWdlSUQoMCkKICAgICAgICAg
ewogICAgICAgICAgICAgc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKICAgICAgICAgfQpAQCAt
NjAsNiArNjQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICA6IFJlc291cmNl
UmVxdWVzdEJhc2UoVVJMKCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAs
IG1fYWNjZXB0RW5jb2RpbmcodHJ1ZSkKICAgICAgICAgICAgICwgbV9zb3VwRmxhZ3Moc3RhdGlj
X2Nhc3Q8U291cE1lc3NhZ2VGbGFncz4oMCkpCisgICAgICAgICAgICAsIG1faW5pdGlhdGluZ1Bh
Z2VJRCgwKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtNjcsMTAgKzcyLDIwIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIDogUmVzb3VyY2VSZXF1ZXN0QmFzZShVUkwoKSwg
VXNlUHJvdG9jb2xDYWNoZVBvbGljeSkKICAgICAgICAgICAgICwgbV9hY2NlcHRFbmNvZGluZyh0
cnVlKQogICAgICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZs
YWdzPigwKSkKKyAgICAgICAgICAgICwgbV9pbml0aWF0aW5nUGFnZUlEKDApCiAgICAgICAgIHsK
ICAgICAgICAgICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZShzb3VwTWVzc2FnZSk7CiAgICAgICAg
IH0KIAorICAgICAgICBSZXNvdXJjZVJlcXVlc3QoU291cFJlcXVlc3QqIHNvdXBSZXF1ZXN0KQor
ICAgICAgICAgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKHNvdXBVUklUb0tVUkwoc291cF9yZXF1
ZXN0X2dldF91cmkoc291cFJlcXVlc3QpKSwgVXNlUHJvdG9jb2xDYWNoZVBvbGljeSkKKyAgICAg
ICAgICAgICwgbV9hY2NlcHRFbmNvZGluZyh0cnVlKQorICAgICAgICAgICAgLCBtX3NvdXBGbGFn
cyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKKyAgICAgICAgICAgICwgbV9pbml0
aWF0aW5nUGFnZUlEKDApCisgICAgICAgIHsKKyAgICAgICAgICAgIHVwZGF0ZUZyb21Tb3VwUmVx
dWVzdChzb3VwUmVxdWVzdCk7CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHVwZGF0ZUZyb21E
ZWxlZ2F0ZVByZXNlcnZpbmdPbGRIVFRQQm9keShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGRlbGVn
YXRlUHJvdmlkZWRSZXF1ZXN0KSB7ICp0aGlzID0gZGVsZWdhdGVQcm92aWRlZFJlcXVlc3Q7IH0K
IAogICAgICAgICBib29sIGFjY2VwdEVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hY2NlcHRF
bmNvZGluZzsgfQpAQCAtODEsMTAgKzk2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdm9pZCB1cGRhdGVTb3VwTWVzc2FnZShTb3VwTWVzc2FnZSopIGNvbnN0OwogICAgICAgICBT
b3VwTWVzc2FnZSogdG9Tb3VwTWVzc2FnZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHVwZGF0ZUZy
b21Tb3VwTWVzc2FnZShTb3VwTWVzc2FnZSopOworICAgICAgICB2b2lkIHVwZGF0ZVNvdXBSZXF1
ZXN0KFNvdXBSZXF1ZXN0KikgY29uc3Q7CisgICAgICAgIHZvaWQgdXBkYXRlRnJvbVNvdXBSZXF1
ZXN0KFNvdXBSZXF1ZXN0Kik7CiAKICAgICAgICAgU291cE1lc3NhZ2VGbGFncyBzb3VwTWVzc2Fn
ZUZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9zb3VwRmxhZ3M7IH0KICAgICAgICAgdm9pZCBzZXRT
b3VwTWVzc2FnZUZsYWdzKFNvdXBNZXNzYWdlRmxhZ3Mgc291cEZsYWdzKSB7IG1fc291cEZsYWdz
ID0gc291cEZsYWdzOyB9CiAKKyAgICAgICAgdWludDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCgpIGNv
bnN0IHsgcmV0dXJuIG1faW5pdGlhdGluZ1BhZ2VJRDsgfQorICAgICAgICB2b2lkIHNldEluaXRp
YXRpbmdQYWdlSUQodWludDY0X3QgcGFnZUlEKSB7IG1faW5pdGlhdGluZ1BhZ2VJRCA9IHBhZ2VJ
RDsgfQorCiAgICAgICAgIFNvdXBVUkkqIHNvdXBVUkkoKSBjb25zdDsKIAogICAgIHByaXZhdGU6
CkBAIC05Miw2ICsxMTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgYm9vbCBt
X2FjY2VwdEVuY29kaW5nIDogMTsKICAgICAgICAgU291cE1lc3NhZ2VGbGFncyBtX3NvdXBGbGFn
czsKKyAgICAgICAgdWludDY0X3QgbV9pbml0aWF0aW5nUGFnZUlEOwogCiAgICAgICAgIHZvaWQg
dXBkYXRlU291cE1lc3NhZ2VNZW1iZXJzKFNvdXBNZXNzYWdlKikgY29uc3Q7CiAgICAgICAgIHZv
aWQgZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3VwLmNwcApp
bmRleCAyMzU5ZmQ2Li5iZjZjNmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwCkBAIC0xMTcs
NiArMTE3LDI0IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVGcm9tU291cE1lc3NhZ2Uo
U291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgIC8vIGRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0
IHNvbWVob3cuCiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBnU291cFJlcXVlc3RJbml0aWF0aW5n
UGFnZUlES2V5ID0gIndrLXNvdXAtcmVxdWVzdC1pbml0aWF0aW5nLXBhZ2UtaWQiOworCit2b2lk
IFJlc291cmNlUmVxdWVzdDo6dXBkYXRlU291cFJlcXVlc3QoU291cFJlcXVlc3QqIHNvdXBSZXF1
ZXN0KSBjb25zdAoreworICAgIGlmICghbV9pbml0aWF0aW5nUGFnZUlEKQorICAgICAgICByZXR1
cm47CisKKyAgICB1aW50NjRfdCogaW5pdGlhdGluZ1BhZ2VJRFB0ciA9IHN0YXRpY19jYXN0PHVp
bnQ2NF90Kj4oZmFzdE1hbGxvYyhzaXplb2YodWludDY0X3QpKSk7CisgICAgKmluaXRpYXRpbmdQ
YWdlSURQdHIgPSBtX2luaXRpYXRpbmdQYWdlSUQ7CisgICAgZ19vYmplY3Rfc2V0X2RhdGFfZnVs
bChHX09CSkVDVChzb3VwUmVxdWVzdCksIGdfaW50ZXJuX3N0YXRpY19zdHJpbmcoZ1NvdXBSZXF1
ZXN0SW5pdGlhdGluZ1BhZ2VJREtleSksIGluaXRpYXRpbmdQYWdlSURQdHIsIGZhc3RGcmVlKTsK
K30KKwordm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZyb21Tb3VwUmVxdWVzdChTb3VwUmVx
dWVzdCogc291cFJlcXVlc3QpCit7CisgICAgdWludDY0X3QqIGluaXRpYXRpbmdQYWdlSURQdHIg
PSBzdGF0aWNfY2FzdDx1aW50NjRfdCo+KGdfb2JqZWN0X2dldF9kYXRhKEdfT0JKRUNUKHNvdXBS
ZXF1ZXN0KSwgZ1NvdXBSZXF1ZXN0SW5pdGlhdGluZ1BhZ2VJREtleSkpOworICAgIG1faW5pdGlh
dGluZ1BhZ2VJRCA9IGluaXRpYXRpbmdQYWdlSURQdHIgPyAqaW5pdGlhdGluZ1BhZ2VJRFB0ciA6
IDA7Cit9CisKIHVuc2lnbmVkIGluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBl
ckhvc3QoKQogewogICAgIC8vIFNvdXAgaGFzIGl0cyBvd24gcXVldWUgY29udHJvbDsgaXQgd2Fu
dHMgdG8gaGF2ZSBhbGwgcmVxdWVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBlOWQxNDE0Li4zODJj
YWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMDEtMjcgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIE1h
a2Ugd2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcoKSB3b3JrIHdpdGggQ3Vz
dG9tUHJvdG9jb2xzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjc2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEgU2lsdmEu
CisKKyAgICAgICAgUmVtb3ZlIGluaXRpYXRpbmdQYWdlSUQoKSBtZXRob2QgZm9ybSB0aGUgRnJh
bWVOZXR3b3JraW5nQ29udGV4dC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0
d29ya2luZ0NvbnRleHRFZmwuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0
d29ya2luZ0NvbnRleHRFZmwuaDoKKwogMjAxNC0wMS0yNiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNo
b2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggb24gdGhlIEVG
TCBidWlsZCBzaW5jZSByMTYyODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRFZmwuY3BwCmluZGV4IDNj
YTZjMTEuLjgyNTNiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRFZmwuY3BwCkBAIC01OCwxMCAr
NTgsNCBAQCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIEZyYW1lTmV0d29ya2luZ0NvbnRleHRFZmw6
OnN0b3JhZ2VTZXNzaW9uKCkgY29uc3QKICAgICByZXR1cm4gTmV0d29ya1N0b3JhZ2VTZXNzaW9u
OjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKIH0KIAotdWludDY0X3QgRnJhbWVOZXR3b3JraW5n
Q29udGV4dEVmbDo6aW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0Ci17Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEVmbC5oIGIvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEVmbC5oCmluZGV4
IDZiMTM0N2YuLjI1YjQ1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsLmgKQEAgLTM4LDcgKzM4
LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRl
eHRFZmw+IGNyZWF0ZShGcmFtZSosIEV2YXNfT2JqZWN0Kik7CiAKICAgICBXZWJDb3JlOjpGcmFt
ZSogY29yZUZyYW1lKCkgY29uc3QgeyByZXR1cm4gZnJhbWUoKTsgfQotICAgIHZpcnR1YWwgdWlu
dDY0X3QgaW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwg
V2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBzdG9yYWdlU2Vzc2lvbigpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCmluZGV4IDc4MTlkOGYuLjk2NzZiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAg
LTEsNSArMSwxNyBAQAogMjAxNC0wMS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKKyAgICAgICAgW0dUS10gTWFrZSB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1
ZXN0X2dldF93ZWJfdmlldygpIHdvcmsgd2l0aCBDdXN0b21Qcm90b2NvbHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzYxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KKworICAgICAgICBSZW1vdmUgaW5pdGlh
dGluZ1BhZ2VJRCgpIG1ldGhvZCBmcm9tIEZyYW1lTmV0d29ya2luZ0NvbnRleHQuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmNwcDoKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmg6CisKKzIwMTQt
MDEtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAg
ICAgIFVucmV2aWV3ZWQuIEZpeCBHVEsrIGJ1aWxkIGFmdGVyIHIxNjI4MDguCiAKICAgICAgICAg
KiB3ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0ay5jcHAgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3Rr
LmNwcAppbmRleCBmYWUxMzdlLi5kMjA1ZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmNw
cApAQCAtMzMsMTAgKzMzLDQgQEAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBGcmFtZU5ldHdvcmtp
bmdDb250ZXh0R3RrOjpzdG9yYWdlU2Vzc2lvbigpIGNvbnN0CiAgICAgcmV0dXJuIE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uKCk7CiB9CiAKLXVpbnQ2NF90IEZy
YW1lTmV0d29ya2luZ0NvbnRleHRHdGs6OmluaXRpYXRpbmdQYWdlSUQoKSBjb25zdAotewotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRHdGsu
aCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRl
eHRHdGsuaAppbmRleCA2NDJkZmIxLi5hZmQ2YTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0R3RrLmgKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEd0ay5o
CkBAIC0zMiw3ICszMiw2IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBXZWJDb3JlOjpGcmFtZSog
Y29yZUZyYW1lKCkgY29uc3QgeyByZXR1cm4gZnJhbWUoKTsgfQotICAgIHZpcnR1YWwgdWludDY0
X3QgaW5pdGlhdGluZ1BhZ2VJRCgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgV2Vi
Q29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBzdG9yYWdlU2Vzc2lvbigpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDFmNGYzMTMuLmY5M2MwYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzOCBAQAog
MjAxNC0wMS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
KyAgICAgICAgW0dUS10gTWFrZSB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmll
dygpIHdvcmsgd2l0aCBDdXN0b21Qcm90b2NvbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzYxNAorCisgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rh
dm8gTm9yb25oYSBTaWx2YS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdv
cmtpbmdDb250ZXh0Lmg6IFJlbW92ZQorICAgICAgICBpbml0aWF0aW5nUGFnZUlEKCkgbWV0aG9k
LgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRT
b3VwLmNwcDogRGl0dG8uCisgICAgICAgICogU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xz
L3NvdXAvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkN1
c3RvbVByb3RvY29sTWFuYWdlckltcGw6OnNlbmQpOiBDcmVhdGUgdGhlIHJlcXVlc3Qgd2l0aAor
ICAgICAgICB0aGUgUmVzb3VyY2VSZXF1ZXN0IGNvbnN0cnVjdG9yIHRoYXQgcmVjZWl2ZXMgYSBT
b3VwUmVxdWVzdC4KKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNT
b3VwLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+Ojpl
bmNvZGVQbGF0Zm9ybURhdGEpOiBFbmNvZGUgaW5pdGlhdGluZ1BhZ2VJRC4KKyAgICAgICAgKElQ
Qzo6QXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGVQbGF0Zm9ybURhdGEpOiBE
ZWNvZGUgaW5pdGlhdGluZ1BhZ2VJRC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRVUklTY2hlbWVSZXF1ZXN0LmNwcDoKKyAgICAgICAgKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RD
cmVhdGUpOiBSZW1vdmUgaW5pdGlhdGluZ1BhZ2VJRCBwYXJhbWV0ZXIKKyAgICAgICAgYW5kIGdl
dCBpdCBmcm9tIHRoZSBnaXZlbiBSZXNvdXJjZVJlcXVlc3QuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYkNv
bnRleHRTdGFydExvYWRpbmdDdXN0b21Qcm90b2NvbCk6IFVwZGF0ZSB0bworICAgICAgICB3ZWJr
aXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlIEFQSSBjaGFuZ2UuCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYlBhZ2UuY3BwOgorICAgICAgICAod2ls
bFNlbmRSZXF1ZXN0Rm9yRnJhbWUpOiBTZXQgdGhlIGluaXRpYXRpbmdQYWdlSUQgdG8gdGhlIFJl
c291cmNlUmVxdWVzdC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAv
V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1l
TmV0d29ya2luZ0NvbnRleHQ6OldlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQpOgorICAgICAgICBS
ZW1vdmUgaW5pdGlhdGluZ1BhZ2VJRCgpIG1ldGhvZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oOgorICAgICAgICAq
IFdlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OnNlbmQpOiBHZXQgdGhlIGluaXRpYXRpbmdQYWdl
SUQKKyAgICAgICAgZnJvbSB0aGUgU291cFJlcXVlc3QgdXNpbmcgdGhlIFJlc291cmNlUmVxdWVz
dCBBUEkuCisKKzIwMTQtMDEtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCiAgICAgICAgIFtHVEtdIEltcGxlbWVudCBjdXN0b20gVVJJIHNjaGVtZXMgd2l0
aCBDdXN0b21Qcm90b2NvbHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzA5MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9SZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaAppbmRleCBkYTZiMzdhLi5lM2VkMTJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9SZW1vdGVOZXR3b3JraW5n
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1JlbW90ZU5ldHdv
cmtpbmdDb250ZXh0LmgKQEAgLTY2LDEwICs2Niw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCi0jaWYgVVNFKFNPVVApCi0gICAg
dmlydHVhbCB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlEKCkgY29uc3Q7Ci0jZW5kaWYKLQogICAg
IHVpbnQ2NF90IG1fc2Vzc2lvbklEOwogICAgIGJvb2wgbV9zaG91bGRDbGVhclJlZmVycmVyT25I
VFRQU1RvSFRUUFJlZGlyZWN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0U291cC5jcHAK
aW5kZXggZDdmOGQyYi4uZDdjZjg2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvc291cC9SZW1vdGVOZXR3b3JraW5nQ29udGV4dFNvdXAuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29ya2luZ0NvbnRleHRTb3Vw
LmNwcApAQCAtNDYsMTIgKzQ2LDYgQEAgYm9vbCBSZW1vdGVOZXR3b3JraW5nQ29udGV4dDo6aXNW
YWxpZCgpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXVpbnQ2NF90IFJlbW90ZU5ldHdv
cmtpbmdDb250ZXh0Ojppbml0aWF0aW5nUGFnZUlEKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOwotfQotCiB2b2lkIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
OjplbnN1cmVQcml2YXRlQnJvd3NpbmdTZXNzaW9uKHVpbnQ2NF90IHNlc3Npb25JRCkKIHsKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05l
dHdvcmsvQ3VzdG9tUHJvdG9jb2xzL3NvdXAvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VySW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9DdXN0
b21Qcm90b2NvbE1hbmFnZXJJbXBsLmNwcAppbmRleCAyODYwZDJjLi45OGM1NWUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9D
dXN0b21Qcm90b2NvbE1hbmFnZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
TmV0d29yay9DdXN0b21Qcm90b2NvbHMvc291cC9DdXN0b21Qcm90b2NvbE1hbmFnZXJJbXBsLmNw
cApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Tb3VwTmV0d29ya1Nlc3Npb24uaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NvdXBVUklVdGlscy5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTkzLDcgKzE5Miw3IEBAIHZvaWQgQ3VzdG9t
UHJvdG9jb2xNYW5hZ2VySW1wbDo6c2VuZChHVGFzayogdGFzaykKICAgICBXZWJLaXRTb3VwUmVx
dWVzdEdlbmVyaWMqIHJlcXVlc3QgPSBXRUJLSVRfU09VUF9SRVFVRVNUX0dFTkVSSUMoZ190YXNr
X2dldF9zb3VyY2Vfb2JqZWN0KHRhc2spKTsKICAgICBtX2N1c3RvbVByb3RvY29sTWFwLnNldChj
dXN0b21Qcm90b2NvbElELCBzdGQ6Om1ha2VfdW5pcXVlPFdlYlNvdXBSZXF1ZXN0QXN5bmNEYXRh
Pih0YXNrLCByZXF1ZXN0KSk7CiAKLSAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVzb3Vy
Y2VSZXF1ZXN0KFdlYkNvcmU6OnNvdXBVUklUb0tVUkwoc291cF9yZXF1ZXN0X2dldF91cmkoU09V
UF9SRVFVRVNUKHJlcXVlc3QpKSkpOworICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXNv
dXJjZVJlcXVlc3QoU09VUF9SRVFVRVNUKHJlcXVlc3QpKTsKICAgICBtX2NoaWxkUHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHk6OlN0YXJ0TG9hZGluZyhj
dXN0b21Qcm90b2NvbElELCByZXNvdXJjZVJlcXVlc3QpLCAwKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cAppbmRleCA3NTY1YWEyLi43Mjc4OTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtNDIsNiArNDIs
NyBAQCBuYW1lc3BhY2UgSVBDIHsKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+
OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19j
YXN0PHVpbnQzMl90PihyZXNvdXJjZVJlcXVlc3Quc291cE1lc3NhZ2VGbGFncygpKTsKKyAgICBl
bmNvZGVyIDw8IHJlc291cmNlUmVxdWVzdC5pbml0aWF0aW5nUGFnZUlEKCk7CiB9CiAKIGJvb2wg
QXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCkKQEAg
LTUwLDYgKzUxLDEyIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNv
ZGVQbGF0Zm9ybURhdGEoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyCiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShzb3VwTWVzc2FnZUZsYWdzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJl
c291cmNlUmVxdWVzdC5zZXRTb3VwTWVzc2FnZUZsYWdzKHN0YXRpY19jYXN0PFNvdXBNZXNzYWdl
RmxhZ3M+KHNvdXBNZXNzYWdlRmxhZ3MpKTsKKworICAgIHVpbnQ2NF90IGluaXRpYXRpbmdQYWdl
SUQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpbml0aWF0aW5nUGFnZUlEKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIHJlc291cmNlUmVxdWVzdC5zZXRJbml0aWF0aW5nUGFnZUlEKGlu
aXRpYXRpbmdQYWdlSUQpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVz
dC5jcHAKaW5kZXggZWNiOWUxOC4uZDYzMmQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKQEAg
LTc0LDEzICs3NCwxMyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2Ns
YXNzX2luaXQoV2ViS2l0VVJJU2NoZW1lUmVxdWVzdENsYXNzKiByZQogewogfQogCi1XZWJLaXRV
UklTY2hlbWVSZXF1ZXN0KiB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRlKHVpbnQ2NF90IHJl
cXVlc3RJRCwgV2ViS2l0V2ViQ29udGV4dCogd2ViQ29udGV4dCwgQVBJOjpVUkxSZXF1ZXN0KiB1
cmxSZXF1ZXN0LCBXZWJQYWdlUHJveHkqIGluaXRpYXRpbmdQYWdlKQorV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdCogd2Via2l0VVJJU2NoZW1lUmVxdWVzdENyZWF0ZSh1aW50NjRfdCByZXF1ZXN0SUQs
IFdlYktpdFdlYkNvbnRleHQqIHdlYkNvbnRleHQsIEFQSTo6VVJMUmVxdWVzdCogdXJsUmVxdWVz
dCkKIHsKICAgICBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiByZXF1ZXN0ID0gV0VCS0lUX1VSSV9T
Q0hFTUVfUkVRVUVTVChnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfVVJJX1NDSEVNRV9SRVFVRVNU
LCBOVUxMKSk7CiAgICAgcmVxdWVzdC0+cHJpdi0+d2ViQ29udGV4dCA9IHdlYkNvbnRleHQ7CiAg
ICAgcmVxdWVzdC0+cHJpdi0+d2ViUmVxdWVzdE1hbmFnZXIgPSB3ZWJraXRXZWJDb250ZXh0R2V0
UmVxdWVzdE1hbmFnZXIod2ViQ29udGV4dCk7CiAgICAgcmVxdWVzdC0+cHJpdi0+dXJpID0gdXJs
UmVxdWVzdC0+cmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkudXRmOCgpOwotICAgIHJl
cXVlc3QtPnByaXYtPmluaXRpYXRpbmdQYWdlID0gaW5pdGlhdGluZ1BhZ2U7CisgICAgcmVxdWVz
dC0+cHJpdi0+aW5pdGlhdGluZ1BhZ2UgPSBXZWJQcm9jZXNzUHJveHk6OndlYlBhZ2UodXJsUmVx
dWVzdC0+cmVzb3VyY2VSZXF1ZXN0KCkuaW5pdGlhdGluZ1BhZ2VJRCgpKTsKICAgICByZXF1ZXN0
LT5wcml2LT5yZXF1ZXN0SUQgPSByZXF1ZXN0SUQ7CiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hl
bWVSZXF1ZXN0UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUuaAppbmRleCA1MjA4OTkzLi5jNzJmYTE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVS
ZXF1ZXN0UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlLmgKQEAgLTI0LDcgKzI0LDcgQEAKICNpbmNsdWRl
ICJXZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViQ29udGV4dC5o
IgogCi1XZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q3JlYXRl
KHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViS2l0V2ViQ29udGV4dCosIEFQSTo6VVJMUmVxdWVzdCos
IFdlYktpdDo6V2ViUGFnZVByb3h5Kik7CitXZWJLaXRVUklTY2hlbWVSZXF1ZXN0KiB3ZWJraXRV
UklTY2hlbWVSZXF1ZXN0Q3JlYXRlKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViS2l0V2ViQ29udGV4
dCosIEFQSTo6VVJMUmVxdWVzdCopOwogdm9pZCB3ZWJraXRVUklTY2hlbWVSZXF1ZXN0Q2FuY2Vs
KFdlYktpdFVSSVNjaGVtZVJlcXVlc3QqKTsKIAogI2VuZGlmIC8vIFdlYktpdFVSSVNjaGVtZVJl
cXVlc3RQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggNjUwOWRkZS4uNDFkZmI2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5j
cHAKQEAgLTk0MCw4ICs5NDAsNyBAQCBXZWJTb3VwQ3VzdG9tUHJvdG9jb2xSZXF1ZXN0TWFuYWdl
ciogd2Via2l0V2ViQ29udGV4dEdldFJlcXVlc3RNYW5hZ2VyKFdlYktpdFdlYgogCiB2b2lkIHdl
YmtpdFdlYkNvbnRleHRTdGFydExvYWRpbmdDdXN0b21Qcm90b2NvbChXZWJLaXRXZWJDb250ZXh0
KiBjb250ZXh0LCB1aW50NjRfdCBjdXN0b21Qcm90b2NvbElELCBBUEk6OlVSTFJlcXVlc3QqIHVy
bFJlcXVlc3QpCiB7Ci0gICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gZmlndXJlIG91dCBob3cgdG8g
Z2V0IHRoZSBpbml0aWF0aW5nIHBhZ2UuCi0gICAgR1JlZlB0cjxXZWJLaXRVUklTY2hlbWVSZXF1
ZXN0PiByZXF1ZXN0ID0gYWRvcHRHUmVmKHdlYmtpdFVSSVNjaGVtZVJlcXVlc3RDcmVhdGUoY3Vz
dG9tUHJvdG9jb2xJRCwgY29udGV4dCwgdXJsUmVxdWVzdCwgbnVsbHB0cikpOworICAgIEdSZWZQ
dHI8V2ViS2l0VVJJU2NoZW1lUmVxdWVzdD4gcmVxdWVzdCA9IGFkb3B0R1JlZih3ZWJraXRVUklT
Y2hlbWVSZXF1ZXN0Q3JlYXRlKGN1c3RvbVByb3RvY29sSUQsIGNvbnRleHQsIHVybFJlcXVlc3Qp
KTsKICAgICBTdHJpbmcgc2NoZW1lKFN0cmluZzo6ZnJvbVVURjgod2Via2l0X3VyaV9zY2hlbWVf
cmVxdWVzdF9nZXRfc2NoZW1lKHJlcXVlc3QuZ2V0KCkpKSk7CiAgICAgUmVmUHRyPFdlYktpdFVS
SVNjaGVtZUhhbmRsZXI+IGhhbmRsZXIgPSBjb250ZXh0LT5wcml2LT51cmlTY2hlbWVIYW5kbGVy
cy5nZXQoc2NoZW1lKTsKICAgICBBU1NFUlQoaGFuZGxlci5nZXQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2Vi
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9n
dGsvV2ViS2l0V2ViUGFnZS5jcHAKaW5kZXggMTZiZDhlYi4uOTdlNzdhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdl
YlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2d0ay9XZWJLaXRXZWJQYWdlLmNwcApAQCAtMTcyLDYgKzE3Miw3IEBAIHN0YXRpYyBXS1VS
TFJlcXVlc3RSZWYgd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUoV0tCdW5kbGVQYWdlUmVmIHBhZ2Us
IFdLQnVuZGxlRnJhCiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0OwogICAg
IHdlYmtpdFVSSVJlcXVlc3RHZXRSZXNvdXJjZVJlcXVlc3QocmVxdWVzdC5nZXQoKSwgcmVzb3Vy
Y2VSZXF1ZXN0KTsKKyAgICByZXNvdXJjZVJlcXVlc3Quc2V0SW5pdGlhdGluZ1BhZ2VJRCh0b0lt
cGwocGFnZSktPnBhZ2VJRCgpKTsKICAgICBSZWZQdHI8QVBJOjpVUkxSZXF1ZXN0PiBuZXdSZXF1
ZXN0ID0gQVBJOjpVUkxSZXF1ZXN0OjpjcmVhdGUocmVzb3VyY2VSZXF1ZXN0KTsKIAogICAgIElt
bXV0YWJsZURpY3Rpb25hcnk6Ok1hcFR5cGUgbWVzc2FnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvc291cC9XZWJGcmFtZU5ldHdvcmtpbmdD
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvc291
cC9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmNwcAppbmRleCAyNDUwNzQzLi40ZDEzZGMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAv
V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuY3BwCkBA
IC00OSwxMCArNDksNyBAQCB2b2lkIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OmVuc3VyZVBy
aXZhdGVCcm93c2luZ1Nlc3Npb24odWludDY0X3Qgc2Vzc2lvbklEKQogCiBXZWJGcmFtZU5ldHdv
cmtpbmdDb250ZXh0OjpXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0KFdlYkZyYW1lKiBmcmFtZSkK
ICAgICA6IEZyYW1lTmV0d29ya2luZ0NvbnRleHQoZnJhbWUtPmNvcmVGcmFtZSgpKQotICAgICwg
bV9pbml0aWF0aW5nUGFnZUlEKDApCiB7Ci0gICAgaWYgKFdlYlBhZ2UqIHBhZ2UgPSBmcmFtZS0+
cGFnZSgpKQotICAgICAgICBtX2luaXRpYXRpbmdQYWdlSUQgPSBwYWdlLT5wYWdlSUQoKTsKIH0K
IAogTmV0d29ya1N0b3JhZ2VTZXNzaW9uJiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0OjpzdG9y
YWdlU2Vzc2lvbigpIGNvbnN0CkBAIC02MywxMSArNjAsNiBAQCBOZXR3b3JrU3RvcmFnZVNlc3Np
b24mIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OnN0b3JhZ2VTZXNzaW9uKCkgY29uc3QKICAg
ICByZXR1cm4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsK
IH0KIAotdWludDY0X3QgV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dDo6aW5pdGlhdGluZ1BhZ2VJ
RCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1faW5pdGlhdGluZ1BhZ2VJRDsKLX0KLQogV2ViRnJh
bWVMb2FkZXJDbGllbnQqIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OndlYkZyYW1lTG9hZGVy
Q2xpZW50KCkgY29uc3QKIHsKICAgICBpZiAoIWZyYW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5n
Q29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3Vw
L1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaAppbmRleCAyMDRjY2I5Li4yNjMwNjFhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dl
YkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L3NvdXAvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oCkBAIC01MCw5
ICs1MCw2IEBAIHByaXZhdGU6CiAgICAgV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dChXZWJGcmFt
ZSopOwogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHN0b3Jh
Z2VTZXNzaW9uKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB1aW50NjRfdCBpbml0aWF0aW5nUGFnZUlE
KCkgY29uc3Q7Ci0KLSAgICB1aW50NjRfdCBtX2luaXRpYXRpbmdQYWdlSUQ7CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVz
dE1hbmFnZXIuY3BwCmluZGV4IDgxOGVlZjAuLmQ1ZTNjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCkBA
IC0xODEsNyArMTgxLDcgQEAgdm9pZCBXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OnNlbmQoR1Rhc2sq
IHRhc2spCiAgICAgdWludDY0X3QgcmVxdWVzdElEID0gZ2VuZXJhdGVTb3VwUmVxdWVzdElEKCk7
CiAgICAgbV9yZXF1ZXN0TWFwLnNldChyZXF1ZXN0SUQsIGFkb3B0UHRyKG5ldyBXZWJTb3VwUmVx
dWVzdEFzeW5jRGF0YSh0YXNrLCByZXF1ZXN0KSkpOwogCi0gICAgdWludDY0X3QgaW5pdGlhdGlu
Z1BhZ2VJRCA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpnZXRTb3VwUmVxdWVzdEluaXRpYXRp
bmdQYWdlSUQoc291cFJlcXVlc3QpOworICAgIHVpbnQ2NF90IGluaXRpYXRpbmdQYWdlSUQgPSBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qoc291cFJlcXVlc3QpLmluaXRpYXRpbmdQYWdlSUQoKTsK
ICAgICBtX3Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlkUmVjZWl2ZVVSSVJlcXVlc3QoU3RyaW5nOjpmcm9tVVRGOCh1cmlT
dHJpbmcuZ2V0KCkpLCByZXF1ZXN0SUQpLCBpbml0aWF0aW5nUGFnZUlEKTsKIH0KIApkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE0Njg0Y2UuLmU5
MGIzNjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxNSBAQAogMjAxNC0wMS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2Fy
Y2lhQGlnYWxpYS5jb20+CiAKKyAgICAgICAgW0dUS10gTWFrZSB3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2dldF93ZWJfdmlldygpIHdvcmsgd2l0aCBDdXN0b21Qcm90b2NvbHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzYxNAorCisgICAgICAg
IFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Mkd0ay9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHA6IEJyaW5nCisg
ICAgICAgIGJhY2sgdGhlIGN1c3RvbSBVUkkgc2NoZW1lIFdlYlZpZXcgY2hlY2suCisKKzIwMTQt
MDEtMjcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAg
ICAgIFtHVEtdIEltcGxlbWVudCBjdXN0b20gVVJJIHNjaGVtZXMgd2l0aCBDdXN0b21Qcm90b2Nv
bHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzA5
MQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvVGVz
dFdlYktpdFdlYkNvbnRleHQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
R3RrL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcAppbmRleCA0NzIxODIzLi4zMTllZWM0IDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvVGVzdFdlYktpdFdl
YkNvbnRleHQuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mkd0ay9U
ZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTE0Niw4ICsxNDYsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIHRlc3QtPm1fdXJpU2NoZW1lUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgIHRlc3QtPmFz
c2VydE9iamVjdElzRGVsZXRlZFdoZW5UZXN0RmluaXNoZXMoR19PQkpFQ1QocmVxdWVzdCkpOwog
Ci0gICAgICAgIC8vIEZJWE1FOiB3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmll
dyBkb2Vzbid0IHdvcmsgd2l0aCBjdXN0b20gcHJvdG9jb2xzLgotICAgICAgICAvLyBnX2Fzc2Vy
dCh3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF93ZWJfdmlldyhyZXF1ZXN0KSA9PSB0ZXN0
LT5tX3dlYlZpZXcpOworICAgICAgICBnX2Fzc2VydCh3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0
X2dldF93ZWJfdmlldyhyZXF1ZXN0KSA9PSB0ZXN0LT5tX3dlYlZpZXcpOwogCiAgICAgICAgIEdS
ZWZQdHI8R0lucHV0U3RyZWFtPiBpbnB1dFN0cmVhbSA9IGFkb3B0R1JlZihnX21lbW9yeV9pbnB1
dF9zdHJlYW1fbmV3KCkpOwogICAgICAgICB0ZXN0LT5hc3NlcnRPYmplY3RJc0RlbGV0ZWRXaGVu
VGVzdEZpbmlzaGVzKEdfT0JKRUNUKGlucHV0U3RyZWFtLmdldCgpKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>