<?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>103899</bug_id>
          
          <creation_ts>2012-12-03 08:32:16 -0800</creation_ts>
          <short_desc>Vibration API: IDL type doesn&apos;t match implementation type</short_desc>
          <delta_ts>2012-12-13 07:10:17 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>103642</dependson>
    
    <dependson>104914</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="Kihong Kwon">kihong.kwon</assigned_to>
          <cc>abarth</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>kihong.kwon</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mifenton</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>vimff0</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>781486</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2012-12-03 08:32:16 -0800</bug_when>
    <thetext>According to WebIDL, &quot;unsigned long&quot; corresponds to &quot;unsigned&quot; in the platform. If long precision is wanted, the IDL should use &quot;unsigned long long&quot;. The right type mapping is necessary when the bindings are correctly generated (will be introduced in http://webkit.org/b/103642).

The patch in b103642 uses a workaround in CodeGeneratorJS.pm (tagged with this bug id) to not break the current behavior of the Vibration API. Please remove that workaround when this bug is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787172</commentid>
    <comment_count>1</comment_count>
      <attachid>178506</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-10 03:46:50 -0800</bug_when>
    <thetext>Created attachment 178506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787177</commentid>
    <comment_count>2</comment_count>
      <attachid>178506</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-10 03:53:30 -0800</bug_when>
    <thetext>Comment on attachment 178506
Patch

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

Looks reasonable.

&gt; Source/WebCore/ChangeLog:27
&gt; +        * bindings/scripts/CodeGeneratorJS.pm:
&gt; +        Remove workaround codes for the Vibration API which is mapped from unsigned long to unsigned long.
&gt; +        It should be mapped from unsigned long to unsigned by WebIDL spec.

Would you check that this change won&apos;t affect other code?

No change in CodeGeneratorV8.pm? (why?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787194</commentid>
    <comment_count>3</comment_count>
      <attachid>178506</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2012-12-10 04:25:30 -0800</bug_when>
    <thetext>Comment on attachment 178506
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:3078
&gt; +    return &quot;unsigned&quot; if $arrayOrSequenceType eq &quot;unsigned long&quot;;

This line is not needed since &quot;unsigned log&quot; is handled by the nativeType hash below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787972</commentid>
    <comment_count>4</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-10 20:24:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 178506 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178506&amp;action=review
&gt; 
&gt; Looks reasonable.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:27
&gt; &gt; +        * bindings/scripts/CodeGeneratorJS.pm:
&gt; &gt; +        Remove workaround codes for the Vibration API which is mapped from unsigned long to unsigned long.
&gt; &gt; +        It should be mapped from unsigned long to unsigned by WebIDL spec.
&gt; 
&gt; Would you check that this change won&apos;t affect other code?

I checked that, this change affect only sequence&lt;unsigned long&gt; in the WebIDL, but there is no area using this without Vibration API
&gt; 
&gt; No change in CodeGeneratorV8.pm? (why?)

GetNativeType in the CodeGeneratorV8.pm can handle this already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787973</commentid>
    <comment_count>5</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-10 20:25:20 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 178506 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178506&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:3078
&gt; &gt; +    return &quot;unsigned&quot; if $arrayOrSequenceType eq &quot;unsigned long&quot;;
&gt; 
&gt; This line is not needed since &quot;unsigned log&quot; is handled by the nativeType hash below.

You are right. I will remove that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787976</commentid>
    <comment_count>6</comment_count>
      <attachid>178506</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-10 20:26:09 -0800</bug_when>
    <thetext>Comment on attachment 178506
Patch

Looks good. Please address Adam&apos;s comment before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787979</commentid>
    <comment_count>7</comment_count>
      <attachid>178698</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-10 20:30:09 -0800</bug_when>
    <thetext>Created attachment 178698
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787993</commentid>
    <comment_count>8</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-10 20:54:50 -0800</bug_when>
    <thetext>Kentaro, could you review this one more time please?
I added some changes to the JSTestObj.cpp for run_binding_tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789165</commentid>
    <comment_count>9</comment_count>
      <attachid>178698</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 21:26:12 -0800</bug_when>
    <thetext>Comment on attachment 178698
Patch

Clearing flags on attachment: 178698

Committed r137410: &lt;http://trac.webkit.org/changeset/137410&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789166</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 21:26:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178506</attachid>
            <date>2012-12-10 03:46:50 -0800</date>
            <delta_ts>2012-12-10 20:30:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103899-20121210204410.patch</filename>
            <type>text/plain</type>
            <size>20936</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ4NTZkMDI0YjkyMWMy
MGJhMzc3YzY3MWM1ZGRlMDE5YTllYTUyNy4uNjdhMDRkMTFiN2M2ZTczZDRiNmJjZDM3YmFkNWQ1
MTQ2Y2YzNjY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEyLTEwICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFZpYnJhdGlvbiBB
UEk6IElETCB0eXBlIGRvZXNuJ3QgbWF0Y2ggaW1wbGVtZW50YXRpb24gdHlwZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzODk5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIFdlYklE
TCwgInVuc2lnbmVkIGxvbmciIGNvcnJlc3BvbmRzIHRvICJ1bnNpZ25lZCIgaW4gdGhlIHBsYXRm
b3JtLgorICAgICAgICBUaGVyZWZvcmUgdW5zaWduZWQgbG9uZyBuZWVkIHRvIGJlIGNoYW5nZWQg
dG8gdW5zaWduZWQgZm9yIHRoZSBWaWJyYXRpb24gQVBJLgorICAgICAgICAtIENoYW5nZSBhIHBh
cmFtZXRlciB0eXBlIG9mIHZpYnJhdGUgZnVuY3Rpb24gZnJvbSB1bnNpZ25lZCBsb25nIHRvIHVu
c2lnbmVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgaXQgaXMgY292ZXJlZCBieSBleGlzdCB0
ZXN0LgorCisgICAgICAgICogTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmg6CisgICAgICAgIChO
YXZpZ2F0b3JWaWJyYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oOgorICAgICAgICAoVmlicmF0aW9uKToKKyAg
ICAgICAgKiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb25DbGllbnQuaDoKKyAgICAgICAgKFZp
YnJhdGlvbkNsaWVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIFJl
bW92ZSB3b3JrYXJvdW5kIGNvZGVzIGZvciB0aGUgVmlicmF0aW9uIEFQSSB3aGljaCBpcyBtYXBw
ZWQgZnJvbSB1bnNpZ25lZCBsb25nIHRvIHVuc2lnbmVkIGxvbmcuCisgICAgICAgIEl0IHNob3Vs
ZCBiZSBtYXBwZWQgZnJvbSB1bnNpZ25lZCBsb25nIHRvIHVuc2lnbmVkIGJ5IFdlYklETCBzcGVj
LgorICAgICAgICAoR2V0TmF0aXZlVmVjdG9ySW5uZXJUeXBlKToKKwogMjAxMi0xMi0wNyAgUmlr
IENhYmFuaWVyICA8Y2FiYW5pZXJAYWRvYmUuY29tPgogCiAgICAgICAgIEV4dGVuZCBwbGF0Zm9y
bSBsYXllciBzbyBpdCBjYW4gcGFzcyBibGVuZCBtb2RlcyB0byB0aGUgY29tcG9zaXRpbmcgY2Fs
bHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IDA5MjE1YmNhOWVmNTVkNjM1NzUw
YWVmN2UzM2EyYTAxY2VkM2VkN2EuLmYzYTk0YzI5YTIxM2ZhZWQ1MGY5MGFlNTI1NGQxZTBhYjAy
ZjUwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDEyLTEyLTEwICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIFZpYnJhdGlvbiBBUEk6IElETCB0eXBlIGRvZXNuJ3QgbWF0Y2ggaW1wbGVtZW50YXRpb24g
dHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAz
ODk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNj
b3JkaW5nIHRvIFdlYklETCwgInVuc2lnbmVkIGxvbmciIGNvcnJlc3BvbmRzIHRvICJ1bnNpZ25l
ZCIgaW4gdGhlIHBsYXRmb3JtLgorICAgICAgICBUaGVyZWZvcmUgdW5zaWduZWQgbG9uZyBuZWVk
IHRvIGJlIGNoYW5nZWQgdG8gdW5zaWduZWQgZm9yIHRoZSBWaWJyYXRpb24gQVBJLgorICAgICAg
ICAtIENoYW5nZSBhIHBhcmFtZXRlciB0eXBlIG9mIHZpYnJhdGUgZnVuY3Rpb24gZnJvbSB1bnNp
Z25lZCBsb25nIHRvIHVuc2lnbmVkLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvVmlicmF0
aW9uQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb25DbGll
bnRCbGFja0JlcnJ5Ojp2aWJyYXRlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9WaWJyYXRp
b25DbGllbnRCbGFja0JlcnJ5Lmg6CisgICAgICAgIChWaWJyYXRpb25DbGllbnRCbGFja0JlcnJ5
KToKKwogMjAxMi0xMi0wNyAgTmltYSBHaGFuYXZhdGlhbiAgPG5naGFuYXZhdGlhbkByaW0uY29t
PgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBHZW5lcmFsIGNvZGUgY2xlYW51cCBhbmQgaW1wcm92
ZWQgbG9nZ2luZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAwM2NjYWRkMmU1MmVkN2QxZjgzNzBmOTY3
NzNhYWRlZDdjN2Y5YzRiLi5hM2QzMmIxOTI3YmIzNDRlNjk0YzZjNGMxZjM3OWRjZGJhNDk3NGRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMTItMTAgIEtpaG9uZyBL
d29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgVmlicmF0aW9uIEFQSTog
SURMIHR5cGUgZG9lc24ndCBtYXRjaCBpbXBsZW1lbnRhdGlvbiB0eXBlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM4OTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBY2NvcmRpbmcgdG8gV2ViSURMLCAi
dW5zaWduZWQgbG9uZyIgY29ycmVzcG9uZHMgdG8gInVuc2lnbmVkIiBpbiB0aGUgcGxhdGZvcm0u
CisgICAgICAgIFRoZXJlZm9yZSB1bnNpZ25lZCBsb25nIG5lZWQgdG8gYmUgY2hhbmdlZCB0byB1
bnNpZ25lZCBmb3IgdGhlIFZpYnJhdGlvbiBBUEkuCisgICAgICAgIC0gQ2hhbmdlIGEgcGFyYW1l
dGVyIHR5cGUgb2YgdmlicmF0ZSBmdW5jdGlvbiBmcm9tIHVuc2lnbmVkIGxvbmcgdG8gdW5zaWdu
ZWQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRFZmwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VmlicmF0aW9uQ2xpZW50RWZsOjp2aWJyYXRlKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRFZmwuaDoKKyAgICAgICAgKFZpYnJhdGlv
bkNsaWVudEVmbCk6CisKIDIwMTItMTItMDUgIEhhbHRvbiBIdW8gIDxoYWx0b24uaHVvQGludGVs
LmNvbT4KIAogICAgICAgICBbQ01ha2VdIFVuaWZ5IGNvZGluZyBzdHlsZSBmb3IgQ01ha2UgZmls
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCBjNmE0NWFmODg4OTg4ZTM3MzBjOTA4NDFlODliMmVlM2ZhY2I4NTkz
Li4yYTEzZjFmODI4Y2NhNzcwNmY4ZDAzZDIyYjQ3NGRkMjUyN2Y1YTEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTItMTItMTAgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgVmlicmF0aW9uIEFQSTogSURMIHR5cGUgZG9lc24ndCBtYXRj
aCBpbXBsZW1lbnRhdGlvbiB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDM4OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBY2NvcmRpbmcgdG8gV2ViSURMLCAidW5zaWduZWQgbG9uZyIgY29ycmVz
cG9uZHMgdG8gInVuc2lnbmVkIiBpbiB0aGUgcGxhdGZvcm0uCisgICAgICAgIFRoZXJlZm9yZSB1
bnNpZ25lZCBsb25nIG5lZWQgdG8gYmUgY2hhbmdlZCB0byB1bnNpZ25lZCBmb3IgdGhlIFZpYnJh
dGlvbiBBUEkuCisgICAgICAgIC0gQ2hhbmdlIGEgcGFyYW1ldGVyIHR5cGUgb2YgdmlicmF0ZSBm
dW5jdGlvbiBmcm9tIHVpbnQ2NF90IHRvIHVpbnRfMzJfdC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1ZpYnJhdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXdDYWxsYmFja3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJvdmlkZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWJyYXRpb25Qcm92aWRlcjo6dmlicmF0ZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3ZpZGVyLmg6CisgICAgICAgIChXZWJW
aWJyYXRpb25Qcm92aWRlcik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlicmF0aW9uUHJveHk6OnZpYnJhdGUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94eS5oOgorICAgICAgICAoV2ViVmlicmF0
aW9uUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5jcHA6Cisg
ICAgICAgIChWaWJyYXRpb25DbGllbnRFZmw6OnZpYnJhdGVDYWxsYmFjayk6CisgICAgICAgICog
VUlQcm9jZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwuaDoKKyAgICAgICAgKFZpYnJhdGlvbkNs
aWVudEVmbCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJWaWJyYXRp
b25DbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWJyYXRpb25DbGllbnQ6OnZpYnJh
dGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViVmlicmF0aW9uQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJWaWJyYXRpb25DbGllbnQpOgorCiAyMDEyLTEyLTA3ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHRoZSBXZWJQcm9j
ZXNzIGFjY2VzcyB0byB0aGUgQ29yZU1lZGlhIHByZWZlcmVuY2VzIGZpbGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmNw
cAppbmRleCA2YWFiODVmZDNhN2UwMDhlNjA4ODdiMTUzM2I3ODdmYTBmMGY0MGVmLi42NjE0ZTA4
MzU3MGZiMGVlY2VhY2IyMzkxYjAyYzJhYmJjNTdiY2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmlnYXRvclZpYnJhdGlvbi5jcHAKQEAgLTM5
LDcgKzM5LDcgQEAgTmF2aWdhdG9yVmlicmF0aW9uOjp+TmF2aWdhdG9yVmlicmF0aW9uKCkKIHsK
IH0KIAotdm9pZCBOYXZpZ2F0b3JWaWJyYXRpb246OnZpYnJhdGUoTmF2aWdhdG9yKiBuYXZpZ2F0
b3IsIHVuc2lnbmVkIGxvbmcgdGltZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIE5hdmlnYXRv
clZpYnJhdGlvbjo6dmlicmF0ZShOYXZpZ2F0b3IqIG5hdmlnYXRvciwgdW5zaWduZWQgdGltZSwg
RXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKCFuYXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2Uo
KSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92
aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaAppbmRleCAyNGE2M2ZjZGQ2MmRjMDUxYzUxYThk
OTE1YmU4MGY5MWJhZTcwN2M5Li4xM2YwYjJiNTExZGUyNjdiYTg3NzRmOGVlMzQ2MmU0MzA5NGRk
OTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0
b3JWaWJyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZp
Z2F0b3JWaWJyYXRpb24uaApAQCAtMzIsOSArMzIsOSBAQCBjbGFzcyBVaW50MzJBcnJheTsKIAog
Y2xhc3MgTmF2aWdhdG9yVmlicmF0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIFZlY3Rvcjx1
bnNpZ25lZCBsb25nPiBWaWJyYXRpb25QYXR0ZXJuOworICAgIHR5cGVkZWYgVmVjdG9yPHVuc2ln
bmVkPiBWaWJyYXRpb25QYXR0ZXJuOwogCi0gICAgc3RhdGljIHZvaWQgdmlicmF0ZShOYXZpZ2F0
b3IqLCB1bnNpZ25lZCBsb25nIHRpbWUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgdm9p
ZCB2aWJyYXRlKE5hdmlnYXRvciosIHVuc2lnbmVkIHRpbWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICBzdGF0aWMgdm9pZCB2aWJyYXRlKE5hdmlnYXRvciosIGNvbnN0IFZpYnJhdGlvblBhdHRlcm4m
LCBFeGNlcHRpb25Db2RlJik7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy92aWJyYXRpb24vVmlicmF0aW9uLmNwcAppbmRleCA5MzZmNzc2OGRhMjkyZmQzMjY4MDdlMmIw
ZGI1MjEwZTdlYzhiNWQwLi4zYzdkN2NhZWU3MzdhNTU2NTM0YzVmZjQ0YzgwYzYwZDk3MzI1OTJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAK
QEAgLTQ0LDcgKzQ0LDcgQEAgUGFzc093blB0cjxWaWJyYXRpb24+IFZpYnJhdGlvbjo6Y3JlYXRl
KFZpYnJhdGlvbkNsaWVudCogY2xpZW50KQogICAgIHJldHVybiBhZG9wdFB0cihuZXcgVmlicmF0
aW9uKGNsaWVudCkpOwogfQogCi12b2lkIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCB1bnNpZ25l
ZCBsb25nJiB0aW1lKQordm9pZCBWaWJyYXRpb246OnZpYnJhdGUoY29uc3QgdW5zaWduZWQmIHRp
bWUpCiB7CiAgICAgaWYgKCF0aW1lKSB7CiAgICAgICAgIGNhbmNlbFZpYnJhdGlvbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uaAppbmRleCAzZDExMGI1
YzQ3NGYxNDc5Zjk2MTNjYzUzZDZlYjQ3Y2NlMzVhYTVjLi4wOGY4YzBjOTI2MzI1ZTBhMDJmMDQ4
Mjk1ZDc4MDk2YjllODI4MjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlv
bi9WaWJyYXRpb24uaApAQCAtMzIsMTQgKzMyLDE0IEBAIGNsYXNzIFZpYnJhdGlvbkNsaWVudDsK
IAogY2xhc3MgVmlicmF0aW9uIDogcHVibGljIFN1cHBsZW1lbnQ8UGFnZT4gewogcHVibGljOgot
ICAgIHR5cGVkZWYgVmVjdG9yPHVuc2lnbmVkIGxvbmc+IFZpYnJhdGlvblBhdHRlcm47CisgICAg
dHlwZWRlZiBWZWN0b3I8dW5zaWduZWQ+IFZpYnJhdGlvblBhdHRlcm47CiAKICAgICBleHBsaWNp
dCBWaWJyYXRpb24oVmlicmF0aW9uQ2xpZW50Kik7CiAgICAgflZpYnJhdGlvbigpOwogCiAgICAg
c3RhdGljIFBhc3NPd25QdHI8VmlicmF0aW9uPiBjcmVhdGUoVmlicmF0aW9uQ2xpZW50Kik7CiAK
LSAgICB2b2lkIHZpYnJhdGUoY29uc3QgdW5zaWduZWQgbG9uZyYgdGltZSk7CisgICAgdm9pZCB2
aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB0aW1lKTsKICAgICB2b2lkIHZpYnJhdGUoY29uc3QgVmli
cmF0aW9uUGF0dGVybiYpOwogICAgIHZvaWQgY2FuY2VsVmlicmF0aW9uKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbkNsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uQ2xpZW50LmgKaW5kZXgg
ZWJlNjg4OTI3YWNlN2U4NGU2ZDEzMGM0M2Y1MmEwZDgwMDM0YTg2MC4uZmUwN2IwMmQ4ZWZiMmUw
MDhiMjNjMTMyMjc1MzZiYzhhMWJkYjE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy92aWJyYXRpb24vVmlicmF0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy92aWJyYXRpb24vVmlicmF0aW9uQ2xpZW50LmgKQEAgLTI4LDcgKzI4LDcgQEAgY2xhc3Mg
VmlicmF0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5WaWJyYXRpb25DbGllbnQo
KSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCB2aWJyYXRlKGNvbnN0IHVuc2lnbmVkIGxvbmcmIHRp
bWUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgdmlicmF0ZShjb25zdCB1bnNpZ25lZCYgdGltZSkg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxWaWJyYXRpb24oKSA9IDA7CiAKICAgICB2aXJ0
dWFsIHZvaWQgdmlicmF0aW9uRGVzdHJveWVkKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCAzNjliNjFiZjgxYmE0ZGUwMDU1NTZjMjM2ZDQ1NDA0
MDMwY2YwMWJkLi40MThkMDI3ODZkZjhjOWIxYTFmZGQ3MTk1OTExZGQyMTAyZmFlY2I2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMzg5LDggKzM4OSw4
IEBAIGVudW0gUGFyYW1ldGVyRGVmYXVsdFBvbGljeSB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRl
PD4KLSAgICBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8dW5zaWduZWQgbG9uZz4gewotICAgICAg
ICBzdGF0aWMgaW5saW5lIGJvb2wgbmF0aXZlVmFsdWUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpT
Qzo6SlNWYWx1ZSBqc1ZhbHVlLCB1bnNpZ25lZCBsb25nJiBpbmRleGVkVmFsdWUpCisgICAgc3Ry
dWN0IE5hdGl2ZVZhbHVlVHJhaXRzPHVuc2lnbmVkPiB7CisgICAgICAgIHN0YXRpYyBpbmxpbmUg
Ym9vbCBuYXRpdmVWYWx1ZShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU1ZhbHVlIGpzVmFs
dWUsIHVuc2lnbmVkJiBpbmRleGVkVmFsdWUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICgh
anNWYWx1ZS5pc051bWJlcigpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5k
ZXggMDIyZDYzNzVjZTRiMDQ3YzM1YTRmNWUxOGYzMDI4ZGM3NDJkZThjZC4uZmU3NWQ3N2M5YzEw
NDZkMTczZTc4NWE3MzFkY2U0MWQ0NjEyNGU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTMwNzUsMTIgKzMwNzUsNyBA
QCBzdWIgR2V0TmF0aXZlVmVjdG9ySW5uZXJUeXBlCiB7CiAgICAgbXkgJGFycmF5T3JTZXF1ZW5j
ZVR5cGUgPSBzaGlmdDsKIAotICAgICMgRklYTUU6IFRoZSBuYXRpdmVUeXBlIGhhc2ggdHJhbnNs
YXRlcyAidW5zaWduZWQgbG9uZyIgdG8gInVuc2lnbmVkIiB3aGljaAotICAgICMgaXMgYWNjb3Jk
aW5nIHRvIFdlYklETC4gVGhlIFZpYnJhdGlvbiBBUEkgZGVwZW5kcyBvbiB0aGUgb2xkIGJlaGF2
aW9yCi0gICAgIyB3aGVyZSAidW5zaWduZWQgbG9uZyIgaXMga2VwdCBhcyB0aGUgV2ViQ29yZSB0
eXBlLgotICAgICMgUmVtb3ZlIHdvcmthcm91bmQgd2hlbiBodHRwOi8vd2Via2l0Lm9yZy9iLzEw
Mzg5OSBpcyBmaXhlZC4KLSAgICByZXR1cm4gInVuc2lnbmVkIGxvbmciIGlmICRhcnJheU9yU2Vx
dWVuY2VUeXBlIGVxICJ1bnNpZ25lZCBsb25nIjsKLQorICAgIHJldHVybiAidW5zaWduZWQiIGlm
ICRhcnJheU9yU2VxdWVuY2VUeXBlIGVxICJ1bnNpZ25lZCBsb25nIjsKICAgICByZXR1cm4gIlN0
cmluZyIgaWYgJGFycmF5T3JTZXF1ZW5jZVR5cGUgZXEgIkRPTVN0cmluZyI7CiAgICAgcmV0dXJu
ICRuYXRpdmVUeXBleyRhcnJheU9yU2VxdWVuY2VUeXBlfSBpZiBleGlzdHMgJG5hdGl2ZVR5cGV7
JGFycmF5T3JTZXF1ZW5jZVR5cGV9OwogICAgIHJldHVybiAiUmVmUHRyPCR7YXJyYXlPclNlcXVl
bmNlVHlwZX0+ICI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvVmlicmF0aW9uQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvVmlicmF0aW9uQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5k
ZXggZWY3ZDA4YjRiODlmMjI2OGYxODA2MWRjMWRiYTE3MzAwY2FmMTA5ZS4uNmRjZjcxZTVlNzNk
MGQ5OGUyM2Q5ZDMyMGRhZWNiODkzNzY1MzhlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVudEJsYWNrQmVycnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGll
bnRCbGFja0JlcnJ5LmNwcApAQCAtMjksNyArMjksNyBAQCBWaWJyYXRpb25DbGllbnRCbGFja0Jl
cnJ5OjpWaWJyYXRpb25DbGllbnRCbGFja0JlcnJ5KCkKIHsKIH0KIAotdm9pZCBWaWJyYXRpb25D
bGllbnRCbGFja0JlcnJ5Ojp2aWJyYXRlKGNvbnN0IHVuc2lnbmVkIGxvbmcmIHRpbWUpCit2b2lk
IFZpYnJhdGlvbkNsaWVudEJsYWNrQmVycnk6OnZpYnJhdGUoY29uc3QgdW5zaWduZWQmIHRpbWUp
CiB7CiAgICAgQmxhY2tCZXJyeVBsYXRmb3JtVmlicmF0ZTo6dmlicmF0ZSh0aW1lLCAxLik7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvVmli
cmF0aW9uQ2xpZW50QmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVudEJsYWNrQmVycnkuaAppbmRleCBkMDk2YjVhZTBmYWMx
OThmNzFjMzBiY2Q3ZWE5YmZhODBjMjhkYjQyLi41OTI5NTNjMGY3MGExZTY5ZTdkMTNiY2EyOGE5
Y2RlZTE3YzdhNWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvVmlicmF0aW9uQ2xpZW50QmxhY2tCZXJyeS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRCbGFja0JlcnJ5LmgKQEAg
LTI4LDcgKzI4LDcgQEAgcHVibGljOgogICAgIFZpYnJhdGlvbkNsaWVudEJsYWNrQmVycnkoKTsK
ICAgICB+VmlicmF0aW9uQ2xpZW50QmxhY2tCZXJyeSgpIHsgfQogCi0gICAgdm9pZCB2aWJyYXRl
KGNvbnN0IHVuc2lnbmVkIGxvbmcmIHRpbWUpOworICAgIHZvaWQgdmlicmF0ZShjb25zdCB1bnNp
Z25lZCYgdGltZSk7CiAgICAgdm9pZCBjYW5jZWxWaWJyYXRpb24oKTsKICAgICB2b2lkIHZpYnJh
dGlvbkRlc3Ryb3llZCgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCmluZGV4IDIzNjViNzJhMzgzNThlMTg2
MmRkZDUzZjYzMDViYzU5MGM3ZGMxMmQuLjYyODljYzU1YjdkMzg5NTlkYjViOTg2YzMzZjQ3YWJj
M2U5MGU3NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1Zp
YnJhdGlvbkNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvVmlicmF0aW9uQ2xpZW50RWZsLmNwcApAQCAtMjksNyArMjksNyBAQCBWaWJyYXRpb25DbGll
bnRFZmw6OlZpYnJhdGlvbkNsaWVudEVmbChFdmFzX09iamVjdCogdmlldykKIHsKIH0KIAotdm9p
ZCBWaWJyYXRpb25DbGllbnRFZmw6OnZpYnJhdGUoY29uc3QgdW5zaWduZWQgbG9uZyYgdGltZSkK
K3ZvaWQgVmlicmF0aW9uQ2xpZW50RWZsOjp2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB0aW1lKQog
ewogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwobV92aWV3LCAidmlicmF0aW9u
LHZpYnJhdGUiLCAodm9pZCopJnRpbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvVmlicmF0aW9uQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRFZmwuaAppbmRleCBkMzQyZmRjZGIwMDJl
NWNjYTRkMmUwMjBhODFmYWYwMWY0ZjQyNmUxLi5lYmM0MjcwYjlhYjcyMzFkNzBhMThlMjdjM2Rj
MTYyOTgzOTg4ZWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9WaWJyYXRpb25DbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9WaWJyYXRpb25DbGllbnRFZmwuaApAQCAtMzIsNyArMzIsNyBAQCBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgVmlicmF0aW9uQ2xpZW50RWZsKEV2YXNfT2JqZWN0KiB2aWV3KTsKICAgICB2aXJ0
dWFsIH5WaWJyYXRpb25DbGllbnRFZmwoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCB2aWJyYXRl
KGNvbnN0IHVuc2lnbmVkIGxvbmcmIHRpbWUpOworICAgIHZpcnR1YWwgdm9pZCB2aWJyYXRlKGNv
bnN0IHVuc2lnbmVkJiB0aW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsVmlicmF0aW9uKCk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgdmlicmF0aW9uRGVzdHJveWVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tWaWJyYXRpb24uaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ZpYnJhdGlvbi5oCmluZGV4IGYzMDBiNDZlODkzZGFjYjlj
MWNiOGVhMDkyNjU0ODE0N2I4OTkyM2UuLjQ4ODRlY2Q4NTMwYTIzNzhhODM0YTY0YTVmOTc0NGM2
MjFjNDdjNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Zp
YnJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ZpYnJhdGlv
bi5oCkBAIC0zMyw3ICszMyw3IEBAIGV4dGVybiAiQyIgewogI2VuZGlmCiAKIC8vIFByb3ZpZGVy
LgotdHlwZWRlZiB2b2lkICgqV0tWaWJyYXRpb25Qcm92aWRlclZpYnJhdGVDYWxsYmFjaykoV0tW
aWJyYXRpb25SZWYgdmlicmF0aW9uUmVmLCB1aW50NjRfdCB2aWJyYXRpb25UaW1lLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLVmlicmF0aW9uUHJvdmlkZXJWaWJy
YXRlQ2FsbGJhY2spKFdLVmlicmF0aW9uUmVmIHZpYnJhdGlvblJlZiwgdWludDMyX3QgdmlicmF0
aW9uVGltZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1ZpYnJh
dGlvblByb3ZpZGVyQ2FuY2VsVmlicmF0aW9uQ2FsbGJhY2spKFdLVmlicmF0aW9uUmVmIHZpYnJh
dGlvblJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHN0cnVjdCBXS1ZpYnJhdGlvblBy
b3ZpZGVyIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXdDYWxsYmFja3MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXdDYWxsYmFja3MuaAppbmRleCBiZmRmNzEzMGFhOGVjNDIxMDNmY2RlOTZhZWRkNjRmMjI3ZDc2
ZjMyLi4xNjQ1ODA1ZjM4OGI1OTcwNmQ2NTYzZjFmZTg5NWViOTJmYzlmMTkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Q2FsbGJhY2tzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0NhbGxiYWNrcy5oCkBA
IC0yMDksNyArMjA5LDcgQEAgREVDTEFSRV9FV0tfVklFV19DQUxMQkFDSyhUb29sYmFyVmlzaWJs
ZSwgInRvb2xiYXIsdmlzaWJsZSIsIGJvb2wqKTsKIERFQ0xBUkVfRVdLX1ZJRVdfQ0FMTEJBQ0so
VG9vbHRpcFRleHRVbnNldCwgInRvb2x0aXAsdGV4dCx1bnNldCIsIHZvaWQpOwogREVDTEFSRV9F
V0tfVklFV19DQUxMQkFDSyhUb29sdGlwVGV4dFNldCwgInRvb2x0aXAsdGV4dCxzZXQiLCBjb25z
dCBjaGFyKik7CiBERUNMQVJFX0VXS19WSUVXX0NBTExCQUNLKFVSTENoYW5nZWQsICJ1cmwsY2hh
bmdlZCIsIGNvbnN0IGNoYXIqKTsKLURFQ0xBUkVfRVdLX1ZJRVdfQ0FMTEJBQ0soVmlicmF0ZSwg
InZpYnJhdGUiLCB1aW50NjRfdCopOworREVDTEFSRV9FV0tfVklFV19DQUxMQkFDSyhWaWJyYXRl
LCAidmlicmF0ZSIsIHVpbnQzMl90Kik7CiBERUNMQVJFX0VXS19WSUVXX0NBTExCQUNLKFdlYlBy
b2Nlc3NDcmFzaGVkLCAid2VicHJvY2VzcyxjcmFzaGVkIiwgYm9vbCopOwogREVDTEFSRV9FV0tf
VklFV19DQUxMQkFDSyhXaW5kb3dSZXNpemFibGUsICJ3aW5kb3cscmVzaXphYmxlIiwgYm9vbCop
OwogI2lmIEVOQUJMRShXRUJfSU5URU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuY3BwCmluZGV4IDA5NWJkOTc4Yjk2ZDc4OWViOWUxYzA3
ZTI1MTU0YTdkYWMxMWZhZDUuLmExMmY1OTczYjBjOGVjOTQ0YjUzOWE2ZTdhYjQ1NDJmYWE2NWZi
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm92
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3Zp
ZGVyLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBX
ZWJWaWJyYXRpb25Qcm92aWRlcjo6dmlicmF0ZShXZWJWaWJyYXRpb25Qcm94eSogdmlicmF0aW9u
LCB1aW50NjRfdCB2aWJyYXRpb25UaW1lKQordm9pZCBXZWJWaWJyYXRpb25Qcm92aWRlcjo6dmli
cmF0ZShXZWJWaWJyYXRpb25Qcm94eSogdmlicmF0aW9uLCB1aW50MzJfdCB2aWJyYXRpb25UaW1l
KQogewogICAgIGlmICghbV9jbGllbnQudmlicmF0ZSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuaAppbmRleCA3NmQ5
OGE4ZDI1N2EwZGYzNDk4NDY2MjM2MmY3YmRlZTZlYTBhNGQzLi4zNjE1OWRlODM0MmY1NmM3OWU2
YWYzMmQ3OWM1ZDZmZWYyZjNiZDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViVmlicmF0aW9uUHJvdmlkZXIuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBXZWJWaWJyYXRp
b25Qcm94eTsKIAogY2xhc3MgV2ViVmlicmF0aW9uUHJvdmlkZXIgOiBwdWJsaWMgQVBJQ2xpZW50
PFdLVmlicmF0aW9uUHJvdmlkZXIsIGtXS1ZpYnJhdGlvblByb3ZpZGVyQ3VycmVudFZlcnNpb24+
IHsKIHB1YmxpYzoKLSAgICB2b2lkIHZpYnJhdGUoV2ViVmlicmF0aW9uUHJveHkqLCB1aW50NjRf
dCB2aWJyYXRpb25UaW1lKTsKKyAgICB2b2lkIHZpYnJhdGUoV2ViVmlicmF0aW9uUHJveHkqLCB1
aW50MzJfdCB2aWJyYXRpb25UaW1lKTsKICAgICB2b2lkIGNhbmNlbFZpYnJhdGlvbihXZWJWaWJy
YXRpb25Qcm94eSopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlZpYnJhdGlvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJy
YXRpb25Qcm94eS5jcHAKaW5kZXggMmU3OTBjMmY4ZmEyMjQ3NWVkNThhYzA4NmJiODIyZDk1OTUw
YzlmNS4uOTZjZDM5ZWExNmEzOTc5MWVjYWMxNGI3NmQ1ZDdlMWU1Yjc5OGE1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkuY3BwCkBAIC02Nyw3ICs2
Nyw3IEBAIHZvaWQgV2ViVmlicmF0aW9uUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6
OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJCiAgICAgZGlkUmVjZWl2ZVdlYlZpYnJhdGlv
blByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwogfQogCi12b2lk
IFdlYlZpYnJhdGlvblByb3h5Ojp2aWJyYXRlKHVpbnQ2NF90IHZpYnJhdGlvblRpbWUpCit2b2lk
IFdlYlZpYnJhdGlvblByb3h5Ojp2aWJyYXRlKHVpbnQzMl90IHZpYnJhdGlvblRpbWUpCiB7CiAg
ICAgbV9wcm92aWRlci52aWJyYXRlKHRoaXMsIHZpYnJhdGlvblRpbWUpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkuaAppbmRleCAwMDMxZGZkMzY2Yzk2
OWM3NDc3OTA1MGQ3ZDJmY2NiNGQxZmI1MDYxLi45MThlMzdhYmYzZDEzYjM3NjgzN2RkYTNlMDBk
ZGYyZTk2Y2Y5ZWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmli
cmF0aW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9u
UHJveHkuaApAQCAtNTksNyArNTksNyBAQCBwcml2YXRlOgogICAgIC8vIENvcmVJUEM6Ok1lc3Nh
Z2VSZWNlaXZlcgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
IE9WRVJSSURFOwogCi0gICAgdm9pZCB2aWJyYXRlKHVpbnQ2NF90IHZpYnJhdGlvblRpbWUpOwor
ICAgIHZvaWQgdmlicmF0ZSh1aW50MzJfdCB2aWJyYXRpb25UaW1lKTsKICAgICB2b2lkIGNhbmNl
bFZpYnJhdGlvbigpOwogCiAgICAgV2ViUGFnZVByb3h5KiBtX3BhZ2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkubWVzc2FnZXMuaW4KaW5k
ZXggZmY0MGIwZDlmZTY3OWRhYzNmOTA1MjkwZDZhOWVhMzk0YjhiNTdkZS4uYWQ1YmRmZDJhNGI5
OTQyNGMzZTdiOTIyZDJkMWMxMjZmNzY5NjU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94eS5tZXNzYWdlcy5pbgpAQCAtMjMsNyArMjMs
NyBAQAogI2lmIEVOQUJMRShWSUJSQVRJT04pCiAKIG1lc3NhZ2VzIC0+IFdlYlZpYnJhdGlvblBy
b3h5IHsKLSAgICBWaWJyYXRlKHVpbnQ2NF90IHZpYnJhdGlvblRpbWUpOworICAgIFZpYnJhdGUo
dWludDMyX3QgdmlicmF0aW9uVGltZSk7CiAgICAgQ2FuY2VsVmlicmF0aW9uKCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlicmF0aW9uQ2xpZW50RWZs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlicmF0aW9uQ2xpZW50RWZsLmNw
cAppbmRleCBkZWI0MTlmOWI5ZmExYTEwNjc4ODkxZGE0ZTk1OGIxYTFkOTVlM2IwLi40ZTEwMTBk
ODI5MWUyNmQ4YWNmOTc0YTUzMzgzZDE0MTZlZmU2MTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCkBAIC00MCw3ICs0MCw3
IEBAIHN0YXRpYyBpbmxpbmUgVmlicmF0aW9uQ2xpZW50RWZsKiB0b1ZpYnJhdGlvbkNsaWVudChj
b25zdCB2b2lkKiBjbGllbnRJbmZvKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxWaWJyYXRpb25D
bGllbnRFZmwqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CiB9CiAKLXZvaWQgVmli
cmF0aW9uQ2xpZW50RWZsOjp2aWJyYXRlQ2FsbGJhY2soV0tWaWJyYXRpb25SZWYsIHVpbnQ2NF90
IHZpYnJhdGlvblRpbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit2b2lkIFZpYnJhdGlvbkNs
aWVudEVmbDo6dmlicmF0ZUNhbGxiYWNrKFdLVmlicmF0aW9uUmVmLCB1aW50MzJfdCB2aWJyYXRp
b25UaW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIHRvVmlicmF0aW9uQ2xpZW50
KGNsaWVudEluZm8pLT5tX3ZpZXdJbXBsLT5zbWFydENhbGxiYWNrPFZpYnJhdGU+KCkuY2FsbCgm
dmlicmF0aW9uVGltZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9W
aWJyYXRpb25DbGllbnRFZmwuaAppbmRleCBjNmQzZjc5ZTE5MDk0MDRjZDExNjRhNTU3YzkwZTVk
M2YwZjdhNTVmLi4wZmFhMGJlOGU1ODNjYjc5YTIzZDg2NzkzMDFjZjg4ZDBmOWRkMmY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlicmF0aW9uQ2xpZW50RWZsLmgK
QEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBleHBsaWNpdCBWaWJyYXRp
b25DbGllbnRFZmwoRXdrVmlld0ltcGwqKTsKIAotICAgIHN0YXRpYyB2b2lkIHZpYnJhdGVDYWxs
YmFjayhXS1ZpYnJhdGlvblJlZiwgdWludDY0X3QgdmlicmF0aW9uVGltZSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgdmlicmF0ZUNhbGxiYWNrKFdLVmlicmF0aW9u
UmVmLCB1aW50MzJfdCB2aWJyYXRpb25UaW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAg
ICBzdGF0aWMgdm9pZCBjYW5jZWxWaWJyYXRpb25DYWxsYmFjayhXS1ZpYnJhdGlvblJlZiwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKICAgICBFd2tWaWV3SW1wbCogbV92aWV3SW1wbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViVmli
cmF0aW9uQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViVmlicmF0aW9uQ2xpZW50LmNwcAppbmRleCA4YTg5MTc1M2IxYzcyNmU2MGYwYjM3NDY5
ODdjZmRhZDBhMzA4OTM1Li4wMDkzZTgwMzIyMGNjMGZiMTU5MjZjYmQyODViNzk1YTZiYTNlYjBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlZpYnJhdGlvbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJWaWJyYXRpb25DbGllbnQuY3BwCkBAIC0zNiw3ICszNiw3IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBXZWJWaWJy
YXRpb25DbGllbnQ6OnZpYnJhdGUoY29uc3QgdW5zaWduZWQgbG9uZyYgdmlicmF0aW9uVGltZSkK
K3ZvaWQgV2ViVmlicmF0aW9uQ2xpZW50Ojp2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB2aWJyYXRp
b25UaW1lKQogewogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChN
ZXNzYWdlczo6V2ViVmlicmF0aW9uUHJveHk6OlZpYnJhdGUodmlicmF0aW9uVGltZSksIG1fcGFn
ZS0+cGFnZUlEKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJWaWJyYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViVmlicmF0aW9uQ2xpZW50LmgKaW5kZXggYTA2YjRmOWUx
NTFlYzJmNzYwODcxY2ZkZmQwYzAxOGRiYWRmYjJjMi4uZWVjOGIzZjA0OTM3MGVhZGEzOWNmNTAz
YWZkOTk5Yzg4YzY2NDRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJWaWJyYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlZpYnJhdGlvbkNsaWVudC5oCkBAIC00NCw3ICs0
NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJWaWJyYXRpb25DbGllbnQoKSB7IH0KIAog
cHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgdmlicmF0ZShjb25zdCB1bnNpZ25lZCBsb25nJiB2
aWJyYXRpb25UaW1lKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgdmlicmF0ZShjb25zdCB1
bnNpZ25lZCYgdmlicmF0aW9uVGltZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNl
bFZpYnJhdGlvbigpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCB2aWJyYXRpb25EZXN0cm95
ZWQoKSBPVkVSUklERTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178698</attachid>
            <date>2012-12-10 20:30:09 -0800</date>
            <delta_ts>2012-12-11 21:26:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103899-20121211132729.patch</filename>
            <type>text/plain</type>
            <size>22729</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ4NTZkMDI0YjkyMWMy
MGJhMzc3YzY3MWM1ZGRlMDE5YTllYTUyNy4uZTAxZjMzMThiOTEzNDViZTIyMTlhOTgzN2EyYzhm
MTM1NTE1NzZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEyLTEwICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFZpYnJhdGlvbiBB
UEk6IElETCB0eXBlIGRvZXNuJ3QgbWF0Y2ggaW1wbGVtZW50YXRpb24gdHlwZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzODk5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIFdlYklE
TCwgInVuc2lnbmVkIGxvbmciIGNvcnJlc3BvbmRzIHRvICJ1bnNpZ25lZCIgaW4gdGhlIHBsYXRm
b3JtLgorICAgICAgICBUaGVyZWZvcmUgdW5zaWduZWQgbG9uZyBuZWVkIHRvIGJlIGNoYW5nZWQg
dG8gdW5zaWduZWQgZm9yIHRoZSBWaWJyYXRpb24gQVBJLgorICAgICAgICAtIENoYW5nZSBhIHBh
cmFtZXRlciB0eXBlIG9mIHZpYnJhdGUgZnVuY3Rpb24gZnJvbSB1bnNpZ25lZCBsb25nIHRvIHVu
c2lnbmVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgaXQgaXMgY292ZXJlZCBieSBleGlzdCB0
ZXN0LgorCisgICAgICAgICogTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZSk6CisgICAg
ICAgICogTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmg6CisgICAgICAgIChO
YXZpZ2F0b3JWaWJyYXRpb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5oOgorICAgICAgICAoVmlicmF0aW9uKToKKyAg
ICAgICAgKiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb25DbGllbnQuaDoKKyAgICAgICAgKFZp
YnJhdGlvbkNsaWVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIFJl
bW92ZSB3b3JrYXJvdW5kIGNvZGVzIGZvciB0aGUgVmlicmF0aW9uIEFQSSB3aGljaCBpcyBtYXBw
ZWQgZnJvbSB1bnNpZ25lZCBsb25nIHRvIHVuc2lnbmVkIGxvbmcuCisgICAgICAgIEl0IHNob3Vs
ZCBiZSBtYXBwZWQgZnJvbSB1bnNpZ25lZCBsb25nIHRvIHVuc2lnbmVkIGJ5IFdlYklETCBzcGVj
LgorICAgICAgICAoR2V0TmF0aXZlVmVjdG9ySW5uZXJUeXBlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDEwKToKKyAgICAgICAgKFdlYkNv
cmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aFVuc2lnbmVkTG9uZ1NlcXVl
bmNlKToKKwogMjAxMi0xMi0wNyAgUmlrIENhYmFuaWVyICA8Y2FiYW5pZXJAYWRvYmUuY29tPgog
CiAgICAgICAgIEV4dGVuZCBwbGF0Zm9ybSBsYXllciBzbyBpdCBjYW4gcGFzcyBibGVuZCBtb2Rl
cyB0byB0aGUgY29tcG9zaXRpbmcgY2FsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmlu
ZGV4IDA5MjE1YmNhOWVmNTVkNjM1NzUwYWVmN2UzM2EyYTAxY2VkM2VkN2EuLmYzYTk0YzI5YTIx
M2ZhZWQ1MGY5MGFlNTI1NGQxZTBhYjAyZjUwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTEwICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5r
d29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFZpYnJhdGlvbiBBUEk6IElETCB0eXBlIGRvZXNu
J3QgbWF0Y2ggaW1wbGVtZW50YXRpb24gdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzODk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWNjb3JkaW5nIHRvIFdlYklETCwgInVuc2lnbmVkIGxvbmci
IGNvcnJlc3BvbmRzIHRvICJ1bnNpZ25lZCIgaW4gdGhlIHBsYXRmb3JtLgorICAgICAgICBUaGVy
ZWZvcmUgdW5zaWduZWQgbG9uZyBuZWVkIHRvIGJlIGNoYW5nZWQgdG8gdW5zaWduZWQgZm9yIHRo
ZSBWaWJyYXRpb24gQVBJLgorICAgICAgICAtIENoYW5nZSBhIHBhcmFtZXRlciB0eXBlIG9mIHZp
YnJhdGUgZnVuY3Rpb24gZnJvbSB1bnNpZ25lZCBsb25nIHRvIHVuc2lnbmVkLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvVmlicmF0aW9uQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWaWJyYXRpb25DbGllbnRCbGFja0JlcnJ5Ojp2aWJyYXRlKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRCbGFja0JlcnJ5Lmg6CisgICAgICAgIChW
aWJyYXRpb25DbGllbnRCbGFja0JlcnJ5KToKKwogMjAxMi0xMi0wNyAgTmltYSBHaGFuYXZhdGlh
biAgPG5naGFuYXZhdGlhbkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBHZW5lcmFs
IGNvZGUgY2xlYW51cCBhbmQgaW1wcm92ZWQgbG9nZ2luZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAw
M2NjYWRkMmU1MmVkN2QxZjgzNzBmOTY3NzNhYWRlZDdjN2Y5YzRiLi5hM2QzMmIxOTI3YmIzNDRl
Njk0YzZjNGMxZjM3OWRjZGJhNDk3NGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMTItMTAgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgVmlicmF0aW9uIEFQSTogSURMIHR5cGUgZG9lc24ndCBtYXRjaCBpbXBsZW1lbnRh
dGlvbiB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDM4OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBY2NvcmRpbmcgdG8gV2ViSURMLCAidW5zaWduZWQgbG9uZyIgY29ycmVzcG9uZHMgdG8gInVu
c2lnbmVkIiBpbiB0aGUgcGxhdGZvcm0uCisgICAgICAgIFRoZXJlZm9yZSB1bnNpZ25lZCBsb25n
IG5lZWQgdG8gYmUgY2hhbmdlZCB0byB1bnNpZ25lZCBmb3IgdGhlIFZpYnJhdGlvbiBBUEkuCisg
ICAgICAgIC0gQ2hhbmdlIGEgcGFyYW1ldGVyIHR5cGUgb2YgdmlicmF0ZSBmdW5jdGlvbiBmcm9t
IHVuc2lnbmVkIGxvbmcgdG8gdW5zaWduZWQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9W
aWJyYXRpb25DbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmlicmF0aW9uQ2xpZW50
RWZsOjp2aWJyYXRlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRF
ZmwuaDoKKyAgICAgICAgKFZpYnJhdGlvbkNsaWVudEVmbCk6CisKIDIwMTItMTItMDUgIEhhbHRv
biBIdW8gIDxoYWx0b24uaHVvQGludGVsLmNvbT4KIAogICAgICAgICBbQ01ha2VdIFVuaWZ5IGNv
ZGluZyBzdHlsZSBmb3IgQ01ha2UgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjNmE0NWFmODg4OTg4ZTM3
MzBjOTA4NDFlODliMmVlM2ZhY2I4NTkzLi4yYTEzZjFmODI4Y2NhNzcwNmY4ZDAzZDIyYjQ3NGRk
MjUyN2Y1YTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTItMTItMTAgIEtpaG9u
ZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgVmlicmF0aW9uIEFQ
STogSURMIHR5cGUgZG9lc24ndCBtYXRjaCBpbXBsZW1lbnRhdGlvbiB0eXBlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM4OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBY2NvcmRpbmcgdG8gV2ViSURM
LCAidW5zaWduZWQgbG9uZyIgY29ycmVzcG9uZHMgdG8gInVuc2lnbmVkIiBpbiB0aGUgcGxhdGZv
cm0uCisgICAgICAgIFRoZXJlZm9yZSB1bnNpZ25lZCBsb25nIG5lZWQgdG8gYmUgY2hhbmdlZCB0
byB1bnNpZ25lZCBmb3IgdGhlIFZpYnJhdGlvbiBBUEkuCisgICAgICAgIC0gQ2hhbmdlIGEgcGFy
YW1ldGVyIHR5cGUgb2YgdmlicmF0ZSBmdW5jdGlvbiBmcm9tIHVpbnQ2NF90IHRvIHVpbnRfMzJf
dC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ZpYnJhdGlvbi5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXdDYWxsYmFja3MuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWJyYXRp
b25Qcm92aWRlcjo6dmlicmF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlZpYnJhdGlvblBy
b3ZpZGVyLmg6CisgICAgICAgIChXZWJWaWJyYXRpb25Qcm92aWRlcik6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlZpYnJhdGlvblByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlicmF0
aW9uUHJveHk6OnZpYnJhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94
eS5oOgorICAgICAgICAoV2ViVmlicmF0aW9uUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJWaWJyYXRpb25Qcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1Zp
YnJhdGlvbkNsaWVudEVmbC5jcHA6CisgICAgICAgIChWaWJyYXRpb25DbGllbnRFZmw6OnZpYnJh
dGVDYWxsYmFjayk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwu
aDoKKyAgICAgICAgKFZpYnJhdGlvbkNsaWVudEVmbCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJWaWJyYXRpb25DbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWJyYXRpb25DbGllbnQ6OnZpYnJhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViVmlicmF0aW9uQ2xpZW50Lmg6CisgICAgICAgIChXZWJWaWJyYXRpb25DbGll
bnQpOgorCiAyMDEyLTEyLTA3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFsbG93IHRoZSBXZWJQcm9jZXNzIGFjY2VzcyB0byB0aGUgQ29yZU1lZGlhIHByZWZl
cmVuY2VzIGZpbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlv
bi9OYXZpZ2F0b3JWaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRp
b24vTmF2aWdhdG9yVmlicmF0aW9uLmNwcAppbmRleCA2YWFiODVmZDNhN2UwMDhlNjA4ODdiMTUz
M2I3ODdmYTBmMGY0MGVmLi42NjE0ZTA4MzU3MGZiMGVlY2VhY2IyMzkxYjAyYzJhYmJjNTdiY2M2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JW
aWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL05hdmln
YXRvclZpYnJhdGlvbi5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgTmF2aWdhdG9yVmlicmF0aW9uOjp+
TmF2aWdhdG9yVmlicmF0aW9uKCkKIHsKIH0KIAotdm9pZCBOYXZpZ2F0b3JWaWJyYXRpb246OnZp
YnJhdGUoTmF2aWdhdG9yKiBuYXZpZ2F0b3IsIHVuc2lnbmVkIGxvbmcgdGltZSwgRXhjZXB0aW9u
Q29kZSYgZWMpCit2b2lkIE5hdmlnYXRvclZpYnJhdGlvbjo6dmlicmF0ZShOYXZpZ2F0b3IqIG5h
dmlnYXRvciwgdW5zaWduZWQgdGltZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKCFu
YXZpZ2F0b3ItPmZyYW1lKCktPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vTmF2aWdhdG9yVmlicmF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaAppbmRl
eCAyNGE2M2ZjZGQ2MmRjMDUxYzUxYThkOTE1YmU4MGY5MWJhZTcwN2M5Li4xM2YwYjJiNTExZGUy
NjdiYTg3NzRmOGVlMzQ2MmU0MzA5NGRkOTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3ZpYnJhdGlvbi9OYXZpZ2F0b3JWaWJyYXRpb24uaApAQCAtMzIsOSArMzIsOSBA
QCBjbGFzcyBVaW50MzJBcnJheTsKIAogY2xhc3MgTmF2aWdhdG9yVmlicmF0aW9uIHsKIHB1Ymxp
YzoKLSAgICB0eXBlZGVmIFZlY3Rvcjx1bnNpZ25lZCBsb25nPiBWaWJyYXRpb25QYXR0ZXJuOwor
ICAgIHR5cGVkZWYgVmVjdG9yPHVuc2lnbmVkPiBWaWJyYXRpb25QYXR0ZXJuOwogCi0gICAgc3Rh
dGljIHZvaWQgdmlicmF0ZShOYXZpZ2F0b3IqLCB1bnNpZ25lZCBsb25nIHRpbWUsIEV4Y2VwdGlv
bkNvZGUmKTsKKyAgICBzdGF0aWMgdm9pZCB2aWJyYXRlKE5hdmlnYXRvciosIHVuc2lnbmVkIHRp
bWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBzdGF0aWMgdm9pZCB2aWJyYXRlKE5hdmlnYXRvcios
IGNvbnN0IFZpYnJhdGlvblBhdHRlcm4mLCBFeGNlcHRpb25Db2RlJik7CiAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcAppbmRleCA5
MzZmNzc2OGRhMjkyZmQzMjY4MDdlMmIwZGI1MjEwZTdlYzhiNWQwLi4zYzdkN2NhZWU3MzdhNTU2
NTM0YzVmZjQ0YzgwYzYwZDk3MzI1OTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
dmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgUGFzc093blB0cjxWaWJy
YXRpb24+IFZpYnJhdGlvbjo6Y3JlYXRlKFZpYnJhdGlvbkNsaWVudCogY2xpZW50KQogICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgVmlicmF0aW9uKGNsaWVudCkpOwogfQogCi12b2lkIFZpYnJhdGlv
bjo6dmlicmF0ZShjb25zdCB1bnNpZ25lZCBsb25nJiB0aW1lKQordm9pZCBWaWJyYXRpb246OnZp
YnJhdGUoY29uc3QgdW5zaWduZWQmIHRpbWUpCiB7CiAgICAgaWYgKCF0aW1lKSB7CiAgICAgICAg
IGNhbmNlbFZpYnJhdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92
aWJyYXRpb24vVmlicmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9W
aWJyYXRpb24uaAppbmRleCAzZDExMGI1YzQ3NGYxNDc5Zjk2MTNjYzUzZDZlYjQ3Y2NlMzVhYTVj
Li4wOGY4YzBjOTI2MzI1ZTBhMDJmMDQ4Mjk1ZDc4MDk2YjllODI4MjY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uaApAQCAtMzIsMTQgKzMyLDE0IEBA
IGNsYXNzIFZpYnJhdGlvbkNsaWVudDsKIAogY2xhc3MgVmlicmF0aW9uIDogcHVibGljIFN1cHBs
ZW1lbnQ8UGFnZT4gewogcHVibGljOgotICAgIHR5cGVkZWYgVmVjdG9yPHVuc2lnbmVkIGxvbmc+
IFZpYnJhdGlvblBhdHRlcm47CisgICAgdHlwZWRlZiBWZWN0b3I8dW5zaWduZWQ+IFZpYnJhdGlv
blBhdHRlcm47CiAKICAgICBleHBsaWNpdCBWaWJyYXRpb24oVmlicmF0aW9uQ2xpZW50Kik7CiAg
ICAgflZpYnJhdGlvbigpOwogCiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmlicmF0aW9uPiBjcmVh
dGUoVmlicmF0aW9uQ2xpZW50Kik7CiAKLSAgICB2b2lkIHZpYnJhdGUoY29uc3QgdW5zaWduZWQg
bG9uZyYgdGltZSk7CisgICAgdm9pZCB2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB0aW1lKTsKICAg
ICB2b2lkIHZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYpOwogICAgIHZvaWQgY2FuY2Vs
VmlicmF0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0
aW9uL1ZpYnJhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24v
VmlicmF0aW9uQ2xpZW50LmgKaW5kZXggZWJlNjg4OTI3YWNlN2U4NGU2ZDEzMGM0M2Y1MmEwZDgw
MDM0YTg2MC4uZmUwN2IwMmQ4ZWZiMmUwMDhiMjNjMTMyMjc1MzZiYzhhMWJkYjE2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uQ2xpZW50LmgK
QEAgLTI4LDcgKzI4LDcgQEAgY2xhc3MgVmlicmF0aW9uQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2
aXJ0dWFsIH5WaWJyYXRpb25DbGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCB2aWJyYXRl
KGNvbnN0IHVuc2lnbmVkIGxvbmcmIHRpbWUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgdmlicmF0
ZShjb25zdCB1bnNpZ25lZCYgdGltZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxWaWJy
YXRpb24oKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgdmlicmF0aW9uRGVzdHJveWVkKCkgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCAzNjliNjFi
ZjgxYmE0ZGUwMDU1NTZjMjM2ZDQ1NDA0MDMwY2YwMWJkLi40MThkMDI3ODZkZjhjOWIxYTFmZGQ3
MTk1OTExZGQyMTAyZmFlY2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJp
bmRpbmcuaApAQCAtMzg5LDggKzM4OSw4IEBAIGVudW0gUGFyYW1ldGVyRGVmYXVsdFBvbGljeSB7
CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPD4KLSAgICBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8
dW5zaWduZWQgbG9uZz4gewotICAgICAgICBzdGF0aWMgaW5saW5lIGJvb2wgbmF0aXZlVmFsdWUo
SlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSBqc1ZhbHVlLCB1bnNpZ25lZCBsb25n
JiBpbmRleGVkVmFsdWUpCisgICAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPHVuc2lnbmVkPiB7
CisgICAgICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBuYXRpdmVWYWx1ZShKU0M6OkV4ZWNTdGF0ZSog
ZXhlYywgSlNDOjpKU1ZhbHVlIGpzVmFsdWUsIHVuc2lnbmVkJiBpbmRleGVkVmFsdWUpCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGlmICghanNWYWx1ZS5pc051bWJlcigpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMDIyZDYzNzVjZTRiMDQ3YzM1YTRmNWUxOGYzMDI4
ZGM3NDJkZThjZC4uNjRmM2VkZmU5NDI4ZDY0YzViY2I0OWVhODJiODdkMDczYWU5ZDljYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KQEAgLTMwNzUsMTIgKzMwNzUsNiBAQCBzdWIgR2V0TmF0aXZlVmVjdG9ySW5uZXJUeXBlCiB7
CiAgICAgbXkgJGFycmF5T3JTZXF1ZW5jZVR5cGUgPSBzaGlmdDsKIAotICAgICMgRklYTUU6IFRo
ZSBuYXRpdmVUeXBlIGhhc2ggdHJhbnNsYXRlcyAidW5zaWduZWQgbG9uZyIgdG8gInVuc2lnbmVk
IiB3aGljaAotICAgICMgaXMgYWNjb3JkaW5nIHRvIFdlYklETC4gVGhlIFZpYnJhdGlvbiBBUEkg
ZGVwZW5kcyBvbiB0aGUgb2xkIGJlaGF2aW9yCi0gICAgIyB3aGVyZSAidW5zaWduZWQgbG9uZyIg
aXMga2VwdCBhcyB0aGUgV2ViQ29yZSB0eXBlLgotICAgICMgUmVtb3ZlIHdvcmthcm91bmQgd2hl
biBodHRwOi8vd2Via2l0Lm9yZy9iLzEwMzg5OSBpcyBmaXhlZC4KLSAgICByZXR1cm4gInVuc2ln
bmVkIGxvbmciIGlmICRhcnJheU9yU2VxdWVuY2VUeXBlIGVxICJ1bnNpZ25lZCBsb25nIjsKLQog
ICAgIHJldHVybiAiU3RyaW5nIiBpZiAkYXJyYXlPclNlcXVlbmNlVHlwZSBlcSAiRE9NU3RyaW5n
IjsKICAgICByZXR1cm4gJG5hdGl2ZVR5cGV7JGFycmF5T3JTZXF1ZW5jZVR5cGV9IGlmIGV4aXN0
cyAkbmF0aXZlVHlwZXskYXJyYXlPclNlcXVlbmNlVHlwZX07CiAgICAgcmV0dXJuICJSZWZQdHI8
JHthcnJheU9yU2VxdWVuY2VUeXBlfT4gIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggZTI4MDA4OGFkNWM4Yjg3
OWY2Njg4N2MyZjczNDRjMjRiMWI3ODIwZC4uZWU2ODc5ZWYyYjcyNTdkYTFmYWJkNTNhODZkYWQz
ZjgyNDQyZWJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKQEAgLTIyNTQsNyArMjI1NCw3IEBAIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3Zlcmxv
YWRlZE1ldGhvZDEwCiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihj
YXN0ZWRUaGlzLT5pbXBsKCkpOwogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQog
ICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50
c0Vycm9yKGV4ZWMpKTsKLSAgICBWZWN0b3I8dW5zaWduZWQgbG9uZz4gYXJyYXlBcmcodG9OYXRp
dmVBcnJheTx1bnNpZ25lZCBsb25nPihleGVjLCBNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihleGVj
LCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CisgICAgVmVjdG9yPHVuc2lnbmVkPiBhcnJheUFy
Zyh0b05hdGl2ZUFycmF5PHVuc2lnbmVkPihleGVjLCBNQVlCRV9NSVNTSU5HX1BBUkFNRVRFUihl
eGVjLCAwLCBEZWZhdWx0SXNVbmRlZmluZWQpKSk7CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAg
IGltcGwtPm92ZXJsb2FkZWRNZXRob2QoYXJyYXlBcmcpOwpAQCAtMjQyMiw3ICsyNDIyLDcgQEAg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1l
dGhvZFdpdGhVbnNpZ25lZExvbmdTZXEKICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8
VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291
bnQoKSA8IDEpCiAgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlTm90RW5v
dWdoQXJndW1lbnRzRXJyb3IoZXhlYykpOwotICAgIFZlY3Rvcjx1bnNpZ25lZCBsb25nPiB1bnNp
Z25lZExvbmdTZXF1ZW5jZSh0b05hdGl2ZUFycmF5PHVuc2lnbmVkIGxvbmc+KGV4ZWMsIE1BWUJF
X01JU1NJTkdfUEFSQU1FVEVSKGV4ZWMsIDAsIERlZmF1bHRJc1VuZGVmaW5lZCkpKTsKKyAgICBW
ZWN0b3I8dW5zaWduZWQ+IHVuc2lnbmVkTG9uZ1NlcXVlbmNlKHRvTmF0aXZlQXJyYXk8dW5zaWdu
ZWQ+KGV4ZWMsIE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGV4ZWMsIDAsIERlZmF1bHRJc1VuZGVm
aW5lZCkpKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgaW1wbC0+bWV0aG9kV2l0aFVuc2ln
bmVkTG9uZ1NlcXVlbmNlKHVuc2lnbmVkTG9uZ1NlcXVlbmNlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRCbGFja0Jl
cnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9WaWJyYXRp
b25DbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCBlZjdkMDhiNGI4OWYyMjY4ZjE4MDYxZGMxZGJh
MTczMDBjYWYxMDllLi42ZGNmNzFlNWU3M2QwZDk4ZTIzZDlkMzIwZGFlY2I4OTM3NjUzOGU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvVmlicmF0
aW9uQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC0yOSw3ICsyOSw3
IEBAIFZpYnJhdGlvbkNsaWVudEJsYWNrQmVycnk6OlZpYnJhdGlvbkNsaWVudEJsYWNrQmVycnko
KQogewogfQogCi12b2lkIFZpYnJhdGlvbkNsaWVudEJsYWNrQmVycnk6OnZpYnJhdGUoY29uc3Qg
dW5zaWduZWQgbG9uZyYgdGltZSkKK3ZvaWQgVmlicmF0aW9uQ2xpZW50QmxhY2tCZXJyeTo6dmli
cmF0ZShjb25zdCB1bnNpZ25lZCYgdGltZSkKIHsKICAgICBCbGFja0JlcnJ5UGxhdGZvcm1WaWJy
YXRlOjp2aWJyYXRlKHRpbWUsIDEuKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRCbGFja0JlcnJ5LmggYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvVmlicmF0aW9uQ2xpZW50QmxhY2tC
ZXJyeS5oCmluZGV4IGQwOTZiNWFlMGZhYzE5OGY3MWMzMGJjZDdlYTliZmE4MGMyOGRiNDIuLjU5
Mjk1M2MwZjcwYTFlNjllN2QxM2JjYTI4YTljZGVlMTdjN2E1ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRCbGFja0Jl
cnJ5LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L1ZpYnJh
dGlvbkNsaWVudEJsYWNrQmVycnkuaApAQCAtMjgsNyArMjgsNyBAQCBwdWJsaWM6CiAgICAgVmli
cmF0aW9uQ2xpZW50QmxhY2tCZXJyeSgpOwogICAgIH5WaWJyYXRpb25DbGllbnRCbGFja0JlcnJ5
KCkgeyB9CiAKLSAgICB2b2lkIHZpYnJhdGUoY29uc3QgdW5zaWduZWQgbG9uZyYgdGltZSk7Cisg
ICAgdm9pZCB2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB0aW1lKTsKICAgICB2b2lkIGNhbmNlbFZp
YnJhdGlvbigpOwogICAgIHZvaWQgdmlicmF0aW9uRGVzdHJveWVkKCk7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvVmlicmF0aW9uQ2xpZW50RWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVudEVmbC5j
cHAKaW5kZXggMjM2NWI3MmEzODM1OGUxODYyZGRkNTNmNjMwNWJjNTkwYzdkYzEyZC4uNjI4OWNj
NTViN2QzODk1OWRiNWI5ODZjMzNmNDdhYmMzZTkwZTc1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvVmlicmF0aW9uQ2xpZW50RWZsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCkBAIC0y
OSw3ICsyOSw3IEBAIFZpYnJhdGlvbkNsaWVudEVmbDo6VmlicmF0aW9uQ2xpZW50RWZsKEV2YXNf
T2JqZWN0KiB2aWV3KQogewogfQogCi12b2lkIFZpYnJhdGlvbkNsaWVudEVmbDo6dmlicmF0ZShj
b25zdCB1bnNpZ25lZCBsb25nJiB0aW1lKQordm9pZCBWaWJyYXRpb25DbGllbnRFZmw6OnZpYnJh
dGUoY29uc3QgdW5zaWduZWQmIHRpbWUpCiB7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfY2FsbChtX3ZpZXcsICJ2aWJyYXRpb24sdmlicmF0ZSIsICh2b2lkKikmdGltZSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9WaWJyYXRpb25DbGll
bnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVu
dEVmbC5oCmluZGV4IGQzNDJmZGNkYjAwMmU1Y2NhNGQyZTAyMGE4MWZhZjAxZjRmNDI2ZTEuLmVi
YzQyNzBiOWFiNzIzMWQ3MGExOGUyN2MzZGMxNjI5ODM5ODhlZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVudEVmbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1ZpYnJhdGlvbkNsaWVudEVmbC5oCkBAIC0z
Miw3ICszMiw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBWaWJyYXRpb25DbGllbnRFZmwoRXZh
c19PYmplY3QqIHZpZXcpOwogICAgIHZpcnR1YWwgflZpYnJhdGlvbkNsaWVudEVmbCgpIHsgfQog
Ci0gICAgdmlydHVhbCB2b2lkIHZpYnJhdGUoY29uc3QgdW5zaWduZWQgbG9uZyYgdGltZSk7Cisg
ICAgdmlydHVhbCB2b2lkIHZpYnJhdGUoY29uc3QgdW5zaWduZWQmIHRpbWUpOwogICAgIHZpcnR1
YWwgdm9pZCBjYW5jZWxWaWJyYXRpb24oKTsKIAogICAgIHZpcnR1YWwgdm9pZCB2aWJyYXRpb25E
ZXN0cm95ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ZpYnJhdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVmlicmF0aW9u
LmgKaW5kZXggZjMwMGI0NmU4OTNkYWNiOWMxY2I4ZWEwOTI2NTQ4MTQ3Yjg5OTIzZS4uNDg4NGVj
ZDg1MzBhMjM3OGE4MzRhNjRhNWY5NzQ0YzYyMWM0N2M0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVmlicmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLVmlicmF0aW9uLmgKQEAgLTMzLDcgKzMzLDcgQEAgZXh0ZXJuICJD
IiB7CiAjZW5kaWYKIAogLy8gUHJvdmlkZXIuCi10eXBlZGVmIHZvaWQgKCpXS1ZpYnJhdGlvblBy
b3ZpZGVyVmlicmF0ZUNhbGxiYWNrKShXS1ZpYnJhdGlvblJlZiB2aWJyYXRpb25SZWYsIHVpbnQ2
NF90IHZpYnJhdGlvblRpbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lk
ICgqV0tWaWJyYXRpb25Qcm92aWRlclZpYnJhdGVDYWxsYmFjaykoV0tWaWJyYXRpb25SZWYgdmli
cmF0aW9uUmVmLCB1aW50MzJfdCB2aWJyYXRpb25UaW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKIHR5cGVkZWYgdm9pZCAoKldLVmlicmF0aW9uUHJvdmlkZXJDYW5jZWxWaWJyYXRpb25DYWxs
YmFjaykoV0tWaWJyYXRpb25SZWYgdmlicmF0aW9uUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKIAogc3RydWN0IFdLVmlicmF0aW9uUHJvdmlkZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0NhbGxiYWNrcy5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlld0NhbGxiYWNrcy5oCmluZGV4IGJmZGY3MTMwYWE4
ZWM0MjEwM2ZjZGU5NmFlZGQ2NGYyMjdkNzZmMzIuLjE2NDU4MDVmMzg4YjU5NzA2ZDY1NjNmMWZl
ODk1ZWI5MmZjOWYxOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXdDYWxsYmFja3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9Fd2tWaWV3Q2FsbGJhY2tzLmgKQEAgLTIwOSw3ICsyMDksNyBAQCBERUNMQVJFX0VXS19W
SUVXX0NBTExCQUNLKFRvb2xiYXJWaXNpYmxlLCAidG9vbGJhcix2aXNpYmxlIiwgYm9vbCopOwog
REVDTEFSRV9FV0tfVklFV19DQUxMQkFDSyhUb29sdGlwVGV4dFVuc2V0LCAidG9vbHRpcCx0ZXh0
LHVuc2V0Iiwgdm9pZCk7CiBERUNMQVJFX0VXS19WSUVXX0NBTExCQUNLKFRvb2x0aXBUZXh0U2V0
LCAidG9vbHRpcCx0ZXh0LHNldCIsIGNvbnN0IGNoYXIqKTsKIERFQ0xBUkVfRVdLX1ZJRVdfQ0FM
TEJBQ0soVVJMQ2hhbmdlZCwgInVybCxjaGFuZ2VkIiwgY29uc3QgY2hhciopOwotREVDTEFSRV9F
V0tfVklFV19DQUxMQkFDSyhWaWJyYXRlLCAidmlicmF0ZSIsIHVpbnQ2NF90Kik7CitERUNMQVJF
X0VXS19WSUVXX0NBTExCQUNLKFZpYnJhdGUsICJ2aWJyYXRlIiwgdWludDMyX3QqKTsKIERFQ0xB
UkVfRVdLX1ZJRVdfQ0FMTEJBQ0soV2ViUHJvY2Vzc0NyYXNoZWQsICJ3ZWJwcm9jZXNzLGNyYXNo
ZWQiLCBib29sKik7CiBERUNMQVJFX0VXS19WSUVXX0NBTExCQUNLKFdpbmRvd1Jlc2l6YWJsZSwg
IndpbmRvdyxyZXNpemFibGUiLCBib29sKik7CiAjaWYgRU5BQkxFKFdFQl9JTlRFTlRTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3ZpZGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm92aWRlci5jcHAKaW5k
ZXggMDk1YmQ5NzhiOTZkNzg5ZWI5ZTFjMDdlMjUxNTRhN2RhYzExZmFkNS4uYTEyZjU5NzNiMGM4
ZWM5NDRiNTM5YTZlN2FiNDU0MmZhYTY1ZmI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi12b2lkIFdlYlZpYnJhdGlvblByb3ZpZGVyOjp2aWJyYXRlKFdl
YlZpYnJhdGlvblByb3h5KiB2aWJyYXRpb24sIHVpbnQ2NF90IHZpYnJhdGlvblRpbWUpCit2b2lk
IFdlYlZpYnJhdGlvblByb3ZpZGVyOjp2aWJyYXRlKFdlYlZpYnJhdGlvblByb3h5KiB2aWJyYXRp
b24sIHVpbnQzMl90IHZpYnJhdGlvblRpbWUpCiB7CiAgICAgaWYgKCFtX2NsaWVudC52aWJyYXRl
KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViVmlicmF0aW9uUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJy
YXRpb25Qcm92aWRlci5oCmluZGV4IDc2ZDk4YThkMjU3YTBkZjM0OTg0NjYyMzYyZjdiZGVlNmVh
MGE0ZDMuLjM2MTU5ZGU4MzQyZjU2Yzc5ZTZhZjMyZDc5YzVkNmZlZjJmM2JkNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm92aWRlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm92aWRlci5oCkBAIC0zOCw3
ICszOCw3IEBAIGNsYXNzIFdlYlZpYnJhdGlvblByb3h5OwogCiBjbGFzcyBXZWJWaWJyYXRpb25Q
cm92aWRlciA6IHB1YmxpYyBBUElDbGllbnQ8V0tWaWJyYXRpb25Qcm92aWRlciwga1dLVmlicmF0
aW9uUHJvdmlkZXJDdXJyZW50VmVyc2lvbj4gewogcHVibGljOgotICAgIHZvaWQgdmlicmF0ZShX
ZWJWaWJyYXRpb25Qcm94eSosIHVpbnQ2NF90IHZpYnJhdGlvblRpbWUpOworICAgIHZvaWQgdmli
cmF0ZShXZWJWaWJyYXRpb25Qcm94eSosIHVpbnQzMl90IHZpYnJhdGlvblRpbWUpOwogICAgIHZv
aWQgY2FuY2VsVmlicmF0aW9uKFdlYlZpYnJhdGlvblByb3h5Kik7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3h5LmNwcAppbmRleCAyZTc5MGMyZjhm
YTIyNDc1ZWQ1OGFjMDg2YmI4MjJkOTU5NTBjOWY1Li45NmNkMzllYTE2YTM5NzkxZWNhYzE0Yjc2
ZDVkN2UxZTViNzk4YTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
VmlicmF0aW9uUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJy
YXRpb25Qcm94eS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBXZWJWaWJyYXRpb25Qcm94eTo6
ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUkK
ICAgICBkaWRSZWNlaXZlV2ViVmlicmF0aW9uUHJveHlNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3Nh
Z2VJRCwgZGVjb2Rlcik7CiB9CiAKLXZvaWQgV2ViVmlicmF0aW9uUHJveHk6OnZpYnJhdGUodWlu
dDY0X3QgdmlicmF0aW9uVGltZSkKK3ZvaWQgV2ViVmlicmF0aW9uUHJveHk6OnZpYnJhdGUodWlu
dDMyX3QgdmlicmF0aW9uVGltZSkKIHsKICAgICBtX3Byb3ZpZGVyLnZpYnJhdGUodGhpcywgdmli
cmF0aW9uVGltZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
VmlicmF0aW9uUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Q
cm94eS5oCmluZGV4IDAwMzFkZmQzNjZjOTY5Yzc0Nzc5MDUwZDdkMmZjY2I0ZDFmYjUwNjEuLjkx
OGUzN2FiZjNkMTNiMzc2ODM3ZGRhM2UwMGRkZjJlOTZjZjllZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94eS5oCkBAIC01OSw3ICs1OSw3IEBAIHByaXZh
dGU6CiAgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICB2b2lkIHZpYnJhdGUo
dWludDY0X3QgdmlicmF0aW9uVGltZSk7CisgICAgdm9pZCB2aWJyYXRlKHVpbnQzMl90IHZpYnJh
dGlvblRpbWUpOwogICAgIHZvaWQgY2FuY2VsVmlicmF0aW9uKCk7CiAKICAgICBXZWJQYWdlUHJv
eHkqIG1fcGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJy
YXRpb25Qcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJy
YXRpb25Qcm94eS5tZXNzYWdlcy5pbgppbmRleCBmZjQwYjBkOWZlNjc5ZGFjM2Y5MDUyOTBkNmE5
ZWEzOTRiOGI1N2RlLi5hZDViZGZkMmE0Yjk5NDI0YzNlN2I5MjJkMmQxYzEyNmY3Njk2NTU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3h5
Lm1lc3NhZ2VzLmluCkBAIC0yMyw3ICsyMyw3IEBACiAjaWYgRU5BQkxFKFZJQlJBVElPTikKIAog
bWVzc2FnZXMgLT4gV2ViVmlicmF0aW9uUHJveHkgewotICAgIFZpYnJhdGUodWludDY0X3Qgdmli
cmF0aW9uVGltZSk7CisgICAgVmlicmF0ZSh1aW50MzJfdCB2aWJyYXRpb25UaW1lKTsKICAgICBD
YW5jZWxWaWJyYXRpb24oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCmluZGV4IGRlYjQxOWY5YjlmYTFhMTA2Nzg4OTFk
YTRlOTU4YjFhMWQ5NWUzYjAuLjRlMTAxMGQ4MjkxZTI2ZDhhY2Y5NzRhNTMzODNkMTQxNmVmZTYx
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlicmF0aW9uQ2xp
ZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNs
aWVudEVmbC5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgc3RhdGljIGlubGluZSBWaWJyYXRpb25DbGll
bnRFZmwqIHRvVmlicmF0aW9uQ2xpZW50KGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFZpYnJhdGlvbkNsaWVudEVmbCo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNs
aWVudEluZm8pKTsKIH0KIAotdm9pZCBWaWJyYXRpb25DbGllbnRFZmw6OnZpYnJhdGVDYWxsYmFj
ayhXS1ZpYnJhdGlvblJlZiwgdWludDY0X3QgdmlicmF0aW9uVGltZSwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbykKK3ZvaWQgVmlicmF0aW9uQ2xpZW50RWZsOjp2aWJyYXRlQ2FsbGJhY2soV0tWaWJy
YXRpb25SZWYsIHVpbnQzMl90IHZpYnJhdGlvblRpbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
CiB7CiAgICAgdG9WaWJyYXRpb25DbGllbnQoY2xpZW50SW5mbyktPm1fdmlld0ltcGwtPnNtYXJ0
Q2FsbGJhY2s8VmlicmF0ZT4oKS5jYWxsKCZ2aWJyYXRpb25UaW1lKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVmlicmF0aW9uQ2xpZW50RWZsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5oCmluZGV4IGM2ZDNm
NzllMTkwOTQwNGNkMTE2NGE1NTdjOTBlNWQzZjBmN2E1NWYuLjBmYWEwYmU4ZTU4M2NiNzlhMjNk
ODY3OTMwMWNmODhkMGY5ZGQyZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvVmlicmF0aW9uQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9WaWJyYXRpb25DbGllbnRFZmwuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIGV4cGxpY2l0IFZpYnJhdGlvbkNsaWVudEVmbChFd2tWaWV3SW1wbCopOwogCi0g
ICAgc3RhdGljIHZvaWQgdmlicmF0ZUNhbGxiYWNrKFdLVmlicmF0aW9uUmVmLCB1aW50NjRfdCB2
aWJyYXRpb25UaW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyAgICBzdGF0aWMgdm9pZCB2
aWJyYXRlQ2FsbGJhY2soV0tWaWJyYXRpb25SZWYsIHVpbnQzMl90IHZpYnJhdGlvblRpbWUsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGNhbmNlbFZpYnJhdGlvbkNh
bGxiYWNrKFdLVmlicmF0aW9uUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogICAgIEV3
a1ZpZXdJbXBsKiBtX3ZpZXdJbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJWaWJyYXRpb25DbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJWaWJyYXRpb25DbGllbnQuY3BwCmluZGV4
IDhhODkxNzUzYjFjNzI2ZTYwZjBiMzc0Njk4N2NmZGFkMGEzMDg5MzUuLjAwOTNlODAzMjIwY2Mw
ZmIxNTkyNmNiZDI4NWI3OTVhNmJhM2ViMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViVmlicmF0aW9uQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlZpYnJhdGlvbkNsaWVudC5j
cHAKQEAgLTM2LDcgKzM2LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi12b2lkIFdlYlZpYnJhdGlvbkNsaWVudDo6dmlicmF0ZShjb25zdCB1bnNp
Z25lZCBsb25nJiB2aWJyYXRpb25UaW1lKQordm9pZCBXZWJWaWJyYXRpb25DbGllbnQ6OnZpYnJh
dGUoY29uc3QgdW5zaWduZWQmIHZpYnJhdGlvblRpbWUpCiB7CiAgICAgV2ViUHJvY2Vzczo6c2hh
cmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJWaWJyYXRpb25Qcm94eTo6Vmli
cmF0ZSh2aWJyYXRpb25UaW1lKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlZpYnJhdGlvbkNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJWaWJyYXRp
b25DbGllbnQuaAppbmRleCBhMDZiNGY5ZTE1MWVjMmY3NjA4NzFjZmRmZDBjMDE4ZGJhZGZiMmMy
Li5lZWM4YjNmMDQ5MzcwZWFkYTM5Y2Y1MDNhZmQ5OTljODhjNjY0NGU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlZpYnJhdGlvbkNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViVmli
cmF0aW9uQ2xpZW50LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfldl
YlZpYnJhdGlvbkNsaWVudCgpIHsgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCB2aWJy
YXRlKGNvbnN0IHVuc2lnbmVkIGxvbmcmIHZpYnJhdGlvblRpbWUpIE9WRVJSSURFOworICAgIHZp
cnR1YWwgdm9pZCB2aWJyYXRlKGNvbnN0IHVuc2lnbmVkJiB2aWJyYXRpb25UaW1lKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsVmlicmF0aW9uKCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIHZpYnJhdGlvbkRlc3Ryb3llZCgpIE9WRVJSSURFOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>