<?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>161053</bug_id>
          
          <creation_ts>2016-08-22 12:40:40 -0700</creation_ts>
          <short_desc>Rename MathMLInlineContainerElement to MathMLPresentationElement</short_desc>
          <delta_ts>2016-08-23 04:38:17 -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>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>161050</dependson>
          <blocked>160543</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>alex</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>rego</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1221937</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-22 12:40:40 -0700</bug_when>
    <thetext>Another step for bug 160543.

MathMLInlineContainerElement sounds a bad name for something that is now going to produce RenderMathMLBlocks. At the moment most of the presentation MathML elements are actually MathMLInlineContainerElement and I believe most of the code of MathMLElement could be moved in that derived class. A MathMLUnknownElement class could be introduced for unknown elements, following what is done in SVG or HTML classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221943</commentid>
    <comment_count>1</comment_count>
      <attachid>286614</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-22 12:56:41 -0700</bug_when>
    <thetext>Created attachment 286614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222173</commentid>
    <comment_count>2</comment_count>
      <attachid>286691</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-23 01:43:09 -0700</bug_when>
    <thetext>Created attachment 286691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222178</commentid>
    <comment_count>3</comment_count>
      <attachid>286695</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-23 03:09:07 -0700</bug_when>
    <thetext>Created attachment 286695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222182</commentid>
    <comment_count>4</comment_count>
      <attachid>286695</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2016-08-23 03:57:16 -0700</bug_when>
    <thetext>Comment on attachment 286695
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:7
&gt; +

It&apos;d be nice to add the explanation of the rename here and not only in the bug comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222192</commentid>
    <comment_count>5</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-23 04:38:17 -0700</bug_when>
    <thetext>Committed r204809: &lt;http://trac.webkit.org/changeset/204809&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286614</attachid>
            <date>2016-08-22 12:56:41 -0700</date>
            <delta_ts>2016-08-23 01:43:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0002-Bug-161053-Rename-MathMLInlineContainerElement-to-Ma.patch</filename>
            <type>text/plain</type>
            <size>34137</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSBhOGI5YTE4NjY1YzdkYjgxNzRmMzkyZTIyZTg1Yjk2ZjAxMTEzYWMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogTW9uLCAyMiBBdWcgMjAxNiAyMTo1Mjo1NyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBC
dWcgMTYxMDUzIC0gUmVuYW1lIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgdG8KIE1hdGhN
TFByZXNlbnRhdGlvbkVsZW1lbnQKCi0tLQogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAyOSArKysrKysrKwogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qICAgfCAxNiArKy0tLQogU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcCAgICAgICAgICAgfCAgMiArLQogU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVudC5jcHAgICAgfCAgMiArLQogU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVudC5oICAgICAgfCAgNCArLQogLi4u
L21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCAgICAgICAgfCA4MCAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudC5oICB8IDUyIC0tLS0tLS0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MTWVuY2xvc2VFbGVtZW50LmNwcCAgICB8ICA0ICstCiBTb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MTWVuY2xvc2VFbGVtZW50LmggICAgICB8ICA0ICstCiAuLi4vV2ViQ29yZS9tYXRo
bWwvTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAgICB8IDc5ICsrKysrKysrKysrKysrKysr
KysrKwogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuaCAg
fCA1MiArKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1l
bnQuY3BwICAgICAgICAgfCAgNCArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0Vs
ZW1lbnQuaCAgICAgICAgICAgfCAgNCArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNj
cmlwdHNFbGVtZW50LmNwcCAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TFNjcmlwdHNFbGVtZW50LmggICAgICAgfCAgNCArLQogU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTFNlbGVjdEVsZW1lbnQuY3BwICAgICAgfCAxMiArKy0tCiBTb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MU2VsZWN0RWxlbWVudC5oICAgICAgICB8ICA0ICstCiBTb3VyY2UvV2ViQ29yZS9t
YXRobWwvbWF0aHRhZ3MuaW4gICAgICAgICAgICAgICAgICB8ICA2ICstCiAuLi4vcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwICAgICAgICB8ICAyICstCiAuLi4vV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oICB8ICA2ICstCiAuLi4vcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oICAgICAgICB8ICAxIC0KIDIyIGZp
bGVzIGNoYW5nZWQsIDE5OSBpbnNlcnRpb25zKCspLCAxNzIgZGVsZXRpb25zKC0pCiBkZWxldGUg
bW9kZSAxMDA2NDQgU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQuY3BwCiBkZWxldGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNwcAogY3JlYXRlIG1vZGUgMTAw
NjQ0IFNvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmgKCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDE1ZGQ3ODMuLjM5ODkyODcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CkBAIC0yMDA1LDEyICsyMDA1LDEyIEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBtYXRo
bWwvTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTEVsZW1lbnQu
Y3BwCiAgICAgbWF0aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVudC5jcHAKLSAgICBtYXRobWwvTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKICAgICBtYXRobWwvTWF0aE1MTWF0aEVsZW1l
bnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAKICAgICBtYXRobWwv
TWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcAogICAgIG1hdGhtbC9NYXRoTUxPcGVyYXRvckVs
ZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTFBhZGRlZEVsZW1lbnQuY3BwCisgICAgbWF0aG1s
L01hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTFJvd0VsZW1l
bnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcAogICAgIG1hdGhtbC9N
YXRoTUxTZWxlY3RFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDUyNDZmNzcuLmJhNTM5MzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsNSArMSwzNCBAQAogMjAxNi0wOC0yMiAgRnJlZGVyaWMgV2FuZyAgPGZ3
YW5nQGlnYWxpYS5jb20+CiAKKyAgICAgICAgUmVuYW1lIE1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQgdG8gTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMDUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWhhdmlvciBpcyB1bmNo
YW5nZWQuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogUmVuYW1lIE1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQgdG8gTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC4KKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIG1hdGht
bC9NYXRoTUxBbGxJbk9uZS5jcHA6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxGcmFj
dGlvbkVsZW1lbnQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MRnJhY3Rpb25F
bGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQu
Y3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWVuY2xvc2VFbGVtZW50Lmg6IERp
dHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNwcDogRGl0
dG8uCisgICAgICAgICogbWF0aG1sL01hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuaDogRGl0dG8u
CisgICAgICAgICogbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuY3BwOiBEaXR0by4KKyAgICAgICAg
KiBtYXRobWwvTWF0aE1MUm93RWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0
aE1MU2NyaXB0c0VsZW1lbnQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MU2Ny
aXB0c0VsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogbWF0aG1sL01hdGhNTFNlbGVjdEVsZW1l
bnQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5oOiBE
aXR0by4KKyAgICAgICAgKiBtYXRobWwvbWF0aHRhZ3MuaW46IERpdHRvLgorICAgICAgICAqIHJl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcDogTWFrZSB0aGUgY29uc3RydWN0
b3IgdGFrZSBNYXRoTUxSb3dFbGVtZW50LgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MRmVuY2VkLmg6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MRnJhY3Rpb24uaDogUmVtb3ZlIHVzZWxlc3MgaW5jbHVkZS4KKworMjAxNi0wOC0y
MiAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CisKICAgICAgICAgSW50cm9kdWNl
IGEgTWF0aE1MUm93RWxlbWVudCBjbGFzcyBmb3IgbXJvdy1saWtlIGVsZW1lbnRzCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEwNTAKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg4
NWVmZTguLmVhZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTYzMjMsOCArNjMyMyw4IEBACiAJCUZBQkU3MkY0MTA1OUMx
RUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkVEMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxF
bGVtZW50LmNwcCAqLzsgfTsKIAkJRkFCRTcyRjUxMDU5QzFFQjAwRDg4OENDIC8qIE1hdGhNTEFu
bm90YXRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGQUJFNzJFRTEwNTlDMUVCMDBEODg4Q0MgLyogTWF0aE1MQW5ub3RhdGlvbkVsZW1l
bnQuaCAqLzsgfTsKIAkJRkFCRTcyRjUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkVF
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggKi87IH07Ci0JCUZBQkU3MkY2MTA1
OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkVGMTA1OUMxRUIw
MEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCAqLzsgfTsKLQkJRkFC
RTcyRjcxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkYwMTA1
OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggKi87IH07CisJ
CUZBQkU3MkY2MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkVG
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCAqLzsg
fTsKKwkJRkFCRTcyRjcxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3
MkYwMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggKi87
IH07CiAJCUZBQkU3MkY4MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJGMTEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovOyB9OwogCQlGQUJFNzJG
OTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkYyMTA1OUMxRUIwMEQ5OTlERCAv
KiBNYXRoTUxNYXRoRWxlbWVudC5oICovOyB9OwogCQlGQUJFNzJGRDEwNTlDMjExMDBEOTk5REQg
LyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1l
bnRGYWN0b3J5LmNwcCAqLzsgfTsKQEAgLTEzODk4LDggKzEzODk4LDggQEAKIAkJRkFCRTcyRUQx
MDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUZBQkU3MkVFMTA1OUMxRUIwMEQ4ODhDQyAvKiBNYXRoTUxBbm5vdGF0aW9uRWxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxBbm5vdGF0aW9u
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQUJFNzJFRTEwNTlDMUVC
MDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNYXRoTUxFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZBQkU3
MkVGMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGQUJFNzJGMDEwNTlD
MUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBQkU3MkVGMTA1OUMxRUIwMEQ5OTlERCAvKiBN
YXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGQUJFNzJGMDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MUHJlc2Vu
dGF0aW9uRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZB
QkU3MkYxMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxNYXRoRWxlbWVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZBQkU3MkYyMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRo
TUxNYXRoRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxN
YXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQUJFNzJGMzEwNTlD
MUVCMDBEOTk5REQgLyogbWF0aHRhZ3MuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gbWF0aHRh
Z3MuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzEyNiw4ICsyMzEyNiw4IEBA
CiAJCQkJRkFCRTcyRUUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLywKIAkJ
CQkwQkNGODNFRjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRnJhY3Rpb25FbGVtZW50LmNwcCAq
LywKIAkJCQkwQkNGODNGMDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRnJhY3Rpb25FbGVtZW50
LmggKi8sCi0JCQkJRkFCRTcyRUYxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQuY3BwICovLAotCQkJCUZBQkU3MkYwMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggKi8sCisJCQkJRkFCRTcyRUYxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuY3BwICovLAorCQkJCUZBQkU3MkYwMTA1
OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmggKi8sCiAJCQkJRkFC
RTcyRjExMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCAqLywKIAkJCQlG
QUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCAqLywKIAkJCQlD
M0U2MUM2NTNBNjQ4MDdBODNFNzZGQjggLyogTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNwcCAqLywK
QEAgLTI1Mzc0LDcgKzI1Mzc0LDcgQEAKIAkJCQlGQUJFNzJGNTEwNTlDMUVCMDBEOTk5REQgLyog
TWF0aE1MRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDRBMjhBQUMxMkRGQjhBQzAwQUU5
MjNCIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQkNGODNG
NzEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRnJhY3Rpb25FbGVtZW50LmggaW4gSGVhZGVycyAq
LywKLQkJCQlGQUJFNzJGNzEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkFCRTcyRjcxMDU5QzFFQjAwRDk5OUREIC8q
IE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZBQkU3MkY5
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDRBMjhBQUYxMkRGQjhCRjAwQUU5MjNCIC8qIE1hdGhNTE5hbWVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGQTY1NEE2QzExMDhBQkVEMDAyNjE2RjEgLyogTWF0aE1MT3BlcmF0b3JFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKQEAgLTI5MDU0LDcgKzI5MDU0LDcgQEAKIAkJCQlGQUJFNzJGNDEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
QUJFNzJGRDEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEJDRjgzRjYxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEZyYWN0aW9u
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlGQUJFNzJGNjEwNTlDMUVCMDBEOTk5REQg
LyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlG
QUJFNzJGNjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGQUJFNzJGODEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0
aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDVEOTEzQ0VFQUIyQTYwNTM0MjE4QUNG
IC8qIE1hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGQUJFNzJG
RTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcAppbmRleCA3ZTMwOTA4Li5jYzI1NjNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAKQEAgLTI4LDEyICsy
OCwxMiBAQAogI2luY2x1ZGUgIk1hdGhNTEFubm90YXRpb25FbGVtZW50LmNwcCIKICNpbmNsdWRl
ICJNYXRoTUxFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxGcmFjdGlvbkVsZW1lbnQuY3Bw
IgotI2luY2x1ZGUgIk1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIgogI2luY2x1ZGUg
Ik1hdGhNTE1hdGhFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxNZW5jbG9zZUVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIk1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAiCiAjaW5jbHVkZSAi
TWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxQYWRkZWRFbGVtZW50
LmNwcCIKKyNpbmNsdWRlICJNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNwcCIKICNpbmNsdWRl
ICJNYXRoTUxSb3dFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxTY3JpcHRzRWxlbWVudC5j
cHAiCiAjaW5jbHVkZSAiTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRnJhY3Rpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxGcmFjdGlvbkVsZW1lbnQuY3BwCmluZGV4IDE3YWNjMmYuLjIxOTI2
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxGcmFjdGlvbkVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxGcmFjdGlvbkVsZW1lbnQu
Y3BwCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFj
ZSBNYXRoTUxOYW1lczsKIAogaW5saW5lIE1hdGhNTEZyYWN0aW9uRWxlbWVudDo6TWF0aE1MRnJh
Y3Rpb25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1
bWVudCkKLSAgICA6IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCisgICAgOiBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRnJhY3Rpb25F
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRnJhY3Rpb25FbGVtZW50LmgK
aW5kZXggZTllYmYxNi4uYmM5MjI3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTEZyYWN0aW9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRo
TUxGcmFjdGlvbkVsZW1lbnQuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjcHJhZ21hIG9uY2UKIAog
I2lmIEVOQUJMRShNQVRITUwpCi0jaW5jbHVkZSAiTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dC5oIgorI2luY2x1ZGUgIk1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBNYXRoTUxGcmFjdGlvbkVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB7CitjbGFzcyBNYXRoTUxGcmFjdGlvbkVsZW1l
bnQgZmluYWwgOiBwdWJsaWMgTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudCB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxNYXRoTUxGcmFjdGlvbkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogICAgIGNvbnN0IExlbmd0aCYgbGluZVRoaWNr
bmVzcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZGJjZjQ0
Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWlu
ZXJFbGVtZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKE1BVEhNTCkKLQot
I2luY2x1ZGUgIk1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIk1h
dGhNTE5hbWVzLmgiCi0jaW5jbHVkZSAiUmVuZGVyTWF0aE1MQmxvY2suaCIKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7Ci0KLU1hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQ6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogTWF0aE1MRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCkKLXsKLX0KLQotUmVmPE1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQ+IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkpOwotfQotCi1SZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gTWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5bGUsIGNvbnN0
IFJlbmRlclRyZWVQb3NpdGlvbiYpCi17Ci0gICAgaWYgKGhhc1RhZ05hbWUobXRhYmxlVGFnKSkK
LSAgICAgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhNTFRhYmxlPigqdGhpcywg
V1RGTW92ZShzdHlsZSkpOwotCi0gICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlck1hdGhN
TEJsb2NrPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwotfQotCi1ib29sIE1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQ6OmFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUoKQotewotICAgIHJl
dHVybiBoYXNUYWdOYW1lKG10YWJsZVRhZyk7Ci19Ci0KLXZvaWQgTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29u
c3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBib29sIGRpc3BsYXlTdHlsZUF0dHJpYnV0
ZSA9IG5hbWUgPT0gZGlzcGxheXN0eWxlQXR0ciAmJiBhY2NlcHRzRGlzcGxheVN0eWxlQXR0cmli
dXRlKCk7Ci0gICAgYm9vbCBtYXRoVmFyaWFudEF0dHJpYnV0ZSA9IG5hbWUgPT0gbWF0aHZhcmlh
bnRBdHRyICYmIGFjY2VwdHNNYXRoVmFyaWFudEF0dHJpYnV0ZSgpOwotICAgIGlmIChkaXNwbGF5
U3R5bGVBdHRyaWJ1dGUpCi0gICAgICAgIG1fZGlzcGxheVN0eWxlID0gTnVsbG9wdDsKLSAgICBp
ZiAobWF0aFZhcmlhbnRBdHRyaWJ1dGUpCi0gICAgICAgIG1fbWF0aFZhcmlhbnQgPSBOdWxsb3B0
OwotICAgIGlmICgoZGlzcGxheVN0eWxlQXR0cmlidXRlIHx8IG1hdGhWYXJpYW50QXR0cmlidXRl
KSAmJiByZW5kZXJlcigpKQotICAgICAgICBNYXRoTUxTdHlsZTo6cmVzb2x2ZU1hdGhNTFN0eWxl
VHJlZShyZW5kZXJlcigpKTsKLQotICAgIE1hdGhNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKLX0KLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMmIxZTI1Li4wMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgKKysrIC9kZXYv
bnVsbApAQCAtMSw1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWls
b3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
Ci0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25j
ZQotCi0jaWYgRU5BQkxFKE1BVEhNTCkKLSNpbmNsdWRlICJNYXRoTUxFbGVtZW50LmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCA6
IHB1YmxpYyBNYXRoTUxFbGVtZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPE1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCYpOwotCi1wcm90ZWN0ZWQ6Ci0gICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwotICAgIHZvaWQg
cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYp
IG92ZXJyaWRlOwotCi0gICAgYm9vbCBhY2NlcHRzRGlzcGxheVN0eWxlQXR0cmlidXRlKCkgb3Zl
cnJpZGU7Ci0KLXByaXZhdGU6Ci0gICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVs
ZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBv
dmVycmlkZTsKLSAgICBib29sIGlzUHJlc2VudGF0aW9uTWF0aE1MKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gdHJ1ZTsgfQotfTsKLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAKaW5kZXggOTAy
NmE4Yi4uNTBiNThmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1l
bmNsb3NlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1lbmNs
b3NlRWxlbWVudC5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdXNp
bmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCiBNYXRoTUxNZW5jbG9zZUVsZW1lbnQ6Ok1hdGhN
TE1lbmNsb3NlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYg
ZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQorICAgIDogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKIHsKICAgICAvLyBCeSBkZWZhdWx0IHdlIGRyYXcgYSBsb25nZGl2LgogICAgIGNsZWFyTm90
YXRpb25zKCk7CkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBNYXRoTUxNZW5jbG9zZUVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b20KICAg
ICBpZiAobmFtZSA9PSBub3RhdGlvbkF0dHIpCiAgICAgICAgIG1fbm90YXRpb25GbGFncyA9IE51
bGxvcHQ7CiAKLSAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShuYW1lLCB2YWx1ZSk7CisgICAgTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUobmFtZSwgdmFsdWUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MTWVuY2xvc2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0
aE1MTWVuY2xvc2VFbGVtZW50LmgKaW5kZXggNGZmNjkyZC4uZWRmMTZhNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuaApAQCAtMjgsMTEgKzI4LDEx
IEBACiAKICNpZiBFTkFCTEUoTUFUSE1MKQogI2luY2x1ZGUgIkVsZW1lbnQuaCIKLSNpbmNsdWRl
ICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MUHJlc2Vu
dGF0aW9uRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1hdGhNTE1l
bmNsb3NlRWxlbWVudCBmaW5hbDogcHVibGljIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQg
eworY2xhc3MgTWF0aE1MTWVuY2xvc2VFbGVtZW50IGZpbmFsOiBwdWJsaWMgTWF0aE1MUHJlc2Vu
dGF0aW9uRWxlbWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNYXRoTUxNZW5jbG9zZUVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUHJlc2VudGF0aW9uRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVu
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI4Mzc3MwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVt
ZW50LmNwcApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEFsZXgg
TWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAiTWF0aE1MUHJlc2Vu
dGF0aW9uRWxlbWVudC5oIgorCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNsdWRlICJS
ZW5kZXJNYXRoTUxCbG9jay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVz
cGFjZSBNYXRoTUxOYW1lczsKKworTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudDo6TWF0aE1MUHJl
c2VudGF0aW9uRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYg
ZG9jdW1lbnQpCisgICAgOiBNYXRoTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQoreworfQor
CitSZWY8TWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudD4gTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVu
dDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVu
dCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KSk7Cit9CisKK1JlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRo
TUxQcmVzZW50YXRpb25FbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUm
JiBzdHlsZSwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikKK3sKKyAgICBpZiAoaGFzVGFnTmFt
ZShtdGFibGVUYWcpKQorICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1M
VGFibGU+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7CisKKyAgICByZXR1cm4gY3JlYXRlUmVuZGVy
ZXI8UmVuZGVyTWF0aE1MQmxvY2s+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7Cit9CisKK2Jvb2wg
TWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudDo6YWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgp
Cit7CisgICAgcmV0dXJuIGhhc1RhZ05hbWUobXRhYmxlVGFnKTsKK30KKwordm9pZCBNYXRoTUxQ
cmVzZW50YXRpb25FbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQoreworICAgIGJvb2wgZGlzcGxheVN0eWxl
QXR0cmlidXRlID0gbmFtZSA9PSBkaXNwbGF5c3R5bGVBdHRyICYmIGFjY2VwdHNEaXNwbGF5U3R5
bGVBdHRyaWJ1dGUoKTsKKyAgICBib29sIG1hdGhWYXJpYW50QXR0cmlidXRlID0gbmFtZSA9PSBt
YXRodmFyaWFudEF0dHIgJiYgYWNjZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCk7CisgICAgaWYg
KGRpc3BsYXlTdHlsZUF0dHJpYnV0ZSkKKyAgICAgICAgbV9kaXNwbGF5U3R5bGUgPSBOdWxsb3B0
OworICAgIGlmIChtYXRoVmFyaWFudEF0dHJpYnV0ZSkKKyAgICAgICAgbV9tYXRoVmFyaWFudCA9
IE51bGxvcHQ7CisgICAgaWYgKChkaXNwbGF5U3R5bGVBdHRyaWJ1dGUgfHwgbWF0aFZhcmlhbnRB
dHRyaWJ1dGUpICYmIHJlbmRlcmVyKCkpCisgICAgICAgIE1hdGhNTFN0eWxlOjpyZXNvbHZlTWF0
aE1MU3R5bGVUcmVlKHJlbmRlcmVyKCkpOworCisgICAgTWF0aE1MRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUobmFtZSwgdmFsdWUpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFByZXNlbnRhdGlvbkVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBkYTE3YgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmgK
QEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tp
IChhbGV4QG1pbG93c2tpLmNvbSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgOiBwdWJsaWMg
TWF0aE1MRWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNYXRoTUxQcmVzZW50YXRp
b25FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQm
KTsKKworcHJvdGVjdGVkOgorICAgIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKKyAgICB2b2lkIHBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKKwor
ICAgIGJvb2wgYWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpIG92ZXJyaWRlOworCitwcml2
YXRlOgorICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIo
UmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CisgICAg
Ym9vbCBpc1ByZXNlbnRhdGlvbk1hdGhNTCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0K
K307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MUm93RWxlbWVudC5jcHAKaW5kZXggODU2MzI2My4uMDQ4MzlmYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxSb3dFbGVtZW50LmNwcApAQCAtNDAsNyArNDAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAKIE1hdGhN
TFJvd0VsZW1lbnQ6Ok1hdGhNTFJvd0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCkKKyAgICA6IE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpCiB7CiB9CiAKQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBNYXRoTUxSb3dF
bGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKICAgICAg
ICAgICAgIHN0YXRpY19jYXN0PE1hdGhNTE9wZXJhdG9yRWxlbWVudCo+KGNoaWxkKS0+c2V0T3Bl
cmF0b3JGb3JtRGlydHkoKTsKICAgICB9CiAKLSAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlKTsKKyAgICBNYXRoTUxQcmVzZW50YXRpb25FbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlKTsKIH0KIAogUmVuZGVyUHRyPFJlbmRlckVsZW1l
bnQ+IE1hdGhNTFJvd0VsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
IHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9N
YXRoTUxSb3dFbGVtZW50LmgKaW5kZXggOTkyZTYzZC4uZWUzZWYxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNwcmFnbWEg
b25jZQogCiAjaWYgRU5BQkxFKE1BVEhNTCkKLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWlu
ZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1hdGhNTFJvd0VsZW1lbnQgOiBwdWJsaWMgTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB7CitjbGFzcyBNYXRoTUxSb3dFbGVtZW50IDogcHVi
bGljIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
TWF0aE1MUm93RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTY3Jp
cHRzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1l
bnQuY3BwCmluZGV4IGI4ZGQwZjcuLmEwODRhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAKIE1hdGhNTFNjcmlwdHNF
bGVtZW50OjpNYXRoTUxTY3JpcHRzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTFNjcmlwdHNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2Ny
aXB0c0VsZW1lbnQuaAppbmRleCBiOTQxODE1Li5kMTAwYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjcHJh
Z21hIG9uY2UKIAogI2lmIEVOQUJMRShNQVRITUwpCi0jaW5jbHVkZSAiTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIk1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBNYXRoTUxTY3JpcHRzRWxlbWVudCA6IHB1
YmxpYyBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50IHsKK2NsYXNzIE1hdGhNTFNjcmlwdHNF
bGVtZW50IDogcHVibGljIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgewogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8TWF0aE1MU2NyaXB0c0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogICAgIGNvbnN0IExlbmd0aCYgc3Vic2NyaXB0U2hp
ZnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmNwcApp
bmRleCA3MWI4MzJlLi42MTZmZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MU2VsZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TFNlbGVjdEVsZW1lbnQuY3BwCkBAIC00Myw3ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKIAogTWF0aE1MU2VsZWN0RWxlbWVudDo6TWF0
aE1MU2VsZWN0RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYg
ZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KHRhZ05hbWUsIGRv
Y3VtZW50KQorICAgIDogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkKICAgICAsIG1fc2VsZWN0ZWRDaGlsZChudWxscHRyKQogewogfQpAQCAtODksMTMgKzg5LDEz
IEBAIGJvb2wgTWF0aE1MU2VsZWN0RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihj
b25zdCBOb2RlJiBjaGlsZCkgY29uc3QKIHZvaWQgTWF0aE1MU2VsZWN0RWxlbWVudDo6ZmluaXNo
UGFyc2luZ0NoaWxkcmVuKCkKIHsKICAgICB1cGRhdGVTZWxlY3RlZENoaWxkKCk7Ci0gICAgTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CisgICAg
TWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiB9CiAK
IHZvaWQgTWF0aE1MU2VsZWN0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hh
bmdlJiBjaGFuZ2UpCiB7CiAgICAgdXBkYXRlU2VsZWN0ZWRDaGlsZCgpOwotICAgIE1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2UpOworICAgIE1hdGhN
TFByZXNlbnRhdGlvbkVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjaGFuZ2UpOwogfQogCiB2b2lk
IE1hdGhNTFNlbGVjdEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbWljU3RyaW5n
JiBuZXdWYWx1ZSwgQXR0cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uIHJlYXNvbikKQEAgLTEwMyw3
ICsxMDMsNyBAQCB2b2lkIE1hdGhNTFNlbGVjdEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbQogICAgIGlmIChoYXNUYWdOYW1lKG1h
Y3Rpb25UYWcpICYmIChuYW1lID09IE1hdGhNTE5hbWVzOjphY3Rpb250eXBlQXR0ciB8fCBuYW1l
ID09IE1hdGhNTE5hbWVzOjpzZWxlY3Rpb25BdHRyKSkKICAgICAgICAgdXBkYXRlU2VsZWN0ZWRD
aGlsZCgpOwogCi0gICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6YXR0cmlidXRlQ2hh
bmdlZChuYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUsIHJlYXNvbik7CisgICAgTWF0aE1MUHJlc2Vu
dGF0aW9uRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChuYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUs
IHJlYXNvbik7CiB9CiAKIGludCBNYXRoTUxTZWxlY3RFbGVtZW50OjpnZXRTZWxlY3RlZEFjdGlv
bkNoaWxkQW5kSW5kZXgoRWxlbWVudComIHNlbGVjdGVkQ2hpbGQpCkBAIC0yMTksMTIgKzIxOSwx
MiBAQCB2b2lkIE1hdGhNTFNlbGVjdEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQq
IGV2ZW50KQogICAgICAgICB9CiAgICAgfQogCi0gICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CisgICAgTWF0aE1MUHJlc2VudGF0aW9u
RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CiB9CiAKIGJvb2wgTWF0aE1MU2Vs
ZWN0RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQogewotICAgIHJldHVy
biBhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKE1hdGhNTE5hbWVzOjphY3Rpb250eXBl
QXR0cikgPT0gInRvZ2dsZSIgfHwgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6d2lsbFJl
c3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKTsKKyAgICByZXR1cm4gYXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihNYXRoTUxOYW1lczo6YWN0aW9udHlwZUF0dHIpID09ICJ0b2dnbGUiIHx8
IE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRz
KCk7CiB9CiAKIHZvaWQgTWF0aE1MU2VsZWN0RWxlbWVudDo6dG9nZ2xlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5oCmluZGV4IDBkZmMwZDguLmRhMTIzMjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTZWxlY3RFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNlbGVjdEVsZW1lbnQuaApAQCAtMjYs
MTEgKzI2LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2lmIEVOQUJMRShNQVRITUwpCi0jaW5jbHVk
ZSAiTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIk1hdGhNTFByZXNl
bnRhdGlvbkVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBNYXRoTUxT
ZWxlY3RFbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQg
eworY2xhc3MgTWF0aE1MU2VsZWN0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBNYXRoTUxQcmVzZW50
YXRpb25FbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1hdGhNTFNlbGVjdEVsZW1l
bnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogICAg
IHN0YXRpYyBib29sIGlzTWF0aE1MRW5jb2RpbmcoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4KaW5kZXggMzU2YTZkNC4uNGJlNmVlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9tYXRodGFncy5pbgpAQCAtMjgsMTMgKzI4LDEzIEBAIG1zIGludGVyZmFjZU5h
bWU9TWF0aE1MVG9rZW5FbGVtZW50CiBtc3BhY2UgaW50ZXJmYWNlTmFtZT1NYXRoTUxTcGFjZUVs
ZW1lbnQKIG1zdWIgaW50ZXJmYWNlTmFtZT1NYXRoTUxTY3JpcHRzRWxlbWVudAogbXN1cCBpbnRl
cmZhY2VOYW1lPU1hdGhNTFNjcmlwdHNFbGVtZW50Ci1tdGFibGUgaW50ZXJmYWNlTmFtZT1NYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50CittdGFibGUgaW50ZXJmYWNlTmFtZT1NYXRoTUxQcmVz
ZW50YXRpb25FbGVtZW50CiBtdHIgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50CiBtdGQgaW50
ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50CiBtbXVsdGlzY3JpcHRzIGludGVyZmFjZU5hbWU9TWF0
aE1MU2NyaXB0c0VsZW1lbnQKLW1wcmVzY3JpcHRzIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5l
Q29udGFpbmVyRWxlbWVudAorbXByZXNjcmlwdHMgaW50ZXJmYWNlTmFtZT1NYXRoTUxQcmVzZW50
YXRpb25FbGVtZW50CiBtZW5jbG9zZSBpbnRlcmZhY2VOYW1lPU1hdGhNTE1lbmNsb3NlRWxlbWVu
dAotbm9uZSBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK25vbmUg
aW50ZXJmYWNlTmFtZT1NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50CiBzZW1hbnRpY3MgaW50ZXJm
YWNlTmFtZT1NYXRoTUxTZWxlY3RFbGVtZW50CiAKIG1hbGlnbmdyb3VwIGludGVyZmFjZU5hbWU9
TWF0aE1MRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwCmluZGV4IDM4MzcyMTkuLjQyZjRhOTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNl
ZC5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogc3Rh
dGljIGNvbnN0IGNoYXIqIGdPcGVuaW5nQnJhY2VDaGFyID0gIigiOwogc3RhdGljIGNvbnN0IGNo
YXIqIGdDbG9zaW5nQnJhY2VDaGFyID0gIikiOwogCi1SZW5kZXJNYXRoTUxGZW5jZWQ6OlJlbmRl
ck1hdGhNTEZlbmNlZChNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50JiBlbGVtZW50LCBSZW5k
ZXJTdHlsZSYmIHN0eWxlKQorUmVuZGVyTWF0aE1MRmVuY2VkOjpSZW5kZXJNYXRoTUxGZW5jZWQo
TWF0aE1MUm93RWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICA6IFJl
bmRlck1hdGhNTFJvdyhlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKICAgICAsIG1fY2xvc2VGZW5j
ZVJlbmRlcmVyKG51bGxwdHIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuaAppbmRleCBmNjI1Y2RhLi40YzgzZTQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNl
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVu
Y2VkLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShNQVRITUwpCiAKLSNpbmNsdWRl
ICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MUm93RWxl
bWVudC5oIgogI2luY2x1ZGUgIlJlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyTWF0aE1MUm93LmgiCiAKQEAgLTM1LDggKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBSZW5kZXJNYXRoTUxGZW5jZWQgZmluYWwgOiBwdWJsaWMgUmVuZGVyTWF0
aE1MUm93IHsKIHB1YmxpYzoKLSAgICBSZW5kZXJNYXRoTUxGZW5jZWQoTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwotICAgIE1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQmIGVsZW1lbnQoKSB7IHJldHVybiBzdGF0aWNfY2FzdDxNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50Jj4obm9kZUZvck5vbkFub255bW91cygpKTsgfQorICAgIFJlbmRlck1hdGhN
TEZlbmNlZChNYXRoTUxSb3dFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CisgICAgTWF0aE1MUm93
RWxlbWVudCYgZWxlbWVudCgpIHsgcmV0dXJuIHN0YXRpY19jYXN0PE1hdGhNTFJvd0VsZW1lbnQm
Pihub2RlRm9yTm9uQW5vbnltb3VzKCkpOyB9CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRl
ck1hdGhNTEZlbmNlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaApp
bmRleCAwODVhNzVkLi5hMzNlNDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oCkBAIC0zMCw3ICszMCw2IEBACiAj
aWYgRU5BQkxFKE1BVEhNTCkKIAogI2luY2x1ZGUgIk1hdGhNTEZyYWN0aW9uRWxlbWVudC5oIgot
I2luY2x1ZGUgIk1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5k
ZXJNYXRoTUxCbG9jay5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0tIAoyLjguMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286691</attachid>
            <date>2016-08-23 01:43:09 -0700</date>
            <delta_ts>2016-08-23 03:09:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161053-20160823104110.patch</filename>
            <type>text/plain</type>
            <size>26504</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0Nzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI3YjAxY2JjZmRlMzMw
NDNjYzhlMmNiYjYzZmFkYTgzZjA2MWU4My4uMDUwMjQwMDkyZmJlODU2ZjdkYjczMDRiNjUzMjI5
MjQ0NTFkMjRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA4LTIyICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBSZW5hbWUgTWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudCB0byBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEwNTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGJl
aGF2aW9yIGlzIHVuY2hhbmdlZC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBSZW5hbWUg
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB0byBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50
LgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisg
ICAgICAgICogbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcDogRGl0dG8uCisgICAgICAgICogbWF0
aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVudC5jcHA6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9N
YXRoTUxGcmFjdGlvbkVsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogbWF0aG1sL01hdGhNTFBy
ZXNlbnRhdGlvbkVsZW1lbnQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MUHJl
c2VudGF0aW9uRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MUm93RWxl
bWVudC5jcHA6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxSb3dFbGVtZW50Lmg6IERp
dHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5jcHA6IERpdHRvLgor
ICAgICAgICAqIG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAg
KiBtYXRobWwvbWF0aHRhZ3MuaW46IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MRnJhY3Rpb24uaDogUmVtb3ZlIHVzZWxlc3MgaW5jbHVkZS4KKwogMjAxNi0w
OC0yMyAgRnJlZGVyaWMgV2FuZyAgPGZyZWQud2FuZ0BmcmVlLmZyPgogCiAgICAgICAgIEludHJv
ZHVjZSBhIE1hdGhNTFJvd0VsZW1lbnQgY2xhc3MgZm9yIG1yb3ctbGlrZSBlbGVtZW50cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCAwYmI3N2Y2MzMwMWM0YTAxODM1MjhhMDJiYmI0OTM2NWYzY2E3
YTkzLi4zNzg1ODExNjdjMjBkODdjMzNmMmMyMGNjMDQ2NGVmM2NjMjhlMWFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtMjAwNSwxMiArMjAwNSwxMiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgbWF0aG1sL01hdGhNTEFubm90YXRpb25FbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxF
bGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxGcmFjdGlvbkVsZW1lbnQuY3BwCi0gICAgbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTE1h
dGhFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwCiAgICAg
bWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAKICAgICBtYXRobWwvTWF0aE1MT3Bl
cmF0b3JFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxQYWRkZWRFbGVtZW50LmNwcAorICAg
IG1hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxS
b3dFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5jcHAKICAgICBt
YXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjODk2NjMxYTVlNWY1YmI2MDcyZjQ0
OWQ3OThjMzMyMWQwNDgxYzI0Li5iMDdhY2NmYTg0MjQ2ODcyZjQzMjY2ODBlYjg0Yjg0MmViM2E3
NGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC02MzIzLDggKzYzMjMsOCBAQAogCQlGQUJFNzJGNDEwNTlDMUVCMDBEOTk5REQg
LyogTWF0aE1MRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGQUJFNzJFRDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5jcHAg
Ki87IH07CiAJCUZBQkU3MkY1MTA1OUMxRUIwMEQ4ODhDQyAvKiBNYXRoTUxBbm5vdGF0aW9uRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFC
RTcyRUUxMDU5QzFFQjAwRDg4OENDIC8qIE1hdGhNTEFubm90YXRpb25FbGVtZW50LmggKi87IH07
CiAJCUZBQkU3MkY1MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJFRTEwNTlDMUVCMDBE
OTk5REQgLyogTWF0aE1MRWxlbWVudC5oICovOyB9OwotCQlGQUJFNzJGNjEwNTlDMUVCMDBEOTk5
REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyog
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi87IH07Ci0JCUZBQkU3MkY3MTA1OUMx
RUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJGMDEwNTlDMUVCMDBEOTk5
REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oICovOyB9OworCQlGQUJFNzJGNjEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJFRjEwNTlDMUVCMDBE
OTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi87IH07CisJCUZBQkU3
MkY3MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJGMDEwNTlDMUVC
MDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oICovOyB9OwogCQlGQUJF
NzJGODEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjExMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCAqLzsgfTsKIAkJRkFCRTcyRjkxMDU5QzFFQjAw
RDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0
aEVsZW1lbnQuaCAqLzsgfTsKIAkJRkFCRTcyRkQxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVs
ZW1lbnRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZBQkU3MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5j
cHAgKi87IH07CkBAIC0xMzg5OCw4ICsxMzg5OCw4IEBACiAJCUZBQkU3MkVEMTA1OUMxRUIwMEQ5
OTlERCAvKiBNYXRoTUxFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1hdGhNTEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
QUJFNzJFRTEwNTlDMUVCMDBEODg4Q0MgLyogTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkFCRTcyRUUxMDU5QzFFQjAwRDk5OUREIC8q
IE1hdGhNTEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1M
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGQUJFNzJFRjEwNTlDMUVC
MDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkFCRTcyRjAxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGQUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MUHJlc2Vu
dGF0aW9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkFCRTcyRjAxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQUJFNzJGMTEwNTlD
MUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkFCRTcyRjMxMDU5QzFFQjAwRDk5OURE
IC8qIG1hdGh0YWdzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IG1hdGh0YWdzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMxMjYsOCArMjMxMjYsOCBAQAogCQkJCUZBQkU3
MkVFMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggKi8sCiAJCQkJMEJDRjgzRUYx
MDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEZyYWN0aW9uRWxlbWVudC5jcHAgKi8sCiAJCQkJMEJD
RjgzRjAxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEZyYWN0aW9uRWxlbWVudC5oICovLAotCQkJ
CUZBQkU3MkVGMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
LmNwcCAqLywKLQkJCQlGQUJFNzJGMDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudC5oICovLAorCQkJCUZBQkU3MkVGMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRo
TUxQcmVzZW50YXRpb25FbGVtZW50LmNwcCAqLywKKwkJCQlGQUJFNzJGMDEwNTlDMUVCMDBEOTk5
REQgLyogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5oICovLAogCQkJCUZBQkU3MkYxMTA1OUMx
RUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi8sCiAJCQkJRkFCRTcyRjIxMDU5
QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmggKi8sCiAJCQkJQzNFNjFDNjUzQTY0
ODA3QTgzRTc2RkI4IC8qIE1hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAgKi8sCkBAIC0yNTM3NCw3
ICsyNTM3NCw3IEBACiAJCQkJRkFCRTcyRjUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0QTI4QUFDMTJERkI4QUMwMEFFOTIzQiAvKiBNYXRo
TUxFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEJDRjgzRjcxMDU5QzFFQjAw
RDk5OUREIC8qIE1hdGhNTEZyYWN0aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRkFC
RTcyRjcxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCUZBQkU3MkY3MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVz
ZW50YXRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGQUJFNzJGOTEwNTlDMUVCMDBE
OTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0QTI4QUFG
MTJERkI4QkYwMEFFOTIzQiAvKiBNYXRoTUxOYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkE2
NTRBNkMxMTA4QUJFRDAwMjYxNkYxIC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yOTA1NCw3ICsyOTA1NCw3IEBACiAJCQkJRkFCRTcyRjQxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkFCRTcyRkQxMDU5
QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBCQ0Y4M0Y2MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxGcmFjdGlvbkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJRkFCRTcyRjYxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFCRTcyRjYxMDU5
QzFFQjAwRDk5OUREIC8qIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRkFCRTcyRjgxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTA1RDkxM0NFRUFCMkE2MDUzNDIxOEFDRiAvKiBNYXRoTUxN
ZW5jbG9zZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkFCRTcyRkUxMDU5QzIxMTAw
RDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxBbGxJbk9uZS5jcHAKaW5kZXggN2UzMDkwODFmMzMxODFmNDdlMjFlZGJiZTkx
MDliNDhlNTRlYmRjYi4uY2MyNTYzZDk2ZWVhNTIwOTQ1NGJkZTUzODlkMzJmNjg4MzBhNDQyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwCkBAIC0yOCwxMiArMjgs
MTIgQEAKICNpbmNsdWRlICJNYXRoTUxBbm5vdGF0aW9uRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAi
TWF0aE1MRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MRnJhY3Rpb25FbGVtZW50LmNwcCIK
LSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCIKICNpbmNsdWRlICJN
YXRoTUxNYXRoRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNw
cCIKICNpbmNsdWRlICJNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwIgogI2luY2x1ZGUgIk1h
dGhNTE9wZXJhdG9yRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MUGFkZGVkRWxlbWVudC5j
cHAiCisjaW5jbHVkZSAiTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAi
TWF0aE1MUm93RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3Bw
IgogI2luY2x1ZGUgIk1hdGhNTFNlbGVjdEVsZW1lbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MRnJhY3Rpb25FbGVtZW50LmNwcAppbmRleCAxN2FjYzJmYzU5OTBjNmJh
OTE0MjIwMmJkMjNlNDNlMjFiNzgxZWZkLi4yMTkyNjNhYzc4ZjFlZGIwOTBhYWRhZTUxZDNjYTVh
MjMyOWMwNTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRnJhY3Rp
b25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRnJhY3Rpb25F
bGVtZW50LmNwcApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBu
YW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAKIGlubGluZSBNYXRoTUxGcmFjdGlvbkVsZW1lbnQ6Ok1h
dGhNTEZyYWN0aW9uRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCYgZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KQorICAgIDogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEZy
YWN0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEZyYWN0aW9uRWxl
bWVudC5oCmluZGV4IGU5ZWJmMTZhODc4YzhmMDI3NTI3ZDQwMzQ4ZTgxOTYzMTBiY2U0NzMuLmJj
OTIyNzVjMDI4NjYwZDE3NzgxOTQzOTQ3OTQ1MDg5ZmU5MjlhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxGcmFjdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MRnJhY3Rpb25FbGVtZW50LmgKQEAgLTI2LDExICsyNiwxMSBAQAog
I3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUFUSE1MKQotI2luY2x1ZGUgIk1hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTWF0aE1MRnJhY3Rpb25FbGVtZW50
IGZpbmFsIDogcHVibGljIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgeworY2xhc3MgTWF0
aE1MRnJhY3Rpb25FbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1l
bnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0aE1MRnJhY3Rpb25FbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKICAgICBjb25zdCBM
ZW5ndGgmIGxpbmVUaGlja25lc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggN2RiY2Y0NGM0MDQzMTEyMzc0YjJlNmU3YmQ3NjIwZTU2OTIxODBiNC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFs
ZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgSWdhbGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAot
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LQotI2lmIEVOQUJMRShNQVRITUwpCi0KLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50LmgiCi0KLSNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgotI2luY2x1ZGUgIlJlbmRlck1h
dGhNTEJsb2NrLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIE1h
dGhNTE5hbWVzOwotCi1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBk
b2N1bWVudCkKLSAgICA6IE1hdGhNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCi17Ci19Ci0K
LVJlZjxNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50PiBNYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRv
Y3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotUmVuZGVyUHRyPFJlbmRlckVsZW1l
bnQ+IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihS
ZW5kZXJTdHlsZSYmIHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKQotewotICAgIGlm
IChoYXNUYWdOYW1lKG10YWJsZVRhZykpCi0gICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxS
ZW5kZXJNYXRoTUxUYWJsZT4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKLQotICAgIHJldHVybiBj
cmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxCbG9jaz4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsK
LX0KLQotYm9vbCBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjphY2NlcHRzRGlzcGxheVN0
eWxlQXR0cmlidXRlKCkKLXsKLSAgICByZXR1cm4gaGFzVGFnTmFtZShtdGFibGVUYWcpOwotfQot
Ci12b2lkIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCi17Ci0gICAg
Ym9vbCBkaXNwbGF5U3R5bGVBdHRyaWJ1dGUgPSBuYW1lID09IGRpc3BsYXlzdHlsZUF0dHIgJiYg
YWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpOwotICAgIGJvb2wgbWF0aFZhcmlhbnRBdHRy
aWJ1dGUgPSBuYW1lID09IG1hdGh2YXJpYW50QXR0ciAmJiBhY2NlcHRzTWF0aFZhcmlhbnRBdHRy
aWJ1dGUoKTsKLSAgICBpZiAoZGlzcGxheVN0eWxlQXR0cmlidXRlKQotICAgICAgICBtX2Rpc3Bs
YXlTdHlsZSA9IE51bGxvcHQ7Ci0gICAgaWYgKG1hdGhWYXJpYW50QXR0cmlidXRlKQotICAgICAg
ICBtX21hdGhWYXJpYW50ID0gTnVsbG9wdDsKLSAgICBpZiAoKGRpc3BsYXlTdHlsZUF0dHJpYnV0
ZSB8fCBtYXRoVmFyaWFudEF0dHJpYnV0ZSkgJiYgcmVuZGVyZXIoKSkKLSAgICAgICAgTWF0aE1M
U3R5bGU6OnJlc29sdmVNYXRoTUxTdHlsZVRyZWUocmVuZGVyZXIoKSk7Ci0KLSAgICBNYXRoTUxF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7Ci19Ci0KLX0KLQotI2VuZGlmIC8v
IEVOQUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjJi
MWUyNWM1YzJjM2NhYmZjNDRjNGFhZWIyZDQ3YjY0ZjY0YjViNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNv
bSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShNQVRITUwp
Ci0jaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MRWxlbWVudCB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKLQotcHJvdGVj
dGVkOgotICAgIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKLSAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKLQotICAgIGJvb2wg
YWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpIG92ZXJyaWRlOwotCi1wcml2YXRlOgotICAg
IFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5
bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc1By
ZXNlbnRhdGlvbk1hdGhNTCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLX07Ci0KLX0K
LQotI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI4Mzc3M2ZhNWJk
NjRhNDJhMGM1MWRmOGVkZTdmMmQ3MDljYjE3ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNwcApAQCAtMCwwICsxLDc5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dz
a2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShNQVRITUwpCisjaW5jbHVkZSAiTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5oIgorCisj
aW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNsdWRlICJSZW5kZXJNYXRoTUxCbG9jay5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKwor
TWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudDo6TWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgOiBNYXRo
TUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQoreworfQorCitSZWY8TWF0aE1MUHJlc2VudGF0
aW9uRWxlbWVudD4gTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7
Cit9CisKK1JlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50
OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwgY29uc3QgUmVuZGVy
VHJlZVBvc2l0aW9uJikKK3sKKyAgICBpZiAoaGFzVGFnTmFtZShtdGFibGVUYWcpKQorICAgICAg
ICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MVGFibGU+KCp0aGlzLCBXVEZNb3Zl
KHN0eWxlKSk7CisKKyAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MQmxvY2s+
KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7Cit9CisKK2Jvb2wgTWF0aE1MUHJlc2VudGF0aW9uRWxl
bWVudDo6YWNjZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpCit7CisgICAgcmV0dXJuIGhhc1Rh
Z05hbWUobXRhYmxlVGFnKTsKK30KKwordm9pZCBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJp
bmcmIHZhbHVlKQoreworICAgIGJvb2wgZGlzcGxheVN0eWxlQXR0cmlidXRlID0gbmFtZSA9PSBk
aXNwbGF5c3R5bGVBdHRyICYmIGFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUoKTsKKyAgICBi
b29sIG1hdGhWYXJpYW50QXR0cmlidXRlID0gbmFtZSA9PSBtYXRodmFyaWFudEF0dHIgJiYgYWNj
ZXB0c01hdGhWYXJpYW50QXR0cmlidXRlKCk7CisgICAgaWYgKGRpc3BsYXlTdHlsZUF0dHJpYnV0
ZSkKKyAgICAgICAgbV9kaXNwbGF5U3R5bGUgPSBOdWxsb3B0OworICAgIGlmIChtYXRoVmFyaWFu
dEF0dHJpYnV0ZSkKKyAgICAgICAgbV9tYXRoVmFyaWFudCA9IE51bGxvcHQ7CisgICAgaWYgKChk
aXNwbGF5U3R5bGVBdHRyaWJ1dGUgfHwgbWF0aFZhcmlhbnRBdHRyaWJ1dGUpICYmIHJlbmRlcmVy
KCkpCisgICAgICAgIE1hdGhNTFN0eWxlOjpyZXNvbHZlTWF0aE1MU3R5bGVUcmVlKHJlbmRlcmVy
KCkpOworCisgICAgTWF0aE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwor
fQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBkYTE3YjUx
OTg0NWYyMGQyZGMxZDU1YzhlZTdmODZjMjVmMjRhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmgKQEAgLTAsMCArMSw1
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93
c2tpLmNvbSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShN
QVRITUwpCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MRWxlbWVu
dCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKKworcHJvdGVj
dGVkOgorICAgIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQmKTsKKyAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKKworICAgIGJvb2wgYWNj
ZXB0c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpIG92ZXJyaWRlOworCitwcml2YXRlOgorICAgIFJl
bmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUm
JiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CisgICAgYm9vbCBpc1ByZXNl
bnRhdGlvbk1hdGhNTCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KK307CisKK30KKwor
I2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MUm93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUm93
RWxlbWVudC5jcHAKaW5kZXggODU2MzI2MzZhZDk2MTg1MzExMjUyNzc0MzMxMzJhNTQ2NTEyMjBi
NC4uMDQ4MzlmYzdiZDBmN2QyNjYwMTFhM2I4NTJhN2I3ODFhOTJhMjA4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL21hdGhtbC9NYXRoTUxSb3dFbGVtZW50LmNwcApAQCAtNDAsNyArNDAsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAKIE1hdGhNTFJv
d0VsZW1lbnQ6Ok1hdGhNTFJvd0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKKyAgICA6IE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpCiB7CiB9CiAKQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBNYXRoTUxSb3dFbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKICAgICAgICAg
ICAgIHN0YXRpY19jYXN0PE1hdGhNTE9wZXJhdG9yRWxlbWVudCo+KGNoaWxkKS0+c2V0T3BlcmF0
b3JGb3JtRGlydHkoKTsKICAgICB9CiAKLSAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlKTsKKyAgICBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoY2hhbmdlKTsKIH0KIAogUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+
IE1hdGhNTFJvd0VsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0
eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRo
TUxSb3dFbGVtZW50LmgKaW5kZXggYmZlMDJlNDRkMWFiNGI4ZjQyYmIzZmJkNDk4Mzc2YjZlNWFm
YjhhNC4uMDM5NzgxYWIyZWJmNzg1ZDI5OWZhN2ZjM2M0MjNkOWRhOWI3OTI3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNw
cmFnbWEgb25jZQogCiAjaWYgRU5BQkxFKE1BVEhNTCkKLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1hdGhNTFJvd0VsZW1lbnQgOiBwdWJs
aWMgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB7CitjbGFzcyBNYXRoTUxSb3dFbGVtZW50
IDogcHVibGljIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8TWF0aE1MUm93RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRo
TUxTY3JpcHRzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0
c0VsZW1lbnQuY3BwCmluZGV4IGI4ZGQwZjc1NTg2OTk0N2IzODFhZDRmZWZhNzg4ZDNlOTAwYWRl
ZjguLmEwODRhYjY1YzYwM2UzODExOTJjMTBjNGQ3MzBjYWEyMDliNDY0ODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcApAQCAtMzYsNyArMzYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAK
IE1hdGhNTFNjcmlwdHNFbGVtZW50OjpNYXRoTUxTY3JpcHRzRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogTWF0aE1MUHJlc2VudGF0
aW9uRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuaAppbmRleCBiOTQxODE1ODg0NGZhYTZhY2JmYWUz
ZjNlOWE1MDYyYjQ2NzU4MzVkLi5kMTAwYWUxZDQ3YTNhOTg4Y2I4NWEwMjA3MmI3OTNiZTNmMTky
MzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuaApA
QCAtMjYsMTEgKzI2LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2lmIEVOQUJMRShNQVRITUwpCi0j
aW5jbHVkZSAiTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIk1hdGhN
TFByZXNlbnRhdGlvbkVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBN
YXRoTUxTY3JpcHRzRWxlbWVudCA6IHB1YmxpYyBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
IHsKK2NsYXNzIE1hdGhNTFNjcmlwdHNFbGVtZW50IDogcHVibGljIE1hdGhNTFByZXNlbnRhdGlv
bkVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0aE1MU2NyaXB0c0VsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogICAgIGNv
bnN0IExlbmd0aCYgc3Vic2NyaXB0U2hpZnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9tYXRodGFncy5pbiBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbgpp
bmRleCAzNTZhNmQ0NDc3MWUyODEzZDA5MjY2NzliMmM5ZGQ0OWMxNjAxNTY0Li40YmU2ZWU3OTgx
MGMyZDg5YmQ0Yzk4OTEyYTUxYzE0YWI1ZjQ1MGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvbWF0aHRhZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL21hdGh0YWdz
LmluCkBAIC0yOCwxMyArMjgsMTMgQEAgbXMgaW50ZXJmYWNlTmFtZT1NYXRoTUxUb2tlbkVsZW1l
bnQKIG1zcGFjZSBpbnRlcmZhY2VOYW1lPU1hdGhNTFNwYWNlRWxlbWVudAogbXN1YiBpbnRlcmZh
Y2VOYW1lPU1hdGhNTFNjcmlwdHNFbGVtZW50CiBtc3VwIGludGVyZmFjZU5hbWU9TWF0aE1MU2Ny
aXB0c0VsZW1lbnQKLW10YWJsZSBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQKK210YWJsZSBpbnRlcmZhY2VOYW1lPU1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQKIG10
ciBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQKIG10ZCBpbnRlcmZhY2VOYW1lPU1hdGhNTEVs
ZW1lbnQKIG1tdWx0aXNjcmlwdHMgaW50ZXJmYWNlTmFtZT1NYXRoTUxTY3JpcHRzRWxlbWVudAot
bXByZXNjcmlwdHMgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Citt
cHJlc2NyaXB0cyBpbnRlcmZhY2VOYW1lPU1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQKIG1lbmNs
b3NlIGludGVyZmFjZU5hbWU9TWF0aE1MTWVuY2xvc2VFbGVtZW50Ci1ub25lIGludGVyZmFjZU5h
bWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbm9uZSBpbnRlcmZhY2VOYW1lPU1hdGhN
TFByZXNlbnRhdGlvbkVsZW1lbnQKIHNlbWFudGljcyBpbnRlcmZhY2VOYW1lPU1hdGhNTFNlbGVj
dEVsZW1lbnQKIAogbWFsaWduZ3JvdXAgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0
aW9uLmgKaW5kZXggMDg1YTc1ZDI4NWUzYjljYTI0N2M4ZjMyNTFiMzNmMmYxMWQ5NDBiZi4uYTMz
ZTQyYTQ5ZjJmNjYwZGE2ZGMyMzA2YjNhOGYyZDU2ZTJkMWJhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaApAQCAt
MzAsNyArMzAsNiBAQAogI2lmIEVOQUJMRShNQVRITUwpCiAKICNpbmNsdWRlICJNYXRoTUxGcmFj
dGlvbkVsZW1lbnQuaCIKLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286695</attachid>
            <date>2016-08-23 03:09:07 -0700</date>
            <delta_ts>2016-08-23 03:57:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161053-20160823120708.patch</filename>
            <type>text/plain</type>
            <size>26492</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0Nzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI3YjAxY2JjZmRlMzMw
NDNjYzhlMmNiYjYzZmFkYTgzZjA2MWU4My4uMjI3YWQ3ZDI3ZjAwYjAxZWI2OGVhYWM2YmM3NjY4
N2M4YTQ0OGVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA4LTIzICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBSZW5hbWUgTWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudCB0byBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEwNTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGJl
aGF2aW9yIGlzIHVuY2hhbmdlZC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBSZW5hbWUg
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCB0byBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50
LgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisg
ICAgICAgICogbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcDogRGl0dG8uCisgICAgICAgICogbWF0
aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVudC5jcHA6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9N
YXRoTUxGcmFjdGlvbkVsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogbWF0aG1sL01hdGhNTFBy
ZXNlbnRhdGlvbkVsZW1lbnQuY3BwOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MUHJl
c2VudGF0aW9uRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MUm93RWxl
bWVudC5jcHA6IERpdHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxSb3dFbGVtZW50Lmg6IERp
dHRvLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5jcHA6IERpdHRvLgor
ICAgICAgICAqIG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAg
KiBtYXRobWwvbWF0aHRhZ3MuaW46IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MRnJhY3Rpb24uaDogUmVtb3ZlIHVzZWxlc3MgaW5jbHVkZS4KKwogMjAxNi0w
OC0yMyAgRnJlZGVyaWMgV2FuZyAgPGZyZWQud2FuZ0BmcmVlLmZyPgogCiAgICAgICAgIEludHJv
ZHVjZSBhIE1hdGhNTFJvd0VsZW1lbnQgY2xhc3MgZm9yIG1yb3ctbGlrZSBlbGVtZW50cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCAwYmI3N2Y2MzMwMWM0YTAxODM1MjhhMDJiYmI0OTM2NWYzY2E3
YTkzLi4zNzg1ODExNjdjMjBkODdjMzNmMmMyMGNjMDQ2NGVmM2NjMjhlMWFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtMjAwNSwxMiArMjAwNSwxMiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgbWF0aG1sL01hdGhNTEFubm90YXRpb25FbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxF
bGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxGcmFjdGlvbkVsZW1lbnQuY3BwCi0gICAgbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCiAgICAgbWF0aG1sL01hdGhNTE1h
dGhFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwCiAgICAg
bWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAKICAgICBtYXRobWwvTWF0aE1MT3Bl
cmF0b3JFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxQYWRkZWRFbGVtZW50LmNwcAorICAg
IG1hdGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxS
b3dFbGVtZW50LmNwcAogICAgIG1hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5jcHAKICAgICBt
YXRobWwvTWF0aE1MU2VsZWN0RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjODk2NjMxYTVlNWY1YmI2MDcyZjQ0
OWQ3OThjMzMyMWQwNDgxYzI0Li5jODcyZGVmZGUyNmYyNzM5Y2ViMDZjZWJhZjM1ZjQwZTEzYmNj
OTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC02MzIzLDggKzYzMjMsOCBAQAogCQlGQUJFNzJGNDEwNTlDMUVCMDBEOTk5REQg
LyogTWF0aE1MRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGQUJFNzJFRDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5jcHAg
Ki87IH07CiAJCUZBQkU3MkY1MTA1OUMxRUIwMEQ4ODhDQyAvKiBNYXRoTUxBbm5vdGF0aW9uRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFC
RTcyRUUxMDU5QzFFQjAwRDg4OENDIC8qIE1hdGhNTEFubm90YXRpb25FbGVtZW50LmggKi87IH07
CiAJCUZBQkU3MkY1MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJFRTEwNTlDMUVCMDBE
OTk5REQgLyogTWF0aE1MRWxlbWVudC5oICovOyB9OwotCQlGQUJFNzJGNjEwNTlDMUVCMDBEOTk5
REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyog
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi87IH07Ci0JCUZBQkU3MkY3MTA1OUMx
RUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJGMDEwNTlDMUVCMDBEOTk5
REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oICovOyB9OworCQlGQUJFNzJGNjEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJFRjEwNTlDMUVCMDBE
OTk5REQgLyogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAgKi87IH07CisJCUZBQkU3MkY3
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJGMDEwNTlDMUVCMDBE
OTk5REQgLyogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5oICovOyB9OwogCQlGQUJFNzJGODEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjExMDU5QzFFQjAwRDk5OUREIC8q
IE1hdGhNTE1hdGhFbGVtZW50LmNwcCAqLzsgfTsKIAkJRkFCRTcyRjkxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTE1hdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1l
bnQuaCAqLzsgfTsKIAkJRkFCRTcyRkQxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnRG
YWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZBQkU3MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgKi87
IH07CkBAIC0xMzg5OCw4ICsxMzg5OCw4IEBACiAJCUZBQkU3MkVEMTA1OUMxRUIwMEQ5OTlERCAv
KiBNYXRoTUxFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1hdGhNTEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQUJFNzJF
RTEwNTlDMUVCMDBEODg4Q0MgLyogTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MQW5ub3RhdGlvbkVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkFCRTcyRUUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhN
TEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGQUJFNzJFRjEwNTlDMUVCMDBEOTk5
REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkFCRTcyRjAxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGQUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MUHJlc2VudGF0aW9u
RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxQ
cmVzZW50YXRpb25FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFC
RTcyRjAxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQUJFNzJGMTEwNTlDMUVCMDBEOTk5REQg
LyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkFCRTcyRjMxMDU5QzFFQjAwRDk5OUREIC8qIG1hdGh0YWdz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IG1hdGh0YWdzLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjMxMjYsOCArMjMxMjYsOCBAQAogCQkJCUZBQkU3MkVFMTA1OUMxRUIw
MEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggKi8sCiAJCQkJMEJDRjgzRUYxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTEZyYWN0aW9uRWxlbWVudC5jcHAgKi8sCiAJCQkJMEJDRjgzRjAxMDU5QzFF
QjAwRDk5OUREIC8qIE1hdGhNTEZyYWN0aW9uRWxlbWVudC5oICovLAotCQkJCUZBQkU3MkVGMTA1
OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCAqLywKLQkJ
CQlGQUJFNzJGMDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dC5oICovLAorCQkJCUZBQkU3MkVGMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVzZW50YXRp
b25FbGVtZW50LmNwcCAqLywKKwkJCQlGQUJFNzJGMDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1M
UHJlc2VudGF0aW9uRWxlbWVudC5oICovLAogCQkJCUZBQkU3MkYxMTA1OUMxRUIwMEQ5OTlERCAv
KiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi8sCiAJCQkJRkFCRTcyRjIxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTE1hdGhFbGVtZW50LmggKi8sCiAJCQkJQzNFNjFDNjUzQTY0ODA3QTgzRTc2RkI4
IC8qIE1hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAgKi8sCkBAIC0yNTM3NCw3ICsyNTM3NCw3IEBA
CiAJCQkJRkFCRTcyRjUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ0QTI4QUFDMTJERkI4QUMwMEFFOTIzQiAvKiBNYXRoTUxFbGVtZW50RmFj
dG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEJDRjgzRjcxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTEZyYWN0aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRkFCRTcyRjcxMDU5QzFF
QjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAorCQkJCUZBQkU3MkY3MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVzZW50YXRpb25FbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGQUJFNzJGOTEwNTlDMUVCMDBEOTk5REQgLyogTWF0
aE1MTWF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0QTI4QUFGMTJERkI4QkYwMEFF
OTIzQiAvKiBNYXRoTUxOYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkE2NTRBNkMxMTA4QUJF
RDAwMjYxNkYxIC8qIE1hdGhNTE9wZXJhdG9yRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
OTA1NCw3ICsyOTA1NCw3IEBACiAJCQkJRkFCRTcyRjQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhN
TEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkFCRTcyRkQxMDU5QzIxMTAwRDk5OURE
IC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBCQ0Y4M0Y2
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxGcmFjdGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJRkFCRTcyRjYxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFCRTcyRjYxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkFC
RTcyRjgxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTA1RDkxM0NFRUFCMkE2MDUzNDIxOEFDRiAvKiBNYXRoTUxNZW5jbG9zZUVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1h
dGhNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTEFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxB
bGxJbk9uZS5jcHAKaW5kZXggN2UzMDkwODFmMzMxODFmNDdlMjFlZGJiZTkxMDliNDhlNTRlYmRj
Yi4uY2MyNTYzZDk2ZWVhNTIwOTQ1NGJkZTUzODlkMzJmNjg4MzBhNDQyMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MQWxsSW5PbmUuY3BwCkBAIC0yOCwxMiArMjgsMTIgQEAKICNpbmNs
dWRlICJNYXRoTUxBbm5vdGF0aW9uRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MRWxlbWVu
dC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MRnJhY3Rpb25FbGVtZW50LmNwcCIKLSNpbmNsdWRlICJN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCIKICNpbmNsdWRlICJNYXRoTUxNYXRoRWxl
bWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNwcCIKICNpbmNsdWRl
ICJNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwIgogI2luY2x1ZGUgIk1hdGhNTE9wZXJhdG9y
RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MUGFkZGVkRWxlbWVudC5jcHAiCisjaW5jbHVk
ZSAiTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MUm93RWxl
bWVudC5jcHAiCiAjaW5jbHVkZSAiTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3BwIgogI2luY2x1ZGUg
Ik1hdGhNTFNlbGVjdEVsZW1lbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0
aE1MRnJhY3Rpb25FbGVtZW50LmNwcAppbmRleCAxN2FjYzJmYzU5OTBjNmJhOTE0MjIwMmJkMjNl
NDNlMjFiNzgxZWZkLi4yMTkyNjNhYzc4ZjFlZGIwOTBhYWRhZTUxZDNjYTVhMjMyOWMwNTkxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRnJhY3Rpb25FbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRnJhY3Rpb25FbGVtZW50LmNwcApA
QCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0
aE1MTmFtZXM7CiAKIGlubGluZSBNYXRoTUxGcmFjdGlvbkVsZW1lbnQ6Ok1hdGhNTEZyYWN0aW9u
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQp
Ci0gICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQor
ICAgIDogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEZyYWN0aW9uRWxlbWVudC5oCmluZGV4
IGU5ZWJmMTZhODc4YzhmMDI3NTI3ZDQwMzQ4ZTgxOTYzMTBiY2U0NzMuLmJjOTIyNzVjMDI4NjYw
ZDE3NzgxOTQzOTQ3OTQ1MDg5ZmU5MjlhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxGcmFjdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MRnJhY3Rpb25FbGVtZW50LmgKQEAgLTI2LDExICsyNiwxMSBAQAogI3ByYWdtYSBvbmNl
CiAKICNpZiBFTkFCTEUoTUFUSE1MKQotI2luY2x1ZGUgIk1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTWF0aE1MRnJhY3Rpb25FbGVtZW50IGZpbmFsIDogcHVi
bGljIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgeworY2xhc3MgTWF0aE1MRnJhY3Rpb25F
bGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8TWF0aE1MRnJhY3Rpb25FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKICAgICBjb25zdCBMZW5ndGgmIGxpbmVU
aGlja25lc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Ri
Y2Y0NGM0MDQzMTEyMzc0YjJlNmU3YmQ3NjIwZTU2OTIxODBiNC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2ku
Y29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMu
TC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShNQVRITUwpCi0KLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCi0K
LSNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgotI2luY2x1ZGUgIlJlbmRlck1hdGhNTEJsb2NrLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwot
Ci1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKLSAg
ICA6IE1hdGhNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCi17Ci19Ci0KLVJlZjxNYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50PiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQotewot
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpKTsKLX0KLQotUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
IHN0eWxlLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKQotewotICAgIGlmIChoYXNUYWdOYW1l
KG10YWJsZVRhZykpCi0gICAgICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJNYXRoTUxU
YWJsZT4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKLQotICAgIHJldHVybiBjcmVhdGVSZW5kZXJl
cjxSZW5kZXJNYXRoTUxCbG9jaz4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKLX0KLQotYm9vbCBN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjphY2NlcHRzRGlzcGxheVN0eWxlQXR0cmlidXRl
KCkKLXsKLSAgICByZXR1cm4gaGFzVGFnTmFtZShtdGFibGVUYWcpOwotfQotCi12b2lkIE1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCi17Ci0gICAgYm9vbCBkaXNwbGF5
U3R5bGVBdHRyaWJ1dGUgPSBuYW1lID09IGRpc3BsYXlzdHlsZUF0dHIgJiYgYWNjZXB0c0Rpc3Bs
YXlTdHlsZUF0dHJpYnV0ZSgpOwotICAgIGJvb2wgbWF0aFZhcmlhbnRBdHRyaWJ1dGUgPSBuYW1l
ID09IG1hdGh2YXJpYW50QXR0ciAmJiBhY2NlcHRzTWF0aFZhcmlhbnRBdHRyaWJ1dGUoKTsKLSAg
ICBpZiAoZGlzcGxheVN0eWxlQXR0cmlidXRlKQotICAgICAgICBtX2Rpc3BsYXlTdHlsZSA9IE51
bGxvcHQ7Ci0gICAgaWYgKG1hdGhWYXJpYW50QXR0cmlidXRlKQotICAgICAgICBtX21hdGhWYXJp
YW50ID0gTnVsbG9wdDsKLSAgICBpZiAoKGRpc3BsYXlTdHlsZUF0dHJpYnV0ZSB8fCBtYXRoVmFy
aWFudEF0dHJpYnV0ZSkgJiYgcmVuZGVyZXIoKSkKLSAgICAgICAgTWF0aE1MU3R5bGU6OnJlc29s
dmVNYXRoTUxTdHlsZVRyZWUocmVuZGVyZXIoKSk7Ci0KLSAgICBNYXRoTUxFbGVtZW50OjpwYXJz
ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7Ci19Ci0KLX0KLQotI2VuZGlmIC8vIEVOQUJMRShNQVRI
TUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjJiMWUyNWM1YzJjM2Nh
YmZjNDRjNGFhZWIyZDQ3YjY0ZjY0YjViNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShNQVRITUwpCi0jaW5jbHVkZSAi
TWF0aE1MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIE1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MRWxlbWVudCB7Ci1wdWJsaWM6Ci0g
ICAgc3RhdGljIFJlZjxNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKLQotcHJvdGVjdGVkOgotICAgIE1h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQmKTsKLSAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKLQotICAgIGJvb2wgYWNjZXB0c0Rpc3Bs
YXlTdHlsZUF0dHJpYnV0ZSgpIG92ZXJyaWRlOwotCi1wcml2YXRlOgotICAgIFJlbmRlclB0cjxS
ZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3Qg
UmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc1ByZXNlbnRhdGlvbk1h
dGhNTCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLX07Ci0KLX0KLQotI2VuZGlmIC8v
IEVOQUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
UHJlc2VudGF0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUHJl
c2VudGF0aW9uRWxlbWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI4Mzc3M2ZhNWJkNjRhNDJhMGM1MWRm
OGVkZTdmMmQ3MDljYjE3ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmNwcApAQCAtMCwwICsxLDc5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNQVRITUwp
CisjaW5jbHVkZSAiTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5oIgorCisjaW5jbHVkZSAiTWF0
aE1MTmFtZXMuaCIKKyNpbmNsdWRlICJSZW5kZXJNYXRoTUxCbG9jay5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworTWF0aE1MUHJlc2Vu
dGF0aW9uRWxlbWVudDo6TWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgOiBNYXRoTUxFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQoreworfQorCitSZWY8TWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudD4g
TWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBN
YXRoTUxQcmVzZW50YXRpb25FbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KSk7Cit9CisKK1JlbmRl
clB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50OjpjcmVhdGVFbGVt
ZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9u
JikKK3sKKyAgICBpZiAoaGFzVGFnTmFtZShtdGFibGVUYWcpKQorICAgICAgICByZXR1cm4gY3Jl
YXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MVGFibGU+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7CisK
KyAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVuZGVyTWF0aE1MQmxvY2s+KCp0aGlzLCBXVEZN
b3ZlKHN0eWxlKSk7Cit9CisKK2Jvb2wgTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudDo6YWNjZXB0
c0Rpc3BsYXlTdHlsZUF0dHJpYnV0ZSgpCit7CisgICAgcmV0dXJuIGhhc1RhZ05hbWUobXRhYmxl
VGFnKTsKK30KKwordm9pZCBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQor
eworICAgIGJvb2wgZGlzcGxheVN0eWxlQXR0cmlidXRlID0gbmFtZSA9PSBkaXNwbGF5c3R5bGVB
dHRyICYmIGFjY2VwdHNEaXNwbGF5U3R5bGVBdHRyaWJ1dGUoKTsKKyAgICBib29sIG1hdGhWYXJp
YW50QXR0cmlidXRlID0gbmFtZSA9PSBtYXRodmFyaWFudEF0dHIgJiYgYWNjZXB0c01hdGhWYXJp
YW50QXR0cmlidXRlKCk7CisgICAgaWYgKGRpc3BsYXlTdHlsZUF0dHJpYnV0ZSkKKyAgICAgICAg
bV9kaXNwbGF5U3R5bGUgPSBOdWxsb3B0OworICAgIGlmIChtYXRoVmFyaWFudEF0dHJpYnV0ZSkK
KyAgICAgICAgbV9tYXRoVmFyaWFudCA9IE51bGxvcHQ7CisgICAgaWYgKChkaXNwbGF5U3R5bGVB
dHRyaWJ1dGUgfHwgbWF0aFZhcmlhbnRBdHRyaWJ1dGUpICYmIHJlbmRlcmVyKCkpCisgICAgICAg
IE1hdGhNTFN0eWxlOjpyZXNvbHZlTWF0aE1MU3R5bGVUcmVlKHJlbmRlcmVyKCkpOworCisgICAg
TWF0aE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOworfQorCit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRo
TUxQcmVzZW50YXRpb25FbGVtZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBkYTE3YjUxOTg0NWYyMGQyZGMx
ZDU1YzhlZTdmODZjMjVmMjRhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxQcmVzZW50YXRpb25FbGVtZW50LmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShNQVRITUwpCisjaW5j
bHVkZSAiTWF0aE1MRWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1h
dGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MRWxlbWVudCB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKKworcHJvdGVjdGVkOgorICAgIE1h
dGhNTFByZXNlbnRhdGlvbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmKTsKKyAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKKworICAgIGJvb2wgYWNjZXB0c0Rpc3BsYXlT
dHlsZUF0dHJpYnV0ZSgpIG92ZXJyaWRlOworCitwcml2YXRlOgorICAgIFJlbmRlclB0cjxSZW5k
ZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVu
ZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CisgICAgYm9vbCBpc1ByZXNlbnRhdGlvbk1hdGhN
TCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KK307CisKK30KKworI2VuZGlmIC8vIEVO
QUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUm93
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MUm93RWxlbWVudC5jcHAK
aW5kZXggODU2MzI2MzZhZDk2MTg1MzExMjUyNzc0MzMxMzJhNTQ2NTEyMjBiNC4uMDQ4MzlmYzdi
ZDBmN2QyNjYwMTFhM2I4NTJhN2I3ODFhOTJhMjA4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxSb3dFbGVtZW50LmNwcApAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAKIE1hdGhNTFJvd0VsZW1lbnQ6Ok1h
dGhNTFJvd0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRv
Y3VtZW50KQotICAgIDogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCh0YWdOYW1lLCBkb2N1
bWVudCkKKyAgICA6IE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
CiB7CiB9CiAKQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBNYXRoTUxSb3dFbGVtZW50OjpjaGlsZHJl
bkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKICAgICAgICAgICAgIHN0YXRpY19j
YXN0PE1hdGhNTE9wZXJhdG9yRWxlbWVudCo+KGNoaWxkKS0+c2V0T3BlcmF0b3JGb3JtRGlydHko
KTsKICAgICB9CiAKLSAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjaGlsZHJlbkNo
YW5nZWQoY2hhbmdlKTsKKyAgICBNYXRoTUxQcmVzZW50YXRpb25FbGVtZW50OjpjaGlsZHJlbkNo
YW5nZWQoY2hhbmdlKTsKIH0KIAogUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IE1hdGhNTFJvd0Vs
ZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0eWxlLCBjb25zdCBS
ZW5kZXJUcmVlUG9zaXRpb24mKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTFJvd0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxSb3dFbGVtZW50
LmgKaW5kZXggYmZlMDJlNDRkMWFiNGI4ZjQyYmIzZmJkNDk4Mzc2YjZlNWFmYjhhNC4uMDM5Nzgx
YWIyZWJmNzg1ZDI5OWZhN2ZjM2M0MjNkOWRhOWI3OTI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTFJvd0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MUm93RWxlbWVudC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNwcmFnbWEgb25jZQog
CiAjaWYgRU5BQkxFKE1BVEhNTCkKLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1hdGhNTFJvd0VsZW1lbnQgOiBwdWJsaWMgTWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudCB7CitjbGFzcyBNYXRoTUxSb3dFbGVtZW50IDogcHVibGljIE1h
dGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0aE1M
Um93RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxTY3JpcHRzRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuY3Bw
CmluZGV4IGI4ZGQwZjc1NTg2OTk0N2IzODFhZDRmZWZhNzg4ZDNlOTAwYWRlZjguLmEwODRhYjY1
YzYwM2UzODExOTJjMTBjNGQ3MzBjYWEyMDliNDY0ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxTY3JpcHRzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmNwcApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAKIE1hdGhNTFNjcmlw
dHNFbGVtZW50OjpNYXRoTUxTY3JpcHRzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCi0gICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQorICAgIDogTWF0aE1MUHJlc2VudGF0aW9uRWxlbWVudCh0
YWdOYW1lLCBkb2N1bWVudCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTFNjcmlwdHNFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
U2NyaXB0c0VsZW1lbnQuaAppbmRleCBiOTQxODE1ODg0NGZhYTZhY2JmYWUzZjNlOWE1MDYyYjQ2
NzU4MzVkLi5kMTAwYWUxZDQ3YTNhOTg4Y2I4NWEwMjA3MmI3OTNiZTNmMTkyMzI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MU2NyaXB0c0VsZW1lbnQuaApAQCAtMjYsMTEgKzI2
LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2lmIEVOQUJMRShNQVRITUwpCi0jaW5jbHVkZSAiTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIk1hdGhNTFByZXNlbnRhdGlv
bkVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBNYXRoTUxTY3JpcHRz
RWxlbWVudCA6IHB1YmxpYyBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50IHsKK2NsYXNzIE1h
dGhNTFNjcmlwdHNFbGVtZW50IDogcHVibGljIE1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQgewog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0aE1MU2NyaXB0c0VsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogICAgIGNvbnN0IExlbmd0aCYg
c3Vic2NyaXB0U2hpZnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRo
dGFncy5pbiBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbgppbmRleCAzNTZhNmQ0
NDc3MWUyODEzZDA5MjY2NzliMmM5ZGQ0OWMxNjAxNTY0Li40YmU2ZWU3OTgxMGMyZDg5YmQ0Yzk4
OTEyYTUxYzE0YWI1ZjQ1MGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvbWF0
aHRhZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluCkBAIC0yOCwx
MyArMjgsMTMgQEAgbXMgaW50ZXJmYWNlTmFtZT1NYXRoTUxUb2tlbkVsZW1lbnQKIG1zcGFjZSBp
bnRlcmZhY2VOYW1lPU1hdGhNTFNwYWNlRWxlbWVudAogbXN1YiBpbnRlcmZhY2VOYW1lPU1hdGhN
TFNjcmlwdHNFbGVtZW50CiBtc3VwIGludGVyZmFjZU5hbWU9TWF0aE1MU2NyaXB0c0VsZW1lbnQK
LW10YWJsZSBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK210YWJs
ZSBpbnRlcmZhY2VOYW1lPU1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQKIG10ciBpbnRlcmZhY2VO
YW1lPU1hdGhNTEVsZW1lbnQKIG10ZCBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQKIG1tdWx0
aXNjcmlwdHMgaW50ZXJmYWNlTmFtZT1NYXRoTUxTY3JpcHRzRWxlbWVudAotbXByZXNjcmlwdHMg
aW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CittcHJlc2NyaXB0cyBp
bnRlcmZhY2VOYW1lPU1hdGhNTFByZXNlbnRhdGlvbkVsZW1lbnQKIG1lbmNsb3NlIGludGVyZmFj
ZU5hbWU9TWF0aE1MTWVuY2xvc2VFbGVtZW50Ci1ub25lIGludGVyZmFjZU5hbWU9TWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudAorbm9uZSBpbnRlcmZhY2VOYW1lPU1hdGhNTFByZXNlbnRhdGlv
bkVsZW1lbnQKIHNlbWFudGljcyBpbnRlcmZhY2VOYW1lPU1hdGhNTFNlbGVjdEVsZW1lbnQKIAog
bWFsaWduZ3JvdXAgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmgKaW5kZXgg
MDg1YTc1ZDI4NWUzYjljYTI0N2M4ZjMyNTFiMzNmMmYxMWQ5NDBiZi4uYTMzZTQyYTQ5ZjJmNjYw
ZGE2ZGMyMzA2YjNhOGYyZDU2ZTJkMWJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaApAQCAtMzAsNyArMzAsNiBA
QAogI2lmIEVOQUJMRShNQVRITUwpCiAKICNpbmNsdWRlICJNYXRoTUxGcmFjdGlvbkVsZW1lbnQu
aCIKLSNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
UmVuZGVyTWF0aE1MQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewo=
</data>
<flag name="review"
          id="310208"
          type_id="1"
          status="+"
          setter="rego"
    />
          </attachment>
      

    </bug>

</bugzilla>