<?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>121504</bug_id>
          
          <creation_ts>2013-09-17 10:34:29 -0700</creation_ts>
          <short_desc>AX: Replace AXObjectCache postNotification method boolean arguments with enum values.</short_desc>
          <delta_ts>2013-09-26 11:22:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Samuel White">samuel_white</reporter>
          <assigned_to name="Samuel White">samuel_white</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930296</commentid>
    <comment_count>0</comment_count>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-09-17 10:34:29 -0700</bug_when>
    <thetext>Nearly every use of postNotification passes in a constant boolean value. Readability would improve if we replaced these booleans with enum values that were easier for reviewers to parse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930302</commentid>
    <comment_count>1</comment_count>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-09-17 10:50:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/15010675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932252</commentid>
    <comment_count>2</comment_count>
      <attachid>212381</attachid>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-09-23 12:43:10 -0700</bug_when>
    <thetext>Created attachment 212381
Patch.

Changing postNotification bool argument to enum per &quot;Names&quot; rule #10 in the WebKit coding style guidelines and reviewer feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932584</commentid>
    <comment_count>3</comment_count>
      <attachid>212381</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-09-24 08:59:52 -0700</bug_when>
    <thetext>Comment on attachment 212381
Patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=212381&amp;action=review

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:723
&gt; +    if (object &amp;&amp; (postTarget == TargetObservableParent))

extra parens here are not necessary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932611</commentid>
    <comment_count>4</comment_count>
      <attachid>212477</attachid>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-09-24 10:18:33 -0700</bug_when>
    <thetext>Created attachment 212477
Updated patch.

Thanks for the feedback Chris. I had added the inner parens because I figured it saved people from having to do a mental lookup of operator precedence. Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932625</commentid>
    <comment_count>5</comment_count>
      <attachid>212477</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-24 10:56:15 -0700</bug_when>
    <thetext>Comment on attachment 212477
Updated patch.

Clearing flags on attachment: 212477

Committed r156339: &lt;http://trac.webkit.org/changeset/156339&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932626</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-24 10:56:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933612</commentid>
    <comment_count>7</comment_count>
    <who name="Samuel White">samuel_white</who>
    <bug_when>2013-09-26 11:22:28 -0700</bug_when>
    <thetext>*** Bug 112857 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212381</attachid>
            <date>2013-09-23 12:43:10 -0700</date>
            <delta_ts>2013-09-24 10:18:33 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>post-notification-argument.patch</filename>
            <type>text/plain</type>
            <size>23773</size>
            <attacher name="Samuel White">samuel_white</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4
IDdjODdkNGEuLmIzYmQxYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcApAQCAtNjA4LDcgKzYwOCw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6
dGV4dENoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogCiAgICAgYm9vbCBwYXJlbnRB
bHJlYWR5RXhpc3RzID0gb2JqLT5wYXJlbnRPYmplY3RJZkV4aXN0cygpOwogICAgIG9iai0+dGV4
dENoYW5nZWQoKTsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKG9iaiwgb2JqLT5kb2N1bWVudCgpLCBB
WE9iamVjdENhY2hlOjpBWFRleHRDaGFuZ2VkLCB0cnVlKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9u
KG9iaiwgb2JqLT5kb2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWFRleHRDaGFuZ2VkKTsKICAg
ICBpZiAocGFyZW50QWxyZWFkeUV4aXN0cykKICAgICAgICAgb2JqLT5ub3RpZnlJZklnbm9yZWRW
YWx1ZUNoYW5nZWQoKTsKIH0KQEAgLTY3NCw3ICs2NzQsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6
Om5vdGlmaWNhdGlvblBvc3RUaW1lckZpcmVkKFRpbWVyPEFYT2JqZWN0Q2FjaGU+KikKICAgICBt
X25vdGlmaWNhdGlvbnNUb1Bvc3QuY2xlYXIoKTsKIH0KICAgICAKLXZvaWQgQVhPYmplY3RDYWNo
ZTo6cG9zdE5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBBWE5vdGlmaWNhdGlv
biBub3RpZmljYXRpb24sIGJvb2wgcG9zdFRvRWxlbWVudCwgUG9zdFR5cGUgcG9zdFR5cGUpCit2
b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0IHBvc3RUYXJnZXQsIFBv
c3RUeXBlIHBvc3RUeXBlKQogewogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybjsK
QEAgLTY5MiwxMCArNjkyLDEwIEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlv
bihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBBWE5vdGlmaWNhdGlvbiBub3RpCiAgICAgaWYgKCFy
ZW5kZXJlcikKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIHBvc3ROb3RpZmljYXRpb24ob2Jq
ZWN0LmdldCgpLCAmcmVuZGVyZXItPmRvY3VtZW50KCksIG5vdGlmaWNhdGlvbiwgcG9zdFRvRWxl
bWVudCwgcG9zdFR5cGUpOworICAgIHBvc3ROb3RpZmljYXRpb24ob2JqZWN0LmdldCgpLCAmcmVu
ZGVyZXItPmRvY3VtZW50KCksIG5vdGlmaWNhdGlvbiwgcG9zdFRhcmdldCwgcG9zdFR5cGUpOwog
fQogCi12b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oTm9kZSogbm9kZSwgQVhO
b3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RUeXBlIHBv
c3RUeXBlKQordm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKE5vZGUqIG5vZGUs
IEFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbiwgUG9zdFRhcmdldCBwb3N0VGFyZ2V0LCBQb3N0
VHlwZSBwb3N0VHlwZSkKIHsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsKQEAgLTcx
MywxNCArNzEzLDE0IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihOb2Rl
KiBub2RlLCBBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24sIGJvCiAgICAgaWYgKCFub2RlKQog
ICAgICAgICByZXR1cm47CiAgICAgCi0gICAgcG9zdE5vdGlmaWNhdGlvbihvYmplY3QuZ2V0KCks
ICZub2RlLT5kb2N1bWVudCgpLCBub3RpZmljYXRpb24sIHBvc3RUb0VsZW1lbnQsIHBvc3RUeXBl
KTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKG9iamVjdC5nZXQoKSwgJm5vZGUtPmRvY3VtZW50KCks
IG5vdGlmaWNhdGlvbiwgcG9zdFRhcmdldCwgcG9zdFR5cGUpOwogfQogCi12b2lkIEFYT2JqZWN0
Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1
bWVudCogZG9jdW1lbnQsIEFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9F
bGVtZW50LCBQb3N0VHlwZSBwb3N0VHlwZSkKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlm
aWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBkb2N1bWVudCwg
QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0IHBvc3RUYXJnZXQsIFBvc3RU
eXBlIHBvc3RUeXBlKQogewogICAgIHN0b3BDYWNoaW5nQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVz
KCk7CiAKLSAgICBpZiAob2JqZWN0ICYmICFwb3N0VG9FbGVtZW50KQorICAgIGlmIChvYmplY3Qg
JiYgKHBvc3RUYXJnZXQgPT0gVGFyZ2V0T2JzZXJ2YWJsZVBhcmVudCkpCiAgICAgICAgIG9iamVj
dCA9IG9iamVjdC0+b2JzZXJ2YWJsZU9iamVjdCgpOwogCiAgICAgaWYgKCFvYmplY3QgJiYgZG9j
dW1lbnQpCkBAIC03MzksMjEgKzczOSwyMSBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3Rp
ZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVudCogZG9jdQogCiB2
b2lkIEFYT2JqZWN0Q2FjaGU6OmNoZWNrZWRTdGF0ZUNoYW5nZWQoTm9kZSogbm9kZSkKIHsKLSAg
ICBwb3N0Tm90aWZpY2F0aW9uKG5vZGUsIEFYT2JqZWN0Q2FjaGU6OkFYQ2hlY2tlZFN0YXRlQ2hh
bmdlZCwgdHJ1ZSk7CisgICAgcG9zdE5vdGlmaWNhdGlvbihub2RlLCBBWE9iamVjdENhY2hlOjpB
WENoZWNrZWRTdGF0ZUNoYW5nZWQpOwogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkKE5vZGUqIG5vZGUpCiB7Ci0gICAgLy8gcG9zdFRvRWxlbWVudCBpcyBm
YWxzZSBzbyB0aGF0IHlvdSBjYW4gcGFzcyBpbiBhbnkgY2hpbGQgb2YgYW4gZWxlbWVudCBhbmQg
aXQgd2lsbCBnbyB1cCB0aGUgcGFyZW50IHRyZWUKKyAgICAvLyBwb3N0VGFyZ2V0IGlzIFRhcmdl
dE9ic2VydmFibGVQYXJlbnQgc28gdGhhdCB5b3UgY2FuIHBhc3MgaW4gYW55IGNoaWxkIG9mIGFu
IGVsZW1lbnQgYW5kIGl0IHdpbGwgZ28gdXAgdGhlIHBhcmVudCB0cmVlCiAgICAgLy8gdG8gZmlu
ZCB0aGUgY29udGFpbmVyIHdoaWNoIHNob3VsZCBzZW5kIG91dCB0aGUgbm90aWZpY2F0aW9uLgot
ICAgIHBvc3ROb3RpZmljYXRpb24obm9kZSwgQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCwgZmFs
c2UpOworICAgIHBvc3ROb3RpZmljYXRpb24obm9kZSwgQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZCwgVGFyZ2V0T2JzZXJ2YWJsZVBhcmVudCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6c2Vs
ZWN0ZWRDaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKLSAgICAvLyBw
b3N0VG9FbGVtZW50IGlzIGZhbHNlIHNvIHRoYXQgeW91IGNhbiBwYXNzIGluIGFueSBjaGlsZCBv
ZiBhbiBlbGVtZW50IGFuZCBpdCB3aWxsIGdvIHVwIHRoZSBwYXJlbnQgdHJlZQorICAgIC8vIHBv
c3RUYXJnZXQgaXMgVGFyZ2V0T2JzZXJ2YWJsZVBhcmVudCBzbyB0aGF0IHlvdSBjYW4gcGFzcyBp
biBhbnkgY2hpbGQgb2YgYW4gZWxlbWVudCBhbmQgaXQgd2lsbCBnbyB1cCB0aGUgcGFyZW50IHRy
ZWUKICAgICAvLyB0byBmaW5kIHRoZSBjb250YWluZXIgd2hpY2ggc2hvdWxkIHNlbmQgb3V0IHRo
ZSBub3RpZmljYXRpb24uCi0gICAgcG9zdE5vdGlmaWNhdGlvbihyZW5kZXJlciwgQVhTZWxlY3Rl
ZENoaWxkcmVuQ2hhbmdlZCwgZmFsc2UpOworICAgIHBvc3ROb3RpZmljYXRpb24ocmVuZGVyZXIs
IEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsIFRhcmdldE9ic2VydmFibGVQYXJlbnQpOwogfQog
CiB2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlTm90aWZpY2F0aW9uKE5vZGUqIG5v
ZGUsIEFYVGV4dENoYW5nZSB0ZXh0Q2hhbmdlLCB1bnNpZ25lZCBvZmZzZXQsIGNvbnN0IFN0cmlu
ZyYgdGV4dCkKQEAgLTgzMSw3ICs4MzEsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUF0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIEVsZW1lbgogICAg
IGlmIChhdHRyTmFtZSA9PSBhcmlhX2FjdGl2ZWRlc2NlbmRhbnRBdHRyKQogICAgICAgICBoYW5k
bGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZChlbGVtZW50KTsKICAgICBlbHNlIGlmIChhdHRyTmFt
ZSA9PSBhcmlhX3ZhbHVlbm93QXR0ciB8fCBhdHRyTmFtZSA9PSBhcmlhX3ZhbHVldGV4dEF0dHIp
Ci0gICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhPYmplY3RDYWNoZTo6QVhWYWx1
ZUNoYW5nZWQsIHRydWUpOworICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYT2Jq
ZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlh
X2xhYmVsQXR0ciB8fCBhdHRyTmFtZSA9PSBhcmlhX2xhYmVsZWRieUF0dHIgfHwgYXR0ck5hbWUg
PT0gYXJpYV9sYWJlbGxlZGJ5QXR0cikKICAgICAgICAgdGV4dENoYW5nZWQoZWxlbWVudCk7CiAg
ICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9jaGVja2VkQXR0cikKQEAgLTg0Myw5ICs4NDMs
OSBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUsIEVsZW1lbgogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFy
aWFfaGlkZGVuQXR0cikKICAgICAgICAgY2hpbGRyZW5DaGFuZ2VkKGVsZW1lbnQtPnBhcmVudE5v
ZGUoKSk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9pbnZhbGlkQXR0cikKLSAgICAg
ICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWE9iamVjdENhY2hlOjpBWEludmFsaWRTdGF0
dXNDaGFuZ2VkLCB0cnVlKTsKKyAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWE9i
amVjdENhY2hlOjpBWEludmFsaWRTdGF0dXNDaGFuZ2VkKTsKICAgICBlbHNlCi0gICAgICAgIHBv
c3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhPYmplY3RDYWNoZTo6QVhBcmlhQXR0cmlidXRlQ2hh
bmdlZCwgdHJ1ZSk7CisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhPYmplY3RD
YWNoZTo6QVhBcmlhQXR0cmlidXRlQ2hhbmdlZCk7CiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6
bGFiZWxDaGFuZ2VkKEVsZW1lbnQqIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDg3MTZhNDEuLjlhMzFlNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC03MSw2ICs3MSw4IEBA
IHByaXZhdGU6CiAgICAgSGFzaE1hcDxBWElELCBDYWNoZWRBWE9iamVjdEF0dHJpYnV0ZXM+IG1f
aWRNYXBwaW5nOwogfTsKIAorZW51bSBQb3N0VGFyZ2V0IHsgVGFyZ2V0RWxlbWVudCwgVGFyZ2V0
T2JzZXJ2YWJsZVBhcmVudCB9OworCiBlbnVtIFBvc3RUeXBlIHsgUG9zdFN5bmNocm9ub3VzbHks
IFBvc3RBc3luY2hyb25vdXNseSB9OwogCiBjbGFzcyBBWE9iamVjdENhY2hlIHsKQEAgLTE3OSw5
ICsxODEsOSBAQCBwdWJsaWM6CiAgICAgICAgIEFYQXJpYUF0dHJpYnV0ZUNoYW5nZWQKICAgICB9
OwogCi0gICAgdm9pZCBwb3N0Tm90aWZpY2F0aW9uKFJlbmRlck9iamVjdCosIEFYTm90aWZpY2F0
aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RUeXBlID0gUG9zdEFzeW5jaHJvbm91c2x5KTsK
LSAgICB2b2lkIHBvc3ROb3RpZmljYXRpb24oTm9kZSosIEFYTm90aWZpY2F0aW9uLCBib29sIHBv
c3RUb0VsZW1lbnQsIFBvc3RUeXBlID0gUG9zdEFzeW5jaHJvbm91c2x5KTsKLSAgICB2b2lkIHBv
c3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIERvY3VtZW50KiwgQVhOb3RpZmlj
YXRpb24sIGJvb2wgcG9zdFRvRWxlbWVudCwgUG9zdFR5cGUgPSBQb3N0QXN5bmNocm9ub3VzbHkp
OworICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqLCBBWE5vdGlmaWNhdGlv
biwgUG9zdFRhcmdldCA9IFRhcmdldEVsZW1lbnQsIFBvc3RUeXBlID0gUG9zdEFzeW5jaHJvbm91
c2x5KTsKKyAgICB2b2lkIHBvc3ROb3RpZmljYXRpb24oTm9kZSosIEFYTm90aWZpY2F0aW9uLCBQ
b3N0VGFyZ2V0ID0gVGFyZ2V0RWxlbWVudCwgUG9zdFR5cGUgPSBQb3N0QXN5bmNocm9ub3VzbHkp
OworICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgRG9jdW1l
bnQqLCBBWE5vdGlmaWNhdGlvbiwgUG9zdFRhcmdldCA9IFRhcmdldEVsZW1lbnQsIFBvc3RUeXBl
ID0gUG9zdEFzeW5jaHJvbm91c2x5KTsKIAogICAgIGVudW0gQVhUZXh0Q2hhbmdlIHsKICAgICAg
ICAgQVhUZXh0SW5zZXJ0ZWQsCkBAIC0yOTgsOSArMzAwLDkgQEAgaW5saW5lIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6cmVjb21wdXRlSXNJZ25vcmVkKFJlbmRlck9iamVjdCopIHsgfQogaW5saW5lIHZv
aWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcihjb25zdCBOb2RlKikgeyB9
CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbihO
b2RlKiwgQVhUZXh0Q2hhbmdlLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikgeyB9CiBpbmxpbmUg
dm9pZCBBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZVBsYXRmb3JtTm90aWZpY2F0aW9uKEFj
Y2Vzc2liaWxpdHlPYmplY3QqLCBBWFRleHRDaGFuZ2UsIHVuc2lnbmVkLCBjb25zdCBTdHJpbmcm
KSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNz
aWJpbGl0eU9iamVjdCosIERvY3VtZW50KiwgQVhOb3RpZmljYXRpb24sIGJvb2wsIFBvc3RUeXBl
KSB7IH0KLWlubGluZSB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVy
T2JqZWN0KiwgQVhOb3RpZmljYXRpb24sIGJvb2wsIFBvc3RUeXBlKSB7IH0KLWlubGluZSB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oTm9kZSosIEFYTm90aWZpY2F0aW9uLCBi
b29sLCBQb3N0VHlwZSkgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZp
Y2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9uLCBQ
b3N0VGFyZ2V0LCBQb3N0VHlwZSkgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0
Tm90aWZpY2F0aW9uKFJlbmRlck9iamVjdCosIEFYTm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0LCBQ
b3N0VHlwZSkgeyB9CitpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9u
KE5vZGUqLCBBWE5vdGlmaWNhdGlvbiwgUG9zdFRhcmdldCwgUG9zdFR5cGUpIHsgfQogaW5saW5l
IHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxp
dHlPYmplY3QqLCBBWE5vdGlmaWNhdGlvbikgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hl
OjpyZW1vdmUoQVhJRCkgeyB9CiBpbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpyZW1vdmUoUmVu
ZGVyT2JqZWN0KikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAKaW5kZXggY2JkODJkYy4uZDBjMzAzOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVM
aXN0LmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU1lbnVMaXN0Ojpk
aWRVcGRhdGVBY3RpdmVPcHRpb24oaW50IG9wdGlvbkluZGV4KQogICAgICAgICB9CiAgICAgfQog
Ci0gICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9jdW1lbnQuZ2V0KCksIEFYT2Jq
ZWN0Q2FjaGU6OkFYTWVudUxpc3RWYWx1ZUNoYW5nZWQsIHRydWUsIFBvc3RTeW5jaHJvbm91c2x5
KTsKKyAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbih0aGlzLCBkb2N1bWVudC5nZXQoKSwgQVhP
YmplY3RDYWNoZTo6QVhNZW51TGlzdFZhbHVlQ2hhbmdlZCwgVGFyZ2V0RWxlbWVudCwgUG9zdFN5
bmNocm9ub3VzbHkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9w
dXAuY3BwCmluZGV4IDg4YmFkZDEuLjhmMTAwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAuY3BwCkBA
IC0xMzcsOCArMTM3LDggQEAgdm9pZCBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cDo6ZGlkVXBk
YXRlQWN0aXZlT3B0aW9uKGludCBvcHRpb25JbmRleCkKICAgICBBWE9iamVjdENhY2hlKiBjYWNo
ZSA9IGF4T2JqZWN0Q2FjaGUoKTsKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdD4gY2hp
bGQgPSBtX2NoaWxkcmVuW29wdGlvbkluZGV4XS5nZXQoKTsKIAotICAgIGNhY2hlLT5wb3N0Tm90
aWZpY2F0aW9uKGNoaWxkLmdldCgpLCBkb2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWEZvY3Vz
ZWRVSUVsZW1lbnRDaGFuZ2VkLCB0cnVlLCBQb3N0U3luY2hyb25vdXNseSk7Ci0gICAgY2FjaGUt
PnBvc3ROb3RpZmljYXRpb24oY2hpbGQuZ2V0KCksIGRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6
OkFYTWVudUxpc3RJdGVtU2VsZWN0ZWQsIHRydWUsIFBvc3RTeW5jaHJvbm91c2x5KTsKKyAgICBj
YWNoZS0+cG9zdE5vdGlmaWNhdGlvbihjaGlsZC5nZXQoKSwgZG9jdW1lbnQoKSwgQVhPYmplY3RD
YWNoZTo6QVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCwgVGFyZ2V0RWxlbWVudCwgUG9zdFN5bmNo
cm9ub3VzbHkpOworICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKGNoaWxkLmdldCgpLCBkb2N1
bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWE1lbnVMaXN0SXRlbVNlbGVjdGVkLCBUYXJnZXRFbGVt
ZW50LCBQb3N0U3luY2hyb25vdXNseSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHAKaW5kZXggYjgxOWZhZC4uY2RjZmZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAg
LTEzMSw3ICsxMzEsNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGlsZHJlbkNo
YW5nZWQoKQogICAgIGlmICghbm9kZSgpICYmICFyZW5kZXJlcigpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9jdW1lbnQo
KSwgQVhPYmplY3RDYWNoZTo6QVhDaGlsZHJlbkNoYW5nZWQsIHRydWUpOworICAgIGF4T2JqZWN0
Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbih0aGlzLCBkb2N1bWVudCgpLCBBWE9iamVjdENhY2hl
OjpBWENoaWxkcmVuQ2hhbmdlZCk7CiAKICAgICAvLyBHbyB1cCB0aGUgYWNjZXNzaWJpbGl0eSBw
YXJlbnQgY2hhaW4sIGJ1dCBvbmx5IGlmIHRoZSBlbGVtZW50IGFscmVhZHkgZXhpc3RzLiBUaGlz
IG1ldGhvZCBpcwogICAgIC8vIGNhbGxlZCBkdXJpbmcgcmVuZGVyIGxheW91dHMsIG1pbmltYWwg
d29yayBzaG91bGQgYmUgZG9uZS4gCkBAIC0xNDUsMTEgKzE0NSwxMSBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0OjpjaGlsZHJlbkNoYW5nZWQoKQogCiAgICAgICAgIC8vIElmIHRoaXMg
ZWxlbWVudCBzdXBwb3J0cyBBUklBIGxpdmUgcmVnaW9ucywgdGhlbiBub3RpZnkgdGhlIEFUIG9m
IGNoYW5nZXMuCiAgICAgICAgIGlmIChwYXJlbnQtPnN1cHBvcnRzQVJJQUxpdmVSZWdpb24oKSkK
LSAgICAgICAgICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihwYXJlbnQsIHBh
cmVudC0+ZG9jdW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhMaXZlUmVnaW9uQ2hhbmdlZCwgdHJ1
ZSk7CisgICAgICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocGFyZW50
LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQp
OwogICAgICAgICAKICAgICAgICAgLy8gSWYgdGhpcyBlbGVtZW50IGlzIGFuIEFSSUEgdGV4dCBj
b250cm9sLCBub3RpZnkgdGhlIEFUIG9mIGNoYW5nZXMuCiAgICAgICAgIGlmIChwYXJlbnQtPmlz
QVJJQVRleHRDb250cm9sKCkgJiYgIXBhcmVudC0+aXNOYXRpdmVUZXh0Q29udHJvbCgpICYmICFw
YXJlbnQtPm5vZGUoKS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpCi0gICAgICAgICAgICBheE9iamVj
dENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFY
T2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkLCB0cnVlKTsKKyAgICAgICAgICAgIGF4T2JqZWN0
Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihwYXJlbnQsIHBhcmVudC0+ZG9jdW1lbnQoKSwgQVhP
YmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOwogICAgIH0KIH0KIApAQCAtMTA1NCw3ICsxMDU0
LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2hhbmdlVmFsdWVCeVN0ZXAoYm9v
bCBpbmNyZWFzZSkKIAogICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyKHZhbHVlKSk7CiAKLSAg
ICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24obm9kZSgpLCBBWE9iamVjdENhY2hl
OjpBWFZhbHVlQ2hhbmdlZCwgdHJ1ZSk7CisgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZp
Y2F0aW9uKG5vZGUoKSwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOwogfQogCiB2b2lk
IEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGFuZ2VWYWx1ZUJ5UGVyY2VudChmbG9hdCBwZXJj
ZW50Q2hhbmdlKQpAQCAtMTA2NSw3ICsxMDY1LDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6Y2hhbmdlVmFsdWVCeVBlcmNlbnQoZmxvYXQgcGVyY2VudENoYW5nZSkKICAgICB2YWx1
ZSArPSByYW5nZSAqIChwZXJjZW50Q2hhbmdlIC8gMTAwKTsKICAgICBzZXRWYWx1ZShTdHJpbmc6
Om51bWJlcih2YWx1ZSkpOwogCi0gICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9u
KG5vZGUoKSwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQsIHRydWUpOworICAgIGF4T2Jq
ZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihub2RlKCksIEFYT2JqZWN0Q2FjaGU6OkFYVmFs
dWVDaGFuZ2VkKTsKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNHZW5lcmlj
Rm9jdXNhYmxlRWxlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA5NDM0ZWJh
Li5iODAwZTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTIyOTgsMTEgKzIyOTgsMTEgQEAg
dm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpoYW5kbGVBcmlhRXhwYW5kZWRDaGFuZ2Vk
KCkKICAgICAKICAgICAvLyBQb3N0IHRoYXQgdGhlIHJvdyBjb3VudCBjaGFuZ2VkLgogICAgIGlm
IChjb250YWluZXJQYXJlbnQpCi0gICAgICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNh
dGlvbihjb250YWluZXJQYXJlbnQsIGRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYUm93Q291
bnRDaGFuZ2VkLCB0cnVlKTsKKyAgICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0
aW9uKGNvbnRhaW5lclBhcmVudCwgZG9jdW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhSb3dDb3Vu
dENoYW5nZWQpOwogCiAgICAgLy8gUG9zdCB0aGF0IHRoZSBzcGVjaWZpYyByb3cgZWl0aGVyIGNv
bGxhcHNlZCBvciBleHBhbmRlZC4KICAgICBpZiAocm9sZVZhbHVlKCkgPT0gUm93Um9sZSB8fCBy
b2xlVmFsdWUoKSA9PSBUcmVlSXRlbVJvbGUpCi0gICAgICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9z
dE5vdGlmaWNhdGlvbih0aGlzLCBkb2N1bWVudCgpLCBpc0V4cGFuZGVkKCkgPyBBWE9iamVjdENh
Y2hlOjpBWFJvd0V4cGFuZGVkIDogQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xsYXBzZWQsIHRydWUp
OworICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9jdW1l
bnQoKSwgaXNFeHBhbmRlZCgpID8gQVhPYmplY3RDYWNoZTo6QVhSb3dFeHBhbmRlZCA6IEFYT2Jq
ZWN0Q2FjaGU6OkFYUm93Q29sbGFwc2VkKTsKIH0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0OjpoYW5kbGVBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCgpCkBAIC0yMzE1LDcgKzIzMTUs
NyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmhhbmRsZUFjdGl2ZURlc2NlbmRh
bnRDaGFuZ2VkKCkKICAgICBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KiBhY3RpdmVkZXNjZW5k
YW50ID0gc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCo+KGFjdGl2ZURlc2Nl
bmRhbnQoKSk7CiAgICAgCiAgICAgaWYgKGFjdGl2ZWRlc2NlbmRhbnQgJiYgc2hvdWxkTm90aWZ5
QWN0aXZlRGVzY2VuZGFudCgpKQotICAgICAgICByZW5kZXJlcigpLT5kb2N1bWVudCgpLmF4T2Jq
ZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihtX3JlbmRlcmVyLCBBWE9iamVjdENhY2hlOjpB
WEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLCB0cnVlKTsKKyAgICAgICAgcmVuZGVyZXIoKS0+ZG9j
dW1lbnQoKS5heE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24obV9yZW5kZXJlciwgQVhP
YmplY3RDYWNoZTo6QVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCk7CiB9CiAKIEFjY2Vzc2liaWxp
dHlPYmplY3QqIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvcnJlc3BvbmRpbmdDb250cm9s
Rm9yTGFiZWxFbGVtZW50KCkgY29uc3QKQEAgLTI3MDgsMTAgKzI3MDgsMTAgQEAgdm9pZCBBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp0ZXh0Q2hhbmdlZCgpCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgCiAgICAgICAgIGlmIChwYXJlbnQtPnN1cHBvcnRzQVJJQUxpdmVSZWdpb24o
KSkKLSAgICAgICAgICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKHJlbmRlclBhcmVudCwgQVhP
YmplY3RDYWNoZTo6QVhMaXZlUmVnaW9uQ2hhbmdlZCwgdHJ1ZSk7CisgICAgICAgICAgICBjYWNo
ZS0+cG9zdE5vdGlmaWNhdGlvbihyZW5kZXJQYXJlbnQsIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJl
Z2lvbkNoYW5nZWQpOwogCiAgICAgICAgIGlmIChwYXJlbnQtPmlzQVJJQVRleHRDb250cm9sKCkg
JiYgIXBhcmVudC0+aXNOYXRpdmVUZXh0Q29udHJvbCgpICYmICFwYXJlbnQtPm5vZGUoKS0+cmVu
ZGVyZXJJc0VkaXRhYmxlKCkpCi0gICAgICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihy
ZW5kZXJQYXJlbnQsIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkLCB0cnVlKTsKKyAgICAg
ICAgICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKHJlbmRlclBhcmVudCwgQVhPYmplY3RDYWNo
ZTo6QVhWYWx1ZUNoYW5nZWQpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggYjZlNzgxZC4uNjRmOTQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yNDkyLDEx
ICsyNDkyLDExIEBAIHZvaWQgRG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UoKQogICAgICAgICAvLyBv
bmx5IHNhZmUgdG8gY2FsbCB3aGVuIGEgbGF5b3V0IGlzIG5vdCBpbiBwcm9ncmVzcywgc28gaXQg
Y2FuIG5vdCBiZSB1c2VkIGluIHBvc3ROb3RpZmljYXRpb24uICAgIAogICAgICAgICBheE9iamVj
dENhY2hlKCktPmdldE9yQ3JlYXRlKHJlbmRlclZpZXcoKSk7CiAgICAgICAgIGlmICh0aGlzID09
IHRvcERvY3VtZW50KCkpCi0gICAgICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmlj
YXRpb24ocmVuZGVyVmlldygpLCBBWE9iamVjdENhY2hlOjpBWExvYWRDb21wbGV0ZSwgdHJ1ZSk7
CisgICAgICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocmVuZGVyVmll
dygpLCBBWE9iamVjdENhY2hlOjpBWExvYWRDb21wbGV0ZSk7CiAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgLy8gQVhMb2FkQ29tcGxldGUgY2FuIG9ubHkgYmUgcG9zdGVkIG9uIHRoZSB0b3Ag
ZG9jdW1lbnQsIHNvIGlmIGl0J3MgYSBkb2N1bWVudAogICAgICAgICAgICAgLy8gaW4gYW4gaWZy
YW1lIHRoYXQganVzdCBmaW5pc2hlZCBsb2FkaW5nLCBwb3N0IEFYTGF5b3V0Q29tcGxldGUgaW5z
dGVhZC4KLSAgICAgICAgICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihyZW5k
ZXJWaWV3KCksIEFYT2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGUsIHRydWUpOworICAgICAg
ICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHJlbmRlclZpZXcoKSwgQVhP
YmplY3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSk7CiAgICAgICAgIH0KICAgICB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA5OWE1N2EwLi44NTNjZTQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC01NTcsNyArNTU3LDcgQEAgdm9pZCBFZGl0b3I6OnJl
c3BvbmRUb0NoYW5nZWRDb250ZW50cyhjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBlbmRpbmdTZWxl
Y3Rpb24pCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpIHsK
ICAgICAgICAgTm9kZSogbm9kZSA9IGVuZGluZ1NlbGVjdGlvbi5zdGFydCgpLmRlcHJlY2F0ZWRO
b2RlKCk7CiAgICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IG1fZnJhbWUuZG9jdW1l
bnQoKS0+ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkpCi0gICAgICAgICAgICBjYWNoZS0+cG9zdE5v
dGlmaWNhdGlvbihub2RlLCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCwgZmFsc2UpOwor
ICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24obm9kZSwgQVhPYmplY3RDYWNoZTo6
QVhWYWx1ZUNoYW5nZWQsIFRhcmdldE9ic2VydmFibGVQYXJlbnQpOwogICAgIH0KIAogICAgIHVw
ZGF0ZU1hcmtlcnNGb3JXb3Jkc0FmZmVjdGVkQnlFZGl0aW5nKHRydWUpOwpAQCAtMjM0Myw3ICsy
MzQzLDcgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKFBhc3NSZWZQdHI8U3BlbGxD
aGVja1JlcXVlc3Q+IHJlcXVlc3QsIGNvbnN0IFZlY3QKIAogICAgICAgICAgICAgICAgIGlmIChB
WE9iamVjdENhY2hlKiBjYWNoZSA9IG1fZnJhbWUuZG9jdW1lbnQoKS0+ZXhpc3RpbmdBWE9iamVj
dENhY2hlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKEVsZW1lbnQqIHJvb3QgPSBtX2Zy
YW1lLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLnJvb3RFZGl0YWJsZUVsZW1lbnQoKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKHJvb3QsIEFYT2JqZWN0
Q2FjaGU6OkFYQXV0b2NvcnJlY3Rpb25PY2N1cmVkLCB0cnVlKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKHJvb3QsIEFYT2JqZWN0Q2FjaGU6OkFYQXV0
b2NvcnJlY3Rpb25PY2N1cmVkKTsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAg
ICAvLyBTa2lwIGFsbCBvdGhlciByZXN1bHRzIGZvciB0aGUgcmVwbGFjZWQgdGV4dC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0ZyYW1lU2VsZWN0aW9uTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRnJhbWVTZWxlY3Rpb25NYWMubW0KaW5kZXggYWY3
ZThlMy4uYzYyMWIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRnJh
bWVTZWxlY3Rpb25NYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRnJhbWVT
ZWxlY3Rpb25NYWMubW0KQEAgLTUxLDcgKzUxLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6bm90
aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpCiAKICAgICBpZiAobV9zZWxlY3Rp
b24uc3RhcnQoKS5pc05vdE51bGwoKSAmJiBtX3NlbGVjdGlvbi5lbmQoKS5pc05vdE51bGwoKSkg
ewogICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBkb2N1bWVudC0+ZXhpc3RpbmdB
WE9iamVjdENhY2hlKCkpCi0gICAgICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihtX3Nl
bGVjdGlvbi5zdGFydCgpLmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCksIEFYT2JqZWN0Q2Fj
aGU6OkFYU2VsZWN0ZWRUZXh0Q2hhbmdlZCwgZmFsc2UpOworICAgICAgICAgICAgY2FjaGUtPnBv
c3ROb3RpZmljYXRpb24obV9zZWxlY3Rpb24uc3RhcnQoKS5kZXByZWNhdGVkTm9kZSgpLT5yZW5k
ZXJlcigpLCBBWE9iamVjdENhY2hlOjpBWFNlbGVjdGVkVGV4dENoYW5nZWQsIFRhcmdldE9ic2Vy
dmFibGVQYXJlbnQpOwogICAgIH0KIAogICAgIC8vIGlmIHpvb20gZmVhdHVyZSBpcyBlbmFibGVk
LCBpbnNlcnRpb24gcG9pbnQgY2hhbmdlcyBzaG91bGQgdXBkYXRlIHRoZSB6b29tCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4
IGFlY2FiOWMuLjExMzAwM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC01MDUsNyArNTA1LDcgQEAgdm9pZCBIVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudDo6c2V0SW5uZXJUZXh0VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1
ZSkKICAgICBpZiAodGV4dElzQ2hhbmdlZCB8fCAhaW5uZXJUZXh0RWxlbWVudCgpLT5oYXNDaGls
ZE5vZGVzKCkpIHsKICAgICAgICAgaWYgKHRleHRJc0NoYW5nZWQgJiYgcmVuZGVyZXIoKSkgewog
ICAgICAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gZG9jdW1lbnQoKS5leGlzdGlu
Z0FYT2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlv
bih0aGlzLCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCwgZmFsc2UpOworICAgICAgICAg
ICAgICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKHRoaXMsIEFYT2JqZWN0Q2FjaGU6OkFYVmFs
dWVDaGFuZ2VkLCBUYXJnZXRPYnNlcnZhYmxlUGFyZW50KTsKICAgICAgICAgfQogICAgICAgICBp
bm5lclRleHRFbGVtZW50KCktPnNldElubmVyVGV4dCh2YWx1ZSwgQVNTRVJUX05PX0VYQ0VQVElP
Tik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCAyYTZmZjM5Li43YTgyOWQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC0xMDA0LDcgKzEwMDQsNyBAQCB2b2lkIElu
cHV0VHlwZTo6YXBwbHlTdGVwKGludCBjb3VudCwgQW55U3RlcEhhbmRsaW5nIGFueVN0ZXBIYW5k
bGluZywgVGV4dEZpZWxkRQogICAgIHNldFZhbHVlQXNEZWNpbWFsKG5ld1ZhbHVlLCBldmVudEJl
aGF2aW9yLCBlYyk7CiAKICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBlbGVtZW50KCku
ZG9jdW1lbnQoKS5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgY2FjaGUtPnBvc3RO
b3RpZmljYXRpb24oJmVsZW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQsIHRy
dWUpOworICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbigmZWxlbWVudCgpLCBBWE9iamVj
dENhY2hlOjpBWFZhbHVlQ2hhbmdlZCk7CiB9CiAKIGJvb2wgSW5wdXRUeXBlOjpnZXRBbGxvd2Vk
VmFsdWVTdGVwKERlY2ltYWwqIHN0ZXApIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1
dFR5cGUuY3BwCmluZGV4IDJlMGJkZjEuLjMyMGM1OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFu
Z2VJbnB1dFR5cGUuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBSYW5nZUlucHV0VHlwZTo6
aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogICAgICAgICBzZXRWYWx1
ZUFzRGVjaW1hbChuZXdWYWx1ZSwgZXZlbnRCZWhhdmlvciwgSUdOT1JFX0VYQ0VQVElPTik7CiAK
ICAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gZWxlbWVudCgpLmRvY3VtZW50KCku
ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkpCi0gICAgICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNh
dGlvbigmZWxlbWVudCgpLCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCwgdHJ1ZSk7Cisg
ICAgICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbigmZWxlbWVudCgpLCBBWE9iamVjdENh
Y2hlOjpBWFZhbHVlQ2hhbmdlZCk7CiAgICAgICAgIGVsZW1lbnQoKS5kaXNwYXRjaEZvcm1Db250
cm9sQ2hhbmdlRXZlbnQoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRm9jdXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9s
bGVyLmNwcAppbmRleCAzYzUzMThhLi4yZmEzNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwCkBAIC0yNTIsNyArMjUyLDcgQEAgYm9vbCBGb2N1c0NvbnRyb2xsZXI6
OnNldEluaXRpYWxGb2N1cyhGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24sIEtleWJvYXJkRXZlbnQq
IGUKICAgICAvLyBpbnRvIHRoZSB3ZWIgYXJlYSBhZ2FpbiwgZXZlbiBpZiBmb2N1cyBkaWQgbm90
IGNoYW5nZSB3aXRoaW4gV2ViQ29yZS4gUG9zdE5vdGlmaWNhdGlvbiBpcyBjYWxsZWQgaW5zdGVh
ZAogICAgIC8vIG9mIGhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLCBiZWNhdXNlIHRoaXMg
d2lsbCBzZW5kIHRoZSBub3RpZmljYXRpb24gZXZlbiBpZiB0aGUgZWxlbWVudCBpcyB0aGUgc2Ft
ZS4KICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBmb2N1c2VkT3JNYWluRnJhbWUoKS5k
b2N1bWVudCgpLT5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgY2FjaGUtPnBvc3RO
b3RpZmljYXRpb24oZm9jdXNlZE9yTWFpbkZyYW1lKCkuZG9jdW1lbnQoKSwgQVhPYmplY3RDYWNo
ZTo6QVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCwgdHJ1ZSk7CisgICAgICAgIGNhY2hlLT5wb3N0
Tm90aWZpY2F0aW9uKGZvY3VzZWRPck1haW5GcmFtZSgpLmRvY3VtZW50KCksIEFYT2JqZWN0Q2Fj
aGU6OkFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOwogCiAgICAgcmV0dXJuIGRpZEFkdmFuY2VG
b2N1czsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA4NzY1YTAwLi4wMjMwMGUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMzI3LDcgKzEzMjcsNyBAQCB2b2lk
IEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogCiAjaWYgUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKEdUSykKICAgICBpZiAoQVhPYmplY3RDYWNo
ZSogY2FjaGUgPSByb290LT5kb2N1bWVudCgpLmV4aXN0aW5nQVhPYmplY3RDYWNoZSgpKQotICAg
ICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihyb290LCBBWE9iamVjdENhY2hlOjpBWExheW91
dENvbXBsZXRlLCB0cnVlKTsKKyAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24ocm9vdCwg
QVhPYmplY3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShE
QVNIQk9BUkRfU1VQUE9SVCkgfHwgRU5BQkxFKERSQUdHQUJMRV9SRUdJT04pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggN2Q2ZmQwYi4uZjNkZWY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTA5
LTIzICBTYW11ZWwgV2hpdGUgIDxzYW11ZWxfd2hpdGVAYXBwbGUuY29tPgorCisgICAgICAgIEFY
OiBSZXBsYWNlIEFYT2JqZWN0Q2FjaGUgcG9zdE5vdGlmaWNhdGlvbiBtZXRob2QgYm9vbGVhbiBh
cmd1bWVudHMgd2l0aCBlbnVtIHZhbHVlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMTUwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzLiBD
aGFuZ2VkIGFyZ3VtZW50IHR5cGUgZnJvbSBib29sCisgICAgICAgIHRvIGVudW0gcGVyICJOYW1l
cyIgcnVsZSAjMTAgaW4gdGhlIFdlYktpdCBjb2Rpbmcgc3R5bGUgZ3VpZGVsaW5lcy4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjp0ZXh0Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVj
dENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmNoZWNrZWRTdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6c2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlz
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5TWVudUxpc3Q6OmRpZFVwZGF0
ZUFjdGl2ZU9wdGlvbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVu
dUxpc3RQb3B1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5TWVudUxpc3RQ
b3B1cDo6ZGlkVXBkYXRlQWN0aXZlT3B0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlOb2RlT2JqZWN0OjpjaGlsZHJlbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU5vZGVPYmplY3Q6OmNoYW5nZVZhbHVlQnlTdGVwKToKKyAgICAgICAgKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGFuZ2VWYWx1ZUJ5UGVyY2VudCk6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmhhbmRsZUFyaWFFeHBhbmRlZENo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aGFu
ZGxlQWN0aXZlRGVzY2VuZGFudENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdDo6dGV4dENoYW5nZWQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aW1wbGljaXRDbG9zZSk6CisgICAgICAg
ICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpyZXNwb25k
VG9DaGFuZ2VkQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrQW5kUmVw
bGFjZUZvcik6CisgICAgICAgICogZWRpdGluZy9tYWMvRnJhbWVTZWxlY3Rpb25NYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNl
bGVjdGlvbkNoYW5nZSk6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6c2V0
SW5uZXJUZXh0VmFsdWUpOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklucHV0VHlwZTo6YXBwbHlTdGVwKToKKyAgICAgICAgKiBodG1sL1JhbmdlSW5w
dXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlk
b3duRXZlbnQpOgorICAgICAgICAqIHBhZ2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvY3VzQ29udHJvbGxlcjo6c2V0SW5pdGlhbEZvY3VzKToKKyAgICAgICAgKiBw
YWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6
CisKIDIwMTMtMDktMjMgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIERvY3VtZW50OjpkZXN0cm95UmVuZGVyVHJlZSgpIHNob3VsZG4ndCBkbyBhbnl0aGluZyBi
dXQuCg==
</data>
<flag name="review"
          id="234654"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212477</attachid>
            <date>2013-09-24 10:18:33 -0700</date>
            <delta_ts>2013-09-24 10:56:15 -0700</delta_ts>
            <desc>Updated patch.</desc>
            <filename>post.patch</filename>
            <type>text/plain</type>
            <size>23771</size>
            <attacher name="Samuel White">samuel_white</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4
IDdjODdkNGEuLmIzYmQxYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcApAQCAtNjA4LDcgKzYwOCw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6
dGV4dENoYW5nZWQoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogCiAgICAgYm9vbCBwYXJlbnRB
bHJlYWR5RXhpc3RzID0gb2JqLT5wYXJlbnRPYmplY3RJZkV4aXN0cygpOwogICAgIG9iai0+dGV4
dENoYW5nZWQoKTsKLSAgICBwb3N0Tm90aWZpY2F0aW9uKG9iaiwgb2JqLT5kb2N1bWVudCgpLCBB
WE9iamVjdENhY2hlOjpBWFRleHRDaGFuZ2VkLCB0cnVlKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9u
KG9iaiwgb2JqLT5kb2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWFRleHRDaGFuZ2VkKTsKICAg
ICBpZiAocGFyZW50QWxyZWFkeUV4aXN0cykKICAgICAgICAgb2JqLT5ub3RpZnlJZklnbm9yZWRW
YWx1ZUNoYW5nZWQoKTsKIH0KQEAgLTY3NCw3ICs2NzQsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6
Om5vdGlmaWNhdGlvblBvc3RUaW1lckZpcmVkKFRpbWVyPEFYT2JqZWN0Q2FjaGU+KikKICAgICBt
X25vdGlmaWNhdGlvbnNUb1Bvc3QuY2xlYXIoKTsKIH0KICAgICAKLXZvaWQgQVhPYmplY3RDYWNo
ZTo6cG9zdE5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBBWE5vdGlmaWNhdGlv
biBub3RpZmljYXRpb24sIGJvb2wgcG9zdFRvRWxlbWVudCwgUG9zdFR5cGUgcG9zdFR5cGUpCit2
b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0IHBvc3RUYXJnZXQsIFBv
c3RUeXBlIHBvc3RUeXBlKQogewogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybjsK
QEAgLTY5MiwxMCArNjkyLDEwIEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlv
bihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBBWE5vdGlmaWNhdGlvbiBub3RpCiAgICAgaWYgKCFy
ZW5kZXJlcikKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIHBvc3ROb3RpZmljYXRpb24ob2Jq
ZWN0LmdldCgpLCAmcmVuZGVyZXItPmRvY3VtZW50KCksIG5vdGlmaWNhdGlvbiwgcG9zdFRvRWxl
bWVudCwgcG9zdFR5cGUpOworICAgIHBvc3ROb3RpZmljYXRpb24ob2JqZWN0LmdldCgpLCAmcmVu
ZGVyZXItPmRvY3VtZW50KCksIG5vdGlmaWNhdGlvbiwgcG9zdFRhcmdldCwgcG9zdFR5cGUpOwog
fQogCi12b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oTm9kZSogbm9kZSwgQVhO
b3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RUeXBlIHBv
c3RUeXBlKQordm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKE5vZGUqIG5vZGUs
IEFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbiwgUG9zdFRhcmdldCBwb3N0VGFyZ2V0LCBQb3N0
VHlwZSBwb3N0VHlwZSkKIHsKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsKQEAgLTcx
MywxNCArNzEzLDE0IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihOb2Rl
KiBub2RlLCBBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24sIGJvCiAgICAgaWYgKCFub2RlKQog
ICAgICAgICByZXR1cm47CiAgICAgCi0gICAgcG9zdE5vdGlmaWNhdGlvbihvYmplY3QuZ2V0KCks
ICZub2RlLT5kb2N1bWVudCgpLCBub3RpZmljYXRpb24sIHBvc3RUb0VsZW1lbnQsIHBvc3RUeXBl
KTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKG9iamVjdC5nZXQoKSwgJm5vZGUtPmRvY3VtZW50KCks
IG5vdGlmaWNhdGlvbiwgcG9zdFRhcmdldCwgcG9zdFR5cGUpOwogfQogCi12b2lkIEFYT2JqZWN0
Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1
bWVudCogZG9jdW1lbnQsIEFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0VG9F
bGVtZW50LCBQb3N0VHlwZSBwb3N0VHlwZSkKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlm
aWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBkb2N1bWVudCwg
QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uLCBQb3N0VGFyZ2V0IHBvc3RUYXJnZXQsIFBvc3RU
eXBlIHBvc3RUeXBlKQogewogICAgIHN0b3BDYWNoaW5nQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVz
KCk7CiAKLSAgICBpZiAob2JqZWN0ICYmICFwb3N0VG9FbGVtZW50KQorICAgIGlmIChvYmplY3Qg
JiYgcG9zdFRhcmdldCA9PSBUYXJnZXRPYnNlcnZhYmxlUGFyZW50KQogICAgICAgICBvYmplY3Qg
PSBvYmplY3QtPm9ic2VydmFibGVPYmplY3QoKTsKIAogICAgIGlmICghb2JqZWN0ICYmIGRvY3Vt
ZW50KQpAQCAtNzM5LDIxICs3MzksMjEgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZp
Y2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCwgRG9jdW1lbnQqIGRvY3UKIAogdm9p
ZCBBWE9iamVjdENhY2hlOjpjaGVja2VkU3RhdGVDaGFuZ2VkKE5vZGUqIG5vZGUpCiB7Ci0gICAg
cG9zdE5vdGlmaWNhdGlvbihub2RlLCBBWE9iamVjdENhY2hlOjpBWENoZWNrZWRTdGF0ZUNoYW5n
ZWQsIHRydWUpOworICAgIHBvc3ROb3RpZmljYXRpb24obm9kZSwgQVhPYmplY3RDYWNoZTo6QVhD
aGVja2VkU3RhdGVDaGFuZ2VkKTsKIH0KIAogdm9pZCBBWE9iamVjdENhY2hlOjpzZWxlY3RlZENo
aWxkcmVuQ2hhbmdlZChOb2RlKiBub2RlKQogewotICAgIC8vIHBvc3RUb0VsZW1lbnQgaXMgZmFs
c2Ugc28gdGhhdCB5b3UgY2FuIHBhc3MgaW4gYW55IGNoaWxkIG9mIGFuIGVsZW1lbnQgYW5kIGl0
IHdpbGwgZ28gdXAgdGhlIHBhcmVudCB0cmVlCisgICAgLy8gcG9zdFRhcmdldCBpcyBUYXJnZXRP
YnNlcnZhYmxlUGFyZW50IHNvIHRoYXQgeW91IGNhbiBwYXNzIGluIGFueSBjaGlsZCBvZiBhbiBl
bGVtZW50IGFuZCBpdCB3aWxsIGdvIHVwIHRoZSBwYXJlbnQgdHJlZQogICAgIC8vIHRvIGZpbmQg
dGhlIGNvbnRhaW5lciB3aGljaCBzaG91bGQgc2VuZCBvdXQgdGhlIG5vdGlmaWNhdGlvbi4KLSAg
ICBwb3N0Tm90aWZpY2F0aW9uKG5vZGUsIEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsIGZhbHNl
KTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKG5vZGUsIEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQs
IFRhcmdldE9ic2VydmFibGVQYXJlbnQpOwogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OnNlbGVj
dGVkQ2hpbGRyZW5DaGFuZ2VkKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7Ci0gICAgLy8gcG9z
dFRvRWxlbWVudCBpcyBmYWxzZSBzbyB0aGF0IHlvdSBjYW4gcGFzcyBpbiBhbnkgY2hpbGQgb2Yg
YW4gZWxlbWVudCBhbmQgaXQgd2lsbCBnbyB1cCB0aGUgcGFyZW50IHRyZWUKKyAgICAvLyBwb3N0
VGFyZ2V0IGlzIFRhcmdldE9ic2VydmFibGVQYXJlbnQgc28gdGhhdCB5b3UgY2FuIHBhc3MgaW4g
YW55IGNoaWxkIG9mIGFuIGVsZW1lbnQgYW5kIGl0IHdpbGwgZ28gdXAgdGhlIHBhcmVudCB0cmVl
CiAgICAgLy8gdG8gZmluZCB0aGUgY29udGFpbmVyIHdoaWNoIHNob3VsZCBzZW5kIG91dCB0aGUg
bm90aWZpY2F0aW9uLgotICAgIHBvc3ROb3RpZmljYXRpb24ocmVuZGVyZXIsIEFYU2VsZWN0ZWRD
aGlsZHJlbkNoYW5nZWQsIGZhbHNlKTsKKyAgICBwb3N0Tm90aWZpY2F0aW9uKHJlbmRlcmVyLCBB
WFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLCBUYXJnZXRPYnNlcnZhYmxlUGFyZW50KTsKIH0KIAog
dm9pZCBBWE9iamVjdENhY2hlOjpub2RlVGV4dENoYW5nZU5vdGlmaWNhdGlvbihOb2RlKiBub2Rl
LCBBWFRleHRDaGFuZ2UgdGV4dENoYW5nZSwgdW5zaWduZWQgb2Zmc2V0LCBjb25zdCBTdHJpbmcm
IHRleHQpCkBAIC04MzEsNyArODMxLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBFbGVtZW4KICAgICBp
ZiAoYXR0ck5hbWUgPT0gYXJpYV9hY3RpdmVkZXNjZW5kYW50QXR0cikKICAgICAgICAgaGFuZGxl
QWN0aXZlRGVzY2VuZGFudENoYW5nZWQoZWxlbWVudCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUg
PT0gYXJpYV92YWx1ZW5vd0F0dHIgfHwgYXR0ck5hbWUgPT0gYXJpYV92YWx1ZXRleHRBdHRyKQot
ICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVD
aGFuZ2VkLCB0cnVlKTsKKyAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWE9iamVj
dENhY2hlOjpBWFZhbHVlQ2hhbmdlZCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9s
YWJlbEF0dHIgfHwgYXR0ck5hbWUgPT0gYXJpYV9sYWJlbGVkYnlBdHRyIHx8IGF0dHJOYW1lID09
IGFyaWFfbGFiZWxsZWRieUF0dHIpCiAgICAgICAgIHRleHRDaGFuZ2VkKGVsZW1lbnQpOwogICAg
IGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfY2hlY2tlZEF0dHIpCkBAIC04NDMsOSArODQzLDkg
QEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHJOYW1lLCBFbGVtZW4KICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlh
X2hpZGRlbkF0dHIpCiAgICAgICAgIGNoaWxkcmVuQ2hhbmdlZChlbGVtZW50LT5wYXJlbnROb2Rl
KCkpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfaW52YWxpZEF0dHIpCi0gICAgICAg
IHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhPYmplY3RDYWNoZTo6QVhJbnZhbGlkU3RhdHVz
Q2hhbmdlZCwgdHJ1ZSk7CisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhPYmpl
Y3RDYWNoZTo6QVhJbnZhbGlkU3RhdHVzQ2hhbmdlZCk7CiAgICAgZWxzZQotICAgICAgICBwb3N0
Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYT2JqZWN0Q2FjaGU6OkFYQXJpYUF0dHJpYnV0ZUNoYW5n
ZWQsIHRydWUpOworICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1lbnQsIEFYT2JqZWN0Q2Fj
aGU6OkFYQXJpYUF0dHJpYnV0ZUNoYW5nZWQpOwogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6Omxh
YmVsQ2hhbmdlZChFbGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCA4NzE2YTQxLi45YTMxZTYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtNzEsNiArNzEsOCBAQCBw
cml2YXRlOgogICAgIEhhc2hNYXA8QVhJRCwgQ2FjaGVkQVhPYmplY3RBdHRyaWJ1dGVzPiBtX2lk
TWFwcGluZzsKIH07CiAKK2VudW0gUG9zdFRhcmdldCB7IFRhcmdldEVsZW1lbnQsIFRhcmdldE9i
c2VydmFibGVQYXJlbnQgfTsKKwogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQ
b3N0QXN5bmNocm9ub3VzbHkgfTsKIAogY2xhc3MgQVhPYmplY3RDYWNoZSB7CkBAIC0xNzksOSAr
MTgxLDkgQEAgcHVibGljOgogICAgICAgICBBWEFyaWFBdHRyaWJ1dGVDaGFuZ2VkCiAgICAgfTsK
IAotICAgIHZvaWQgcG9zdE5vdGlmaWNhdGlvbihSZW5kZXJPYmplY3QqLCBBWE5vdGlmaWNhdGlv
biwgYm9vbCBwb3N0VG9FbGVtZW50LCBQb3N0VHlwZSA9IFBvc3RBc3luY2hyb25vdXNseSk7Ci0g
ICAgdm9pZCBwb3N0Tm90aWZpY2F0aW9uKE5vZGUqLCBBWE5vdGlmaWNhdGlvbiwgYm9vbCBwb3N0
VG9FbGVtZW50LCBQb3N0VHlwZSA9IFBvc3RBc3luY2hyb25vdXNseSk7Ci0gICAgdm9pZCBwb3N0
Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0
aW9uLCBib29sIHBvc3RUb0VsZW1lbnQsIFBvc3RUeXBlID0gUG9zdEFzeW5jaHJvbm91c2x5KTsK
KyAgICB2b2lkIHBvc3ROb3RpZmljYXRpb24oUmVuZGVyT2JqZWN0KiwgQVhOb3RpZmljYXRpb24s
IFBvc3RUYXJnZXQgPSBUYXJnZXRFbGVtZW50LCBQb3N0VHlwZSA9IFBvc3RBc3luY2hyb25vdXNs
eSk7CisgICAgdm9pZCBwb3N0Tm90aWZpY2F0aW9uKE5vZGUqLCBBWE5vdGlmaWNhdGlvbiwgUG9z
dFRhcmdldCA9IFRhcmdldEVsZW1lbnQsIFBvc3RUeXBlID0gUG9zdEFzeW5jaHJvbm91c2x5KTsK
KyAgICB2b2lkIHBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIERvY3VtZW50
KiwgQVhOb3RpZmljYXRpb24sIFBvc3RUYXJnZXQgPSBUYXJnZXRFbGVtZW50LCBQb3N0VHlwZSA9
IFBvc3RBc3luY2hyb25vdXNseSk7CiAKICAgICBlbnVtIEFYVGV4dENoYW5nZSB7CiAgICAgICAg
IEFYVGV4dEluc2VydGVkLApAQCAtMjk4LDkgKzMwMCw5IEBAIGlubGluZSB2b2lkIEFYT2JqZWN0
Q2FjaGU6OnJlY29tcHV0ZUlzSWdub3JlZChSZW5kZXJPYmplY3QqKSB7IH0KIGlubGluZSB2b2lk
IEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopIHsgfQog
aW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VOb3RpZmljYXRpb24oTm9k
ZSosIEFYVGV4dENoYW5nZSwgdW5zaWduZWQsIGNvbnN0IFN0cmluZyYpIHsgfQogaW5saW5lIHZv
aWQgQVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nl
c3NpYmlsaXR5T2JqZWN0KiwgQVhUZXh0Q2hhbmdlLCB1bnNpZ25lZCwgY29uc3QgU3RyaW5nJikg
eyB9Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKEFjY2Vzc2li
aWxpdHlPYmplY3QqLCBEb2N1bWVudCosIEFYTm90aWZpY2F0aW9uLCBib29sLCBQb3N0VHlwZSkg
eyB9Ci1pbmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKFJlbmRlck9i
amVjdCosIEFYTm90aWZpY2F0aW9uLCBib29sLCBQb3N0VHlwZSkgeyB9Ci1pbmxpbmUgdm9pZCBB
WE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKE5vZGUqLCBBWE5vdGlmaWNhdGlvbiwgYm9v
bCwgUG9zdFR5cGUpIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgRG9jdW1lbnQqLCBBWE5vdGlmaWNhdGlvbiwgUG9z
dFRhcmdldCwgUG9zdFR5cGUpIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5v
dGlmaWNhdGlvbihSZW5kZXJPYmplY3QqLCBBWE5vdGlmaWNhdGlvbiwgUG9zdFRhcmdldCwgUG9z
dFR5cGUpIHsgfQoraW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihO
b2RlKiwgQVhOb3RpZmljYXRpb24sIFBvc3RUYXJnZXQsIFBvc3RUeXBlKSB7IH0KIGlubGluZSB2
b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiwgQVhOb3RpZmljYXRpb24pIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6
cmVtb3ZlKEFYSUQpIHsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6cmVtb3ZlKFJlbmRl
ck9iamVjdCopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwCmluZGV4IGNiZDgyZGMuLmQwYzMwMzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlz
dC5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlNZW51TGlzdDo6ZGlk
VXBkYXRlQWN0aXZlT3B0aW9uKGludCBvcHRpb25JbmRleCkKICAgICAgICAgfQogICAgIH0KIAot
ICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKHRoaXMsIGRvY3VtZW50LmdldCgpLCBBWE9iamVj
dENhY2hlOjpBWE1lbnVMaXN0VmFsdWVDaGFuZ2VkLCB0cnVlLCBQb3N0U3luY2hyb25vdXNseSk7
CisgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9jdW1lbnQuZ2V0KCksIEFYT2Jq
ZWN0Q2FjaGU6OkFYTWVudUxpc3RWYWx1ZUNoYW5nZWQsIFRhcmdldEVsZW1lbnQsIFBvc3RTeW5j
aHJvbm91c2x5KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVw
LmNwcAppbmRleCA4OGJhZGQxLi44ZjEwMGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcApAQCAt
MTM3LDggKzEzNyw4IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXA6OmRpZFVwZGF0
ZUFjdGl2ZU9wdGlvbihpbnQgb3B0aW9uSW5kZXgpCiAgICAgQVhPYmplY3RDYWNoZSogY2FjaGUg
PSBheE9iamVjdENhY2hlKCk7CiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IGNoaWxk
ID0gbV9jaGlsZHJlbltvcHRpb25JbmRleF0uZ2V0KCk7CiAKLSAgICBjYWNoZS0+cG9zdE5vdGlm
aWNhdGlvbihjaGlsZC5nZXQoKSwgZG9jdW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZCwgdHJ1ZSwgUG9zdFN5bmNocm9ub3VzbHkpOwotICAgIGNhY2hlLT5w
b3N0Tm90aWZpY2F0aW9uKGNoaWxkLmdldCgpLCBkb2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpB
WE1lbnVMaXN0SXRlbVNlbGVjdGVkLCB0cnVlLCBQb3N0U3luY2hyb25vdXNseSk7CisgICAgY2Fj
aGUtPnBvc3ROb3RpZmljYXRpb24oY2hpbGQuZ2V0KCksIGRvY3VtZW50KCksIEFYT2JqZWN0Q2Fj
aGU6OkFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQsIFRhcmdldEVsZW1lbnQsIFBvc3RTeW5jaHJv
bm91c2x5KTsKKyAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihjaGlsZC5nZXQoKSwgZG9jdW1l
bnQoKSwgQVhPYmplY3RDYWNoZTo6QVhNZW51TGlzdEl0ZW1TZWxlY3RlZCwgVGFyZ2V0RWxlbWVu
dCwgUG9zdFN5bmNocm9ub3VzbHkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwCmluZGV4IGI4MTlmYWQuLmNkY2ZmZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC0x
MzEsNyArMTMxLDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2hpbGRyZW5DaGFu
Z2VkKCkKICAgICBpZiAoIW5vZGUoKSAmJiAhcmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHRoaXMsIGRvY3VtZW50KCks
IEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkLCB0cnVlKTsKKyAgICBheE9iamVjdENh
Y2hlKCktPnBvc3ROb3RpZmljYXRpb24odGhpcywgZG9jdW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6
QVhDaGlsZHJlbkNoYW5nZWQpOwogCiAgICAgLy8gR28gdXAgdGhlIGFjY2Vzc2liaWxpdHkgcGFy
ZW50IGNoYWluLCBidXQgb25seSBpZiB0aGUgZWxlbWVudCBhbHJlYWR5IGV4aXN0cy4gVGhpcyBt
ZXRob2QgaXMKICAgICAvLyBjYWxsZWQgZHVyaW5nIHJlbmRlciBsYXlvdXRzLCBtaW5pbWFsIHdv
cmsgc2hvdWxkIGJlIGRvbmUuIApAQCAtMTQ1LDExICsxNDUsMTEgQEAgdm9pZCBBY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdDo6Y2hpbGRyZW5DaGFuZ2VkKCkKIAogICAgICAgICAvLyBJZiB0aGlzIGVs
ZW1lbnQgc3VwcG9ydHMgQVJJQSBsaXZlIHJlZ2lvbnMsIHRoZW4gbm90aWZ5IHRoZSBBVCBvZiBj
aGFuZ2VzLgogICAgICAgICBpZiAocGFyZW50LT5zdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkpCi0g
ICAgICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocGFyZW50LCBwYXJl
bnQtPmRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQsIHRydWUp
OworICAgICAgICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHBhcmVudCwg
cGFyZW50LT5kb2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWExpdmVSZWdpb25DaGFuZ2VkKTsK
ICAgICAgICAgCiAgICAgICAgIC8vIElmIHRoaXMgZWxlbWVudCBpcyBhbiBBUklBIHRleHQgY29u
dHJvbCwgbm90aWZ5IHRoZSBBVCBvZiBjaGFuZ2VzLgogICAgICAgICBpZiAocGFyZW50LT5pc0FS
SUFUZXh0Q29udHJvbCgpICYmICFwYXJlbnQtPmlzTmF0aXZlVGV4dENvbnRyb2woKSAmJiAhcGFy
ZW50LT5ub2RlKCktPnJlbmRlcmVySXNFZGl0YWJsZSgpKQotICAgICAgICAgICAgYXhPYmplY3RD
YWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHBhcmVudCwgcGFyZW50LT5kb2N1bWVudCgpLCBBWE9i
amVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCwgdHJ1ZSk7CisgICAgICAgICAgICBheE9iamVjdENh
Y2hlKCktPnBvc3ROb3RpZmljYXRpb24ocGFyZW50LCBwYXJlbnQtPmRvY3VtZW50KCksIEFYT2Jq
ZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsKICAgICB9CiB9CiAKQEAgLTEwNTQsNyArMTA1NCw3
IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNoYW5nZVZhbHVlQnlTdGVwKGJvb2wg
aW5jcmVhc2UpCiAKICAgICBzZXRWYWx1ZShTdHJpbmc6Om51bWJlcih2YWx1ZSkpOwogCi0gICAg
YXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKG5vZGUoKSwgQVhPYmplY3RDYWNoZTo6
QVhWYWx1ZUNoYW5nZWQsIHRydWUpOworICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNh
dGlvbihub2RlKCksIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsKIH0KIAogdm9pZCBB
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2hhbmdlVmFsdWVCeVBlcmNlbnQoZmxvYXQgcGVyY2Vu
dENoYW5nZSkKQEAgLTEwNjUsNyArMTA2NSw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OmNoYW5nZVZhbHVlQnlQZXJjZW50KGZsb2F0IHBlcmNlbnRDaGFuZ2UpCiAgICAgdmFsdWUg
Kz0gcmFuZ2UgKiAocGVyY2VudENoYW5nZSAvIDEwMCk7CiAgICAgc2V0VmFsdWUoU3RyaW5nOjpu
dW1iZXIodmFsdWUpKTsKIAotICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihu
b2RlKCksIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkLCB0cnVlKTsKKyAgICBheE9iamVj
dENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24obm9kZSgpLCBBWE9iamVjdENhY2hlOjpBWFZhbHVl
Q2hhbmdlZCk7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzR2VuZXJpY0Zv
Y3VzYWJsZUVsZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggOTQzNGViYS4u
YjgwMGU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0yMjk4LDExICsyMjk4LDExIEBAIHZv
aWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aGFuZGxlQXJpYUV4cGFuZGVkQ2hhbmdlZCgp
CiAgICAgCiAgICAgLy8gUG9zdCB0aGF0IHRoZSByb3cgY291bnQgY2hhbmdlZC4KICAgICBpZiAo
Y29udGFpbmVyUGFyZW50KQotICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRp
b24oY29udGFpbmVyUGFyZW50LCBkb2N1bWVudCgpLCBBWE9iamVjdENhY2hlOjpBWFJvd0NvdW50
Q2hhbmdlZCwgdHJ1ZSk7CisgICAgICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlv
bihjb250YWluZXJQYXJlbnQsIGRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYUm93Q291bnRD
aGFuZ2VkKTsKIAogICAgIC8vIFBvc3QgdGhhdCB0aGUgc3BlY2lmaWMgcm93IGVpdGhlciBjb2xs
YXBzZWQgb3IgZXhwYW5kZWQuCiAgICAgaWYgKHJvbGVWYWx1ZSgpID09IFJvd1JvbGUgfHwgcm9s
ZVZhbHVlKCkgPT0gVHJlZUl0ZW1Sb2xlKQotICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3RO
b3RpZmljYXRpb24odGhpcywgZG9jdW1lbnQoKSwgaXNFeHBhbmRlZCgpID8gQVhPYmplY3RDYWNo
ZTo6QVhSb3dFeHBhbmRlZCA6IEFYT2JqZWN0Q2FjaGU6OkFYUm93Q29sbGFwc2VkLCB0cnVlKTsK
KyAgICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHRoaXMsIGRvY3VtZW50
KCksIGlzRXhwYW5kZWQoKSA/IEFYT2JqZWN0Q2FjaGU6OkFYUm93RXhwYW5kZWQgOiBBWE9iamVj
dENhY2hlOjpBWFJvd0NvbGxhcHNlZCk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6aGFuZGxlQWN0aXZlRGVzY2VuZGFudENoYW5nZWQoKQpAQCAtMjMxNSw3ICsyMzE1LDcg
QEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpoYW5kbGVBY3RpdmVEZXNjZW5kYW50
Q2hhbmdlZCgpCiAgICAgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCogYWN0aXZlZGVzY2VuZGFu
dCA9IHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QqPihhY3RpdmVEZXNjZW5k
YW50KCkpOwogICAgIAogICAgIGlmIChhY3RpdmVkZXNjZW5kYW50ICYmIHNob3VsZE5vdGlmeUFj
dGl2ZURlc2NlbmRhbnQoKSkKLSAgICAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS5heE9iamVj
dENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24obV9yZW5kZXJlciwgQVhPYmplY3RDYWNoZTo6QVhB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCwgdHJ1ZSk7CisgICAgICAgIHJlbmRlcmVyKCktPmRvY3Vt
ZW50KCkuYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKG1fcmVuZGVyZXIsIEFYT2Jq
ZWN0Q2FjaGU6OkFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQpOwogfQogCiBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpjb3JyZXNwb25kaW5nQ29udHJvbEZv
ckxhYmVsRWxlbWVudCgpIGNvbnN0CkBAIC0yNzA4LDEwICsyNzA4LDEwIEBAIHZvaWQgQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6dGV4dENoYW5nZWQoKQogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIAogICAgICAgICBpZiAocGFyZW50LT5zdXBwb3J0c0FSSUFMaXZlUmVnaW9uKCkp
Ci0gICAgICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihyZW5kZXJQYXJlbnQsIEFYT2Jq
ZWN0Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQsIHRydWUpOworICAgICAgICAgICAgY2FjaGUt
PnBvc3ROb3RpZmljYXRpb24ocmVuZGVyUGFyZW50LCBBWE9iamVjdENhY2hlOjpBWExpdmVSZWdp
b25DaGFuZ2VkKTsKIAogICAgICAgICBpZiAocGFyZW50LT5pc0FSSUFUZXh0Q29udHJvbCgpICYm
ICFwYXJlbnQtPmlzTmF0aXZlVGV4dENvbnRyb2woKSAmJiAhcGFyZW50LT5ub2RlKCktPnJlbmRl
cmVySXNFZGl0YWJsZSgpKQotICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24ocmVu
ZGVyUGFyZW50LCBBWE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZCwgdHJ1ZSk7CisgICAgICAg
ICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihyZW5kZXJQYXJlbnQsIEFYT2JqZWN0Q2FjaGU6
OkFYVmFsdWVDaGFuZ2VkKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGI2ZTc4MWQuLjY0Zjk0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjQ5MiwxMSAr
MjQ5MiwxMSBAQCB2b2lkIERvY3VtZW50OjppbXBsaWNpdENsb3NlKCkKICAgICAgICAgLy8gb25s
eSBzYWZlIHRvIGNhbGwgd2hlbiBhIGxheW91dCBpcyBub3QgaW4gcHJvZ3Jlc3MsIHNvIGl0IGNh
biBub3QgYmUgdXNlZCBpbiBwb3N0Tm90aWZpY2F0aW9uLiAgICAKICAgICAgICAgYXhPYmplY3RD
YWNoZSgpLT5nZXRPckNyZWF0ZShyZW5kZXJWaWV3KCkpOwogICAgICAgICBpZiAodGhpcyA9PSB0
b3BEb2N1bWVudCgpKQotICAgICAgICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0
aW9uKHJlbmRlclZpZXcoKSwgQVhPYmplY3RDYWNoZTo6QVhMb2FkQ29tcGxldGUsIHRydWUpOwor
ICAgICAgICAgICAgYXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKHJlbmRlclZpZXco
KSwgQVhPYmplY3RDYWNoZTo6QVhMb2FkQ29tcGxldGUpOwogICAgICAgICBlbHNlIHsKICAgICAg
ICAgICAgIC8vIEFYTG9hZENvbXBsZXRlIGNhbiBvbmx5IGJlIHBvc3RlZCBvbiB0aGUgdG9wIGRv
Y3VtZW50LCBzbyBpZiBpdCdzIGEgZG9jdW1lbnQKICAgICAgICAgICAgIC8vIGluIGFuIGlmcmFt
ZSB0aGF0IGp1c3QgZmluaXNoZWQgbG9hZGluZywgcG9zdCBBWExheW91dENvbXBsZXRlIGluc3Rl
YWQuCi0gICAgICAgICAgICBheE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocmVuZGVy
VmlldygpLCBBWE9iamVjdENhY2hlOjpBWExheW91dENvbXBsZXRlLCB0cnVlKTsKKyAgICAgICAg
ICAgIGF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbihyZW5kZXJWaWV3KCksIEFYT2Jq
ZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGUpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggOTlhNTdhMC4uODUzY2U0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtNTU3LDcgKzU1Nyw3IEBAIHZvaWQgRWRpdG9yOjpyZXNw
b25kVG9DaGFuZ2VkQ29udGVudHMoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgZW5kaW5nU2VsZWN0
aW9uKQogICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAg
ICAgICAgIE5vZGUqIG5vZGUgPSBlbmRpbmdTZWxlY3Rpb24uc3RhcnQoKS5kZXByZWNhdGVkTm9k
ZSgpOwogICAgICAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBtX2ZyYW1lLmRvY3VtZW50
KCktPmV4aXN0aW5nQVhPYmplY3RDYWNoZSgpKQotICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3Rp
ZmljYXRpb24obm9kZSwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQsIGZhbHNlKTsKKyAg
ICAgICAgICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKG5vZGUsIEFYT2JqZWN0Q2FjaGU6OkFY
VmFsdWVDaGFuZ2VkLCBUYXJnZXRPYnNlcnZhYmxlUGFyZW50KTsKICAgICB9CiAKICAgICB1cGRh
dGVNYXJrZXJzRm9yV29yZHNBZmZlY3RlZEJ5RWRpdGluZyh0cnVlKTsKQEAgLTIzNDMsNyArMjM0
Myw3IEBAIHZvaWQgRWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihQYXNzUmVmUHRyPFNwZWxsQ2hl
Y2tSZXF1ZXN0PiByZXF1ZXN0LCBjb25zdCBWZWN0CiAKICAgICAgICAgICAgICAgICBpZiAoQVhP
YmplY3RDYWNoZSogY2FjaGUgPSBtX2ZyYW1lLmRvY3VtZW50KCktPmV4aXN0aW5nQVhPYmplY3RD
YWNoZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChFbGVtZW50KiByb290ID0gbV9mcmFt
ZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5yb290RWRpdGFibGVFbGVtZW50KCkpCi0gICAgICAg
ICAgICAgICAgICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihyb290LCBBWE9iamVjdENh
Y2hlOjpBWEF1dG9jb3JyZWN0aW9uT2NjdXJlZCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbihyb290LCBBWE9iamVjdENhY2hlOjpBWEF1dG9j
b3JyZWN0aW9uT2NjdXJlZCk7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAg
Ly8gU2tpcCBhbGwgb3RoZXIgcmVzdWx0cyBmb3IgdGhlIHJlcGxhY2VkIHRleHQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0ZyYW1lU2VsZWN0aW9uTWFjLm1tCmluZGV4IGFmN2U4
ZTMuLmM2MjFiMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0ZyYW1l
U2VsZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0ZyYW1lU2Vs
ZWN0aW9uTWFjLm1tCkBAIC01MSw3ICs1MSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlm
eUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoKQogCiAgICAgaWYgKG1fc2VsZWN0aW9u
LnN0YXJ0KCkuaXNOb3ROdWxsKCkgJiYgbV9zZWxlY3Rpb24uZW5kKCkuaXNOb3ROdWxsKCkpIHsK
ICAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gZG9jdW1lbnQtPmV4aXN0aW5nQVhP
YmplY3RDYWNoZSgpKQotICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24obV9zZWxl
Y3Rpb24uc3RhcnQoKS5kZXByZWNhdGVkTm9kZSgpLT5yZW5kZXJlcigpLCBBWE9iamVjdENhY2hl
OjpBWFNlbGVjdGVkVGV4dENoYW5nZWQsIGZhbHNlKTsKKyAgICAgICAgICAgIGNhY2hlLT5wb3N0
Tm90aWZpY2F0aW9uKG1fc2VsZWN0aW9uLnN0YXJ0KCkuZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVy
ZXIoKSwgQVhPYmplY3RDYWNoZTo6QVhTZWxlY3RlZFRleHRDaGFuZ2VkLCBUYXJnZXRPYnNlcnZh
YmxlUGFyZW50KTsKICAgICB9CiAKICAgICAvLyBpZiB6b29tIGZlYXR1cmUgaXMgZW5hYmxlZCwg
aW5zZXJ0aW9uIHBvaW50IGNoYW5nZXMgc2hvdWxkIHVwZGF0ZSB0aGUgem9vbQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBh
ZWNhYjljLi4xMTMwMDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNTA1LDcgKzUwNSw3IEBAIHZvaWQgSFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ6OnNldElubmVyVGV4dFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUp
CiAgICAgaWYgKHRleHRJc0NoYW5nZWQgfHwgIWlubmVyVGV4dEVsZW1lbnQoKS0+aGFzQ2hpbGRO
b2RlcygpKSB7CiAgICAgICAgIGlmICh0ZXh0SXNDaGFuZ2VkICYmIHJlbmRlcmVyKCkpIHsKICAg
ICAgICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IGRvY3VtZW50KCkuZXhpc3RpbmdB
WE9iamVjdENhY2hlKCkpCi0gICAgICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24o
dGhpcywgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQsIGZhbHNlKTsKKyAgICAgICAgICAg
ICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbih0aGlzLCBBWE9iamVjdENhY2hlOjpBWFZhbHVl
Q2hhbmdlZCwgVGFyZ2V0T2JzZXJ2YWJsZVBhcmVudCk7CiAgICAgICAgIH0KICAgICAgICAgaW5u
ZXJUZXh0RWxlbWVudCgpLT5zZXRJbm5lclRleHQodmFsdWUsIEFTU0VSVF9OT19FWENFUFRJT04p
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggMmE2ZmYzOS4uN2E4MjlkNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMTAwNCw3ICsxMDA0LDcgQEAgdm9pZCBJbnB1
dFR5cGU6OmFwcGx5U3RlcChpbnQgY291bnQsIEFueVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxp
bmcsIFRleHRGaWVsZEUKICAgICBzZXRWYWx1ZUFzRGVjaW1hbChuZXdWYWx1ZSwgZXZlbnRCZWhh
dmlvciwgZWMpOwogCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gZWxlbWVudCgpLmRv
Y3VtZW50KCkuZXhpc3RpbmdBWE9iamVjdENhY2hlKCkpCi0gICAgICAgIGNhY2hlLT5wb3N0Tm90
aWZpY2F0aW9uKCZlbGVtZW50KCksIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkLCB0cnVl
KTsKKyAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24oJmVsZW1lbnQoKSwgQVhPYmplY3RD
YWNoZTo6QVhWYWx1ZUNoYW5nZWQpOwogfQogCiBib29sIElucHV0VHlwZTo6Z2V0QWxsb3dlZFZh
bHVlU3RlcChEZWNpbWFsKiBzdGVwKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9SYW5nZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRU
eXBlLmNwcAppbmRleCAyZTBiZGYxLi4zMjBjNThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Jhbmdl
SW5wdXRUeXBlLmNwcApAQCAtMjQ1LDcgKzI0NSw3IEBAIHZvaWQgUmFuZ2VJbnB1dFR5cGU6Omhh
bmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICAgICAgc2V0VmFsdWVB
c0RlY2ltYWwobmV3VmFsdWUsIGV2ZW50QmVoYXZpb3IsIElHTk9SRV9FWENFUFRJT04pOwogCiAg
ICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IGVsZW1lbnQoKS5kb2N1bWVudCgpLmV4
aXN0aW5nQVhPYmplY3RDYWNoZSgpKQotICAgICAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRp
b24oJmVsZW1lbnQoKSwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQsIHRydWUpOworICAg
ICAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24oJmVsZW1lbnQoKSwgQVhPYmplY3RDYWNo
ZTo6QVhWYWx1ZUNoYW5nZWQpOwogICAgICAgICBlbGVtZW50KCkuZGlzcGF0Y2hGb3JtQ29udHJv
bENoYW5nZUV2ZW50KCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxl
ci5jcHAKaW5kZXggM2M1MzE4YS4uMmZhMzUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmNwcApAQCAtMjUyLDcgKzI1Miw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVyOjpz
ZXRJbml0aWFsRm9jdXMoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uLCBLZXlib2FyZEV2ZW50KiBl
CiAgICAgLy8gaW50byB0aGUgd2ViIGFyZWEgYWdhaW4sIGV2ZW4gaWYgZm9jdXMgZGlkIG5vdCBj
aGFuZ2Ugd2l0aGluIFdlYkNvcmUuIFBvc3ROb3RpZmljYXRpb24gaXMgY2FsbGVkIGluc3RlYWQK
ICAgICAvLyBvZiBoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCwgYmVjYXVzZSB0aGlzIHdp
bGwgc2VuZCB0aGUgbm90aWZpY2F0aW9uIGV2ZW4gaWYgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUu
CiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gZm9jdXNlZE9yTWFpbkZyYW1lKCkuZG9j
dW1lbnQoKS0+ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkpCi0gICAgICAgIGNhY2hlLT5wb3N0Tm90
aWZpY2F0aW9uKGZvY3VzZWRPck1haW5GcmFtZSgpLmRvY3VtZW50KCksIEFYT2JqZWN0Q2FjaGU6
OkFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQsIHRydWUpOworICAgICAgICBjYWNoZS0+cG9zdE5v
dGlmaWNhdGlvbihmb2N1c2VkT3JNYWluRnJhbWUoKS5kb2N1bWVudCgpLCBBWE9iamVjdENhY2hl
OjpBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKTsKIAogICAgIHJldHVybiBkaWRBZHZhbmNlRm9j
dXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODc2NWEwMC4uMDIzMDBlMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTMyNyw3ICsxMzI3LDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKIAogI2lmIFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUq
IGNhY2hlID0gcm9vdC0+ZG9jdW1lbnQoKS5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKLSAgICAg
ICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24ocm9vdCwgQVhPYmplY3RDYWNoZTo6QVhMYXlvdXRD
b21wbGV0ZSwgdHJ1ZSk7CisgICAgICAgIGNhY2hlLT5wb3N0Tm90aWZpY2F0aW9uKHJvb3QsIEFY
T2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGUpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoREFT
SEJPQVJEX1NVUFBPUlQpIHx8IEVOQUJMRShEUkFHR0FCTEVfUkVHSU9OKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDdkNmZkMGIuLmYzZGVmNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxMy0wOS0y
MyAgU2FtdWVsIFdoaXRlICA8c2FtdWVsX3doaXRlQGFwcGxlLmNvbT4KKworICAgICAgICBBWDog
UmVwbGFjZSBBWE9iamVjdENhY2hlIHBvc3ROb3RpZmljYXRpb24gbWV0aG9kIGJvb2xlYW4gYXJn
dW1lbnRzIHdpdGggZW51bSB2YWx1ZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjE1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGZ1bmN0aW9uYWwgY2hhbmdlcy4gQ2hh
bmdlZCBhcmd1bWVudCB0eXBlIGZyb20gYm9vbAorICAgICAgICB0byBlbnVtIHBlciAiTmFtZXMi
IHJ1bGUgIzEwIGluIHRoZSBXZWJLaXQgY29kaW5nIHN0eWxlIGd1aWRlbGluZXMuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6dGV4dENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6cG9zdE5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjpjaGVja2VkU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OnNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OmhhbmRsZUF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5oOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlm
aWNhdGlvbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU1lbnVMaXN0OjpkaWRVcGRhdGVB
Y3RpdmVPcHRpb24pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVM
aXN0UG9wdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9w
dXA6OmRpZFVwZGF0ZUFjdGl2ZU9wdGlvbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdDo6Y2hpbGRyZW5DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0OjpjaGFuZ2VWYWx1ZUJ5U3RlcCk6CisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6Y2hhbmdlVmFsdWVCeVBlcmNlbnQpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpoYW5kbGVBcmlhRXhwYW5kZWRDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmhhbmRs
ZUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OnRleHRDaGFuZ2VkKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UpOgorICAgICAgICAq
IGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZENvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6bWFya0FuZFJlcGxh
Y2VGb3IpOgorICAgICAgICAqIGVkaXRpbmcvbWFjL0ZyYW1lU2VsZWN0aW9uTWFjLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxl
Y3Rpb25DaGFuZ2UpOgorICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnNldElu
bmVyVGV4dFZhbHVlKToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnB1dFR5cGU6OmFwcGx5U3RlcCk6CisgICAgICAgICogaHRtbC9SYW5nZUlucHV0
VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93
bkV2ZW50KToKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNldEluaXRpYWxGb2N1cyk6CisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgor
CiAyMDEzLTA5LTIzICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBEb2N1bWVudDo6ZGVzdHJveVJlbmRlclRyZWUoKSBzaG91bGRuJ3QgZG8gYW55dGhpbmcgYnV0
Lgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>