<?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>180647</bug_id>
          
          <creation_ts>2017-12-11 06:19:26 -0800</creation_ts>
          <short_desc>[Web Animations] Implement AnimationPlaybackEvent and AnimationPlaybackEventInit</short_desc>
          <delta_ts>2017-12-11 11:19:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1380179</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-11 06:19:26 -0800</bug_when>
    <thetext>Before we can get started implementing more of the APIs of Animation, we need to implement the animation class that animations can dispatch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380180</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-11 06:19:59 -0800</bug_when>
    <thetext>&lt;rdar://problem/35966325&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380183</commentid>
    <comment_count>2</comment_count>
      <attachid>328965</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-11 06:29:48 -0800</bug_when>
    <thetext>Created attachment 328965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380197</commentid>
    <comment_count>3</comment_count>
      <attachid>328973</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-11 08:00:56 -0800</bug_when>
    <thetext>Created attachment 328973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380249</commentid>
    <comment_count>4</comment_count>
      <attachid>328973</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-12-11 09:53:14 -0800</bug_when>
    <thetext>Comment on attachment 328973
Patch

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

&gt; Source/WebCore/animation/AnimationPlaybackEvent.cpp:46
&gt; +    : Event(type, true, false)

What is the middle &apos;true&apos; here? I guess it is a different constructor to the one you&apos;re using above?

&gt; Source/WebCore/animation/AnimationPlaybackEvent.cpp:58
&gt; +    if (m_currentTime)
&gt; +        return m_currentTime-&gt;milliseconds();
&gt; +    return std::nullopt;

We normally do these the other way around.

if (!m_currentTime)
  return std::nullopt;

return actualvalue;

&gt; Source/WebCore/animation/AnimationPlaybackEvent.cpp:71
&gt; +EventInterface AnimationPlaybackEvent::eventInterface() const
&gt; +{
&gt; +    return AnimationPlaybackEventInterfaceType;
&gt; +}

This can be inline in the header file.

&gt; Source/WebCore/animation/AnimationPlaybackEvent.h:40
&gt; +    static Ref&lt;AnimationPlaybackEvent&gt; create(const AtomicString&amp; type, const AnimationPlaybackEventInit&amp; initializer, IsTrusted isTrusted = IsTrusted::No)

Not your issue, but I wish it was Trusted::NotTrusted, although Trusted::Trusted would look weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380251</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-11 09:58:27 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #4)
&gt; Comment on attachment 328973 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=328973&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/animation/AnimationPlaybackEvent.cpp:46
&gt; &gt; +    : Event(type, true, false)
&gt; 
&gt; What is the middle &apos;true&apos; here? I guess it is a different constructor to the
&gt; one you&apos;re using above?

Yes, one is with the initialiser, this one is Event(const AtomicString&amp; type, bool canBubble, bool cancelable). 

&gt; &gt; Source/WebCore/animation/AnimationPlaybackEvent.cpp:58
&gt; &gt; +    if (m_currentTime)
&gt; &gt; +        return m_currentTime-&gt;milliseconds();
&gt; &gt; +    return std::nullopt;
&gt; 
&gt; We normally do these the other way around.
&gt; 
&gt; if (!m_currentTime)
&gt;   return std::nullopt;
&gt; 
&gt; return actualvalue;

Will fix.

&gt; &gt; Source/WebCore/animation/AnimationPlaybackEvent.cpp:71
&gt; &gt; +EventInterface AnimationPlaybackEvent::eventInterface() const
&gt; &gt; +{
&gt; &gt; +    return AnimationPlaybackEventInterfaceType;
&gt; &gt; +}
&gt; 
&gt; This can be inline in the header file.

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380257</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-11 10:02:45 -0800</bug_when>
    <thetext>Committed r225745: &lt;https://trac.webkit.org/changeset/225745&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380296</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-11 10:57:03 -0800</bug_when>
    <thetext>Committed r225749: &lt;https://trac.webkit.org/changeset/225749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380303</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-11 11:19:42 -0800</bug_when>
    <thetext>Committed r225750: &lt;https://trac.webkit.org/changeset/225750&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328965</attachid>
            <date>2017-12-11 06:29:48 -0800</date>
            <delta_ts>2017-12-11 08:00:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180647-20171211152947.patch</filename>
            <type>text/plain</type>
            <size>24764</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA3OTdkOGViN2Y4ZDIz
ZWFkMzFiODU4ZGI0MzcxZTBhMjg1N2M4Mi4uMjFmYzhjMTA1YTQ1Njg4MWJhN2VkM2VhMDk0Mzhk
ZjYyMmUwYTk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE3LTEyLTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgQW5pbWF0aW9uUGxheWJhY2tFdmVudCBhbmQgQW5pbWF0aW9uUGxheWJhY2tF
dmVudEluaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4MDY0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU5NjYzMjU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgaW1wbGVtZW50IHRoZSBBbmlt
YXRpb25QbGF5YmFja0V2ZW50IGludGVyZmFjZSBhbmQgQW5pbWF0aW9uUGxheWJhY2tFdmVudElu
aXQgZGljdGlvbmFyeQorICAgICAgICBhcyB0aGUgZmlyc3Qgc3RlcCB0b3dhcmRzIGRpc3BhdGNo
aW5nIGFuaW1hdGlvbiAiZmluaXNoIiBhbmQgImNhbmNlbCIgZXZlbnRzLgorCisgICAgICAgIEFu
aW1hdGlvbiBwbGF5YmFjayBldmVudHMgd2lsbCBiZSBkaXNwYXRjaGVkIG9uIEFuaW1hdGlvbiBv
YmplY3RzIGFuZCBleHBvc2UgdGhlIHRpbWVsaW5lIHRpbWUKKyAgICAgICAgYW5kIGFuaW1hdGlv
biBjdXJyZW50IHRpbWUgYXQgdGhlIHRpbWUgdGhleSB3ZXJlIGNvbnN0cnVjdGVkLiBEaXNwYXRj
aCBpdHNlbGYsIHdoaWNoIHdpbGwgYmUKKyAgICAgICAgdGhlIGZvY3VzIG9mIHRoZSBuZXh0IHBh
dGNoLCBpcyBub3Qgc3luY2hyb25vdXMsIHNvIGl0J3MgaW1wb3J0YW50IHRvIHRyYWNrIHRob3Nl
IHZhbHVlcworICAgICAgICBhdCBjcmVhdGlvbiB0aW1lLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyB5ZXQsIGZvbGxvd3VwIHBhdGNoZXMgd2lsbCBlbmFibGUgZXZlbnQgZGlzcGF0Y2ggYW5kIGV4
aXN0aW5nIFdlYiBQbGF0Zm9ybSBUZXN0cworICAgICAgICB3aWxsIHNob3cgcHJvZ3Jlc3Npb25z
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNr
RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvblBsYXliYWNrRXZl
bnQ6OkFuaW1hdGlvblBsYXliYWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9u
UGxheWJhY2tFdmVudDo6YmluZGluZ3NDdXJyZW50VGltZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25QbGF5YmFja0V2ZW50OjpiaW5kaW5nc1RpbWVsaW5lVGltZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25QbGF5YmFja0V2ZW50OjpldmVudEludGVyZmFj
ZSBjb25zdCk6CisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaDog
QWRkZWQuCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuaDog
QWRkZWQuCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0Lmlk
bDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgor
ICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorCiAyMDE3LTEyLTExICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIyMTkz
MSk6IFJvdyBzdHJldGNoIGRvZXNuJ3Qgd29yayBmb3IgZ3JpZCBjb250YWluZXIgd2l0aCBtaW4t
aGVpZ2h0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDM0OGM3NjIyNDU5MmEzMzdjZGMwNjI3OTJl
ZTU2NGM1N2VhMTUyMGIuLjM5NzNmNTljZmVlZDNmOTcyOTNmMmEzOTY4OGIzNjNjNzUwOTEyMjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00MjQsNiArNDI0LDggQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBhbmltYXRpb24vQW5pbWF0YWJsZS5pZGwKICAgICBhbmltYXRp
b24vQW5pbWF0aW9uRWZmZWN0LmlkbAogICAgIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1p
bmcuaWRsCisgICAgYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaWRsCisgICAgYW5p
bWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmlkbAogICAgIGFuaW1hdGlvbi9Bbmlt
YXRpb25UaW1lbGluZS5pZGwKICAgICBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5pZGwKICAg
ICBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQppbmRleCA4NzZjYmFhYWNhNTI0N2RjNTUwOTBhNzMyOTFhMjFiMzgwZWQzMzJiLi4wZjI5NjFm
MzRkZDRjOGVkMjYwYWU4YzVhYzA2NDYwODEzOGY1ODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTM0OCw2ICszNDgsOCBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChX
ZWJDb3JlKS9hbmltYXRpb24vQW5pbWF0YWJsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvYW5pbWF0
aW9uL0FuaW1hdGlvbkVmZmVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uL0FuaW1h
dGlvbkVmZmVjdFRpbWluZy5pZGwgXAorICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uL0FuaW1hdGlv
blBsYXliYWNrRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2FuaW1hdGlvbi9BbmltYXRpb25Q
bGF5YmFja0V2ZW50SW5pdC5pZGwgXAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uL0FuaW1hdGlv
blRpbWVsaW5lLmlkbCBcCiAgICAgJChXZWJDb3JlKS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CmluZGV4IDhhMTg2NzViNDM5MDBiMzJkOTNkY2I1ZWIyNDE5ZjE0Mjc4ZTlkMDEu
LjRhYzhkZWYwMTkxMTkyMGU3NGE1Y2IxNTJlYWE0NWQ1Mjg4OGU1MGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CkBAIC0zMjIsNiArMzIyLDcgQEAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlTm9kZS5jcHAKIAog
YW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RU
aW1pbmcuY3BwCithbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKIGFuaW1hdGlv
bi9BbmltYXRpb25UaW1lbGluZS5jcHAKIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtMjI4OSw2ICsyMjkwLDggQEAgSlNBbmFs
eXNlck5vZGUuY3BwCiBKU0FuaW1hdGlvbkV2ZW50LmNwcAogSlNBbmltYXRpb25FZmZlY3QuY3Bw
CiBKU0FuaW1hdGlvbkVmZmVjdFRpbWluZy5jcHAKK0pTQW5pbWF0aW9uUGxheWJhY2tFdmVudC5j
cHAKK0pTQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuY3BwCiBKU0FuaW1hdGlvblRpbWVsaW5l
LmNwcAogSlNBdHRyLmNwcAogSlNBdWRpb0J1ZmZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMDdjM2M4YjE4NTcwYTA1
MzRhNTdmN2ZjOGM4YmQ2ODAxM2ZjZTEyLi40MzBlNzI2YmY1ZmZhODFkNDhhMDc2NTcyMmJmYjUw
ZDg2MTYxNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xODY3LDYgKzE4NjcsMTAgQEAKIAkJNzExOEZFRDUxNTY4NUNDNjAw
MzBCNzlBIC8qIEpTU1ZHVmlld1NwZWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcxMThGRUQzMTU2ODVDQzYwMDMwQjc5QSAvKiBKU1NWR1ZpZXdTcGVj
LmggKi87IH07CiAJCTcxMzE3MTM0MUZCRTc4REIwMEY3NThERSAvKiBDU1NQcm9wZXJ0eUJsZW5k
aW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MTMxNzEzMjFGQkU3OEM1MDBGNzU4REUgLyogQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxMzQ0
OTZFMTQ2OTQxQjMwMDcyMDMxMiAvKiBTVkdMZW5ndGhDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTM0NDk2QzE0Njk0MUIzMDA3MjAzMTIg
LyogU1ZHTGVuZ3RoQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTcxNEM3QzY2MUZEQUQyQTEwMEYyQkVFMSAvKiBBbmltYXRpb25QbGF5
YmFja0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MTRDN0M2NTFGREFEMjdCMDBGMkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcxNEM3QzY3
MUZEQUQyQTkwMEYyQkVFMSAvKiBBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE0QzdDNjIxRkRBRDI3QTAw
RjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzE0QzdDNkMxRkRBREFGMzAwRjJCRUUx
IC8qIEpTQW5pbWF0aW9uUGxheWJhY2tFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzE0QzdDNkExRkRBREFENTAwRjJCRUUxIC8qIEpTQW5pbWF0
aW9uUGxheWJhY2tFdmVudC5oICovOyB9OworCQk3MTRDN0M2RDFGREFEQUY2MDBGMkJFRTEgLyog
SlNBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzE0QzdDNkIxRkRBREFENTAwRjJCRUUxIC8qIEpTQW5pbWF0
aW9uUGxheWJhY2tFdmVudEluaXQuaCAqLzsgfTsKIAkJNzE1MzdBMDExNDZCRDlENzAwOEJENjE1
IC8qIFNWR1BhdGhEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MTUzNzlGRjE0NkJEOUQ2MDA4QkQ2MTUgLyogU1ZHUGF0aERhdGEuaCAqLzsgfTsK
IAkJNzE1NTZDQjIxRjlGMDlCQTAwRTc4RDA4IC8qIEFuaW1hdGlvbkVmZmVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE1NTZDQUQxRjlGMDk5RDAw
RTc4RDA4IC8qIEFuaW1hdGlvbkVmZmVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTcxNTU2Q0IzMUY5RjA5QkEwMEU3OEQwOCAvKiBBbmltYXRp
b25FZmZlY3RUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcxNTU2Q0FFMUY5RjA5OUQwMEU3OEQwOCAvKiBBbmltYXRpb25FZmZlY3RUaW1pbmcu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYw
OSw2ICs4NjEzLDE1IEBACiAJCTcxNDEzMTQ4MURDOUQ2RUYwMDMzNjEwNyAvKiBqcy1maWxlcyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSAianMtZmlsZXMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MTQ2REY4QjFERUZDMkVEMDA0NkY5OEIgLyogdHJhY2tzLXBhbmVsLmNzcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuY3NzOyBwYXRoID0gInRyYWNrcy1wYW5lbC5jc3MiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3MTQ2REY4QzFERUZDMkVEMDA0NkY5OEIgLyogdHJhY2tzLXBhbmVs
LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gInRyYWNrcy1wYW5l
bC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNEM3QzYwMUZEQUQyNzkwMEYy
QkVFMSAvKiBBbmltYXRpb25QbGF5YmFja0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEFuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk3MTRDN0M2MjFGREFEMjdBMDBGMkJFRTEgLyogQW5pbWF0aW9uUGxh
eWJhY2tFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQW5pbWF0
aW9uUGxheWJhY2tFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE0
QzdDNjMxRkRBRDI3QTAwRjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNEM3QzY0MUZEQUQyN0IwMEYyQkVFMSAvKiBB
bmltYXRpb25QbGF5YmFja0V2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBbmltYXRp
b25QbGF5YmFja0V2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE0QzdD
NjUxRkRBRDI3QjAwRjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQW5pbWF0aW9uUGxheWJhY2tFdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3MTRDN0M2ODFGREFEQUQ0MDBGMkJFRTEgLyogSlNBbmlt
YXRpb25QbGF5YmFja0V2ZW50SW5pdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzE0QzdDNjkxRkRBREFENTAwRjJCRUUxIC8qIEpTQW5pbWF0aW9uUGxh
eWJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fu
aW1hdGlvblBsYXliYWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
MTRDN0M2QTFGREFEQUQ1MDBGMkJFRTEgLyogSlNBbmltYXRpb25QbGF5YmFja0V2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQW5pbWF0aW9uUGxheWJhY2tFdmVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTRDN0M2QjFGREFEQUQ1MDBGMkJFRTEg
LyogSlNBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTcxNEY1QjA1MURFRTVGNzQwMDc1QkQxNyAvKiBpbnZhbGlkLXBsYWNh
cmQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAiaW52YWxpZC1w
bGFjYXJkLmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE0RjVCMDYxREVFNUY4
QTAwNzVCRDE3IC8qIGludmFsaWQtcGxhY2FyZEAxeC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSAiaW52YWxpZC1w
bGFjYXJkQDF4LnBuZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNEY1QjA3MURF
RTVGOEEwMDc1QkQxNyAvKiBpbnZhbGlkLXBsYWNhcmRAMngucG5nICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gImludmFs
aWQtcGxhY2FyZEAyeC5wbmciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUxNzQs
NiArMTUxODcsMTAgQEAKIAkJCQk3MTU1NkNCODFGOUYwOUZDMDBFNzhEMDggLyogSlNBbmltYXRp
b25FZmZlY3QuaCAqLywKIAkJCQk3MTU1NkNCQjFGOUYwOUZFMDBFNzhEMDggLyogSlNBbmltYXRp
b25FZmZlY3RUaW1pbmcuY3BwICovLAogCQkJCTcxNTU2Q0I5MUY5RjA5RkQwMEU3OEQwOCAvKiBK
U0FuaW1hdGlvbkVmZmVjdFRpbWluZy5oICovLAorCQkJCTcxNEM3QzY5MUZEQURBRDUwMEYyQkVF
MSAvKiBKU0FuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwICovLAorCQkJCTcxNEM3QzZBMUZEQURB
RDUwMEYyQkVFMSAvKiBKU0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaCAqLywKKwkJCQk3MTRDN0M2
ODFGREFEQUQ0MDBGMkJFRTEgLyogSlNBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5jcHAgKi8s
CisJCQkJNzE0QzdDNkIxRkRBREFENTAwRjJCRUUxIC8qIEpTQW5pbWF0aW9uUGxheWJhY2tFdmVu
dEluaXQuaCAqLywKIAkJCQk3MTAyNUVEQTFGOTlGMUE3MDA0QTI1MEMgLyogSlNBbmltYXRpb25U
aW1lbGluZS5jcHAgKi8sCiAJCQkJNzEwMjVFRDkxRjk5RjFBNzAwNEEyNTBDIC8qIEpTQW5pbWF0
aW9uVGltZWxpbmUuaCAqLywKIAkJCQk3MTAyNUVEQjFGOTlGMUE4MDA0QTI1MEMgLyogSlNEb2N1
bWVudFRpbWVsaW5lLmNwcCAqLywKQEAgLTE4Njk1LDYgKzE4NzEyLDExIEBACiAJCQkJNzE1NTZD
QUMxRjlGMDk5RDAwRTc4RDA4IC8qIEFuaW1hdGlvbkVmZmVjdFRpbWluZy5jcHAgKi8sCiAJCQkJ
NzE1NTZDQUUxRjlGMDk5RDAwRTc4RDA4IC8qIEFuaW1hdGlvbkVmZmVjdFRpbWluZy5oICovLAog
CQkJCTcxNTU2Q0FGMUY5RjA5OUUwMEU3OEQwOCAvKiBBbmltYXRpb25FZmZlY3RUaW1pbmcuaWRs
ICovLAorCQkJCTcxNEM3QzYwMUZEQUQyNzkwMEYyQkVFMSAvKiBBbmltYXRpb25QbGF5YmFja0V2
ZW50LmNwcCAqLywKKwkJCQk3MTRDN0M2NTFGREFEMjdCMDBGMkJFRTEgLyogQW5pbWF0aW9uUGxh
eWJhY2tFdmVudC5oICovLAorCQkJCTcxNEM3QzY0MUZEQUQyN0IwMEYyQkVFMSAvKiBBbmltYXRp
b25QbGF5YmFja0V2ZW50LmlkbCAqLywKKwkJCQk3MTRDN0M2MjFGREFEMjdBMDBGMkJFRTEgLyog
QW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuaCAqLywKKwkJCQk3MTRDN0M2MzFGREFEMjdBMDBG
MkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuaWRsICovLAogCQkJCTcxMDI1RUM2
MUY5OUYwOTYwMDRBMjUwQyAvKiBBbmltYXRpb25UaW1lbGluZS5jcHAgKi8sCiAJCQkJNzEwMjVF
QzcxRjk5RjA5NjAwNEEyNTBDIC8qIEFuaW1hdGlvblRpbWVsaW5lLmggKi8sCiAJCQkJNzEwMjVF
QzkxRjk5RjA5NjAwNEEyNTBDIC8qIEFuaW1hdGlvblRpbWVsaW5lLmlkbCAqLywKQEAgLTI2MDcx
LDYgKzI2MDkzLDggQEAKIAkJCQk3MTU1NkNCMzFGOUYwOUJBMDBFNzhEMDggLyogQW5pbWF0aW9u
RWZmZWN0VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTk4NDgwMTFBMUQ4MTdCMDBBMTMz
MTggLyogQW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMkFEMEVGQUM5
MDYwMDlEMENBRiAvKiBBbmltYXRpb25MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MTRDN0M2
NjFGREFEMkExMDBGMkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNzE0QzdDNjcxRkRBRDJBOTAwRjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZl
bnRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MTAyNUVDRDFGOTlGMENFMDA0QTI1MEMgLyog
QW5pbWF0aW9uVGltZWxpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRENEMjlEMUFCNEZCREUw
MDcyRTgxNyAvKiBBbmltYXRpb25UcmlnZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU4MEZB
RjE0OTgwMEQ0MDBGQjVCRDggLyogQW5pbWF0aW9uVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywK
QEAgLTI3MzUwLDYgKzI3Mzc0LDggQEAKIAkJCQk3MTU1NkNCQzFGOUYwQTQ5MDBFNzhEMDggLyog
SlNBbmltYXRpb25FZmZlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxNTU2Q0JEMUY5RjBBNDkw
MEU3OEQwOCAvKiBKU0FuaW1hdGlvbkVmZmVjdFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE5ODQ4MEMxQTFFNkNFODAwQTEzMzE4IC8qIEpTQW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTcxNEM3QzZDMUZEQURBRjMwMEYyQkVFMSAvKiBKU0FuaW1hdGlvblBsYXliYWNr
RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTcxNEM3QzZEMUZEQURBRjYwMEYyQkVFMSAvKiBK
U0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MTAyNUVE
RTFGOTlGMUVDMDA0QTI1MEMgLyogSlNBbmltYXRpb25UaW1lbGluZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTFERjVBOTkxRjdFQzhDMDAwNThBNDc3IC8qIEpTQXBwbGVQYXlDb250YWN0RmllbGQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYwMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxl
UGF5TGluZUl0ZW0uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1YTcwOGNiZWY5
YjhiYjA2NmE1NjAxZjkzN2I3ODQzZWYyYjU0NDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKQEAgLTAsMCArMSw3
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBbmltYXRpb25QbGF5YmFja0V2ZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworQW5pbWF0aW9uUGxheWJhY2tFdmVudDo6QW5pbWF0aW9uUGxh
eWJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEFuaW1hdGlvblBsYXli
YWNrRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKKyAgICA6IEV2
ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCit7CisgICAgaWYgKGluaXRpYWxpemVy
LmN1cnJlbnRUaW1lID09IHN0ZDo6bnVsbG9wdCkKKyAgICAgICAgbV9jdXJyZW50VGltZSA9IHN0
ZDo6bnVsbG9wdDsKKyAgICBlbHNlCisgICAgICAgIG1fY3VycmVudFRpbWUgPSBTZWNvbmRzOjpm
cm9tTWlsbGlzZWNvbmRzKGluaXRpYWxpemVyLmN1cnJlbnRUaW1lLnZhbHVlKCkpOworCisgICAg
aWYgKGluaXRpYWxpemVyLnRpbWVsaW5lVGltZSA9PSBzdGQ6Om51bGxvcHQpCisgICAgICAgIG1f
dGltZWxpbmVUaW1lID0gc3RkOjpudWxsb3B0OworICAgIGVsc2UKKyAgICAgICAgbV90aW1lbGlu
ZVRpbWUgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGluaXRpYWxpemVyLnRpbWVsaW5lVGlt
ZS52YWx1ZSgpKTsKK30KKworQW5pbWF0aW9uUGxheWJhY2tFdmVudDo6QW5pbWF0aW9uUGxheWJh
Y2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4g
Y3VycmVudFRpbWUsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gdGltZWxpbmVUaW1lKQorICAgIDog
RXZlbnQodHlwZSwgdHJ1ZSwgZmFsc2UpCisgICAgLCBtX2N1cnJlbnRUaW1lKGN1cnJlbnRUaW1l
KQorICAgICwgbV90aW1lbGluZVRpbWUodGltZWxpbmVUaW1lKQoreworfQorCitBbmltYXRpb25Q
bGF5YmFja0V2ZW50Ojp+QW5pbWF0aW9uUGxheWJhY2tFdmVudCgpID0gZGVmYXVsdDsKKworc3Rk
OjpvcHRpb25hbDxkb3VibGU+IEFuaW1hdGlvblBsYXliYWNrRXZlbnQ6OmJpbmRpbmdzQ3VycmVu
dFRpbWUoKSBjb25zdAoreworICAgIGlmIChtX2N1cnJlbnRUaW1lKQorICAgICAgICByZXR1cm4g
bV9jdXJyZW50VGltZS0+bWlsbGlzZWNvbmRzKCk7CisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
K30KKworc3RkOjpvcHRpb25hbDxkb3VibGU+IEFuaW1hdGlvblBsYXliYWNrRXZlbnQ6OmJpbmRp
bmdzVGltZWxpbmVUaW1lKCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1lbGluZVRpbWUpCisgICAg
ICAgIHJldHVybiBtX3RpbWVsaW5lVGltZS0+bWlsbGlzZWNvbmRzKCk7CisgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKK30KKworRXZlbnRJbnRlcmZhY2UgQW5pbWF0aW9uUGxheWJhY2tFdmVudDo6
ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBBbmltYXRpb25QbGF5YmFja0V2
ZW50SW50ZXJmYWNlVHlwZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFja0V2ZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzk5NjE0YmI2Zjc0YjE4N2U1NWNmYWMxNGNhNTdlZjRjN2Y2MmM0YQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFja0V2ZW50LmgK
QEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQW5pbWF0aW9uUGxheWJhY2tFdmVudElu
aXQuaCIKKyNpbmNsdWRlICJFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEFuaW1hdGlvblBsYXliYWNrRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8QW5pbWF0aW9uUGxheWJhY2tFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBjdXJyZW50VGltZSwgc3RkOjpv
cHRpb25hbDxTZWNvbmRzPiB0aW1lbGluZVRpbWUpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBBbmltYXRpb25QbGF5YmFja0V2ZW50KHR5cGUsIGN1cnJlbnRUaW1lLCB0aW1l
bGluZVRpbWUpKTsKKyAgICB9CisKKyAgICBzdGF0aWMgUmVmPEFuaW1hdGlvblBsYXliYWNrRXZl
bnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEFuaW1hdGlvblBsYXli
YWNrRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCA9IElzVHJ1c3Rl
ZDo6Tm8pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBbmltYXRpb25QbGF5
YmFja0V2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpKTsKKyAgICB9CisKKyAgICB2
aXJ0dWFsIH5BbmltYXRpb25QbGF5YmFja0V2ZW50KCk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gYmluZGluZ3NDdXJyZW50VGltZSgpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8U2Vj
b25kcz4gY3VycmVudFRpbWUoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRUaW1lOyB9CisgICAg
c3RkOjpvcHRpb25hbDxkb3VibGU+IGJpbmRpbmdzVGltZWxpbmVUaW1lKCkgY29uc3Q7CisgICAg
c3RkOjpvcHRpb25hbDxTZWNvbmRzPiB0aW1lbGluZVRpbWUoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVsaW5lVGltZTsgfQorCisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25z
dCBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBBbmltYXRpb25QbGF5YmFja0V2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4sIHN0ZDo6b3B0aW9uYWw8U2Vj
b25kcz4pOworICAgIEFuaW1hdGlvblBsYXliYWNrRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwg
Y29uc3QgQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQmLCBJc1RydXN0ZWQpOworCisgICAgc3Rk
OjpvcHRpb25hbDxTZWNvbmRzPiBtX2N1cnJlbnRUaW1lOworICAgIHN0ZDo6b3B0aW9uYWw8U2Vj
b25kcz4gbV90aW1lbGluZVRpbWU7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTIwMDk5NmYw
ZGMyZjFjMmQ3ZDEwZmZlNmFjY2I1ZGMzMjQxMjk3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFja0V2ZW50LmlkbApAQCAtMCwwICsx
LDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWwor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9ucywKKyAgICBFeHBvc2VkPVdpbmRvdywK
KyAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgQW5pbWF0aW9uUGxheWJh
Y2tFdmVudEluaXQgZXZlbnRJbml0RGljdCkKK10gaW50ZXJmYWNlIEFuaW1hdGlvblBsYXliYWNr
RXZlbnQgOiBFdmVudCB7CisgICAgW0ltcGxlbWVudGVkQXM9YmluZGluZ3NDdXJyZW50VGltZV0g
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gY3VycmVudFRpbWU7CisgICAgW0ltcGxlbWVudGVk
QXM9YmluZGluZ3NUaW1lbGluZVRpbWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IHRpbWVs
aW5lVGltZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0
aW9uUGxheWJhY2tFdmVudEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRp
b25QbGF5YmFja0V2ZW50SW5pdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YTQxMzA4NTNkZjdkMjQyZTIxN2Ix
ZjQyOTE0ZjI0ZDRkOTkwMzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuaApAQCAtMCwwICsxLDM3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJFdmVudEluaXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3Qg
QW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQgOiBFdmVudEluaXQgeworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBjdXJyZW50VGltZTsKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gdGltZWxp
bmVUaW1lOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0Fu
aW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9B
bmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODg3MTJkOTJmMmUyNzA3
MGU4MjFkYjQ3ZjM2M2IxNzllY2I3NGExYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5pZGwKQEAgLTAsMCArMSwz
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBFbmFibGVkQXRSdW50aW1lPVdlYkFuaW1hdGlvbnMKK10gZGljdGlvbmFyeSBBbmltYXRpb25Q
bGF5YmFja0V2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgZG91YmxlPyBjdXJyZW50VGltZSA9
IG51bGw7CisgICAgZG91YmxlPyB0aW1lbGluZVRpbWUgPSBudWxsOworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBhYzc3ZmRm
MjUwYjdlY2M3MTJhZGVmMzc2MzZiNmRiODJmN2JhZjEzLi5iM2E0MTQ0NzVkZWZiMWM5MjZmYzNm
M2VkMDZjMDdiYzg2MDE4NWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBtYWNybyhBbmltYXRpb24pIFwKICAgICBtYWNybyhBbmltYXRpb25FZmZlY3QpIFwK
ICAgICBtYWNybyhBbmltYXRpb25FZmZlY3RUaW1pbmcpIFwKKyAgICBtYWNybyhBbmltYXRpb25Q
bGF5YmFja0V2ZW50KSBcCiAgICAgbWFjcm8oQW5pbWF0aW9uVGltZWxpbmUpIFwKICAgICBtYWNy
byhBcHBsZVBheVNlc3Npb24pIFwKICAgICBtYWNybyhBdHRhY2htZW50RWxlbWVudCkgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCAxYmFhYzllZDY4MzFkMjIzMzA2NGYwNzdhZTVkMmQ3
MjhhYjY1NDMwLi4xODg5MDY5MWNkYjJjYTJjNGM2YzFlNjI3ZGM2OTM0MWZiNzY3NmZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtNCw2ICs0LDcgQEAgRXZlbnQKIEV2ZW50cyBpbnRl
cmZhY2VOYW1lPUV2ZW50CiBIVE1MRXZlbnRzIGludGVyZmFjZU5hbWU9RXZlbnQKIEFuaW1hdGlv
bkV2ZW50CitBbmltYXRpb25QbGF5YmFja0V2ZW50CiBCZWZvcmVMb2FkRXZlbnQKIEJlZm9yZVVu
bG9hZEV2ZW50CiBDbGlwYm9hcmRFdmVudAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328973</attachid>
            <date>2017-12-11 08:00:56 -0800</date>
            <delta_ts>2017-12-11 09:53:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180647-20171211170054.patch</filename>
            <type>text/plain</type>
            <size>24791</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA3OTdkOGViN2Y4ZDIz
ZWFkMzFiODU4ZGI0MzcxZTBhMjg1N2M4Mi4uMjFmYzhjMTA1YTQ1Njg4MWJhN2VkM2VhMDk0Mzhk
ZjYyMmUwYTk2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE3LTEyLTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgQW5pbWF0aW9uUGxheWJhY2tFdmVudCBhbmQgQW5pbWF0aW9uUGxheWJhY2tF
dmVudEluaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4MDY0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU5NjYzMjU+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgaW1wbGVtZW50IHRoZSBBbmlt
YXRpb25QbGF5YmFja0V2ZW50IGludGVyZmFjZSBhbmQgQW5pbWF0aW9uUGxheWJhY2tFdmVudElu
aXQgZGljdGlvbmFyeQorICAgICAgICBhcyB0aGUgZmlyc3Qgc3RlcCB0b3dhcmRzIGRpc3BhdGNo
aW5nIGFuaW1hdGlvbiAiZmluaXNoIiBhbmQgImNhbmNlbCIgZXZlbnRzLgorCisgICAgICAgIEFu
aW1hdGlvbiBwbGF5YmFjayBldmVudHMgd2lsbCBiZSBkaXNwYXRjaGVkIG9uIEFuaW1hdGlvbiBv
YmplY3RzIGFuZCBleHBvc2UgdGhlIHRpbWVsaW5lIHRpbWUKKyAgICAgICAgYW5kIGFuaW1hdGlv
biBjdXJyZW50IHRpbWUgYXQgdGhlIHRpbWUgdGhleSB3ZXJlIGNvbnN0cnVjdGVkLiBEaXNwYXRj
aCBpdHNlbGYsIHdoaWNoIHdpbGwgYmUKKyAgICAgICAgdGhlIGZvY3VzIG9mIHRoZSBuZXh0IHBh
dGNoLCBpcyBub3Qgc3luY2hyb25vdXMsIHNvIGl0J3MgaW1wb3J0YW50IHRvIHRyYWNrIHRob3Nl
IHZhbHVlcworICAgICAgICBhdCBjcmVhdGlvbiB0aW1lLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyB5ZXQsIGZvbGxvd3VwIHBhdGNoZXMgd2lsbCBlbmFibGUgZXZlbnQgZGlzcGF0Y2ggYW5kIGV4
aXN0aW5nIFdlYiBQbGF0Zm9ybSBUZXN0cworICAgICAgICB3aWxsIHNob3cgcHJvZ3Jlc3Npb25z
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNr
RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvblBsYXliYWNrRXZl
bnQ6OkFuaW1hdGlvblBsYXliYWNrRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9u
UGxheWJhY2tFdmVudDo6YmluZGluZ3NDdXJyZW50VGltZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25QbGF5YmFja0V2ZW50OjpiaW5kaW5nc1RpbWVsaW5lVGltZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25QbGF5YmFja0V2ZW50OjpldmVudEludGVyZmFj
ZSBjb25zdCk6CisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaDog
QWRkZWQuCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuaDog
QWRkZWQuCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0Lmlk
bDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgor
ICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorCiAyMDE3LTEyLTExICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIyMTkz
MSk6IFJvdyBzdHJldGNoIGRvZXNuJ3Qgd29yayBmb3IgZ3JpZCBjb250YWluZXIgd2l0aCBtaW4t
aGVpZ2h0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDM0OGM3NjIyNDU5MmEzMzdjZGMwNjI3OTJl
ZTU2NGM1N2VhMTUyMGIuLjM5NzNmNTljZmVlZDNmOTcyOTNmMmEzOTY4OGIzNjNjNzUwOTEyMjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00MjQsNiArNDI0LDggQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBhbmltYXRpb24vQW5pbWF0YWJsZS5pZGwKICAgICBhbmltYXRp
b24vQW5pbWF0aW9uRWZmZWN0LmlkbAogICAgIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RUaW1p
bmcuaWRsCisgICAgYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaWRsCisgICAgYW5p
bWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmlkbAogICAgIGFuaW1hdGlvbi9Bbmlt
YXRpb25UaW1lbGluZS5pZGwKICAgICBhbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5pZGwKICAg
ICBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQppbmRleCA4NzZjYmFhYWNhNTI0N2RjNTUwOTBhNzMyOTFhMjFiMzgwZWQzMzJiLi4wZjI5NjFm
MzRkZDRjOGVkMjYwYWU4YzVhYzA2NDYwODEzOGY1ODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTM0OCw2ICszNDgsOCBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChX
ZWJDb3JlKS9hbmltYXRpb24vQW5pbWF0YWJsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvYW5pbWF0
aW9uL0FuaW1hdGlvbkVmZmVjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uL0FuaW1h
dGlvbkVmZmVjdFRpbWluZy5pZGwgXAorICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uL0FuaW1hdGlv
blBsYXliYWNrRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2FuaW1hdGlvbi9BbmltYXRpb25Q
bGF5YmFja0V2ZW50SW5pdC5pZGwgXAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uL0FuaW1hdGlv
blRpbWVsaW5lLmlkbCBcCiAgICAgJChXZWJDb3JlKS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CmluZGV4IDhhMTg2NzViNDM5MDBiMzJkOTNkY2I1ZWIyNDE5ZjE0Mjc4ZTlkMDEu
LjRhYzhkZWYwMTkxMTkyMGU3NGE1Y2IxNTJlYWE0NWQ1Mjg4OGU1MGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CkBAIC0zMjIsNiArMzIyLDcgQEAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlTm9kZS5jcHAKIAog
YW5pbWF0aW9uL0FuaW1hdGlvbkVmZmVjdC5jcHAKIGFuaW1hdGlvbi9BbmltYXRpb25FZmZlY3RU
aW1pbmcuY3BwCithbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKIGFuaW1hdGlv
bi9BbmltYXRpb25UaW1lbGluZS5jcHAKIGFuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcAog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtMjI4OSw2ICsyMjkwLDggQEAgSlNBbmFs
eXNlck5vZGUuY3BwCiBKU0FuaW1hdGlvbkV2ZW50LmNwcAogSlNBbmltYXRpb25FZmZlY3QuY3Bw
CiBKU0FuaW1hdGlvbkVmZmVjdFRpbWluZy5jcHAKK0pTQW5pbWF0aW9uUGxheWJhY2tFdmVudC5j
cHAKK0pTQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuY3BwCiBKU0FuaW1hdGlvblRpbWVsaW5l
LmNwcAogSlNBdHRyLmNwcAogSlNBdWRpb0J1ZmZlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMDdjM2M4YjE4NTcwYTA1
MzRhNTdmN2ZjOGM4YmQ2ODAxM2ZjZTEyLi40MzBlNzI2YmY1ZmZhODFkNDhhMDc2NTcyMmJmYjUw
ZDg2MTYxNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xODY3LDYgKzE4NjcsMTAgQEAKIAkJNzExOEZFRDUxNTY4NUNDNjAw
MzBCNzlBIC8qIEpTU1ZHVmlld1NwZWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcxMThGRUQzMTU2ODVDQzYwMDMwQjc5QSAvKiBKU1NWR1ZpZXdTcGVj
LmggKi87IH07CiAJCTcxMzE3MTM0MUZCRTc4REIwMEY3NThERSAvKiBDU1NQcm9wZXJ0eUJsZW5k
aW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MTMxNzEzMjFGQkU3OEM1MDBGNzU4REUgLyogQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxMzQ0
OTZFMTQ2OTQxQjMwMDcyMDMxMiAvKiBTVkdMZW5ndGhDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTM0NDk2QzE0Njk0MUIzMDA3MjAzMTIg
LyogU1ZHTGVuZ3RoQ29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTcxNEM3QzY2MUZEQUQyQTEwMEYyQkVFMSAvKiBBbmltYXRpb25QbGF5
YmFja0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MTRDN0M2NTFGREFEMjdCMDBGMkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVudC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcxNEM3QzY3
MUZEQUQyQTkwMEYyQkVFMSAvKiBBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE0QzdDNjIxRkRBRDI3QTAw
RjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzE0QzdDNkMxRkRBREFGMzAwRjJCRUUx
IC8qIEpTQW5pbWF0aW9uUGxheWJhY2tFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzE0QzdDNkExRkRBREFENTAwRjJCRUUxIC8qIEpTQW5pbWF0
aW9uUGxheWJhY2tFdmVudC5oICovOyB9OworCQk3MTRDN0M2RDFGREFEQUY2MDBGMkJFRTEgLyog
SlNBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzE0QzdDNkIxRkRBREFENTAwRjJCRUUxIC8qIEpTQW5pbWF0
aW9uUGxheWJhY2tFdmVudEluaXQuaCAqLzsgfTsKIAkJNzE1MzdBMDExNDZCRDlENzAwOEJENjE1
IC8qIFNWR1BhdGhEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MTUzNzlGRjE0NkJEOUQ2MDA4QkQ2MTUgLyogU1ZHUGF0aERhdGEuaCAqLzsgfTsK
IAkJNzE1NTZDQjIxRjlGMDlCQTAwRTc4RDA4IC8qIEFuaW1hdGlvbkVmZmVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE1NTZDQUQxRjlGMDk5RDAw
RTc4RDA4IC8qIEFuaW1hdGlvbkVmZmVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTcxNTU2Q0IzMUY5RjA5QkEwMEU3OEQwOCAvKiBBbmltYXRp
b25FZmZlY3RUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcxNTU2Q0FFMUY5RjA5OUQwMEU3OEQwOCAvKiBBbmltYXRpb25FZmZlY3RUaW1pbmcu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODYw
OSw2ICs4NjEzLDE1IEBACiAJCTcxNDEzMTQ4MURDOUQ2RUYwMDMzNjEwNyAvKiBqcy1maWxlcyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSAianMtZmlsZXMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MTQ2REY4QjFERUZDMkVEMDA0NkY5OEIgLyogdHJhY2tzLXBhbmVsLmNzcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuY3NzOyBwYXRoID0gInRyYWNrcy1wYW5lbC5jc3MiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3MTQ2REY4QzFERUZDMkVEMDA0NkY5OEIgLyogdHJhY2tzLXBhbmVs
LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gInRyYWNrcy1wYW5l
bC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNEM3QzYwMUZEQUQyNzkwMEYy
QkVFMSAvKiBBbmltYXRpb25QbGF5YmFja0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEFuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk3MTRDN0M2MjFGREFEMjdBMDBGMkJFRTEgLyogQW5pbWF0aW9uUGxh
eWJhY2tFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQW5pbWF0
aW9uUGxheWJhY2tFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE0
QzdDNjMxRkRBRDI3QTAwRjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNEM3QzY0MUZEQUQyN0IwMEYyQkVFMSAvKiBB
bmltYXRpb25QbGF5YmFja0V2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBbmltYXRp
b25QbGF5YmFja0V2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE0QzdD
NjUxRkRBRDI3QjAwRjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQW5pbWF0aW9uUGxheWJhY2tFdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3MTRDN0M2ODFGREFEQUQ0MDBGMkJFRTEgLyogSlNBbmlt
YXRpb25QbGF5YmFja0V2ZW50SW5pdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzE0QzdDNjkxRkRBREFENTAwRjJCRUUxIC8qIEpTQW5pbWF0aW9uUGxh
eWJhY2tFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fu
aW1hdGlvblBsYXliYWNrRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
MTRDN0M2QTFGREFEQUQ1MDBGMkJFRTEgLyogSlNBbmltYXRpb25QbGF5YmFja0V2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQW5pbWF0aW9uUGxheWJhY2tFdmVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTRDN0M2QjFGREFEQUQ1MDBGMkJFRTEg
LyogSlNBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTcxNEY1QjA1MURFRTVGNzQwMDc1QkQxNyAvKiBpbnZhbGlkLXBsYWNh
cmQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAiaW52YWxpZC1w
bGFjYXJkLmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE0RjVCMDYxREVFNUY4
QTAwNzVCRDE3IC8qIGludmFsaWQtcGxhY2FyZEAxeC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSAiaW52YWxpZC1w
bGFjYXJkQDF4LnBuZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNEY1QjA3MURF
RTVGOEEwMDc1QkQxNyAvKiBpbnZhbGlkLXBsYWNhcmRAMngucG5nICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gImludmFs
aWQtcGxhY2FyZEAyeC5wbmciOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUxNzQs
NiArMTUxODcsMTAgQEAKIAkJCQk3MTU1NkNCODFGOUYwOUZDMDBFNzhEMDggLyogSlNBbmltYXRp
b25FZmZlY3QuaCAqLywKIAkJCQk3MTU1NkNCQjFGOUYwOUZFMDBFNzhEMDggLyogSlNBbmltYXRp
b25FZmZlY3RUaW1pbmcuY3BwICovLAogCQkJCTcxNTU2Q0I5MUY5RjA5RkQwMEU3OEQwOCAvKiBK
U0FuaW1hdGlvbkVmZmVjdFRpbWluZy5oICovLAorCQkJCTcxNEM3QzY5MUZEQURBRDUwMEYyQkVF
MSAvKiBKU0FuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwICovLAorCQkJCTcxNEM3QzZBMUZEQURB
RDUwMEYyQkVFMSAvKiBKU0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaCAqLywKKwkJCQk3MTRDN0M2
ODFGREFEQUQ0MDBGMkJFRTEgLyogSlNBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5jcHAgKi8s
CisJCQkJNzE0QzdDNkIxRkRBREFENTAwRjJCRUUxIC8qIEpTQW5pbWF0aW9uUGxheWJhY2tFdmVu
dEluaXQuaCAqLywKIAkJCQk3MTAyNUVEQTFGOTlGMUE3MDA0QTI1MEMgLyogSlNBbmltYXRpb25U
aW1lbGluZS5jcHAgKi8sCiAJCQkJNzEwMjVFRDkxRjk5RjFBNzAwNEEyNTBDIC8qIEpTQW5pbWF0
aW9uVGltZWxpbmUuaCAqLywKIAkJCQk3MTAyNUVEQjFGOTlGMUE4MDA0QTI1MEMgLyogSlNEb2N1
bWVudFRpbWVsaW5lLmNwcCAqLywKQEAgLTE4Njk1LDYgKzE4NzEyLDExIEBACiAJCQkJNzE1NTZD
QUMxRjlGMDk5RDAwRTc4RDA4IC8qIEFuaW1hdGlvbkVmZmVjdFRpbWluZy5jcHAgKi8sCiAJCQkJ
NzE1NTZDQUUxRjlGMDk5RDAwRTc4RDA4IC8qIEFuaW1hdGlvbkVmZmVjdFRpbWluZy5oICovLAog
CQkJCTcxNTU2Q0FGMUY5RjA5OUUwMEU3OEQwOCAvKiBBbmltYXRpb25FZmZlY3RUaW1pbmcuaWRs
ICovLAorCQkJCTcxNEM3QzYwMUZEQUQyNzkwMEYyQkVFMSAvKiBBbmltYXRpb25QbGF5YmFja0V2
ZW50LmNwcCAqLywKKwkJCQk3MTRDN0M2NTFGREFEMjdCMDBGMkJFRTEgLyogQW5pbWF0aW9uUGxh
eWJhY2tFdmVudC5oICovLAorCQkJCTcxNEM3QzY0MUZEQUQyN0IwMEYyQkVFMSAvKiBBbmltYXRp
b25QbGF5YmFja0V2ZW50LmlkbCAqLywKKwkJCQk3MTRDN0M2MjFGREFEMjdBMDBGMkJFRTEgLyog
QW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuaCAqLywKKwkJCQk3MTRDN0M2MzFGREFEMjdBMDBG
MkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuaWRsICovLAogCQkJCTcxMDI1RUM2
MUY5OUYwOTYwMDRBMjUwQyAvKiBBbmltYXRpb25UaW1lbGluZS5jcHAgKi8sCiAJCQkJNzEwMjVF
QzcxRjk5RjA5NjAwNEEyNTBDIC8qIEFuaW1hdGlvblRpbWVsaW5lLmggKi8sCiAJCQkJNzEwMjVF
QzkxRjk5RjA5NjAwNEEyNTBDIC8qIEFuaW1hdGlvblRpbWVsaW5lLmlkbCAqLywKQEAgLTI2MDcx
LDYgKzI2MDkzLDggQEAKIAkJCQk3MTU1NkNCMzFGOUYwOUJBMDBFNzhEMDggLyogQW5pbWF0aW9u
RWZmZWN0VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTk4NDgwMTFBMUQ4MTdCMDBBMTMz
MTggLyogQW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMkFEMEVGQUM5
MDYwMDlEMENBRiAvKiBBbmltYXRpb25MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MTRDN0M2
NjFGREFEMkExMDBGMkJFRTEgLyogQW5pbWF0aW9uUGxheWJhY2tFdmVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNzE0QzdDNjcxRkRBRDJBOTAwRjJCRUUxIC8qIEFuaW1hdGlvblBsYXliYWNrRXZl
bnRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MTAyNUVDRDFGOTlGMENFMDA0QTI1MEMgLyog
QW5pbWF0aW9uVGltZWxpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRENEMjlEMUFCNEZCREUw
MDcyRTgxNyAvKiBBbmltYXRpb25UcmlnZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU4MEZB
RjE0OTgwMEQ0MDBGQjVCRDggLyogQW5pbWF0aW9uVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywK
QEAgLTI3MzUwLDYgKzI3Mzc0LDggQEAKIAkJCQk3MTU1NkNCQzFGOUYwQTQ5MDBFNzhEMDggLyog
SlNBbmltYXRpb25FZmZlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxNTU2Q0JEMUY5RjBBNDkw
MEU3OEQwOCAvKiBKU0FuaW1hdGlvbkVmZmVjdFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE5ODQ4MEMxQTFFNkNFODAwQTEzMzE4IC8qIEpTQW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTcxNEM3QzZDMUZEQURBRjMwMEYyQkVFMSAvKiBKU0FuaW1hdGlvblBsYXliYWNr
RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTcxNEM3QzZEMUZEQURBRjYwMEYyQkVFMSAvKiBK
U0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MTAyNUVE
RTFGOTlGMUVDMDA0QTI1MEMgLyogSlNBbmltYXRpb25UaW1lbGluZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTFERjVBOTkxRjdFQzhDMDAwNThBNDc3IC8qIEpTQXBwbGVQYXlDb250YWN0RmllbGQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYwMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxl
UGF5TGluZUl0ZW0uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1YTcwOGNiZWY5
YjhiYjA2NmE1NjAxZjkzN2I3ODQzZWYyYjU0NDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5jcHAKQEAgLTAsMCArMSw3
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBbmltYXRpb25QbGF5YmFja0V2ZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworQW5pbWF0aW9uUGxheWJhY2tFdmVudDo6QW5pbWF0aW9uUGxh
eWJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEFuaW1hdGlvblBsYXli
YWNrRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKKyAgICA6IEV2
ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCit7CisgICAgaWYgKGluaXRpYWxpemVy
LmN1cnJlbnRUaW1lID09IHN0ZDo6bnVsbG9wdCkKKyAgICAgICAgbV9jdXJyZW50VGltZSA9IHN0
ZDo6bnVsbG9wdDsKKyAgICBlbHNlCisgICAgICAgIG1fY3VycmVudFRpbWUgPSBTZWNvbmRzOjpm
cm9tTWlsbGlzZWNvbmRzKGluaXRpYWxpemVyLmN1cnJlbnRUaW1lLnZhbHVlKCkpOworCisgICAg
aWYgKGluaXRpYWxpemVyLnRpbWVsaW5lVGltZSA9PSBzdGQ6Om51bGxvcHQpCisgICAgICAgIG1f
dGltZWxpbmVUaW1lID0gc3RkOjpudWxsb3B0OworICAgIGVsc2UKKyAgICAgICAgbV90aW1lbGlu
ZVRpbWUgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGluaXRpYWxpemVyLnRpbWVsaW5lVGlt
ZS52YWx1ZSgpKTsKK30KKworQW5pbWF0aW9uUGxheWJhY2tFdmVudDo6QW5pbWF0aW9uUGxheWJh
Y2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4g
Y3VycmVudFRpbWUsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gdGltZWxpbmVUaW1lKQorICAgIDog
RXZlbnQodHlwZSwgdHJ1ZSwgZmFsc2UpCisgICAgLCBtX2N1cnJlbnRUaW1lKGN1cnJlbnRUaW1l
KQorICAgICwgbV90aW1lbGluZVRpbWUodGltZWxpbmVUaW1lKQoreworfQorCitBbmltYXRpb25Q
bGF5YmFja0V2ZW50Ojp+QW5pbWF0aW9uUGxheWJhY2tFdmVudCgpID0gZGVmYXVsdDsKKworc3Rk
OjpvcHRpb25hbDxkb3VibGU+IEFuaW1hdGlvblBsYXliYWNrRXZlbnQ6OmJpbmRpbmdzQ3VycmVu
dFRpbWUoKSBjb25zdAoreworICAgIGlmIChtX2N1cnJlbnRUaW1lKQorICAgICAgICByZXR1cm4g
bV9jdXJyZW50VGltZS0+bWlsbGlzZWNvbmRzKCk7CisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
K30KKworc3RkOjpvcHRpb25hbDxkb3VibGU+IEFuaW1hdGlvblBsYXliYWNrRXZlbnQ6OmJpbmRp
bmdzVGltZWxpbmVUaW1lKCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1lbGluZVRpbWUpCisgICAg
ICAgIHJldHVybiBtX3RpbWVsaW5lVGltZS0+bWlsbGlzZWNvbmRzKCk7CisgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKK30KKworRXZlbnRJbnRlcmZhY2UgQW5pbWF0aW9uUGxheWJhY2tFdmVudDo6
ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBBbmltYXRpb25QbGF5YmFja0V2
ZW50SW50ZXJmYWNlVHlwZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFja0V2ZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzk5NjE0YmI2Zjc0YjE4N2U1NWNmYWMxNGNhNTdlZjRjN2Y2MmM0YQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFja0V2ZW50LmgK
QEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQW5pbWF0aW9uUGxheWJhY2tFdmVudElu
aXQuaCIKKyNpbmNsdWRlICJFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEFuaW1hdGlvblBsYXliYWNrRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8QW5pbWF0aW9uUGxheWJhY2tFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBjdXJyZW50VGltZSwgc3RkOjpv
cHRpb25hbDxTZWNvbmRzPiB0aW1lbGluZVRpbWUpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBBbmltYXRpb25QbGF5YmFja0V2ZW50KHR5cGUsIGN1cnJlbnRUaW1lLCB0aW1l
bGluZVRpbWUpKTsKKyAgICB9CisKKyAgICBzdGF0aWMgUmVmPEFuaW1hdGlvblBsYXliYWNrRXZl
bnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IEFuaW1hdGlvblBsYXli
YWNrRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCA9IElzVHJ1c3Rl
ZDo6Tm8pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBbmltYXRpb25QbGF5
YmFja0V2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpKTsKKyAgICB9CisKKyAgICB2
aXJ0dWFsIH5BbmltYXRpb25QbGF5YmFja0V2ZW50KCk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gYmluZGluZ3NDdXJyZW50VGltZSgpIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8U2Vj
b25kcz4gY3VycmVudFRpbWUoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRUaW1lOyB9CisgICAg
c3RkOjpvcHRpb25hbDxkb3VibGU+IGJpbmRpbmdzVGltZWxpbmVUaW1lKCkgY29uc3Q7CisgICAg
c3RkOjpvcHRpb25hbDxTZWNvbmRzPiB0aW1lbGluZVRpbWUoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVsaW5lVGltZTsgfQorCisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25z
dCBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBBbmltYXRpb25QbGF5YmFja0V2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4sIHN0ZDo6b3B0aW9uYWw8U2Vj
b25kcz4pOworICAgIEFuaW1hdGlvblBsYXliYWNrRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwg
Y29uc3QgQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQmLCBJc1RydXN0ZWQpOworCisgICAgc3Rk
OjpvcHRpb25hbDxTZWNvbmRzPiBtX2N1cnJlbnRUaW1lOworICAgIHN0ZDo6b3B0aW9uYWw8U2Vj
b25kcz4gbV90aW1lbGluZVRpbWU7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTIwMDk5NmYw
ZGMyZjFjMmQ3ZDEwZmZlNmFjY2I1ZGMzMjQxMjk3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFja0V2ZW50LmlkbApAQCAtMCwwICsx
LDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWwor
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9ucywKKyAgICBFeHBvc2VkPVdpbmRvdywK
KyAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgQW5pbWF0aW9uUGxheWJh
Y2tFdmVudEluaXQgZXZlbnRJbml0RGljdCkKK10gaW50ZXJmYWNlIEFuaW1hdGlvblBsYXliYWNr
RXZlbnQgOiBFdmVudCB7CisgICAgW0ltcGxlbWVudGVkQXM9YmluZGluZ3NDdXJyZW50VGltZV0g
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gY3VycmVudFRpbWU7CisgICAgW0ltcGxlbWVudGVk
QXM9YmluZGluZ3NUaW1lbGluZVRpbWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IHRpbWVs
aW5lVGltZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0
aW9uUGxheWJhY2tFdmVudEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRp
b25QbGF5YmFja0V2ZW50SW5pdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlMmVkNzM5M2VhYWU1OTQyN2I5Mzlk
MzE0Yjc5NjAyNGM5NmRkODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQuaApAQCAtMCwwICsxLDM4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJFdmVudEluaXQuaCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQW5pbWF0aW9uUGxheWJhY2tFdmVudEluaXQgOiBF
dmVudEluaXQgeworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBjdXJyZW50VGltZTsKKyAgICBz
dGQ6Om9wdGlvbmFsPGRvdWJsZT4gdGltZWxpbmVUaW1lOworfTsKKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblBsYXliYWNrRXZlbnRJbml0LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdC5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODg3MTJkOTJmMmUyNzA3MGU4MjFkYjQ3ZjM2M2IxNzllY2I3NGExYwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25QbGF5YmFj
a0V2ZW50SW5pdC5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYkFuaW1hdGlv
bnMKK10gZGljdGlvbmFyeSBBbmltYXRpb25QbGF5YmFja0V2ZW50SW5pdCA6IEV2ZW50SW5pdCB7
CisgICAgZG91YmxlPyBjdXJyZW50VGltZSA9IG51bGw7CisgICAgZG91YmxlPyB0aW1lbGluZVRp
bWUgPSBudWxsOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAppbmRleCBhYzc3ZmRmMjUwYjdlY2M3MTJhZGVmMzc2MzZiNmRiODJmN2Jh
ZjEzLi5iM2E0MTQ0NzVkZWZiMWM5MjZmYzNmM2VkMDZjMDdiYzg2MDE4NWYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zNSw2
ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhBbmltYXRpb24pIFwKICAg
ICBtYWNybyhBbmltYXRpb25FZmZlY3QpIFwKICAgICBtYWNybyhBbmltYXRpb25FZmZlY3RUaW1p
bmcpIFwKKyAgICBtYWNybyhBbmltYXRpb25QbGF5YmFja0V2ZW50KSBcCiAgICAgbWFjcm8oQW5p
bWF0aW9uVGltZWxpbmUpIFwKICAgICBtYWNybyhBcHBsZVBheVNlc3Npb24pIFwKICAgICBtYWNy
byhBdHRhY2htZW50RWxlbWVudCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCAxYmFh
YzllZDY4MzFkMjIzMzA2NGYwNzdhZTVkMmQ3MjhhYjY1NDMwLi4xODg5MDY5MWNkYjJjYTJjNGM2
YzFlNjI3ZGM2OTM0MWZiNzY3NmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtNCw2
ICs0LDcgQEAgRXZlbnQKIEV2ZW50cyBpbnRlcmZhY2VOYW1lPUV2ZW50CiBIVE1MRXZlbnRzIGlu
dGVyZmFjZU5hbWU9RXZlbnQKIEFuaW1hdGlvbkV2ZW50CitBbmltYXRpb25QbGF5YmFja0V2ZW50
CiBCZWZvcmVMb2FkRXZlbnQKIEJlZm9yZVVubG9hZEV2ZW50CiBDbGlwYm9hcmRFdmVudAo=
</data>
<flag name="review"
          id="348101"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>