<?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>213530</bug_id>
          
          <creation_ts>2020-06-23 14:02:15 -0700</creation_ts>
          <short_desc>[iOS] Open element actions sometimes result in a hover instead of a click</short_desc>
          <delta_ts>2020-06-24 13:52:34 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1665533</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-23 14:02:15 -0700</bug_when>
    <thetext>[iOS] Open element actions sometimes result in a hover instead of a click</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665535</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-23 14:02:48 -0700</bug_when>
    <thetext>rdar://problem/64176707</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665553</commentid>
    <comment_count>2</comment_count>
      <attachid>402595</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-23 14:55:19 -0700</bug_when>
    <thetext>Created attachment 402595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665830</commentid>
    <comment_count>3</comment_count>
      <attachid>402595</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-24 12:48:05 -0700</bug_when>
    <thetext>Comment on attachment 402595
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:815
&gt; +    auto delegate = _delegate.getAutoreleased();

Why autoreleased? Autoreleased has unwanted performance cost. We need it when the result is being used as a non-smart-pointer return value, and not in any other cases I can think of.

Let&apos;s use RetainPtr here, not autorelease. Just &quot;auto delegate = _delegate.get()&quot;. This is analogous to what would be generated if we were using ARC, in fact.

At some point, most calls to getAutoreleased elsewhere should also be replaced with calls to get, with some minor refactoring possibly needed to work with RetainPtr rather than a raw pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665839</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-24 13:05:16 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 402595 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=402595&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:815
&gt; &gt; +    auto delegate = _delegate.getAutoreleased();
&gt; 
&gt; Let&apos;s use RetainPtr here, not autorelease.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665841</commentid>
    <comment_count>5</comment_count>
      <attachid>402675</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2020-06-24 13:11:54 -0700</bug_when>
    <thetext>Created attachment 402675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665857</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-24 13:52:34 -0700</bug_when>
    <thetext>Committed r263472: &lt;https://trac.webkit.org/changeset/263472&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402675.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402595</attachid>
            <date>2020-06-23 14:55:19 -0700</date>
            <delta_ts>2020-06-24 13:11:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213530-20200623145518.patch</filename>
            <type>text/plain</type>
            <size>34947</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkOWRiMjRjNmNhMzA3YjI5
M2QxY2I2OTc4NzM5MDg1ZDAzMjdmNWYuLjlkMTdiZDI5MjE5YzNlYzgyZjE0OTRkMzhmZjhjM2U5
MDNlZDk2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjQgQEAKKzIwMjAtMDYtMjMgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE9wZW4gZWxlbWVudCBhY3Rp
b25zIHNvbWV0aW1lcyByZXN1bHQgaW4gYSBob3ZlciBpbnN0ZWFkIG9mIGEgY2xpY2sKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzUzMAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjQxNzY3MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgX1dLRWxlbWVudEFjdGlvbiBpbXBsZW1lbnRzIGEgc3RhbmRh
cmQgYWN0aW9uIGhhbmRsZXIgZm9yIF9XS0VsZW1lbnRBY3Rpb25UeXBlT3BlbiB0aGF0CisgICAg
ICAgIGF0dGVtcHRzIGEgc3ludGhldGljIGNsaWNrIGF0IHRoZSBpbnRlcmFjdGlvbiBsb2NhdGlv
biwgZXhwZWN0aW5nIHRoaXMgY2xpY2sgdG8gc3RhcnQgYQorICAgICAgICBuYXZpZ2F0aW9uIHRv
IHRoZSBpbnRlcmFjdGlvbiBub2RlJ3MgdGFyZ2V0IFVSTC4gU3ludGhldGljIGNsaWNrcyBhcmUg
c3ViamVjdCB0byBjb250ZW50CisgICAgICAgIGNoYW5nZSBvYnNlcnZpbmcsIGhvd2V2ZXIsIGFu
ZCBpZiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIgZGV0ZWN0cyBhIG1lYW5pbmdmdWwgdmlzaWJsZSBj
aGFuZ2UKKyAgICAgICAgYWZ0ZXIgZGlzcGF0Y2hpbmcgYSBtb3VzZW1vdmUgZXZlbnQgYXQgdGhl
IGludGVyYWN0aW9uIGxvY2F0aW9uIHRoZW4gV2ViUGFnZSB3aWxsIHJlZnJhaW4KKyAgICAgICAg
ZnJvbSBkaXNwYXRjaGluZyB0aGUgbW91c2Vkb3duIGFuZCBtb3VzZXVwIGV2ZW50cyB0aGF0IHdv
dWxkIGhhdmUgc3RhcnRlZCBhIG5hdmlnYXRpb24uCisKKyAgICAgICAgV2hpbGUgdGhpcyBiZWhh
dmlvciBpcyBuZWNlc3NhcnkgdG8gc3VwcG9ydCBob3ZlciBtZW51cywgaXQgZG9lc24ndCBtYWtl
IHNlbnNlIHdoZW4gdGhlIHVzZXIKKyAgICAgICAgaXMgaW50ZXJhY3Rpbmcgd2l0aCBhIGNvbnRl
eHQgbWVudS4gU2luY2UgdGhlIHN5c3RlbSBtaWdodCBkaXNwbGF5IGEgcHJldmlldyBvZiB0aGUg
dGFyZ2V0CisgICAgICAgIFVSTCBmb3VuZCBhdCB0aGUgaW50ZXJhY3Rpb24gbG9jYXRpb24sIHVz
ZXJzIGV4cGVjdCB0aGUgIk9wZW4iIGFjdGlvbiB0byBuYXZpZ2F0ZSB0byB0aGF0CisgICAgICAg
IHNhbWUgVVJMIHJhdGhlciB0aGFuIG1lcmVseSBkaXNwbGF5IGEgaG92ZXIgbWVudS4KKworICAg
ICAgICBUaGlzIGNoYW5nZSBvcHRzIHN5bnRoZXRpYyBjbGlja3MgZnJvbSB0aGUgb3BlbiBhY3Rp
b24gb3V0IG9mIGNvbnRlbnQgY2hhbmdlIG9ic2VydmluZyBieQorICAgICAgICBlbnN1cmluZyB0
aGF0IGFuIGludGVyYWN0aW9uIGlzIHN0YXJ0ZWQgd2hlbiBoYW5kbGluZyBfV0tFbGVtZW50QWN0
aW9uVHlwZU9wZW4gKGxpa2Ugd2UgZG8KKyAgICAgICAgZm9yICJDb3B5IiBhbmQgIlNhdmUgSW1h
Z2UiKSwgdGhlbiBjaGVja2luZyBpZiBXZWJQYWdlOjptX2ludGVyYWN0aW9uTm9kZSBtYXRjaGVz
IHRoZSBub2RlCisgICAgICAgIGZvdW5kIGluIFdlYlBhZ2U6OmF0dGVtcHRTeW50aGV0aWNDbGlj
ay4gSWYgaXQgZG9lcywgV2ViUGFnZSBub3cgYnlwYXNzZXMgY29udGVudCBjaGFuZ2UKKyAgICAg
ICAgb2JzZXJ2aW5nIGFuZCBjb21wbGV0ZXMgYSBzeW50aGV0aWMgY2xpY2suCisKKyAgICAgICAg
TmV3IEFQSSB0ZXN0OiBFbGVtZW50QWN0aW9uVGVzdHMuT3BlbkxpbmtXaXRoSG92ZXJNZW51CisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW06CisgICAg
ICAgICgrW19XS0VsZW1lbnRBY3Rpb24gX2VsZW1lbnRBY3Rpb25XaXRoVHlwZTpjdXN0b21UaXRs
ZTphc3Npc3RhbnQ6XSk6IENoYW5nZWQgdG8gY2FsbAorICAgICAgICAtW1dLQWN0aW9uU2hlZXRB
c3Npc3RhbnQgaGFuZGxlRWxlbWVudEFjdGlvbldpdGhUeXBlOmVsZW1lbnQ6bmVlZHNJbnRlcmFj
dGlvbjpdIGluIHRoZQorICAgICAgICBoYW5kbGVycyBmb3IgX1dLRWxlbWVudEFjdGlvblR5cGVD
b3B5LCBfV0tFbGVtZW50QWN0aW9uVHlwZU9wZW4sCisgICAgICAgIF9XS0VsZW1lbnRBY3Rpb25U
eXBlU2F2ZUltYWdlLCBhbmQgX1dLRWxlbWVudEFjdGlvblR5cGVTaGFyZS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbToKKyAgICAgICAgKC1bV0tBY3Rpb25T
aGVldEFzc2lzdGFudCBoYW5kbGVFbGVtZW50QWN0aW9uV2l0aFR5cGU6ZWxlbWVudDpuZWVkc0lu
dGVyYWN0aW9uOl0pOiBBZGRlZCB0bworICAgICAgICBoYW5kbGUgdGhlIHN1YnNldCBvZiBzdGFu
ZGFyZCBlbGVtZW50IGFjdGlvbnMgdGhhdCBmbG93IHRocm91Z2gKKyAgICAgICAgV0tBY3Rpb25T
aGVldEFzc2lzdGFudERlbGVnYXRlLiBVc2VkIGEgYm9vbGVhbiBwYXJhbWV0ZXIgdG8gZGVjaWRl
IHdoZXRoZXIgdGhlIGRlbGVnYXRlCisgICAgICAgIHNob3VsZCBzdGFydCBhbmQgc3RvcCBhbiBp
bnRlcmFjdGlvbiB3aGVuIGhhbmRsaW5nIHRoZSBhY3Rpb24uCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IF9oaWdobGlnaHRMb25nUHJlc3NSZWNvZ25pemVkOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IGFjdGlvblNoZWV0QXNzaXN0YW50Om9wZW5FbGVtZW50QXRMb2NhdGlvbjpdKTogUmVuYW1l
ZAorICAgICAgICAtX2F0dGVtcHRDbGlja0F0TG9jYXRpb246bW9kaWZpZXJGbGFnczogdG8gLV9h
dHRlbXB0U3ludGhldGljQ2xpY2tBdExvY2F0aW9uOm1vZGlmaWVyRmxhZ3M6LgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IF9hdHRlbXB0U3ludGhldGljQ2xpY2tBdExvY2F0aW9uOm1vZGlmaWVy
RmxhZ3M6XSk6IENoYW5nZWQgdG8gY2FsbAorICAgICAgICBXZWJQYWdlUHJveHk6OmF0dGVtcHRT
eW50aGV0aWNDbGljayBpbnN0ZWFkIG9mIFdlYlBhZ2VQcm94eTo6aGFuZGxlVGFwLgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9zaW11bGF0ZUVsZW1lbnRBY3Rpb246YXRMb2NhdGlvbjpdKTog
U2V0CisgICAgICAgIF9sYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0SW50ZXJhY3Rpb25TdGFy
dCB0byBiZXR0ZXIgc2ltdWxhdGUgY29udGV4dCBtZW51IGludGVyYWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjphdHRlbXB0
U3ludGhldGljQ2xpY2spOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjphdHRlbXB0U3ludGhldGljQ2xpY2spOiBSZW5hbWVkIGhhbmRsZVRhcCB0
byBhdHRlbXB0U3ludGhldGljQ2xpY2suIElmIHRoZQorICAgICAgICBub2RlIHJlc3BvbmRpbmcg
dG8gY2xpY2tzIG1hdGNoZXMgdGhlIG5vZGUgZm91bmQgb24gaW50ZXJhY3Rpb24gc3RhcnQgKG1f
aW50ZXJhY3Rpb25Ob2RlKSwKKyAgICAgICAgY2FsbCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrIGRpcmVjdGx5LgorCiAyMDIwLTA2LTIyICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFdlYktpdCBmYWlscyB0byBsZWF2ZSBhdWRpbyByb3V0aW5n
IGFyYml0cmF0aW9uIGR1cmluZyBuYXZpZ2F0aW9uLCBjbG9zaW5nLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbQppbmRleCAz
MWVjODIxYzliN2ZkMTcyYmUzMDAxMTA2MDQ3ZTA0MzQwNWMxMmQyLi42ZGE1NzYwZDMzNGNmYzMz
NTAzMTA4MjYyNWRiNmYzNGE0YWE1ZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbQpAQCAtMTI3LDI3ICsxMjcsMTkg
QEAgKyAoaW5zdGFuY2V0eXBlKV9lbGVtZW50QWN0aW9uV2l0aFR5cGU6KF9XS0VsZW1lbnRBY3Rp
b25UeXBlKXR5cGUgY3VzdG9tVGl0bGU6KE4KICAgICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBl
Q29weToKICAgICAgICAgdGl0bGUgPSBXRUJfVUlfU1RSSU5HX0tFWSgiQ29weSIsICJDb3B5IChB
Y3Rpb25TaGVldCkiLCAiVGl0bGUgZm9yIENvcHkgTGluayBvciBJbWFnZSBhY3Rpb24gYnV0dG9u
Iik7CiAgICAgICAgIGhhbmRsZXIgPSBeKFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKmFzc2lzdGFu
dCwgX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKmFjdGlvbkluZm8pIHsKLSAgICAgICAgICAgIGlm
IChbYXNzaXN0YW50LmRlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYWN0aW9u
U2hlZXRBc3Npc3RhbnQ6d2lsbFN0YXJ0SW50ZXJhY3Rpb25XaXRoRWxlbWVudDopXSkKLSAgICAg
ICAgICAgICAgICBbYXNzaXN0YW50LmRlbGVnYXRlIGFjdGlvblNoZWV0QXNzaXN0YW50OmFzc2lz
dGFudCB3aWxsU3RhcnRJbnRlcmFjdGlvbldpdGhFbGVtZW50OmFjdGlvbkluZm9dOwotICAgICAg
ICAgICAgW2Fzc2lzdGFudC5kZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDphc3Npc3RhbnQg
cGVyZm9ybUFjdGlvbjpXZWJLaXQ6OlNoZWV0QWN0aW9uOjpDb3B5XTsKLSAgICAgICAgICAgIGlm
IChbYXNzaXN0YW50LmRlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYWN0aW9u
U2hlZXRBc3Npc3RhbnREaWRTdG9wSW50ZXJhY3Rpb246KV0pCi0gICAgICAgICAgICAgICAgW2Fz
c2lzdGFudC5kZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudERpZFN0b3BJbnRlcmFjdGlvbjph
c3Npc3RhbnRdOworICAgICAgICAgICAgW2Fzc2lzdGFudCBoYW5kbGVFbGVtZW50QWN0aW9uV2l0
aFR5cGU6dHlwZSBlbGVtZW50OmFjdGlvbkluZm8gbmVlZHNJbnRlcmFjdGlvbjpZRVNdOwogICAg
ICAgICB9OwogICAgICAgICBicmVhazsKICAgICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBlT3Bl
bjoKICAgICAgICAgdGl0bGUgPSBXRUJfVUlfU1RSSU5HKCJPcGVuIiwgIlRpdGxlIGZvciBPcGVu
IExpbmsgYWN0aW9uIGJ1dHRvbiIpOwogICAgICAgICBoYW5kbGVyID0gXihXS0FjdGlvblNoZWV0
QXNzaXN0YW50ICphc3Npc3RhbnQsIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICphY3Rpb25JbmZv
KSB7Ci0gICAgICAgICAgICBbYXNzaXN0YW50LmRlbGVnYXRlIGFjdGlvblNoZWV0QXNzaXN0YW50
OmFzc2lzdGFudCBvcGVuRWxlbWVudEF0TG9jYXRpb246YWN0aW9uSW5mby5faW50ZXJhY3Rpb25M
b2NhdGlvbl07CisgICAgICAgICAgICBbYXNzaXN0YW50IGhhbmRsZUVsZW1lbnRBY3Rpb25XaXRo
VHlwZTp0eXBlIGVsZW1lbnQ6YWN0aW9uSW5mbyBuZWVkc0ludGVyYWN0aW9uOllFU107CiAgICAg
ICAgIH07CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgX1dLRWxlbWVudEFjdGlvblR5cGVTYXZl
SW1hZ2U6CiAgICAgICAgIHRpdGxlID0gV0VCX1VJX1NUUklORygiQWRkIHRvIFBob3RvcyIsICJU
aXRsZSBmb3IgQWRkIHRvIFBob3RvcyBhY3Rpb24gYnV0dG9uIik7CiAgICAgICAgIGhhbmRsZXIg
PSBeKFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKmFzc2lzdGFudCwgX1dLQWN0aXZhdGVkRWxlbWVu
dEluZm8gKmFjdGlvbkluZm8pIHsKLSAgICAgICAgICAgIGlmIChbYXNzaXN0YW50LmRlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYWN0aW9uU2hlZXRBc3Npc3RhbnQ6d2lsbFN0
YXJ0SW50ZXJhY3Rpb25XaXRoRWxlbWVudDopXSkKLSAgICAgICAgICAgICAgICBbYXNzaXN0YW50
LmRlbGVnYXRlIGFjdGlvblNoZWV0QXNzaXN0YW50OmFzc2lzdGFudCB3aWxsU3RhcnRJbnRlcmFj
dGlvbldpdGhFbGVtZW50OmFjdGlvbkluZm9dOwotICAgICAgICAgICAgW2Fzc2lzdGFudC5kZWxl
Z2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDphc3Npc3RhbnQgcGVyZm9ybUFjdGlvbjpXZWJLaXQ6
OlNoZWV0QWN0aW9uOjpTYXZlSW1hZ2VdOwotICAgICAgICAgICAgaWYgKFthc3Npc3RhbnQuZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudERp
ZFN0b3BJbnRlcmFjdGlvbjopXSkKLSAgICAgICAgICAgICAgICBbYXNzaXN0YW50LmRlbGVnYXRl
IGFjdGlvblNoZWV0QXNzaXN0YW50RGlkU3RvcEludGVyYWN0aW9uOmFzc2lzdGFudF07CisgICAg
ICAgICAgICBbYXNzaXN0YW50IGhhbmRsZUVsZW1lbnRBY3Rpb25XaXRoVHlwZTp0eXBlIGVsZW1l
bnQ6YWN0aW9uSW5mbyBuZWVkc0ludGVyYWN0aW9uOllFU107CiAgICAgICAgIH07CiAgICAgICAg
IGJyZWFrOwogI2lmIEhBVkUoU0FGQVJJX1NFUlZJQ0VTX0ZSQU1FV09SSykKQEAgLTE2MSw3ICsx
NTMsNyBAQCArIChpbnN0YW5jZXR5cGUpX2VsZW1lbnRBY3Rpb25XaXRoVHlwZTooX1dLRWxlbWVu
dEFjdGlvblR5cGUpdHlwZSBjdXN0b21UaXRsZTooTgogICAgIGNhc2UgX1dLRWxlbWVudEFjdGlv
blR5cGVTaGFyZToKICAgICAgICAgdGl0bGUgPSBXRUJfVUlfU1RSSU5HKCJTaGFyZeKApiIsICJU
aXRsZSBmb3IgU2hhcmUgYWN0aW9uIGJ1dHRvbiIpOwogICAgICAgICBoYW5kbGVyID0gXihXS0Fj
dGlvblNoZWV0QXNzaXN0YW50ICphc3Npc3RhbnQsIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICph
Y3Rpb25JbmZvKSB7Ci0gICAgICAgICAgICBbYXNzaXN0YW50LmRlbGVnYXRlIGFjdGlvblNoZWV0
QXNzaXN0YW50OmFzc2lzdGFudCBzaGFyZUVsZW1lbnRXaXRoVVJMOmFjdGlvbkluZm8uVVJMID86
IGFjdGlvbkluZm8uaW1hZ2VVUkwgcmVjdDphY3Rpb25JbmZvLmJvdW5kaW5nUmVjdF07CisgICAg
ICAgICAgICBbYXNzaXN0YW50IGhhbmRsZUVsZW1lbnRBY3Rpb25XaXRoVHlwZTp0eXBlIGVsZW1l
bnQ6YWN0aW9uSW5mbyBuZWVkc0ludGVyYWN0aW9uOk5PXTsKICAgICAgICAgfTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVG9nZ2xlU2hvd0xpbmtQcmV2aWV3czoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMTI5OGM1NTkwNTQ4YjI3
MmZlYjMyYjcwNGNiZjcxYzc2YTY0YzllYi4uODc4ZTU3MTA2ZmEwNjMyMmJkNThlMjIxYzUwMjgy
YmI0Y2JkZGMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEz
NTIsNyArMTM1Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbW1pdFBvdGVudGlhbFRhcChPcHRp
b25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+LCBUcmFuc2FjdGlvbklEIGxheWVyVHJl
ZVRyYW5zYWN0aW9uSWRBdExhc3RUb3VjaFN0YXJ0LCBXZWJDb3JlOjpQb2ludGVySUQpOwogICAg
IHZvaWQgY2FuY2VsUG90ZW50aWFsVGFwKCk7CiAgICAgdm9pZCB0YXBIaWdobGlnaHRBdFBvc2l0
aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCB1aW50NjRfdCYgcmVxdWVzdElEKTsKLSAg
ICB2b2lkIGhhbmRsZVRhcChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgT3B0aW9uU2V0PFdl
YktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiwgVHJhbnNhY3Rpb25JRCBsYXllclRyZWVUcmFuc2Fj
dGlvbklkQXRMYXN0VG91Y2hTdGFydCk7CisgICAgdm9pZCBhdHRlbXB0U3ludGhldGljQ2xpY2so
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIE9wdGlvblNldDxXZWJLaXQ6OldlYkV2ZW50OjpN
b2RpZmllcj4sIFRyYW5zYWN0aW9uSUQgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRvdWNo
U3RhcnQpOwogICAgIHZvaWQgZGlkUmVjb2duaXplTG9uZ1ByZXNzKCk7CiAgICAgdm9pZCBoYW5k
bGVEb3VibGVUYXBGb3JEb3VibGVDbGlja0F0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
LCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiwgVHJhbnNhY3Rpb25JRCBsYXllclRyZWVU
cmFuc2FjdGlvbklkQXRMYXN0VG91Y2hTdGFydCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oCmluZGV4IGY3NTcwOTRlOTgx
NmI4YjczYzg1YTZkMjBjYjI0MmQ3ZWM2ZjBlNWQuLjE1Njg3YzRiODdlMWM2M2Y0YWIxNGYzZjY5
OTZkYjhhMmRlNDY3ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0FjdGlvblNoZWV0QXNzaXN0YW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaApAQCAtNDQsNiArNDQsOCBAQCBzdHJ1Y3QgSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb247CiBAcHJvdG9jb2wgV0tBY3Rpb25TaGVldERlbGVn
YXRlOwogQHByb3RvY29sIFVJQ29udGV4dE1lbnVJbnRlcmFjdGlvbkRlbGVnYXRlOwogCit0eXBl
ZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tFbGVtZW50QWN0aW9uVHlwZSk7CisKIEBwcm90b2Nv
bCBXS0FjdGlvblNoZWV0QXNzaXN0YW50RGVsZWdhdGUgPE5TT2JqZWN0PgogQHJlcXVpcmVkCiAt
IChPcHRpb25hbDxXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uPilwb3Np
dGlvbkluZm9ybWF0aW9uRm9yQWN0aW9uU2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hlZXRBc3Np
c3RhbnQgKilhc3Npc3RhbnQ7CkBAIC05MCw2ICs5Miw3IEBAIHN0cnVjdCBJbnRlcmFjdGlvbklu
Zm9ybWF0aW9uQXRQb3NpdGlvbjsKIC0gKEJPT0wpaXNTaG93aW5nU2hlZXQ7CiAtICh2b2lkKWlu
dGVyYWN0aW9uRGlkU3RhcnRXaXRoUG9zaXRpb25JbmZvcm1hdGlvbjooY29uc3QgV2ViS2l0OjpJ
bnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiYpaW5mb3JtYXRpb247CiAtIChOU0FycmF5
ICopY3VycmVudEF2YWlsYWJsZUFjdGlvblRpdGxlczsKKy0gKHZvaWQpaGFuZGxlRWxlbWVudEFj
dGlvbldpdGhUeXBlOihfV0tFbGVtZW50QWN0aW9uVHlwZSl0eXBlIGVsZW1lbnQ6KF9XS0FjdGl2
YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudCBuZWVkc0ludGVyYWN0aW9uOihCT09MKW5lZWRzSW50
ZXJhY3Rpb247CiAjaWYgVVNFKFVJQ09OVEVYVE1FTlUpCiAtIChOU0FycmF5PFVJTWVudUVsZW1l
bnQgKj4gKilzdWdnZXN0ZWRBY3Rpb25zRm9yQ29udGV4dE1lbnVXaXRoUG9zaXRpb25JbmZvcm1h
dGlvbjooY29uc3QgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiYpcG9z
aXRpb25JbmZvcm1hdGlvbjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbQppbmRleCAwNjIwZGI3NGEwMjY1M2Q4
Y2FlNGM1M2Q4ZGNlYWZiY2MzMDQ1YmU2Li41NmMyNjE1YTVhODJlY2YyYWM3YjE0Y2RjN2RlYjM3
ZGM1Y2I1NmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rp
b25TaGVldEFzc2lzdGFudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tB
Y3Rpb25TaGVldEFzc2lzdGFudC5tbQpAQCAtODEwLDYgKzgxMCwzNSBAQCAtIChOU0FycmF5PFVJ
TWVudUVsZW1lbnQgKj4gKilfY29udGV4dE1lbnVJbnRlcmFjdGlvbjooVUlDb250ZXh0TWVudUlu
dGVyYWN0aW9uCiAKICNlbmRpZiAvLyBVU0UoVUlDT05URVhUTUVOVSkKIAorLSAodm9pZCloYW5k
bGVFbGVtZW50QWN0aW9uV2l0aFR5cGU6KF9XS0VsZW1lbnRBY3Rpb25UeXBlKXR5cGUgZWxlbWVu
dDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IG5lZWRzSW50ZXJhY3Rpb246KEJP
T0wpbmVlZHNJbnRlcmFjdGlvbgoreworICAgIGF1dG8gZGVsZWdhdGUgPSBfZGVsZWdhdGUuZ2V0
QXV0b3JlbGVhc2VkKCk7CisKKyAgICBpZiAobmVlZHNJbnRlcmFjdGlvbiAmJiBbZGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudDp3aWxsU3Rh
cnRJbnRlcmFjdGlvbldpdGhFbGVtZW50OildKQorICAgICAgICBbZGVsZWdhdGUgYWN0aW9uU2hl
ZXRBc3Npc3RhbnQ6c2VsZiB3aWxsU3RhcnRJbnRlcmFjdGlvbldpdGhFbGVtZW50OmVsZW1lbnRd
OworCisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZUNv
cHk6CisgICAgICAgIFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDpzZWxmIHBlcmZvcm1B
Y3Rpb246V2ViS2l0OjpTaGVldEFjdGlvbjo6Q29weV07CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgX1dLRWxlbWVudEFjdGlvblR5cGVPcGVuOgorICAgICAgICBbZGVsZWdhdGUgYWN0aW9uU2hl
ZXRBc3Npc3RhbnQ6c2VsZiBvcGVuRWxlbWVudEF0TG9jYXRpb246ZWxlbWVudC5faW50ZXJhY3Rp
b25Mb2NhdGlvbl07CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgX1dLRWxlbWVudEFjdGlvblR5
cGVTYXZlSW1hZ2U6CisgICAgICAgIFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDpzZWxm
IHBlcmZvcm1BY3Rpb246V2ViS2l0OjpTaGVldEFjdGlvbjo6U2F2ZUltYWdlXTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlOgorICAgICAgICBbZGVs
ZWdhdGUgYWN0aW9uU2hlZXRBc3Npc3RhbnQ6c2VsZiBzaGFyZUVsZW1lbnRXaXRoVVJMOmVsZW1l
bnQuVVJMID86IGVsZW1lbnQuaW1hZ2VVUkwgcmVjdDplbGVtZW50LmJvdW5kaW5nUmVjdF07Cisg
ICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAobmVlZHNJbnRlcmFjdGlvbiAmJiBb
ZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFu
dERpZFN0b3BJbnRlcmFjdGlvbjopXSkKKyAgICAgICAgW2RlbGVnYXRlIGFjdGlvblNoZWV0QXNz
aXN0YW50RGlkU3RvcEludGVyYWN0aW9uOnNlbGZdOworfQorCiAtICh2b2lkKWNsZWFudXBTaGVl
dAogewogICAgIGF1dG8gZGVsZWdhdGUgPSBfZGVsZWdhdGUuZ2V0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5k
ZXggMGExMDZkMjk2NjY1MjkwY2FiNzg3OTYzZTFmZGZjYTZlZjY1ZWFmOC4uODA4MDI0YmE5ZTlk
OWE0ZDg1ZTA0NDcxNzEzMGYyMzA3ODk1ZmRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtNTEwLDcgKzUx
MCw3IEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJT04oREVDTEFSRV9XS0NP
TlRFTlRWSUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcpCiAtIChCT09MKV9pbnRlcnByZXRLZXlFdmVu
dDooOjpXZWJFdmVudCAqKXRoZUV2ZW50IGlzQ2hhckV2ZW50OihCT09MKWlzQ2hhckV2ZW50Owog
LSAodm9pZClfcG9zaXRpb25JbmZvcm1hdGlvbkRpZENoYW5nZTooY29uc3QgV2ViS2l0OjpJbnRl
cmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiYpaW5mbzsKIC0gKEJPT0wpX2N1cnJlbnRQb3Np
dGlvbkluZm9ybWF0aW9uSXNWYWxpZEZvclJlcXVlc3Q6KGNvbnN0IFdlYktpdDo6SW50ZXJhY3Rp
b25JbmZvcm1hdGlvblJlcXVlc3QmKXJlcXVlc3Q7Ci0tICh2b2lkKV9hdHRlbXB0Q2xpY2tBdExv
Y2F0aW9uOihDR1BvaW50KWxvY2F0aW9uIG1vZGlmaWVyRmxhZ3M6KFVJS2V5TW9kaWZpZXJGbGFn
cyltb2RpZmllckZsYWdzOworLSAodm9pZClfYXR0ZW1wdFN5bnRoZXRpY0NsaWNrQXRMb2NhdGlv
bjooQ0dQb2ludClsb2NhdGlvbiBtb2RpZmllckZsYWdzOihVSUtleU1vZGlmaWVyRmxhZ3MpbW9k
aWZpZXJGbGFnczsKIC0gKHZvaWQpX3dpbGxTdGFydFNjcm9sbGluZ09yWm9vbWluZzsKIC0gKHZv
aWQpX2RpZFNjcm9sbDsKIC0gKHZvaWQpX2RpZEVuZFNjcm9sbGluZ09yWm9vbWluZzsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCmluZGV4IDNlYjczNzIwMzBjYzhmOWQyYTc4Yzk4OGY1ODhkZmI1Y2U1NWMyNTMuLjM3
MzYyNjBiOTJlNWUwMjYzMjUyYTFiNzFiMmViZjY5MDVmMjQ4ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpA
QCAtMjY0Miw3ICsyNjQyLDcgQEAgLSAodm9pZClfaGlnaGxpZ2h0TG9uZ1ByZXNzUmVjb2duaXpl
ZDooVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmVSZWMKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVFbmRlZDoKICAgICAgICAgaWYg
KF9sb25nUHJlc3NDYW5DbGljayAmJiBfcG9zaXRpb25JbmZvcm1hdGlvbi5pc0VsZW1lbnQpIHsK
LSAgICAgICAgICAgIFtzZWxmIF9hdHRlbXB0Q2xpY2tBdExvY2F0aW9uOmdlc3R1cmVSZWNvZ25p
emVyLnN0YXJ0UG9pbnQgbW9kaWZpZXJGbGFnczpnZXN0dXJlUmVjb2duaXplck1vZGlmaWVyRmxh
Z3MoZ2VzdHVyZVJlY29nbml6ZXIpXTsKKyAgICAgICAgICAgIFtzZWxmIF9hdHRlbXB0U3ludGhl
dGljQ2xpY2tBdExvY2F0aW9uOmdlc3R1cmVSZWNvZ25pemVyLnN0YXJ0UG9pbnQgbW9kaWZpZXJG
bGFnczpnZXN0dXJlUmVjb2duaXplck1vZGlmaWVyRmxhZ3MoZ2VzdHVyZVJlY29nbml6ZXIpXTsK
ICAgICAgICAgICAgIFtzZWxmIF9maW5pc2hJbnRlcmFjdGlvbl07CiAgICAgICAgIH0gZWxzZQog
ICAgICAgICAgICAgW3NlbGYgX2NhbmNlbEludGVyYWN0aW9uXTsKQEAgLTI4NDQsMTMgKzI4NDQs
MTMgQEAgLSAodm9pZClfdHdvRmluZ2VyRG91YmxlVGFwUmVjb2duaXplZDooVUlUYXBHZXN0dXJl
UmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemUKICAgICBfc21hcnRNYWduaWZpY2F0aW9uQ29u
dHJvbGxlci0+aGFuZGxlUmVzZXRNYWduaWZpY2F0aW9uR2VzdHVyZShnZXN0dXJlUmVjb2duaXpl
ci5sb2NhdGlvbik7CiB9CiAKLS0gKHZvaWQpX2F0dGVtcHRDbGlja0F0TG9jYXRpb246KENHUG9p
bnQpbG9jYXRpb24gbW9kaWZpZXJGbGFnczooVUlLZXlNb2RpZmllckZsYWdzKW1vZGlmaWVyRmxh
Z3MKKy0gKHZvaWQpX2F0dGVtcHRTeW50aGV0aWNDbGlja0F0TG9jYXRpb246KENHUG9pbnQpbG9j
YXRpb24gbW9kaWZpZXJGbGFnczooVUlLZXlNb2RpZmllckZsYWdzKW1vZGlmaWVyRmxhZ3MKIHsK
ICAgICBpZiAoIVtzZWxmIGlzRmlyc3RSZXNwb25kZXJdKQogICAgICAgICBbc2VsZiBiZWNvbWVG
aXJzdFJlc3BvbmRlcl07CiAKICAgICBbX2lucHV0UGVyaXBoZXJhbCBlbmRFZGl0aW5nXTsKLSAg
ICBfcGFnZS0+aGFuZGxlVGFwKGxvY2F0aW9uLCBXZWJLaXQ6OndlYkV2ZW50TW9kaWZpZXJGbGFn
cyhtb2RpZmllckZsYWdzKSwgX2xheWVyVHJlZVRyYW5zYWN0aW9uSWRBdExhc3RJbnRlcmFjdGlv
blN0YXJ0KTsKKyAgICBfcGFnZS0+YXR0ZW1wdFN5bnRoZXRpY0NsaWNrKGxvY2F0aW9uLCBXZWJL
aXQ6OndlYkV2ZW50TW9kaWZpZXJGbGFncyhtb2RpZmllckZsYWdzKSwgX2xheWVyVHJlZVRyYW5z
YWN0aW9uSWRBdExhc3RJbnRlcmFjdGlvblN0YXJ0KTsKIH0KIAogLSAodm9pZClzZXRVcFRleHRT
ZWxlY3Rpb25Bc3Npc3RhbnQKQEAgLTY5MDQsNyArNjkwNCw3IEBAIC0gKHZvaWQpYWN0aW9uU2hl
ZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKilhc3Npc3RhbnQgcGVyZm9ybUFj
dGlvbjooCiAKIC0gKHZvaWQpYWN0aW9uU2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hlZXRBc3Np
c3RhbnQgKilhc3Npc3RhbnQgb3BlbkVsZW1lbnRBdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9u
CiB7Ci0gICAgW3NlbGYgX2F0dGVtcHRDbGlja0F0TG9jYXRpb246bG9jYXRpb24gbW9kaWZpZXJG
bGFnczowXTsKKyAgICBbc2VsZiBfYXR0ZW1wdFN5bnRoZXRpY0NsaWNrQXRMb2NhdGlvbjpsb2Nh
dGlvbiBtb2RpZmllckZsYWdzOjBdOwogfQogCiAtICh2b2lkKWFjdGlvblNoZWV0QXNzaXN0YW50
OihXS0FjdGlvblNoZWV0QXNzaXN0YW50ICopYXNzaXN0YW50IHNoYXJlRWxlbWVudFdpdGhVUkw6
KE5TVVJMICopdXJsIHJlY3Q6KENHUmVjdClib3VuZGluZ1JlY3QKQEAgLTg3ODgsOSArODc4OCw5
IEBAIC0gKHZvaWQpX3NpbXVsYXRlVGV4dEVudGVyZWQ6KE5TU3RyaW5nICopdGV4dAogCiAtICh2
b2lkKV9zaW11bGF0ZUVsZW1lbnRBY3Rpb246KF9XS0VsZW1lbnRBY3Rpb25UeXBlKWFjdGlvblR5
cGUgYXRMb2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbgogewotICAgIFJldGFpblB0cjxXS0NvbnRl
bnRWaWV3PiBwcm90ZWN0ZWRTZWxmID0gc2VsZjsKLSAgICBbc2VsZiBkb0FmdGVyUG9zaXRpb25J
bmZvcm1hdGlvblVwZGF0ZTpbYWN0aW9uVHlwZSwgcHJvdGVjdGVkU2VsZl0gKFdlYktpdDo6SW50
ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gaW5mbykgewotICAgICAgICBfV0tFbGVtZW50
QWN0aW9uICphY3Rpb24gPSBbX1dLRWxlbWVudEFjdGlvbiBfZWxlbWVudEFjdGlvbldpdGhUeXBl
OmFjdGlvblR5cGUgYXNzaXN0YW50OnByb3RlY3RlZFNlbGYtPl9hY3Rpb25TaGVldEFzc2lzdGFu
dC5nZXQoKV07CisgICAgX2xheWVyVHJlZVRyYW5zYWN0aW9uSWRBdExhc3RJbnRlcmFjdGlvblN0
YXJ0ID0gZG93bmNhc3Q8V2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Pigq
X3BhZ2UtPmRyYXdpbmdBcmVhKCkpLmxhc3RDb21taXR0ZWRMYXllclRyZWVUcmFuc2FjdGlvbklE
KCk7CisgICAgW3NlbGYgZG9BZnRlclBvc2l0aW9uSW5mb3JtYXRpb25VcGRhdGU6W2FjdGlvblR5
cGUsIHNlbGYsIHByb3RlY3RlZFNlbGYgPSByZXRhaW5QdHIoc2VsZildIChXZWJLaXQ6OkludGVy
YWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIGluZm8pIHsKKyAgICAgICAgX1dLRWxlbWVudEFj
dGlvbiAqYWN0aW9uID0gW19XS0VsZW1lbnRBY3Rpb24gX2VsZW1lbnRBY3Rpb25XaXRoVHlwZTph
Y3Rpb25UeXBlIGFzc2lzdGFudDpfYWN0aW9uU2hlZXRBc3Npc3RhbnQuZ2V0KCldOwogICAgICAg
ICBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqZWxlbWVudEluZm8gPSBbX1dLQWN0aXZhdGVkRWxl
bWVudEluZm8gYWN0aXZhdGVkRWxlbWVudEluZm9XaXRoSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0
UG9zaXRpb246aW5mbyB1c2VySW5mbzpuaWxdOwogICAgICAgICBbYWN0aW9uIHJ1bkFjdGlvbldp
dGhFbGVtZW50SW5mbzplbGVtZW50SW5mb107CiAgICAgfSBmb3JSZXF1ZXN0OldlYktpdDo6SW50
ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QoV2ViQ29yZTo6cm91bmRlZEludFBvaW50KGxvY2F0
aW9uKSldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQ
cm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW0KaW5kZXggMWFhYjhmNTk1ZGZlMmI3ZmFmNGUxZmQyZmE4YmVlNGI3MTUyYTkxMS4uMDUwOWNl
Y2RlNTI0NTdjZTc2YTU4N2M4YjZiNWY4NTBkNzUxMWYxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC05MDUsOSArOTA1LDkgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnRhcEhpZ2hsaWdodEF0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgcG9zaXRpb24sIHUKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpUYXBIaWdo
bGlnaHRBdFBvc2l0aW9uKHJlcXVlc3RJRCwgcG9zaXRpb24pKTsKIH0KIAotdm9pZCBXZWJQYWdl
UHJveHk6OmhhbmRsZVRhcChjb25zdCBGbG9hdFBvaW50JiBsb2NhdGlvbiwgT3B0aW9uU2V0PFdl
YkV2ZW50OjpNb2RpZmllcj4gbW9kaWZpZXJzLCBUcmFuc2FjdGlvbklEIGxheWVyVHJlZVRyYW5z
YWN0aW9uSWRBdExhc3RUb3VjaFN0YXJ0KQordm9pZCBXZWJQYWdlUHJveHk6OmF0dGVtcHRTeW50
aGV0aWNDbGljayhjb25zdCBGbG9hdFBvaW50JiBsb2NhdGlvbiwgT3B0aW9uU2V0PFdlYkV2ZW50
OjpNb2RpZmllcj4gbW9kaWZpZXJzLCBUcmFuc2FjdGlvbklEIGxheWVyVHJlZVRyYW5zYWN0aW9u
SWRBdExhc3RUb3VjaFN0YXJ0KQogewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkhhbmRs
ZVRhcChyb3VuZGVkSW50UG9pbnQobG9jYXRpb24pLCBtb2RpZmllcnMsIGxheWVyVHJlZVRyYW5z
YWN0aW9uSWRBdExhc3RUb3VjaFN0YXJ0KSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
QXR0ZW1wdFN5bnRoZXRpY0NsaWNrKHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbiksIG1vZGlmaWVy
cywgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRvdWNoU3RhcnQpKTsKIH0KIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmRpZFJlY29nbml6ZUxvbmdQcmVzcygpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNGRhYmUwOTBmYWQxNmMyYjVhYjUyMTFlMjg3
YTk3ODZhMGI4ZDhmNi4uM2I2YjgzZDA1ZWQ2ZDIyNGY3MGYyNWVjYWMwMTYyNmY1OGUxYzU1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNjc2LDcg
KzY3Niw3IEBAIHB1YmxpYzoKICAgICBib29sIGFsbG93c1VzZXJTY2FsaW5nKCkgY29uc3Q7CiAg
ICAgYm9vbCBoYXNTdGFibGVQYWdlU2NhbGVGYWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2hhc1N0
YWJsZVBhZ2VTY2FsZUZhY3RvcjsgfQogCi0gICAgdm9pZCBoYW5kbGVUYXAoY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmLCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+LCBUcmFu
c2FjdGlvbklEIGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkKTsKKyAgICB2b2lkIGF0dGVtcHRT
eW50aGV0aWNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIE9wdGlvblNldDxXZWJLaXQ6
OldlYkV2ZW50OjpNb2RpZmllcj4sIFRyYW5zYWN0aW9uSUQgbGFzdExheWVyVHJlZVRyYW5zYWN0
aW9uSWQpOwogICAgIHZvaWQgcG90ZW50aWFsVGFwQXRQb3NpdGlvbih1aW50NjRfdCByZXF1ZXN0
SUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBib29sIHNob3VsZFJlcXVlc3RNYWduaWZp
Y2F0aW9uSW5mb3JtYXRpb24pOwogICAgIHZvaWQgY29tbWl0UG90ZW50aWFsVGFwKE9wdGlvblNl
dDxXZWJLaXQ6OldlYkV2ZW50OjpNb2RpZmllcj4sIFRyYW5zYWN0aW9uSUQgbGFzdExheWVyVHJl
ZVRyYW5zYWN0aW9uSWQsIFdlYkNvcmU6OlBvaW50ZXJJRCk7CiAgICAgdm9pZCBjb21taXRQb3Rl
bnRpYWxUYXBGYWlsZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDE2YWYzMTdlODg0NmY1ZjNmOTZjMDgwYjRj
YWE4NzVhNmE0MDAwZDQuLjYyYjkwOWExNzgzOWZlMjgxNzgxYjhhODI3NWI5YzUzZmM2OWE1NDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgpAQCAtNTUsNyArNTUsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJl
Y2VpdmVyIHsKICAgICAKICAgICBTZXRTY3JlZW5Jc0JlaW5nQ2FwdHVyZWQoYm9vbCBjYXB0dXJl
ZCkKIAotICAgIEhhbmRsZVRhcChXZWJDb3JlOjpJbnRQb2ludCBwb2ludCwgT3B0aW9uU2V0PFdl
YktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMsIFdlYktpdDo6VHJhbnNhY3Rpb25J
RCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKKyAgICBBdHRlbXB0U3ludGhldGljQ2xpY2so
V2ViQ29yZTo6SW50UG9pbnQgcG9pbnQsIE9wdGlvblNldDxXZWJLaXQ6OldlYkV2ZW50OjpNb2Rp
Zmllcj4gbW9kaWZpZXJzLCBXZWJLaXQ6OlRyYW5zYWN0aW9uSUQgbGFzdExheWVyVHJlZVRyYW5z
YWN0aW9uSWQpCiAgICAgUG90ZW50aWFsVGFwQXRQb3NpdGlvbih1aW50NjRfdCByZXF1ZXN0SUQs
IFdlYkNvcmU6OkZsb2F0UG9pbnQgcG9pbnQsIGJvb2wgc2hvdWxkUmVxdWVzdE1hZ25pZmljYXRp
b25JbmZvcm1hdGlvbikKICAgICBDb21taXRQb3RlbnRpYWxUYXAoT3B0aW9uU2V0PFdlYktpdDo6
V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMsIFdlYktpdDo6VHJhbnNhY3Rpb25JRCBsYXN0
TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCwgV2ViQ29yZTo6UG9pbnRlcklEIHBvaW50ZXJJZCkKICAg
ICBDYW5jZWxQb3RlbnRpYWxUYXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCBmZTM3NDM3MDE5Yjg4YWFjMDFhMGQ2MzQ3
OGM3MWI1YzBmNDY0NjA5Li5mNmU5MmI1MzgwOTRlYWM2NmZhYzNlOTYwZmRjOWZkNTQ3ZGFmY2U2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQpAQCAtODY3LDcgKzg2Nyw3IEBAIHZvaWQgV2ViUGFnZTo6Y29tcGxldGVTeW50aGV0
aWNDbGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6CiAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKCkp
OwogfQogCi12b2lkIFdlYlBhZ2U6OmhhbmRsZVRhcChjb25zdCBJbnRQb2ludCYgcG9pbnQsIE9w
dGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycywgVHJhbnNhY3Rpb25JRCBsYXN0
TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKK3ZvaWQgV2ViUGFnZTo6YXR0ZW1wdFN5bnRoZXRpY0Ns
aWNrKGNvbnN0IEludFBvaW50JiBwb2ludCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4g
bW9kaWZpZXJzLCBUcmFuc2FjdGlvbklEIGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkKQogewog
ICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRQb2ludDsKICAgICBOb2RlKiBub2RlUmVzcG9uZGluZ1Rv
Q2xpY2sgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLm5vZGVSZXNwb25kaW5nVG9DbGlja0V2ZW50cyhw
b2ludCwgYWRqdXN0ZWRQb2ludCk7CkBAIC04NzYsNiArODc2LDggQEAgdm9pZCBXZWJQYWdlOjpo
YW5kbGVUYXAoY29uc3QgSW50UG9pbnQmIHBvaW50LCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlm
aWVyPiBtb2QKIAogICAgIGlmICghZnJhbWVSZXNwb25kaW5nVG9DbGljayB8fCBsYXN0TGF5ZXJU
cmVlVHJhbnNhY3Rpb25JZCA8IFdlYkZyYW1lOjpmcm9tQ29yZUZyYW1lKCpmcmFtZVJlc3BvbmRp
bmdUb0NsaWNrKS0+Zmlyc3RMYXllclRyZWVUcmFuc2FjdGlvbklEQWZ0ZXJEaWRDb21taXRMb2Fk
KCkpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkTm90SGFuZGxlVGFw
QXNDbGljayhhZGp1c3RlZEludFBvaW50KSk7CisgICAgZWxzZSBpZiAobV9pbnRlcmFjdGlvbk5v
ZGUgPT0gbm9kZVJlc3BvbmRpbmdUb0NsaWNrKQorICAgICAgICBjb21wbGV0ZVN5bnRoZXRpY0Ns
aWNrKCpub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGFkanVzdGVkUG9pbnQsIG1vZGlmaWVycywgV2Vi
Q29yZTo6T25lRmluZ2VyVGFwKTsKICAgICBlbHNlCiAgICAgICAgIGhhbmRsZVN5bnRoZXRpY0Ns
aWNrKCpub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGFkanVzdGVkUG9pbnQsIG1vZGlmaWVycyk7CiB9
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzhl
NTVmNWNiOTVmM2JiOGI2NTk4YWQ1NGI4YjE5NDBlMWQwODA3NC4uZmZkMzJmYWQwMGMwZjg5MjI1
MTRmNzY1MjlkMzg2OGQ4YTA4OWYyYSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTIzICBBbmR5IEVzdGVz
ICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBPcGVuIGVsZW1lbnQgYWN0aW9u
cyBzb21ldGltZXMgcmVzdWx0IGluIGEgaG92ZXIgaW5zdGVhZCBvZiBhIGNsaWNrCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM1MzAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzY0MTc2NzA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGFuIEFQSSB0ZXN0LgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRWxlbWVudEFjdGlvblRlc3RzLm1tOiBBZGRlZC4K
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9saW5rLXdpdGgtaG92ZXItbWVudS5o
dG1sOiBBZGRlZC4KKwogMjAyMC0wNi0yMiAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2V3c10gU3dpdGNoIGNvbnRyaWJ1dG9ycy5qc29uIHVybCBmcm9t
IHRyYWMgdG8gc3ZuIHNlcnZlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyODlhMDcwNTRi
OWViNGM3ZTE5Yzc1ODMwMWZiZjZlOWUzNTMxZDZjLi5mMWE5OTQ5ZjcwMzQwYmU3NDM2Mjk0NTc1
ZjhkMTRjZjA5Yzg5YTU3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODM5LDYgKzgzOSw4
IEBACiAJCTlDNjREQzMyMUQ3NjE5OEEwMDRCNTk4RSAvKiBZb3VUdWJlUGx1Z2luUmVwbGFjZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUM2
NERDMzExRDc2MTk4QTAwNEI1OThFIC8qIFlvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5jcHAgKi87
IH07CiAJCUExMEYwNDdFMUUzQUQyOUMwMEM5NUUxOSAvKiBOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwRjA0N0Mx
RTNBRDI5QzAwQzk1RTE5IC8qIE5TRmlsZU1hbmFnZXJFeHRyYXMubW0gKi87IH07CiAJCUExMTQ2
QThEMUQyRDcxMTUwMDBGRTcxMCAvKiBDb250ZW50RmlsdGVyaW5nLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExNDZBOEExRDJENzA0RjAwMEZFNzEw
IC8qIENvbnRlbnRGaWx0ZXJpbmcubW0gKi87IH07CisJCUExMUU3REEwMjRBMTY5RjkwMDAyNjc0
NSAvKiBsaW5rLXdpdGgtaG92ZXItbWVudS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMUU3RDlGMjRBMTY5RTIwMDAyNjc0NSAvKiBs
aW5rLXdpdGgtaG92ZXItbWVudS5odG1sICovOyB9OworCQlBMTFFN0RBMzI0QTE3RDI1MDAwMjY3
NDUgLyogRWxlbWVudEFjdGlvblRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTExRTdEQTIyNEExN0M3RDAwMDI2NzQ1IC8qIEVsZW1lbnRBY3Rp
b25UZXN0cy5tbSAqLzsgfTsKIAkJQTEyNTQ3OEYxREIxOEI5NDAwMzU4NTY0IC8qIExvYWREYXRh
V2l0aE5pbE1JTUVUeXBlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTEyNTQ3OEQxREIxOEI5NDAwMzU4NTY0IC8qIExvYWREYXRhV2l0aE5pbE1JTUVU
eXBlLm1tICovOyB9OwogCQlBMTJEREJGQjFFODM2RjA3MDBDRjZDQUUgLyogUmVuZGVyZWRJbWFn
ZVdpdGhPcHRpb25zLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTEyRERCRjkxRTgzNkYwNzAwQ0Y2Q0FFIC8qIFJlbmRlcmVkSW1hZ2VXaXRoT3B0aW9u
cy5tbSAqLzsgfTsKIAkJQTEyRERDMDAxRTgzNzNFNzAwQ0Y2Q0FFIC8qIHJlbmRlcmVkLWltYWdl
LWV4Y2x1ZGluZy1vdmVyZmxvdy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMkREQkZGMUU4MzczQzEwMENGNkNBRSAvKiByZW5kZXJl
ZC1pbWFnZS1leGNsdWRpbmctb3ZlcmZsb3cuaHRtbCAqLzsgfTsKQEAgLTEyMjcsNyArMTIyOSw2
IEBACiAJCQlkc3RQYXRoID0gVGVzdFdlYktpdEFQSS5yZXNvdXJjZXM7CiAJCQlkc3RTdWJmb2xk
ZXJTcGVjID0gNzsKIAkJCWZpbGVzID0gKAotCQkJCTU3NTFCMjhBMjQ5RDVCQzUwMDY2NEMyQSAv
KiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC1waW4tZ2V0LXBpbi10b2tl
bi1mYWtlLXBpbi1pbnZhbGlkLWVycm9yLXJldHJ5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJNTVBODE3RkYyMTgxMDIxQTAwMDRBMzlBIC8qIDEwMHgxMDAtcmVkLnRnYSBpbiBDb3B5
IFJlc291cmNlcyAqLywKIAkJCQkxQTlFNTJDOTEzRTY1RUY0MDA2OTE3RjUgLyogMTgtY2hhcmFj
dGVycy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU1QTgxODAwMjE4MTAyMjEwMDA0
QTM5QSAvKiA0MDB4NDAwLWdyZWVuLnBuZyBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE0NTIs
NiArMTQ1Myw3IEBACiAJCQkJRjQ2MTI4RDQyMTFFNDBGRDAwRDlGQURCIC8qIGxpbmstaW4taWZy
YW1lLWFuZC1pbnB1dC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTgzNjFGMTc4MUU2
MTBCNEUwMDc1OUIyNSAvKiBsaW5rLXdpdGgtZG93bmxvYWQtYXR0cmlidXRlLXdpdGgtc2xhc2hl
cy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTgzNDlEM0M0MURCOTcyOEUwMDRBOUY2
NSAvKiBsaW5rLXdpdGgtZG93bmxvYWQtYXR0cmlidXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCisJCQkJQTExRTdEQTAyNEExNjlGOTAwMDI2NzQ1IC8qIGxpbmstd2l0aC1ob3Zlci1tZW51
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzEyOEE4MTMyMzc2M0ZBQzAwRDkwRDQw
IC8qIGxpbmstd2l0aC1pbWFnZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTM3OEU2
NDc5MTYzMjcwNzQwMEI2QzY3NiAvKiBsaW5rLXdpdGgtdGl0bGUuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk1NzMyNTVBNjIyMTM5QkM3MDAzOTZBRTggLyogbG9hZC13ZWItYXJjaGl2
ZS0xLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xNTkxLDYgKzE1OTMsNyBAQAogCQkJ
CTU3QzYyNDUwMjM0NkMyMUUwMDM4M0ZFNyAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2Vy
dGlvbi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3OERBNDQ4MjNFQ0QwOUIwMDI0
NjAxMCAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC1waW4tYXV0aC1i
bG9ja2VkLWVycm9yLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTcwRDI2RjQyM0Mz
Q0E2QTAwRDVDRjY3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtaGlkLXBp
bi1nZXQta2V5LWFncmVlbWVudC1lcnJvci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJ
CTU3NTFCMjhBMjQ5RDVCQzUwMDY2NEMyQSAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWhpZC1waW4tZ2V0LXBpbi10b2tlbi1mYWtlLXBpbi1pbnZhbGlkLWVycm9yLXJldHJ5
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc4REE0NDIyM0VDQzdBMDAwMjQ2MDEw
IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtaGlkLXBpbi1nZXQtcGluLXRv
a2VuLXBpbi1hdXRoLWJsb2NrZWQtZXJyb3IuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQk1NzhEQTQ0NjIzRUNDQzBBMDAyNDYwMTAgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3Jl
ZGVudGlhbC1oaWQtcGluLWdldC1waW4tdG9rZW4tcGluLWF1dGgtaW52YWxpZC1lcnJvci1yZXRy
eS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3MEQyNkZBMjNDM0YyNTEwMEQ1Q0Y2
NyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC1waW4tZ2V0LXBpbi10
b2tlbi1waW4tYmxvY2tlZC1lcnJvci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMjM5
Myw2ICsyMzk2LDggQEAKIAkJOUM2NERDMzExRDc2MTk4QTAwNEI1OThFIC8qIFlvdVR1YmVQbHVn
aW5SZXBsYWNlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBZ
b3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMTBGMDQ3QzFFM0FEMjlDMDBDOTVFMTkgLyogTlNGaWxlTWFuYWdlckV4dHJhcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5TRmlsZU1hbmFnZXJFeHRyYXMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTQ2QThBMUQyRDcwNEYwMDBGRTcx
MCAvKiBDb250ZW50RmlsdGVyaW5nLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQ29udGVudEZpbHRlcmluZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTExRTdEOUYyNEExNjlFMjAwMDI2NzQ1IC8qIGxpbmstd2l0aC1ob3Zlci1tZW51Lmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0
bWw7IHBhdGggPSAibGluay13aXRoLWhvdmVyLW1lbnUuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUExMUU3REEyMjRBMTdDN0QwMDAyNjc0NSAvKiBFbGVtZW50QWN0aW9uVGVz
dHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBFbGVtZW50QWN0aW9uVGVzdHMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMjU0NzhEMURCMThCOTQwMDM1ODU2NCAvKiBMb2Fk
RGF0YVdpdGhOaWxNSU1FVHlwZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IExvYWREYXRhV2l0aE5pbE1JTUVUeXBlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBMTJEREJGOTFFODM2RjA3MDBDRjZDQUUgLyogUmVuZGVyZWRJbWFnZVdpdGhPcHRp
b25zLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVuZGVyZWRJ
bWFnZVdpdGhPcHRpb25zLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTJEREJG
QzFFODM2RkYxMDBDRjZDQUUgLyogUmVuZGVyZWRJbWFnZVdpdGhPcHRpb25zUGx1Z0luLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVuZGVyZWRJbWFnZVdpdGhP
cHRpb25zUGx1Z0luLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzQzOCw2ICsz
NDQzLDcgQEAKIAkJCQlGNDJENjM0MzIyQTE3MjlGMDBEMkZCM0EgLyogQXV0b2NvcnJlY3Rpb25U
ZXN0c0lPUy5tbSAqLywKIAkJCQk0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVj
dG9yc1Rlc3RJT1MubW0gKi8sCiAJCQkJRjRENEYzQjcxRTRFMzZFNDAwQkIyNzY3IC8qIERyYWdB
bmREcm9wVGVzdHNJT1MubW0gKi8sCisJCQkJQTExRTdEQTIyNEExN0M3RDAwMDI2NzQ1IC8qIEVs
ZW1lbnRBY3Rpb25UZXN0cy5tbSAqLywKIAkJCQlGNENGMzI3RjIzNjY1NTIyMDBEM0FEMDcgLyog
RW50ZXJLZXlIaW50VGVzdHMubW0gKi8sCiAJCQkJRjRCQzBCMTMyMTQ2Qzg0OTAwMkEwNDc4IC8q
IEZvY3VzUHJlc2VydmF0aW9uVGVzdHMubW0gKi8sCiAJCQkJQ0RBOTNEQUMyMkY0RUMyMjAwNDkw
QTY5IC8qIEZ1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpY1Rlc3RzLmNwcCAqLywKQEAgLTM3OTIs
NiArMzc5OCw3IEBACiAJCQkJMEYxNkJFRDcyMzA0QTFEMTAwQjRBMTY3IC8qIGNvbXBvc2l0ZWQu
aHRtbCAqLywKIAkJCQlDRURBMTI0MDI0MzdDOUVBMDBDMjhBOUUgLyogZWRpdGFibGUtcmVnaW9u
LWNvbXBvc2l0ZWQtYW5kLW5vbi1jb21wb3NpdGVkLW92ZXJsYXAuaHRtbCAqLywKIAkJCQlDRTZE
MEVFMjI0MjZCOEVEMDAyQUQ5MDEgLyogaW5zZXJ0LXRleHQuaHRtbCAqLywKKwkJCQlBMTFFN0Q5
RjI0QTE2OUUyMDAwMjY3NDUgLyogbGluay13aXRoLWhvdmVyLW1lbnUuaHRtbCAqLywKIAkJCQkw
RjM0MDc3NzIzMDM4MjU0MDA2MEExQTAgLyogb3ZlcmZsb3ctc2Nyb2xsLmh0bWwgKi8sCiAJCQkJ
QTFDNEZCNzIxQkFDRDFCNzAwMzc0MkQwIC8qIHBhZ2VzLnBhZ2VzICovLAogCQkJCUNFNkU4MUEz
MjBBOTMzQjgwMEUyQzgwRiAvKiBzZXQtdGltZW91dC1mdW5jdGlvbi5odG1sICovLApAQCAtNDg0
NSw2ICs0ODUyLDcgQEAKIAkJCQk4MzQxMzhDNzIwMzI2MUNBMDBGMjY5NjAgLyogQXN5bmNQb2xp
Y3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VCNDFB
NDExQTdFMDA0NDdDNEMgLyogQXR0cmlidXRlZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTM3NjBDNEYxMjExMjQ5QUYwMDIzM0FDQyAvKiBBdHRyU3R5bGUubW0gaW4gU291cmNlcyAqLywK
KwkJCQlDREVEMzQyRjI0OURERTBFMDAwMkFFN0EgLyogQXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24u
bW0gaW4gU291cmNlcyAqLywKIAkJCQlDREM4RTQ4RDFCQzVDQjQ1MDA1OTRGRUMgLyogQXVkaW9T
ZXNzaW9uQ2F0ZWdvcnlJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNDJENjM0NDIyQTE3MjlG
MDBEMkZCM0EgLyogQXV0b2NvcnJlY3Rpb25UZXN0c0lPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTdDODNFMEI5MUQwQTY0RjEwMEZFQkNGMyAvKiBBdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0gaW4g
U291cmNlcyAqLywKQEAgLTQ4NjIsNyArNDg3MCw2IEBACiAJCQkJMUMyQjgxODAxQzg5MUU3QzAw
QTU1MjlGIC8qIENhbmNlbEZvbnRTdWJyZXNvdXJjZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdD
Q0U3RUI2MUE0MTFBN0UwMDQ0N0M0QyAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVn
YXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4M0UwNDExRDBBNjNGMjAwRkVCQ0YzIC8qIENh
bmRpZGF0ZVRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJQ0RFRDM0MkYyNDlEREUwRTAwMDJB
RTdBIC8qIEF1ZGlvUm91dGluZ0FyYml0cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0ND
RTdFRTcxQTQxMUFFNjAwNDQ3QzRDIC8qIENhbkhhbmRsZVJlcXVlc3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMDdDMDQ2Q0ExRTQyNjJBODAwNzIwMUU3IC8qIENBUmluZ0J1ZmZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1NzMwM0JDQjIwMDgzNzY1MDAzNTU5NjUgLyogQ0JPUlJlYWRlclRl
c3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC00OTQ5LDYgKzQ5NTYsNyBAQAogCQkJCTVDMEJGODky
MURENTk5QjYwMEIwMDMyOCAvKiBFYXJseUtWT0NyYXNoLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0NDRTdFRTAxQTQxMUE5QTAwNDQ3QzRDIC8qIEVkaXRvckNvbW1hbmRzLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRjQ0RDA2NDcxRjM5NjI3QTAwMUEwRTI5IC8qIEVkaXRvclN0YXRlVGVzdHMubW0g
aW4gU291cmNlcyAqLywKKwkJCQlBMTFFN0RBMzI0QTE3RDI1MDAwMjY3NDUgLyogRWxlbWVudEFj
dGlvblRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQkYxQTQxMUE3RTAwNDQ3QzRD
IC8qIEVsZW1lbnRBdFBvaW50SW5XZWJGcmFtZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMxM0Q4
MkQ5MjQxNkYxMzIwMEE2Mjc5MyAvKiBFbmFibGVBY2Nlc3NpYmlsaXR5Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRjRDRjMyODAyMzY2NTUyMjAwRDNBRDA3IC8qIEVudGVyS2V5SGludFRlc3RzLm1t
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lv
cy9FbGVtZW50QWN0aW9uVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9F
bGVtZW50QWN0aW9uVGVzdHMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI1NzMxZDNjZTRlODYxZWYxYzcyZTYy
NzNkYjAyMjhlZDIzYjZmNgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvaW9zL0VsZW1lbnRBY3Rpb25UZXN0cy5tbQpAQCAtMCwwICsxLDg2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJUZXN0Q29jb2EuaCIKKworI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCisKKyNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIK
KyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2
YXRlRm9yVGVzdGluZy5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3N0YXRpYyB2
b2lkIHJ1blRlc3QoVGVzdFdLV2ViVmlldyAqd2ViVmlldywgVGVzdE5hdmlnYXRpb25EZWxlZ2F0
ZSAqbmF2aWdhdGlvbkRlbGVnYXRlLCBOU1N0cmluZyAqc2VsZWN0b3IpCit7CisgICAgX19ibG9j
ayBib29sIG1vdXNlTW92ZWQgPSBmYWxzZTsKKyAgICBfX2Jsb2NrIGJvb2wgbmF2aWdhdGlvbkF0
dGVtcHRlZCA9IGZhbHNlOworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisKKyAgICBu
YXZpZ2F0aW9uRGVsZWdhdGUuZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiA9IF4oV0tO
YXZpZ2F0aW9uQWN0aW9uICpuYXZpZ2F0aW9uQWN0aW9uLCB2b2lkICheZGVjaXNpb25IYW5kbGVy
KShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3kpKSB7CisgICAgICAgIGRlY2lzaW9uSGFuZGxlcihX
S05hdmlnYXRpb25BY3Rpb25Qb2xpY3lDYW5jZWwpOworICAgICAgICBFWFBFQ1RfRkFMU0UobW91
c2VNb3ZlZCk7CisgICAgICAgIEVYUEVDVF9GQUxTRShuYXZpZ2F0aW9uQXR0ZW1wdGVkKTsKKyAg
ICAgICAgRVhQRUNUX05TX0VRVUFMKEAiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsIG5hdmlnYXRp
b25BY3Rpb24ucmVxdWVzdC5VUkwuYWJzb2x1dGVTdHJpbmcpOworICAgICAgICBuYXZpZ2F0aW9u
QXR0ZW1wdGVkID0gdHJ1ZTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfTsKKworICAgIFt3
ZWJWaWV3IHBlcmZvcm1BZnRlclJlY2VpdmluZ01lc3NhZ2U6QCJtb3VzZW1vdmUiIGFjdGlvbjpe
eworICAgICAgICBpZiAobW91c2VNb3ZlZCkKKyAgICAgICAgICAgIGRvbmUgPSB0cnVlOworICAg
ICAgICBtb3VzZU1vdmVkID0gdHJ1ZTsKKyAgICB9XTsKKworICAgIGlkIGFycmF5ID0gW3dlYlZp
ZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1h
dDpAImJvdW5kaW5nQ2xpZW50UmVjdEFycmF5KCclQCcpIiwgc2VsZWN0b3JdXTsKKyAgICBhdXRv
IGJvdW5kaW5nUmVjdCA9IENHUmVjdE1ha2UoW2FycmF5WzBdIGZsb2F0VmFsdWVdLCBbYXJyYXlb
MV0gZmxvYXRWYWx1ZV0sIFthcnJheVsyXSBmbG9hdFZhbHVlXSwgW2FycmF5WzNdIGZsb2F0VmFs
dWVdKTsKKyAgICBbd2ViVmlldyBfc2ltdWxhdGVFbGVtZW50QWN0aW9uOl9XS0VsZW1lbnRBY3Rp
b25UeXBlT3BlbiBhdExvY2F0aW9uOkNHUG9pbnRNYWtlKENHUmVjdEdldE1pZFgoYm91bmRpbmdS
ZWN0KSwgQ0dSZWN0R2V0TWlkWShib3VuZGluZ1JlY3QpKV07CisKKyAgICBVdGlsOjpydW4oJmRv
bmUpOworCisgICAgRVhQRUNUX0ZBTFNFKG1vdXNlTW92ZWQpOworICAgIEVYUEVDVF9UUlVFKG5h
dmlnYXRpb25BdHRlbXB0ZWQpOworCisgICAgbmF2aWdhdGlvbkRlbGVnYXRlLmRlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24gPSBuaWw7CisgICAgW3dlYlZpZXcgY2xlYXJNZXNzYWdlSGFu
ZGxlcnM6QFsgQCJtb3VzZW1vdmUiIF1dOworfQorCitURVNUKEVsZW1lbnRBY3Rpb25UZXN0cywg
T3BlbkxpbmtXaXRoSG92ZXJNZW51KQoreworICAgIGF1dG8gZnJhbWUgPSBDR1JlY3RNYWtlKDAs
IDAsIDMyMCwgNTAwKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpmcmFtZV0pOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlMb2FkVGVzdFBhZ2VOYW1lZDpAImxpbmstd2l0aC1ob3Zlci1tZW51Il07CisKKyAgICBhdXRv
IG5hdmlnYXRpb25EZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIGFs
bG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOm5hdmlnYXRp
b25EZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBydW5UZXN0KHdlYlZpZXcuZ2V0KCksIG5hdmlnYXRp
b25EZWxlZ2F0ZS5nZXQoKSwgQCIjbGluayIpOworICAgIHJ1blRlc3Qod2ViVmlldy5nZXQoKSwg
bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpLCBAIiNsaW5rIik7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKKworI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9saW5rLXdpdGgtaG92ZXItbWVudS5o
dG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvbGluay13aXRoLWhvdmVyLW1lbnUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYjllNWYzNGUzOGFkMzVkNjIxOTg2ZWJkNDJiNjE2MjIzYmQ2NGNl
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvbGluay13
aXRoLWhvdmVyLW1lbnUuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPG1ldGEgbmFtZT0ndmlld3BvcnQnIGNvbnRlbnQ9J3dpZHRoPWRl
dmljZS13aWR0aCc+CisgICAgPHN0eWxlPgorICAgICAgICBib2R5IHsKKyAgICAgICAgICAgIGhl
aWdodDogMTAwdmg7CisgICAgICAgIH0KKworICAgICAgICB1bCB7CisgICAgICAgICAgICBsaXN0
LXN0eWxlOiBub25lOworICAgICAgICB9CisKKyAgICAgICAgbGkgPiB1bCB7CisgICAgICAgICAg
ICB2aXNpYmlsaXR5OiBoaWRkZW47CisgICAgICAgICAgICBwYWRkaW5nOiAwOworICAgICAgICB9
CisKKyAgICAgICAgbGk6aG92ZXIgPiB1bCB7CisgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNp
YmxlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgICBjb25z
dCBib3VuZGluZ0NsaWVudFJlY3RBcnJheSA9IChzZWxlY3RvcikgPT4geworICAgICAgICAgICAg
Y29uc3QgcmVjdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpOworICAgICAgICAgICAgcmV0dXJuIFtyZWN0LmxlZnQsIHJlY3QudG9wLCBy
ZWN0LndpZHRoLCByZWN0LmhlaWdodF07CisgICAgICAgIH07CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcignbW91c2Vtb3ZlJywgKGV2ZW50KSA9PiB3ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRl
c3RIYW5kbGVyLnBvc3RNZXNzYWdlKGV2ZW50LnR5cGUpKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorICAgIDx1bD4KKyAgICAgICAgPGxpPgorICAgICAgICAgICAgPGEgaWQ9J2xp
bmsnIGhyZWY9J2h0dHBzOi8vd3d3LmFwcGxlLmNvbS8nPmxpbms8L2E+CisgICAgICAgICAgICA8
dWw+CisgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9JyMnPmhvdmVyIG1lbnU8L2E+PC9saT4K
KyAgICAgICAgICAgIDwvdWw+CisgICAgICAgIDwvbGk+CisgICAgPC91bD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402675</attachid>
            <date>2020-06-24 13:11:54 -0700</date>
            <delta_ts>2020-06-24 13:52:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213530-20200624131153.patch</filename>
            <type>text/plain</type>
            <size>34901</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyYTc5NGY2NTFiYTkzNjQw
NDZiYzA0ODgwNTFkMmQxNWZjMWU5YzAuLmI3ZjYyMjk1M2JmZDYwNzcyOTQ3NDljOTM5MDI1YjA4
NzA3MzJhNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjQgQEAKKzIwMjAtMDYtMjMgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE9wZW4gZWxlbWVudCBhY3Rp
b25zIHNvbWV0aW1lcyByZXN1bHQgaW4gYSBob3ZlciBpbnN0ZWFkIG9mIGEgY2xpY2sKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzUzMAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjQxNzY3MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgX1dLRWxlbWVudEFjdGlvbiBpbXBsZW1lbnRzIGEgc3RhbmRhcmQg
YWN0aW9uIGhhbmRsZXIgZm9yIF9XS0VsZW1lbnRBY3Rpb25UeXBlT3BlbiB0aGF0CisgICAgICAg
IGF0dGVtcHRzIGEgc3ludGhldGljIGNsaWNrIGF0IHRoZSBpbnRlcmFjdGlvbiBsb2NhdGlvbiwg
ZXhwZWN0aW5nIHRoaXMgY2xpY2sgdG8gc3RhcnQgYQorICAgICAgICBuYXZpZ2F0aW9uIHRvIHRo
ZSBpbnRlcmFjdGlvbiBub2RlJ3MgdGFyZ2V0IFVSTC4gU3ludGhldGljIGNsaWNrcyBhcmUgc3Vi
amVjdCB0byBjb250ZW50CisgICAgICAgIGNoYW5nZSBvYnNlcnZpbmcsIGhvd2V2ZXIsIGFuZCBp
ZiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXIgZGV0ZWN0cyBhIG1lYW5pbmdmdWwgdmlzaWJsZSBjaGFu
Z2UKKyAgICAgICAgYWZ0ZXIgZGlzcGF0Y2hpbmcgYSBtb3VzZW1vdmUgZXZlbnQgYXQgdGhlIGlu
dGVyYWN0aW9uIGxvY2F0aW9uIHRoZW4gV2ViUGFnZSB3aWxsIHJlZnJhaW4KKyAgICAgICAgZnJv
bSBkaXNwYXRjaGluZyB0aGUgbW91c2Vkb3duIGFuZCBtb3VzZXVwIGV2ZW50cyB0aGF0IHdvdWxk
IGhhdmUgc3RhcnRlZCBhIG5hdmlnYXRpb24uCisKKyAgICAgICAgV2hpbGUgdGhpcyBiZWhhdmlv
ciBpcyBuZWNlc3NhcnkgdG8gc3VwcG9ydCBob3ZlciBtZW51cywgaXQgZG9lc24ndCBtYWtlIHNl
bnNlIHdoZW4gdGhlIHVzZXIKKyAgICAgICAgaXMgaW50ZXJhY3Rpbmcgd2l0aCBhIGNvbnRleHQg
bWVudS4gU2luY2UgdGhlIHN5c3RlbSBtaWdodCBkaXNwbGF5IGEgcHJldmlldyBvZiB0aGUgdGFy
Z2V0CisgICAgICAgIFVSTCBmb3VuZCBhdCB0aGUgaW50ZXJhY3Rpb24gbG9jYXRpb24sIHVzZXJz
IGV4cGVjdCB0aGUgIk9wZW4iIGFjdGlvbiB0byBuYXZpZ2F0ZSB0byB0aGF0CisgICAgICAgIHNh
bWUgVVJMIHJhdGhlciB0aGFuIG1lcmVseSBkaXNwbGF5IGEgaG92ZXIgbWVudS4KKworICAgICAg
ICBUaGlzIGNoYW5nZSBvcHRzIHN5bnRoZXRpYyBjbGlja3MgZnJvbSB0aGUgb3BlbiBhY3Rpb24g
b3V0IG9mIGNvbnRlbnQgY2hhbmdlIG9ic2VydmluZyBieQorICAgICAgICBlbnN1cmluZyB0aGF0
IGFuIGludGVyYWN0aW9uIGlzIHN0YXJ0ZWQgd2hlbiBoYW5kbGluZyBfV0tFbGVtZW50QWN0aW9u
VHlwZU9wZW4gKGxpa2Ugd2UgZG8KKyAgICAgICAgZm9yICJDb3B5IiBhbmQgIlNhdmUgSW1hZ2Ui
KSwgdGhlbiBjaGVja2luZyBpZiBXZWJQYWdlOjptX2ludGVyYWN0aW9uTm9kZSBtYXRjaGVzIHRo
ZSBub2RlCisgICAgICAgIGZvdW5kIGluIFdlYlBhZ2U6OmF0dGVtcHRTeW50aGV0aWNDbGljay4g
SWYgaXQgZG9lcywgV2ViUGFnZSBub3cgYnlwYXNzZXMgY29udGVudCBjaGFuZ2UKKyAgICAgICAg
b2JzZXJ2aW5nIGFuZCBjb21wbGV0ZXMgYSBzeW50aGV0aWMgY2xpY2suCisKKyAgICAgICAgTmV3
IEFQSSB0ZXN0OiBFbGVtZW50QWN0aW9uVGVzdHMuT3BlbkxpbmtXaXRoSG92ZXJNZW51CisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW06CisgICAgICAg
ICgrW19XS0VsZW1lbnRBY3Rpb24gX2VsZW1lbnRBY3Rpb25XaXRoVHlwZTpjdXN0b21UaXRsZTph
c3Npc3RhbnQ6XSk6IENoYW5nZWQgdG8gY2FsbAorICAgICAgICAtW1dLQWN0aW9uU2hlZXRBc3Np
c3RhbnQgaGFuZGxlRWxlbWVudEFjdGlvbldpdGhUeXBlOmVsZW1lbnQ6bmVlZHNJbnRlcmFjdGlv
bjpdIGluIHRoZQorICAgICAgICBoYW5kbGVycyBmb3IgX1dLRWxlbWVudEFjdGlvblR5cGVDb3B5
LCBfV0tFbGVtZW50QWN0aW9uVHlwZU9wZW4sCisgICAgICAgIF9XS0VsZW1lbnRBY3Rpb25UeXBl
U2F2ZUltYWdlLCBhbmQgX1dLRWxlbWVudEFjdGlvblR5cGVTaGFyZS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbToKKyAgICAgICAgKC1bV0tBY3Rpb25TaGVl
dEFzc2lzdGFudCBoYW5kbGVFbGVtZW50QWN0aW9uV2l0aFR5cGU6ZWxlbWVudDpuZWVkc0ludGVy
YWN0aW9uOl0pOiBBZGRlZCB0bworICAgICAgICBoYW5kbGUgdGhlIHN1YnNldCBvZiBzdGFuZGFy
ZCBlbGVtZW50IGFjdGlvbnMgdGhhdCBmbG93IHRocm91Z2gKKyAgICAgICAgV0tBY3Rpb25TaGVl
dEFzc2lzdGFudERlbGVnYXRlLiBVc2VkIGEgYm9vbGVhbiBwYXJhbWV0ZXIgdG8gZGVjaWRlIHdo
ZXRoZXIgdGhlIGRlbGVnYXRlCisgICAgICAgIHNob3VsZCBzdGFydCBhbmQgc3RvcCBhbiBpbnRl
cmFjdGlvbiB3aGVuIGhhbmRsaW5nIHRoZSBhY3Rpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9o
aWdobGlnaHRMb25nUHJlc3NSZWNvZ25pemVkOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IGFjdGlvblNoZWV0QXNzaXN0YW50Om9wZW5FbGVtZW50QXRMb2NhdGlvbjpdKTogUmVuYW1lZAor
ICAgICAgICAtX2F0dGVtcHRDbGlja0F0TG9jYXRpb246bW9kaWZpZXJGbGFnczogdG8gLV9hdHRl
bXB0U3ludGhldGljQ2xpY2tBdExvY2F0aW9uOm1vZGlmaWVyRmxhZ3M6LgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IF9hdHRlbXB0U3ludGhldGljQ2xpY2tBdExvY2F0aW9uOm1vZGlmaWVyRmxh
Z3M6XSk6IENoYW5nZWQgdG8gY2FsbAorICAgICAgICBXZWJQYWdlUHJveHk6OmF0dGVtcHRTeW50
aGV0aWNDbGljayBpbnN0ZWFkIG9mIFdlYlBhZ2VQcm94eTo6aGFuZGxlVGFwLgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IF9zaW11bGF0ZUVsZW1lbnRBY3Rpb246YXRMb2NhdGlvbjpdKTogU2V0
CisgICAgICAgIF9sYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0SW50ZXJhY3Rpb25TdGFydCB0
byBiZXR0ZXIgc2ltdWxhdGUgY29udGV4dCBtZW51IGludGVyYWN0aW9ucy4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjphdHRlbXB0U3lu
dGhldGljQ2xpY2spOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjphdHRlbXB0U3ludGhldGljQ2xpY2spOiBSZW5hbWVkIGhhbmRsZVRhcCB0byBh
dHRlbXB0U3ludGhldGljQ2xpY2suIElmIHRoZQorICAgICAgICBub2RlIHJlc3BvbmRpbmcgdG8g
Y2xpY2tzIG1hdGNoZXMgdGhlIG5vZGUgZm91bmQgb24gaW50ZXJhY3Rpb24gc3RhcnQgKG1faW50
ZXJhY3Rpb25Ob2RlKSwKKyAgICAgICAgY2FsbCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0Ns
aWNrIGRpcmVjdGx5LgorCiAyMDIwLTA2LTI0ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25A
YXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQgb25jZSBSQlNQcm9jZXNzTGltaXRh
dGlvbnMuaCBpcyBpbnRyb2R1Y2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tCmluZGV4IDMxZWM4MjFjOWI3ZmQxNzJiZTMw
MDExMDYwNDdlMDQzNDA1YzEyZDIuLjZkYTU3NjBkMzM0Y2ZjMzM1MDMxMDgyNjI1ZGI2ZjM0YTRh
YTVmMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tF
bGVtZW50QWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tFbGVtZW50QWN0aW9uLm1tCkBAIC0xMjcsMjcgKzEyNywxOSBAQCArIChpbnN0YW5jZXR5cGUp
X2VsZW1lbnRBY3Rpb25XaXRoVHlwZTooX1dLRWxlbWVudEFjdGlvblR5cGUpdHlwZSBjdXN0b21U
aXRsZTooTgogICAgIGNhc2UgX1dLRWxlbWVudEFjdGlvblR5cGVDb3B5OgogICAgICAgICB0aXRs
ZSA9IFdFQl9VSV9TVFJJTkdfS0VZKCJDb3B5IiwgIkNvcHkgKEFjdGlvblNoZWV0KSIsICJUaXRs
ZSBmb3IgQ29weSBMaW5rIG9yIEltYWdlIGFjdGlvbiBidXR0b24iKTsKICAgICAgICAgaGFuZGxl
ciA9IF4oV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqYXNzaXN0YW50LCBfV0tBY3RpdmF0ZWRFbGVt
ZW50SW5mbyAqYWN0aW9uSW5mbykgewotICAgICAgICAgICAgaWYgKFthc3Npc3RhbnQuZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudDp3aWxs
U3RhcnRJbnRlcmFjdGlvbldpdGhFbGVtZW50OildKQotICAgICAgICAgICAgICAgIFthc3Npc3Rh
bnQuZGVsZWdhdGUgYWN0aW9uU2hlZXRBc3Npc3RhbnQ6YXNzaXN0YW50IHdpbGxTdGFydEludGVy
YWN0aW9uV2l0aEVsZW1lbnQ6YWN0aW9uSW5mb107Ci0gICAgICAgICAgICBbYXNzaXN0YW50LmRl
bGVnYXRlIGFjdGlvblNoZWV0QXNzaXN0YW50OmFzc2lzdGFudCBwZXJmb3JtQWN0aW9uOldlYktp
dDo6U2hlZXRBY3Rpb246OkNvcHldOwotICAgICAgICAgICAgaWYgKFthc3Npc3RhbnQuZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudERpZFN0
b3BJbnRlcmFjdGlvbjopXSkKLSAgICAgICAgICAgICAgICBbYXNzaXN0YW50LmRlbGVnYXRlIGFj
dGlvblNoZWV0QXNzaXN0YW50RGlkU3RvcEludGVyYWN0aW9uOmFzc2lzdGFudF07CisgICAgICAg
ICAgICBbYXNzaXN0YW50IGhhbmRsZUVsZW1lbnRBY3Rpb25XaXRoVHlwZTp0eXBlIGVsZW1lbnQ6
YWN0aW9uSW5mbyBuZWVkc0ludGVyYWN0aW9uOllFU107CiAgICAgICAgIH07CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgX1dLRWxlbWVudEFjdGlvblR5cGVPcGVuOgogICAgICAgICB0aXRsZSA9
IFdFQl9VSV9TVFJJTkcoIk9wZW4iLCAiVGl0bGUgZm9yIE9wZW4gTGluayBhY3Rpb24gYnV0dG9u
Iik7CiAgICAgICAgIGhhbmRsZXIgPSBeKFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKmFzc2lzdGFu
dCwgX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKmFjdGlvbkluZm8pIHsKLSAgICAgICAgICAgIFth
c3Npc3RhbnQuZGVsZWdhdGUgYWN0aW9uU2hlZXRBc3Npc3RhbnQ6YXNzaXN0YW50IG9wZW5FbGVt
ZW50QXRMb2NhdGlvbjphY3Rpb25JbmZvLl9pbnRlcmFjdGlvbkxvY2F0aW9uXTsKKyAgICAgICAg
ICAgIFthc3Npc3RhbnQgaGFuZGxlRWxlbWVudEFjdGlvbldpdGhUeXBlOnR5cGUgZWxlbWVudDph
Y3Rpb25JbmZvIG5lZWRzSW50ZXJhY3Rpb246WUVTXTsKICAgICAgICAgfTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZVNhdmVJbWFnZToKICAgICAgICAgdGl0
bGUgPSBXRUJfVUlfU1RSSU5HKCJBZGQgdG8gUGhvdG9zIiwgIlRpdGxlIGZvciBBZGQgdG8gUGhv
dG9zIGFjdGlvbiBidXR0b24iKTsKICAgICAgICAgaGFuZGxlciA9IF4oV0tBY3Rpb25TaGVldEFz
c2lzdGFudCAqYXNzaXN0YW50LCBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqYWN0aW9uSW5mbykg
ewotICAgICAgICAgICAgaWYgKFthc3Npc3RhbnQuZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudDp3aWxsU3RhcnRJbnRlcmFjdGlvbldpdGhF
bGVtZW50OildKQotICAgICAgICAgICAgICAgIFthc3Npc3RhbnQuZGVsZWdhdGUgYWN0aW9uU2hl
ZXRBc3Npc3RhbnQ6YXNzaXN0YW50IHdpbGxTdGFydEludGVyYWN0aW9uV2l0aEVsZW1lbnQ6YWN0
aW9uSW5mb107Ci0gICAgICAgICAgICBbYXNzaXN0YW50LmRlbGVnYXRlIGFjdGlvblNoZWV0QXNz
aXN0YW50OmFzc2lzdGFudCBwZXJmb3JtQWN0aW9uOldlYktpdDo6U2hlZXRBY3Rpb246OlNhdmVJ
bWFnZV07Ci0gICAgICAgICAgICBpZiAoW2Fzc2lzdGFudC5kZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKGFjdGlvblNoZWV0QXNzaXN0YW50RGlkU3RvcEludGVyYWN0aW9uOild
KQotICAgICAgICAgICAgICAgIFthc3Npc3RhbnQuZGVsZWdhdGUgYWN0aW9uU2hlZXRBc3Npc3Rh
bnREaWRTdG9wSW50ZXJhY3Rpb246YXNzaXN0YW50XTsKKyAgICAgICAgICAgIFthc3Npc3RhbnQg
aGFuZGxlRWxlbWVudEFjdGlvbldpdGhUeXBlOnR5cGUgZWxlbWVudDphY3Rpb25JbmZvIG5lZWRz
SW50ZXJhY3Rpb246WUVTXTsKICAgICAgICAgfTsKICAgICAgICAgYnJlYWs7CiAjaWYgSEFWRShT
QUZBUklfU0VSVklDRVNfRlJBTUVXT1JLKQpAQCAtMTYxLDcgKzE1Myw3IEBAICsgKGluc3RhbmNl
dHlwZSlfZWxlbWVudEFjdGlvbldpdGhUeXBlOihfV0tFbGVtZW50QWN0aW9uVHlwZSl0eXBlIGN1
c3RvbVRpdGxlOihOCiAgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlOgogICAgICAg
ICB0aXRsZSA9IFdFQl9VSV9TVFJJTkcoIlNoYXJl4oCmIiwgIlRpdGxlIGZvciBTaGFyZSBhY3Rp
b24gYnV0dG9uIik7CiAgICAgICAgIGhhbmRsZXIgPSBeKFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQg
KmFzc2lzdGFudCwgX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKmFjdGlvbkluZm8pIHsKLSAgICAg
ICAgICAgIFthc3Npc3RhbnQuZGVsZWdhdGUgYWN0aW9uU2hlZXRBc3Npc3RhbnQ6YXNzaXN0YW50
IHNoYXJlRWxlbWVudFdpdGhVUkw6YWN0aW9uSW5mby5VUkwgPzogYWN0aW9uSW5mby5pbWFnZVVS
TCByZWN0OmFjdGlvbkluZm8uYm91bmRpbmdSZWN0XTsKKyAgICAgICAgICAgIFthc3Npc3RhbnQg
aGFuZGxlRWxlbWVudEFjdGlvbldpdGhUeXBlOnR5cGUgZWxlbWVudDphY3Rpb25JbmZvIG5lZWRz
SW50ZXJhY3Rpb246Tk9dOwogICAgICAgICB9OwogICAgICAgICBicmVhazsKICAgICBjYXNlIF9X
S0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCAxMjk4YzU1OTA1NDhiMjcyZmViMzJiNzA0Y2JmNzFjNzZh
NjRjOWViLi44NzhlNTcxMDZmYTA2MzIyYmQ1OGUyMjFjNTAyODJiYjRjYmRkYzMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTM1Miw3ICsxMzUyLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgY29tbWl0UG90ZW50aWFsVGFwKE9wdGlvblNldDxXZWJLaXQ6OldlYkV2
ZW50OjpNb2RpZmllcj4sIFRyYW5zYWN0aW9uSUQgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFz
dFRvdWNoU3RhcnQsIFdlYkNvcmU6OlBvaW50ZXJJRCk7CiAgICAgdm9pZCBjYW5jZWxQb3RlbnRp
YWxUYXAoKTsKICAgICB2b2lkIHRhcEhpZ2hsaWdodEF0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYsIHVpbnQ2NF90JiByZXF1ZXN0SUQpOwotICAgIHZvaWQgaGFuZGxlVGFwKGNv
bnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9k
aWZpZXI+LCBUcmFuc2FjdGlvbklEIGxheWVyVHJlZVRyYW5zYWN0aW9uSWRBdExhc3RUb3VjaFN0
YXJ0KTsKKyAgICB2b2lkIGF0dGVtcHRTeW50aGV0aWNDbGljayhjb25zdCBXZWJDb3JlOjpGbG9h
dFBvaW50JiwgT3B0aW9uU2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiwgVHJhbnNhY3Rp
b25JRCBsYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0VG91Y2hTdGFydCk7CiAgICAgdm9pZCBk
aWRSZWNvZ25pemVMb25nUHJlc3MoKTsKICAgICB2b2lkIGhhbmRsZURvdWJsZVRhcEZvckRvdWJs
ZUNsaWNrQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIE9wdGlvblNldDxXZWJFdmVu
dDo6TW9kaWZpZXI+LCBUcmFuc2FjdGlvbklEIGxheWVyVHJlZVRyYW5zYWN0aW9uSWRBdExhc3RU
b3VjaFN0YXJ0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
QWN0aW9uU2hlZXRBc3Npc3RhbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Fj
dGlvblNoZWV0QXNzaXN0YW50LmgKaW5kZXggZjc1NzA5NGU5ODE2YjhiNzNjODVhNmQyMGNiMjQy
ZDdlYzZmMGU1ZC4uMTU2ODdjNGI4N2UxYzYzZjRhYjE0ZjNmNjk5NmRiOGEyZGU0Njc4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lz
dGFudC5oCkBAIC00NCw2ICs0NCw4IEBAIHN0cnVjdCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQ
b3NpdGlvbjsKIEBwcm90b2NvbCBXS0FjdGlvblNoZWV0RGVsZWdhdGU7CiBAcHJvdG9jb2wgVUlD
b250ZXh0TWVudUludGVyYWN0aW9uRGVsZWdhdGU7CiAKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIF9XS0VsZW1lbnRBY3Rpb25UeXBlKTsKKwogQHByb3RvY29sIFdLQWN0aW9uU2hlZXRBc3Np
c3RhbnREZWxlZ2F0ZSA8TlNPYmplY3Q+CiBAcmVxdWlyZWQKIC0gKE9wdGlvbmFsPFdlYktpdDo6
SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24+KXBvc2l0aW9uSW5mb3JtYXRpb25Gb3JB
Y3Rpb25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudDsK
QEAgLTkwLDYgKzkyLDcgQEAgc3RydWN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9u
OwogLSAoQk9PTClpc1Nob3dpbmdTaGVldDsKIC0gKHZvaWQpaW50ZXJhY3Rpb25EaWRTdGFydFdp
dGhQb3NpdGlvbkluZm9ybWF0aW9uOihjb25zdCBXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRp
b25BdFBvc2l0aW9uJilpbmZvcm1hdGlvbjsKIC0gKE5TQXJyYXkgKiljdXJyZW50QXZhaWxhYmxl
QWN0aW9uVGl0bGVzOworLSAodm9pZCloYW5kbGVFbGVtZW50QWN0aW9uV2l0aFR5cGU6KF9XS0Vs
ZW1lbnRBY3Rpb25UeXBlKXR5cGUgZWxlbWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKill
bGVtZW50IG5lZWRzSW50ZXJhY3Rpb246KEJPT0wpbmVlZHNJbnRlcmFjdGlvbjsKICNpZiBVU0Uo
VUlDT05URVhUTUVOVSkKIC0gKE5TQXJyYXk8VUlNZW51RWxlbWVudCAqPiAqKXN1Z2dlc3RlZEFj
dGlvbnNGb3JDb250ZXh0TWVudVdpdGhQb3NpdGlvbkluZm9ybWF0aW9uOihjb25zdCBXZWJLaXQ6
OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uJilwb3NpdGlvbkluZm9ybWF0aW9uOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25T
aGVldEFzc2lzdGFudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNo
ZWV0QXNzaXN0YW50Lm1tCmluZGV4IDA2MjBkYjc0YTAyNjUzZDhjYWU0YzUzZDhkY2VhZmJjYzMw
NDViZTYuLjliMTEwZTJlMTVkMWUzMTA4NTliNThkNzE3MmUxZTUzZGUxMzQ1ODEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50
Lm1tCkBAIC04MTAsNiArODEwLDM1IEBAIC0gKE5TQXJyYXk8VUlNZW51RWxlbWVudCAqPiAqKV9j
b250ZXh0TWVudUludGVyYWN0aW9uOihVSUNvbnRleHRNZW51SW50ZXJhY3Rpb24KIAogI2VuZGlm
IC8vIFVTRShVSUNPTlRFWFRNRU5VKQogCistICh2b2lkKWhhbmRsZUVsZW1lbnRBY3Rpb25XaXRo
VHlwZTooX1dLRWxlbWVudEFjdGlvblR5cGUpdHlwZSBlbGVtZW50OihfV0tBY3RpdmF0ZWRFbGVt
ZW50SW5mbyAqKWVsZW1lbnQgbmVlZHNJbnRlcmFjdGlvbjooQk9PTCluZWVkc0ludGVyYWN0aW9u
Cit7CisgICAgYXV0byBkZWxlZ2F0ZSA9IF9kZWxlZ2F0ZS5nZXQoKTsKKworICAgIGlmIChuZWVk
c0ludGVyYWN0aW9uICYmIFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGFj
dGlvblNoZWV0QXNzaXN0YW50OndpbGxTdGFydEludGVyYWN0aW9uV2l0aEVsZW1lbnQ6KV0pCisg
ICAgICAgIFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDpzZWxmIHdpbGxTdGFydEludGVy
YWN0aW9uV2l0aEVsZW1lbnQ6ZWxlbWVudF07CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBj
YXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBlQ29weToKKyAgICAgICAgW2RlbGVnYXRlIGFjdGlvblNo
ZWV0QXNzaXN0YW50OnNlbGYgcGVyZm9ybUFjdGlvbjpXZWJLaXQ6OlNoZWV0QWN0aW9uOjpDb3B5
XTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZU9wZW46Cisg
ICAgICAgIFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDpzZWxmIG9wZW5FbGVtZW50QXRM
b2NhdGlvbjplbGVtZW50Ll9pbnRlcmFjdGlvbkxvY2F0aW9uXTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVHlwZVNhdmVJbWFnZToKKyAgICAgICAgW2RlbGVnYXRl
IGFjdGlvblNoZWV0QXNzaXN0YW50OnNlbGYgcGVyZm9ybUFjdGlvbjpXZWJLaXQ6OlNoZWV0QWN0
aW9uOjpTYXZlSW1hZ2VdOworICAgICAgICBicmVhazsKKyAgICBjYXNlIF9XS0VsZW1lbnRBY3Rp
b25UeXBlU2hhcmU6CisgICAgICAgIFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDpzZWxm
IHNoYXJlRWxlbWVudFdpdGhVUkw6ZWxlbWVudC5VUkwgPzogZWxlbWVudC5pbWFnZVVSTCByZWN0
OmVsZW1lbnQuYm91bmRpbmdSZWN0XTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAg
IGlmIChuZWVkc0ludGVyYWN0aW9uICYmIFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKGFjdGlvblNoZWV0QXNzaXN0YW50RGlkU3RvcEludGVyYWN0aW9uOildKQorICAgICAg
ICBbZGVsZWdhdGUgYWN0aW9uU2hlZXRBc3Npc3RhbnREaWRTdG9wSW50ZXJhY3Rpb246c2VsZl07
Cit9CisKIC0gKHZvaWQpY2xlYW51cFNoZWV0CiB7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IF9kZWxl
Z2F0ZS5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCAwYTEwNmQyOTY2NjUyOTBjYWI3ODc5NjNlMWZk
ZmNhNmVmNjVlYWY4Li44MDgwMjRiYTllOWQ5YTRkODVlMDQ0NzE3MTMwZjIzMDc4OTVmZGI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5oCkBAIC01MTAsNyArNTEwLDcgQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRF
TlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykK
IC0gKEJPT0wpX2ludGVycHJldEtleUV2ZW50Oig6OldlYkV2ZW50ICopdGhlRXZlbnQgaXNDaGFy
RXZlbnQ6KEJPT0wpaXNDaGFyRXZlbnQ7CiAtICh2b2lkKV9wb3NpdGlvbkluZm9ybWF0aW9uRGlk
Q2hhbmdlOihjb25zdCBXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uJilp
bmZvOwogLSAoQk9PTClfY3VycmVudFBvc2l0aW9uSW5mb3JtYXRpb25Jc1ZhbGlkRm9yUmVxdWVz
dDooY29uc3QgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCYpcmVxdWVzdDsK
LS0gKHZvaWQpX2F0dGVtcHRDbGlja0F0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb24gbW9kaWZp
ZXJGbGFnczooVUlLZXlNb2RpZmllckZsYWdzKW1vZGlmaWVyRmxhZ3M7CistICh2b2lkKV9hdHRl
bXB0U3ludGhldGljQ2xpY2tBdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uIG1vZGlmaWVyRmxh
Z3M6KFVJS2V5TW9kaWZpZXJGbGFncyltb2RpZmllckZsYWdzOwogLSAodm9pZClfd2lsbFN0YXJ0
U2Nyb2xsaW5nT3Jab29taW5nOwogLSAodm9pZClfZGlkU2Nyb2xsOwogLSAodm9pZClfZGlkRW5k
U2Nyb2xsaW5nT3Jab29taW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggM2ViNzM3MjAzMGNjOGY5ZDJh
NzhjOTg4ZjU4OGRmYjVjZTU1YzI1My4uMzczNjI2MGI5MmU1ZTAyNjMyNTJhMWI3MWIyZWJmNjkw
NWYyNDhlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0yNjQyLDcgKzI2NDIsNyBAQCAtICh2b2lkKV9o
aWdobGlnaHRMb25nUHJlc3NSZWNvZ25pemVkOihVSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVy
ICopZ2VzdHVyZVJlYwogICAgICAgICBicmVhazsKICAgICBjYXNlIFVJR2VzdHVyZVJlY29nbml6
ZXJTdGF0ZUVuZGVkOgogICAgICAgICBpZiAoX2xvbmdQcmVzc0NhbkNsaWNrICYmIF9wb3NpdGlv
bkluZm9ybWF0aW9uLmlzRWxlbWVudCkgewotICAgICAgICAgICAgW3NlbGYgX2F0dGVtcHRDbGlj
a0F0TG9jYXRpb246Z2VzdHVyZVJlY29nbml6ZXIuc3RhcnRQb2ludCBtb2RpZmllckZsYWdzOmdl
c3R1cmVSZWNvZ25pemVyTW9kaWZpZXJGbGFncyhnZXN0dXJlUmVjb2duaXplcildOworICAgICAg
ICAgICAgW3NlbGYgX2F0dGVtcHRTeW50aGV0aWNDbGlja0F0TG9jYXRpb246Z2VzdHVyZVJlY29n
bml6ZXIuc3RhcnRQb2ludCBtb2RpZmllckZsYWdzOmdlc3R1cmVSZWNvZ25pemVyTW9kaWZpZXJG
bGFncyhnZXN0dXJlUmVjb2duaXplcildOwogICAgICAgICAgICAgW3NlbGYgX2ZpbmlzaEludGVy
YWN0aW9uXTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBbc2VsZiBfY2FuY2VsSW50ZXJh
Y3Rpb25dOwpAQCAtMjg0NCwxMyArMjg0NCwxMyBAQCAtICh2b2lkKV90d29GaW5nZXJEb3VibGVU
YXBSZWNvZ25pemVkOihVSVRhcEdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZQog
ICAgIF9zbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLT5oYW5kbGVSZXNldE1hZ25pZmljYXRp
b25HZXN0dXJlKGdlc3R1cmVSZWNvZ25pemVyLmxvY2F0aW9uKTsKIH0KIAotLSAodm9pZClfYXR0
ZW1wdENsaWNrQXRMb2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbiBtb2RpZmllckZsYWdzOihVSUtl
eU1vZGlmaWVyRmxhZ3MpbW9kaWZpZXJGbGFncworLSAodm9pZClfYXR0ZW1wdFN5bnRoZXRpY0Ns
aWNrQXRMb2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbiBtb2RpZmllckZsYWdzOihVSUtleU1vZGlm
aWVyRmxhZ3MpbW9kaWZpZXJGbGFncwogewogICAgIGlmICghW3NlbGYgaXNGaXJzdFJlc3BvbmRl
cl0pCiAgICAgICAgIFtzZWxmIGJlY29tZUZpcnN0UmVzcG9uZGVyXTsKIAogICAgIFtfaW5wdXRQ
ZXJpcGhlcmFsIGVuZEVkaXRpbmddOwotICAgIF9wYWdlLT5oYW5kbGVUYXAobG9jYXRpb24sIFdl
YktpdDo6d2ViRXZlbnRNb2RpZmllckZsYWdzKG1vZGlmaWVyRmxhZ3MpLCBfbGF5ZXJUcmVlVHJh
bnNhY3Rpb25JZEF0TGFzdEludGVyYWN0aW9uU3RhcnQpOworICAgIF9wYWdlLT5hdHRlbXB0U3lu
dGhldGljQ2xpY2sobG9jYXRpb24sIFdlYktpdDo6d2ViRXZlbnRNb2RpZmllckZsYWdzKG1vZGlm
aWVyRmxhZ3MpLCBfbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdEludGVyYWN0aW9uU3RhcnQp
OwogfQogCiAtICh2b2lkKXNldFVwVGV4dFNlbGVjdGlvbkFzc2lzdGFudApAQCAtNjkwNCw3ICs2
OTA0LDcgQEAgLSAodm9pZClhY3Rpb25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lz
dGFudCAqKWFzc2lzdGFudCBwZXJmb3JtQWN0aW9uOigKIAogLSAodm9pZClhY3Rpb25TaGVldEFz
c2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBvcGVuRWxlbWVudEF0
TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb24KIHsKLSAgICBbc2VsZiBfYXR0ZW1wdENsaWNrQXRM
b2NhdGlvbjpsb2NhdGlvbiBtb2RpZmllckZsYWdzOjBdOworICAgIFtzZWxmIF9hdHRlbXB0U3lu
dGhldGljQ2xpY2tBdExvY2F0aW9uOmxvY2F0aW9uIG1vZGlmaWVyRmxhZ3M6MF07CiB9CiAKIC0g
KHZvaWQpYWN0aW9uU2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKilhc3Np
c3RhbnQgc2hhcmVFbGVtZW50V2l0aFVSTDooTlNVUkwgKil1cmwgcmVjdDooQ0dSZWN0KWJvdW5k
aW5nUmVjdApAQCAtODc4OCw5ICs4Nzg4LDkgQEAgLSAodm9pZClfc2ltdWxhdGVUZXh0RW50ZXJl
ZDooTlNTdHJpbmcgKil0ZXh0CiAKIC0gKHZvaWQpX3NpbXVsYXRlRWxlbWVudEFjdGlvbjooX1dL
RWxlbWVudEFjdGlvblR5cGUpYWN0aW9uVHlwZSBhdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9u
CiB7Ci0gICAgUmV0YWluUHRyPFdLQ29udGVudFZpZXc+IHByb3RlY3RlZFNlbGYgPSBzZWxmOwot
ICAgIFtzZWxmIGRvQWZ0ZXJQb3NpdGlvbkluZm9ybWF0aW9uVXBkYXRlOlthY3Rpb25UeXBlLCBw
cm90ZWN0ZWRTZWxmXSAoV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiBp
bmZvKSB7Ci0gICAgICAgIF9XS0VsZW1lbnRBY3Rpb24gKmFjdGlvbiA9IFtfV0tFbGVtZW50QWN0
aW9uIF9lbGVtZW50QWN0aW9uV2l0aFR5cGU6YWN0aW9uVHlwZSBhc3Npc3RhbnQ6cHJvdGVjdGVk
U2VsZi0+X2FjdGlvblNoZWV0QXNzaXN0YW50LmdldCgpXTsKKyAgICBfbGF5ZXJUcmVlVHJhbnNh
Y3Rpb25JZEF0TGFzdEludGVyYWN0aW9uU3RhcnQgPSBkb3duY2FzdDxXZWJLaXQ6OlJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCpfcGFnZS0+ZHJhd2luZ0FyZWEoKSkubGFzdENvbW1p
dHRlZExheWVyVHJlZVRyYW5zYWN0aW9uSUQoKTsKKyAgICBbc2VsZiBkb0FmdGVyUG9zaXRpb25J
bmZvcm1hdGlvblVwZGF0ZTpbYWN0aW9uVHlwZSwgc2VsZiwgcHJvdGVjdGVkU2VsZiA9IHJldGFp
blB0cihzZWxmKV0gKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gaW5m
bykgeworICAgICAgICBfV0tFbGVtZW50QWN0aW9uICphY3Rpb24gPSBbX1dLRWxlbWVudEFjdGlv
biBfZWxlbWVudEFjdGlvbldpdGhUeXBlOmFjdGlvblR5cGUgYXNzaXN0YW50Ol9hY3Rpb25TaGVl
dEFzc2lzdGFudC5nZXQoKV07CiAgICAgICAgIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICplbGVt
ZW50SW5mbyA9IFtfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyBhY3RpdmF0ZWRFbGVtZW50SW5mb1dp
dGhJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbjppbmZvIHVzZXJJbmZvOm5pbF07CiAg
ICAgICAgIFthY3Rpb24gcnVuQWN0aW9uV2l0aEVsZW1lbnRJbmZvOmVsZW1lbnRJbmZvXTsKICAg
ICB9IGZvclJlcXVlc3Q6V2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdChXZWJD
b3JlOjpyb3VuZGVkSW50UG9pbnQobG9jYXRpb24pKV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCAxYWFiOGY1OTVkZmUyYjdmYWY0ZTFm
ZDJmYThiZWU0YjcxNTJhOTExLi4wNTA5Y2VjZGU1MjQ1N2NlNzZhNTg3YzhiNmI1Zjg1MGQ3NTEx
ZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW0KQEAgLTkwNSw5ICs5MDUsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dGFwSGlnaGxpZ2h0QXRQ
b3NpdGlvbihjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwb3NpdGlvbiwgdQogICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OlRhcEhpZ2hsaWdodEF0UG9zaXRpb24ocmVxdWVzdElELCBwb3Np
dGlvbikpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlVGFwKGNvbnN0IEZsb2F0UG9p
bnQmIGxvY2F0aW9uLCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMsIFRy
YW5zYWN0aW9uSUQgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRvdWNoU3RhcnQpCit2b2lk
IFdlYlBhZ2VQcm94eTo6YXR0ZW1wdFN5bnRoZXRpY0NsaWNrKGNvbnN0IEZsb2F0UG9pbnQmIGxv
Y2F0aW9uLCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMsIFRyYW5zYWN0
aW9uSUQgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRvdWNoU3RhcnQpCiB7Ci0gICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6SGFuZGxlVGFwKHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbiks
IG1vZGlmaWVycywgbGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdFRvdWNoU3RhcnQpKTsKKyAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpBdHRlbXB0U3ludGhldGljQ2xpY2socm91bmRlZElu
dFBvaW50KGxvY2F0aW9uKSwgbW9kaWZpZXJzLCBsYXllclRyZWVUcmFuc2FjdGlvbklkQXRMYXN0
VG91Y2hTdGFydCkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjb2duaXplTG9uZ1By
ZXNzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA2
YTdmNjg4Y2U4YmI2MTJlMTY4NWQ3MjIwZDEzMzkyMWIxYzZhNDhjLi40MjQwMTk4Y2UyZWI3MTQ5
ZTg1MGRkZmVkY2EzODlkMDMwZDIxNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCkBAIC02NzYsNyArNjc2LDcgQEAgcHVibGljOgogICAgIGJvb2wgYWxs
b3dzVXNlclNjYWxpbmcoKSBjb25zdDsKICAgICBib29sIGhhc1N0YWJsZVBhZ2VTY2FsZUZhY3Rv
cigpIGNvbnN0IHsgcmV0dXJuIG1faGFzU3RhYmxlUGFnZVNjYWxlRmFjdG9yOyB9CiAKLSAgICB2
b2lkIGhhbmRsZVRhcChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIE9wdGlvblNldDxXZWJLaXQ6
OldlYkV2ZW50OjpNb2RpZmllcj4sIFRyYW5zYWN0aW9uSUQgbGFzdExheWVyVHJlZVRyYW5zYWN0
aW9uSWQpOworICAgIHZvaWQgYXR0ZW1wdFN5bnRoZXRpY0NsaWNrKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiwgT3B0aW9uU2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiwgVHJhbnNhY3Rp
b25JRCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCk7CiAgICAgdm9pZCBwb3RlbnRpYWxUYXBB
dFBvc2l0aW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYs
IGJvb2wgc2hvdWxkUmVxdWVzdE1hZ25pZmljYXRpb25JbmZvcm1hdGlvbik7CiAgICAgdm9pZCBj
b21taXRQb3RlbnRpYWxUYXAoT3B0aW9uU2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiwg
VHJhbnNhY3Rpb25JRCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCwgV2ViQ29yZTo6UG9pbnRl
cklEKTsKICAgICB2b2lkIGNvbW1pdFBvdGVudGlhbFRhcEZhaWxlZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXgg
MTZhZjMxN2U4ODQ2ZjVmM2Y5NmMwODBiNGNhYTg3NWE2YTQwMDBkNC4uNjJiOTA5YTE3ODM5ZmUy
ODE3ODFiOGE4Mjc1YjljNTNmYzY5YTU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC01NSw3ICs1NSw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIAogICAgIFNldFNjcmVlbklz
QmVpbmdDYXB0dXJlZChib29sIGNhcHR1cmVkKQogCi0gICAgSGFuZGxlVGFwKFdlYkNvcmU6Oklu
dFBvaW50IHBvaW50LCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlm
aWVycywgV2ViS2l0OjpUcmFuc2FjdGlvbklEIGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkKQor
ICAgIEF0dGVtcHRTeW50aGV0aWNDbGljayhXZWJDb3JlOjpJbnRQb2ludCBwb2ludCwgT3B0aW9u
U2V0PFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMsIFdlYktpdDo6VHJhbnNh
Y3Rpb25JRCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKICAgICBQb3RlbnRpYWxUYXBBdFBv
c2l0aW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViQ29yZTo6RmxvYXRQb2ludCBwb2ludCwgYm9v
bCBzaG91bGRSZXF1ZXN0TWFnbmlmaWNhdGlvbkluZm9ybWF0aW9uKQogICAgIENvbW1pdFBvdGVu
dGlhbFRhcChPcHRpb25TZXQ8V2ViS2l0OjpXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycywg
V2ViS2l0OjpUcmFuc2FjdGlvbklEIGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkLCBXZWJDb3Jl
OjpQb2ludGVySUQgcG9pbnRlcklkKQogICAgIENhbmNlbFBvdGVudGlhbFRhcCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4
IGZlMzc0MzcwMTliODhhYWMwMWEwZDYzNDc4YzcxYjVjMGY0NjQ2MDkuLmY2ZTkyYjUzODA5NGVh
YzY2ZmFjM2U5NjBmZGM5ZmQ1NDdkYWZjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC04NjcsNyArODY3LDcgQEAgdm9p
ZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9D
bGljaywgY29uc3QgV2ViQ29yZToKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRp
ZENvbXBsZXRlU3ludGhldGljQ2xpY2soKSk7CiB9CiAKLXZvaWQgV2ViUGFnZTo6aGFuZGxlVGFw
KGNvbnN0IEludFBvaW50JiBwb2ludCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNb2RpZmllcj4gbW9k
aWZpZXJzLCBUcmFuc2FjdGlvbklEIGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkKQordm9pZCBX
ZWJQYWdlOjphdHRlbXB0U3ludGhldGljQ2xpY2soY29uc3QgSW50UG9pbnQmIHBvaW50LCBPcHRp
b25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2RpZmllcnMsIFRyYW5zYWN0aW9uSUQgbGFzdExh
eWVyVHJlZVRyYW5zYWN0aW9uSWQpCiB7CiAgICAgRmxvYXRQb2ludCBhZGp1c3RlZFBvaW50Owog
ICAgIE5vZGUqIG5vZGVSZXNwb25kaW5nVG9DbGljayA9IG1fcGFnZS0+bWFpbkZyYW1lKCkubm9k
ZVJlc3BvbmRpbmdUb0NsaWNrRXZlbnRzKHBvaW50LCBhZGp1c3RlZFBvaW50KTsKQEAgLTg3Niw2
ICs4NzYsOCBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZVRhcChjb25zdCBJbnRQb2ludCYgcG9pbnQs
IE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZAogCiAgICAgaWYgKCFmcmFtZVJlc3Bv
bmRpbmdUb0NsaWNrIHx8IGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkIDwgV2ViRnJhbWU6OmZy
b21Db3JlRnJhbWUoKmZyYW1lUmVzcG9uZGluZ1RvQ2xpY2spLT5maXJzdExheWVyVHJlZVRyYW5z
YWN0aW9uSURBZnRlckRpZENvbW1pdExvYWQoKSkKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWROb3RIYW5kbGVUYXBBc0NsaWNrKGFkanVzdGVkSW50UG9pbnQpKTsKKyAg
ICBlbHNlIGlmIChtX2ludGVyYWN0aW9uTm9kZSA9PSBub2RlUmVzcG9uZGluZ1RvQ2xpY2spCisg
ICAgICAgIGNvbXBsZXRlU3ludGhldGljQ2xpY2soKm5vZGVSZXNwb25kaW5nVG9DbGljaywgYWRq
dXN0ZWRQb2ludCwgbW9kaWZpZXJzLCBXZWJDb3JlOjpPbmVGaW5nZXJUYXApOwogICAgIGVsc2UK
ICAgICAgICAgaGFuZGxlU3ludGhldGljQ2xpY2soKm5vZGVSZXNwb25kaW5nVG9DbGljaywgYWRq
dXN0ZWRQb2ludCwgbW9kaWZpZXJzKTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlODk5MDIxNjgzMjJhYzI5ZWI3ZjQxMWFhMDhjNjc2MGJm
YjllZjY3Li40NTQyZTk4NjAyM2JmYzQ4YThmZTZhYmQzNDQzNTc4N2M5MTI2ODQzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDYtMjMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAg
IFtpT1NdIE9wZW4gZWxlbWVudCBhY3Rpb25zIHNvbWV0aW1lcyByZXN1bHQgaW4gYSBob3ZlciBp
bnN0ZWFkIG9mIGEgY2xpY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMzUzMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQxNzY3MDc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkZWQgYW4gQVBJIHRl
c3QuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9FbGVtZW50
QWN0aW9uVGVzdHMubW06IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvaW9z
L2xpbmstd2l0aC1ob3Zlci1tZW51Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTA2LTI0ICBDYWl0bGlu
IFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0pTQ10gYWRkIG1pY3JvYmVu
Y2htYXJrIGZvciBvcF9nZXRfcHJpdmF0ZV9uYW1lCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDI4OWEwNzA1NGI5ZWI0YzdlMTljNzU4MzAxZmJmNmU5ZTM1MzFkNmMuLmYxYTk5NDlmNzAzNDBi
ZTc0MzYyOTQ1NzVmOGQxNGNmMDljODlhNTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04
MzksNiArODM5LDggQEAKIAkJOUM2NERDMzIxRDc2MTk4QTAwNEI1OThFIC8qIFlvdVR1YmVQbHVn
aW5SZXBsYWNlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5QzY0REMzMTFENzYxOThBMDA0QjU5OEUgLyogWW91VHViZVBsdWdpblJlcGxhY2Vt
ZW50LmNwcCAqLzsgfTsKIAkJQTEwRjA0N0UxRTNBRDI5QzAwQzk1RTE5IC8qIE5TRmlsZU1hbmFn
ZXJFeHRyYXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMTBGMDQ3QzFFM0FEMjlDMDBDOTVFMTkgLyogTlNGaWxlTWFuYWdlckV4dHJhcy5tbSAqLzsg
fTsKIAkJQTExNDZBOEQxRDJENzExNTAwMEZFNzEwIC8qIENvbnRlbnRGaWx0ZXJpbmcubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE0NkE4QTFEMkQ3
MDRGMDAwRkU3MTAgLyogQ29udGVudEZpbHRlcmluZy5tbSAqLzsgfTsKKwkJQTExRTdEQTAyNEEx
NjlGOTAwMDI2NzQ1IC8qIGxpbmstd2l0aC1ob3Zlci1tZW51Lmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExRTdEOUYyNEExNjlFMjAw
MDI2NzQ1IC8qIGxpbmstd2l0aC1ob3Zlci1tZW51Lmh0bWwgKi87IH07CisJCUExMUU3REEzMjRB
MTdEMjUwMDAyNjc0NSAvKiBFbGVtZW50QWN0aW9uVGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTFFN0RBMjI0QTE3QzdEMDAwMjY3NDUgLyog
RWxlbWVudEFjdGlvblRlc3RzLm1tICovOyB9OwogCQlBMTI1NDc4RjFEQjE4Qjk0MDAzNTg1NjQg
LyogTG9hZERhdGFXaXRoTmlsTUlNRVR5cGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTI1NDc4RDFEQjE4Qjk0MDAzNTg1NjQgLyogTG9hZERhdGFX
aXRoTmlsTUlNRVR5cGUubW0gKi87IH07CiAJCUExMkREQkZCMUU4MzZGMDcwMENGNkNBRSAvKiBS
ZW5kZXJlZEltYWdlV2l0aE9wdGlvbnMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMTJEREJGOTFFODM2RjA3MDBDRjZDQUUgLyogUmVuZGVyZWRJbWFn
ZVdpdGhPcHRpb25zLm1tICovOyB9OwogCQlBMTJEREMwMDFFODM3M0U3MDBDRjZDQUUgLyogcmVu
ZGVyZWQtaW1hZ2UtZXhjbHVkaW5nLW92ZXJmbG93Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEyRERCRkYxRTgzNzNDMTAwQ0Y2Q0FF
IC8qIHJlbmRlcmVkLWltYWdlLWV4Y2x1ZGluZy1vdmVyZmxvdy5odG1sICovOyB9OwpAQCAtMTIy
Nyw3ICsxMjI5LDYgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNlczsKIAkJ
CWRzdFN1YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCi0JCQkJNTc1MUIyOEEyNDlENUJD
NTAwNjY0QzJBIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtaGlkLXBpbi1n
ZXQtcGluLXRva2VuLWZha2UtcGluLWludmFsaWQtZXJyb3ItcmV0cnkuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKIAkJCQk1NUE4MTdGRjIxODEwMjFBMDAwNEEzOUEgLyogMTAweDEwMC1yZWQu
dGdhIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTFBOUU1MkM5MTNFNjVFRjQwMDY5MTdGNSAv
KiAxOC1jaGFyYWN0ZXJzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTVBODE4MDAy
MTgxMDIyMTAwMDRBMzlBIC8qIDQwMHg0MDAtZ3JlZW4ucG5nIGluIENvcHkgUmVzb3VyY2VzICov
LApAQCAtMTQ1Miw2ICsxNDUzLDcgQEAKIAkJCQlGNDYxMjhENDIxMUU0MEZEMDBEOUZBREIgLyog
bGluay1pbi1pZnJhbWUtYW5kLWlucHV0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJ
ODM2MUYxNzgxRTYxMEI0RTAwNzU5QjI1IC8qIGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUt
d2l0aC1zbGFzaGVzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJODM0OUQzQzQxREI5
NzI4RTAwNEE5RjY1IC8qIGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKKwkJCQlBMTFFN0RBMDI0QTE2OUY5MDAwMjY3NDUgLyogbGluay13aXRo
LWhvdmVyLW1lbnUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkzMTI4QTgxMzIzNzYz
RkFDMDBEOTBENDAgLyogbGluay13aXRoLWltYWdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJMzc4RTY0NzkxNjMyNzA3NDAwQjZDNjc2IC8qIGxpbmstd2l0aC10aXRsZS5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3MzI1NUE2MjIxMzlCQzcwMDM5NkFFOCAvKiBsb2Fk
LXdlYi1hcmNoaXZlLTEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE1OTEsNiArMTU5
Myw3IEBACiAJCQkJNTdDNjI0NTAyMzQ2QzIxRTAwMzgzRkU3IC8qIHdlYi1hdXRoZW50aWNhdGlv
bi1nZXQtYXNzZXJ0aW9uLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc4REE0NDgy
M0VDRDA5QjAwMjQ2MDEwIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtaGlk
LXBpbi1hdXRoLWJsb2NrZWQtZXJyb3IuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1
NzBEMjZGNDIzQzNDQTZBMDBENUNGNjcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVu
dGlhbC1oaWQtcGluLWdldC1rZXktYWdyZWVtZW50LWVycm9yLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8sCisJCQkJNTc1MUIyOEEyNDlENUJDNTAwNjY0QzJBIC8qIHdlYi1hdXRoZW50aWNhdGlv
bi1tYWtlLWNyZWRlbnRpYWwtaGlkLXBpbi1nZXQtcGluLXRva2VuLWZha2UtcGluLWludmFsaWQt
ZXJyb3ItcmV0cnkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1NzhEQTQ0MjIzRUND
N0EwMDAyNDYwMTAgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1oaWQtcGlu
LWdldC1waW4tdG9rZW4tcGluLWF1dGgtYmxvY2tlZC1lcnJvci5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCTU3OERBNDQ2MjNFQ0NDMEEwMDI0NjAxMCAvKiB3ZWItYXV0aGVudGljYXRp
b24tbWFrZS1jcmVkZW50aWFsLWhpZC1waW4tZ2V0LXBpbi10b2tlbi1waW4tYXV0aC1pbnZhbGlk
LWVycm9yLXJldHJ5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTcwRDI2RkEyM0Mz
RjI1MTAwRDVDRjY3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtaGlkLXBp
bi1nZXQtcGluLXRva2VuLXBpbi1ibG9ja2VkLWVycm9yLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCkBAIC0yMzkzLDYgKzIzOTYsOCBAQAogCQk5QzY0REMzMTFENzYxOThBMDA0QjU5OEUgLyog
WW91VHViZVBsdWdpblJlcGxhY2VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFlvdVR1YmVQbHVnaW5SZXBsYWNlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUExMEYwNDdDMUUzQUQyOUMwMEM5NUUxOSAvKiBOU0ZpbGVNYW5hZ2VyRXh0
cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTlNGaWxlTWFu
YWdlckV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTExNDZBOEExRDJE
NzA0RjAwMEZFNzEwIC8qIENvbnRlbnRGaWx0ZXJpbmcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBDb250ZW50RmlsdGVyaW5nLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBMTFFN0Q5RjI0QTE2OUUyMDAwMjY3NDUgLyogbGluay13aXRoLWhvdmVy
LW1lbnUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsaW5rLXdpdGgtaG92ZXItbWVudS5odG1sIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTExRTdEQTIyNEExN0M3RDAwMDI2NzQ1IC8qIEVsZW1l
bnRBY3Rpb25UZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEVsZW1lbnRBY3Rpb25UZXN0
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTEyNTQ3OEQxREIxOEI5NDAwMzU4
NTY0IC8qIExvYWREYXRhV2l0aE5pbE1JTUVUeXBlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gTG9hZERhdGFXaXRoTmlsTUlNRVR5cGUubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUExMkREQkY5MUU4MzZGMDcwMENGNkNBRSAvKiBSZW5kZXJlZElt
YWdlV2l0aE9wdGlvbnMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBSZW5kZXJlZEltYWdlV2l0aE9wdGlvbnMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUExMkREQkZDMUU4MzZGRjEwMENGNkNBRSAvKiBSZW5kZXJlZEltYWdlV2l0aE9wdGlvbnNQ
bHVnSW4ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZW5kZXJl
ZEltYWdlV2l0aE9wdGlvbnNQbHVnSW4ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0zNDM4LDYgKzM0NDMsNyBAQAogCQkJCUY0MkQ2MzQzMjJBMTcyOUYwMEQyRkIzQSAvKiBBdXRv
Y29ycmVjdGlvblRlc3RzSU9TLm1tICovLAogCQkJCTQ0MDc3QkIwMjMxNDQ5RDIwMDE3OUUyRCAv
KiBEYXRhRGV0ZWN0b3JzVGVzdElPUy5tbSAqLywKIAkJCQlGNEQ0RjNCNzFFNEUzNkU0MDBCQjI3
NjcgLyogRHJhZ0FuZERyb3BUZXN0c0lPUy5tbSAqLywKKwkJCQlBMTFFN0RBMjI0QTE3QzdEMDAw
MjY3NDUgLyogRWxlbWVudEFjdGlvblRlc3RzLm1tICovLAogCQkJCUY0Q0YzMjdGMjM2NjU1MjIw
MEQzQUQwNyAvKiBFbnRlcktleUhpbnRUZXN0cy5tbSAqLywKIAkJCQlGNEJDMEIxMzIxNDZDODQ5
MDAyQTA0NzggLyogRm9jdXNQcmVzZXJ2YXRpb25UZXN0cy5tbSAqLywKIAkJCQlDREE5M0RBQzIy
RjRFQzIyMDA0OTBBNjkgLyogRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljVGVzdHMuY3BwICov
LApAQCAtMzc5Miw2ICszNzk4LDcgQEAKIAkJCQkwRjE2QkVENzIzMDRBMUQxMDBCNEExNjcgLyog
Y29tcG9zaXRlZC5odG1sICovLAogCQkJCUNFREExMjQwMjQzN0M5RUEwMEMyOEE5RSAvKiBlZGl0
YWJsZS1yZWdpb24tY29tcG9zaXRlZC1hbmQtbm9uLWNvbXBvc2l0ZWQtb3ZlcmxhcC5odG1sICov
LAogCQkJCUNFNkQwRUUyMjQyNkI4RUQwMDJBRDkwMSAvKiBpbnNlcnQtdGV4dC5odG1sICovLAor
CQkJCUExMUU3RDlGMjRBMTY5RTIwMDAyNjc0NSAvKiBsaW5rLXdpdGgtaG92ZXItbWVudS5odG1s
ICovLAogCQkJCTBGMzQwNzc3MjMwMzgyNTQwMDYwQTFBMCAvKiBvdmVyZmxvdy1zY3JvbGwuaHRt
bCAqLywKIAkJCQlBMUM0RkI3MjFCQUNEMUI3MDAzNzQyRDAgLyogcGFnZXMucGFnZXMgKi8sCiAJ
CQkJQ0U2RTgxQTMyMEE5MzNCODAwRTJDODBGIC8qIHNldC10aW1lb3V0LWZ1bmN0aW9uLmh0bWwg
Ki8sCkBAIC00ODQ1LDYgKzQ4NTIsNyBAQAogCQkJCTgzNDEzOEM3MjAzMjYxQ0EwMEYyNjk2MCAv
KiBBc3luY1BvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTdDQ0U3RUI0MUE0MTFBN0UwMDQ0N0M0QyAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzc2MEM0RjEyMTEyNDlBRjAwMjMzQUNDIC8qIEF0dHJTdHlsZS5tbSBpbiBT
b3VyY2VzICovLAorCQkJCUNERUQzNDJGMjQ5RERFMEUwMDAyQUU3QSAvKiBBdWRpb1JvdXRpbmdB
cmJpdHJhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQzhFNDhEMUJDNUNCNDUwMDU5NEZF
QyAvKiBBdWRpb1Nlc3Npb25DYXRlZ29yeUlPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0MkQ2
MzQ0MjJBMTcyOUYwMEQyRkIzQSAvKiBBdXRvY29ycmVjdGlvblRlc3RzSU9TLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0M4M0UwQjkxRDBBNjRGMTAwRkVCQ0YzIC8qIEF1dG9MYXlvdXRJbnRlZ3Jh
dGlvbi5tbSBpbiBTb3VyY2VzICovLApAQCAtNDg2Miw3ICs0ODcwLDYgQEAKIAkJCQkxQzJCODE4
MDFDODkxRTdDMDBBNTUyOUYgLyogQ2FuY2VsRm9udFN1YnJlc291cmNlLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0NDRTdFQjYxQTQxMUE3RTAwNDQ3QzRDIC8qIENhbmNlbExvYWRGcm9tUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTA0MTFEMEE2M0YyMDBG
RUJDRjMgLyogQ2FuZGlkYXRlVGVzdHMubW0gaW4gU291cmNlcyAqLywKLQkJCQlDREVEMzQyRjI0
OURERTBFMDAwMkFFN0EgLyogQXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24ubW0gaW4gU291cmNlcyAq
LywKIAkJCQk3Q0NFN0VFNzFBNDExQUU2MDA0NDdDNEMgLyogQ2FuSGFuZGxlUmVxdWVzdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwN0MwNDZDQTFFNDI2MkE4MDA3MjAxRTcgLyogQ0FSaW5nQnVm
ZmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3MzAzQkNCMjAwODM3NjUwMDM1NTk2NSAvKiBD
Qk9SUmVhZGVyVGVzdC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTQ5NDksNiArNDk1Niw3IEBACiAJ
CQkJNUMwQkY4OTIxREQ1OTlCNjAwQjAwMzI4IC8qIEVhcmx5S1ZPQ3Jhc2gubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3Q0NFN0VFMDFBNDExQTlBMDA0NDdDNEMgLyogRWRpdG9yQ29tbWFuZHMubW0g
aW4gU291cmNlcyAqLywKIAkJCQlGNDREMDY0NzFGMzk2MjdBMDAxQTBFMjkgLyogRWRpdG9yU3Rh
dGVUZXN0cy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUExMUU3REEzMjRBMTdEMjUwMDAyNjc0NSAv
KiBFbGVtZW50QWN0aW9uVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VCRjFBNDEx
QTdFMDA0NDdDNEMgLyogRWxlbWVudEF0UG9pbnRJbldlYkZyYW1lLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzEzRDgyRDkyNDE2RjEzMjAwQTYyNzkzIC8qIEVuYWJsZUFjY2Vzc2liaWxpdHkubW0g
aW4gU291cmNlcyAqLywKIAkJCQlGNENGMzI4MDIzNjY1NTIyMDBEM0FEMDcgLyogRW50ZXJLZXlI
aW50VGVzdHMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvaW9zL0VsZW1lbnRBY3Rpb25UZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvaW9zL0VsZW1lbnRBY3Rpb25UZXN0cy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjU3MzFkM2NlNGU4
NjFlZjFjNzJlNjI3M2RiMDIyOGVkMjNiNmY2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9pb3MvRWxlbWVudEFjdGlvblRlc3RzLm1tCkBAIC0wLDAgKzEsODYg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlRlc3RDb2NvYS5o
IgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2ltcG9ydCAiVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZS5oIgorI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8V2ViS2l0L1dL
V2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsK
Kworc3RhdGljIHZvaWQgcnVuVGVzdChUZXN0V0tXZWJWaWV3ICp3ZWJWaWV3LCBUZXN0TmF2aWdh
dGlvbkRlbGVnYXRlICpuYXZpZ2F0aW9uRGVsZWdhdGUsIE5TU3RyaW5nICpzZWxlY3RvcikKK3sK
KyAgICBfX2Jsb2NrIGJvb2wgbW91c2VNb3ZlZCA9IGZhbHNlOworICAgIF9fYmxvY2sgYm9vbCBu
YXZpZ2F0aW9uQXR0ZW1wdGVkID0gZmFsc2U7CisgICAgX19ibG9jayBib29sIGRvbmUgPSBmYWxz
ZTsKKworICAgIG5hdmlnYXRpb25EZWxlZ2F0ZS5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uID0gXihXS05hdmlnYXRpb25BY3Rpb24gKm5hdmlnYXRpb25BY3Rpb24sIHZvaWQgKF5kZWNp
c2lvbkhhbmRsZXIpKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSkpIHsKKyAgICAgICAgZGVjaXNp
b25IYW5kbGVyKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUNhbmNlbCk7CisgICAgICAgIEVYUEVD
VF9GQUxTRShtb3VzZU1vdmVkKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKG5hdmlnYXRpb25BdHRl
bXB0ZWQpOworICAgICAgICBFWFBFQ1RfTlNfRVFVQUwoQCJodHRwczovL3d3dy5hcHBsZS5jb20v
IiwgbmF2aWdhdGlvbkFjdGlvbi5yZXF1ZXN0LlVSTC5hYnNvbHV0ZVN0cmluZyk7CisgICAgICAg
IG5hdmlnYXRpb25BdHRlbXB0ZWQgPSB0cnVlOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9
OworCisgICAgW3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAIm1vdXNlbW92
ZSIgYWN0aW9uOl57CisgICAgICAgIGlmIChtb3VzZU1vdmVkKQorICAgICAgICAgICAgZG9uZSA9
IHRydWU7CisgICAgICAgIG1vdXNlTW92ZWQgPSB0cnVlOworICAgIH1dOworCisgICAgaWQgYXJy
YXkgPSBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OltOU1N0cmluZyBzdHJp
bmdXaXRoRm9ybWF0OkAiYm91bmRpbmdDbGllbnRSZWN0QXJyYXkoJyVAJykiLCBzZWxlY3Rvcl1d
OworICAgIGF1dG8gYm91bmRpbmdSZWN0ID0gQ0dSZWN0TWFrZShbYXJyYXlbMF0gZmxvYXRWYWx1
ZV0sIFthcnJheVsxXSBmbG9hdFZhbHVlXSwgW2FycmF5WzJdIGZsb2F0VmFsdWVdLCBbYXJyYXlb
M10gZmxvYXRWYWx1ZV0pOworICAgIFt3ZWJWaWV3IF9zaW11bGF0ZUVsZW1lbnRBY3Rpb246X1dL
RWxlbWVudEFjdGlvblR5cGVPcGVuIGF0TG9jYXRpb246Q0dQb2ludE1ha2UoQ0dSZWN0R2V0TWlk
WChib3VuZGluZ1JlY3QpLCBDR1JlY3RHZXRNaWRZKGJvdW5kaW5nUmVjdCkpXTsKKworICAgIFV0
aWw6OnJ1bigmZG9uZSk7CisKKyAgICBFWFBFQ1RfRkFMU0UobW91c2VNb3ZlZCk7CisgICAgRVhQ
RUNUX1RSVUUobmF2aWdhdGlvbkF0dGVtcHRlZCk7CisKKyAgICBuYXZpZ2F0aW9uRGVsZWdhdGUu
ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiA9IG5pbDsKKyAgICBbd2ViVmlldyBjbGVh
ck1lc3NhZ2VIYW5kbGVyczpAWyBAIm1vdXNlbW92ZSIgXV07Cit9CisKK1RFU1QoRWxlbWVudEFj
dGlvblRlc3RzLCBPcGVuTGlua1dpdGhIb3Zlck1lbnUpCit7CisgICAgYXV0byBmcmFtZSA9IENH
UmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tU
ZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOmZyYW1lXSk7CisgICAgW3dlYlZpZXcg
c3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAibGluay13aXRoLWhvdmVyLW1lbnUiXTsK
KworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3ROYXZpZ2F0aW9u
RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdh
dGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXTsKKworICAgIHJ1blRlc3Qod2ViVmlldy5nZXQo
KSwgbmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpLCBAIiNsaW5rIik7CisgICAgcnVuVGVzdCh3ZWJW
aWV3LmdldCgpLCBuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCksIEAiI2xpbmsiKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlM
WSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL2xpbmstd2l0aC1o
b3Zlci1tZW51Lmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9saW5rLXdpdGgt
aG92ZXItbWVudS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiOWU1ZjM0ZTM4YWQzNWQ2MjE5ODZlYmQ0MmI2
MTYyMjNiZDY0Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L2lvcy9saW5rLXdpdGgtaG92ZXItbWVudS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBuYW1lPSd2aWV3cG9ydCcgY29udGVu
dD0nd2lkdGg9ZGV2aWNlLXdpZHRoJz4KKyAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAg
ICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKKyAgICAgICAgfQorCisgICAgICAgIHVsIHsKKyAgICAg
ICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CisgICAgICAgIH0KKworICAgICAgICBsaSA+IHVsIHsK
KyAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICAgICAgICAgIHBhZGRpbmc6IDA7
CisgICAgICAgIH0KKworICAgICAgICBsaTpob3ZlciA+IHVsIHsKKyAgICAgICAgICAgIHZpc2li
aWxpdHk6IHZpc2libGU7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+Cisg
ICAgICAgIGNvbnN0IGJvdW5kaW5nQ2xpZW50UmVjdEFycmF5ID0gKHNlbGVjdG9yKSA9PiB7Cisg
ICAgICAgICAgICBjb25zdCByZWN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvciku
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICByZXR1cm4gW3JlY3QubGVmdCwg
cmVjdC50b3AsIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0XTsKKyAgICAgICAgfTsKKworICAgICAg
ICBhZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHdlYmtpdC5tZXNzYWdl
SGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoZXZlbnQudHlwZSkpOworICAgIDwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHVsPgorICAgICAgICA8bGk+CisgICAgICAgICAg
ICA8YSBpZD0nbGluaycgaHJlZj0naHR0cHM6Ly93d3cuYXBwbGUuY29tLyc+bGluazwvYT4KKyAg
ICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0nIyc+aG92ZXIgbWVu
dTwvYT48L2xpPgorICAgICAgICAgICAgPC91bD4KKyAgICAgICAgPC9saT4KKyAgICA8L3VsPgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>