<?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>224924</bug_id>
          
          <creation_ts>2021-04-22 02:32:13 -0700</creation_ts>
          <short_desc>[GTK] Add picker UI for &lt;input type=date&gt; and &lt;input type=datetime-local&gt;</short_desc>
          <delta_ts>2021-05-10 05:17:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98936</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1753091</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-04-22 02:32:13 -0700</bug_when>
    <thetext>This bug tracks adding the dialog-driven picker UI for these input types. Without them the entries can only be modified via the keyboard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757363</commentid>
    <comment_count>1</comment_count>
      <attachid>427875</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-05-06 05:19:15 -0700</bug_when>
    <thetext>Created attachment 427875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757364</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-05-06 05:20:51 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757385</commentid>
    <comment_count>3</comment_count>
      <attachid>427875</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-06 06:31:10 -0700</bug_when>
    <thetext>Comment on attachment 427875
Patch

This is wip, let&apos;s remove the r? flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757815</commentid>
    <comment_count>4</comment_count>
      <attachid>427980</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-07 02:27:29 -0700</bug_when>
    <thetext>Created attachment 427980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757854</commentid>
    <comment_count>5</comment_count>
      <attachid>427980</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-05-07 06:30:54 -0700</bug_when>
    <thetext>Comment on attachment 427980
Patch

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

&gt; Source/WebKit/UIProcess/gtk/WebDateTimePickerGtk.cpp:70
&gt; +    webkitWebViewBaseSetShouldNotifyFocusEvents(WEBKIT_WEB_VIEW_BASE(webView), false);

Is it possible that you meant to write:

webkitWebViewBaseSetShouldNotifyFocusEvents(WEBKIT_WEB_VIEW_BASE(webView), true);

here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757863</commentid>
    <comment_count>6</comment_count>
      <attachid>427980</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-07 07:56:10 -0700</bug_when>
    <thetext>Comment on attachment 427980
Patch

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

&gt;&gt; Source/WebKit/UIProcess/gtk/WebDateTimePickerGtk.cpp:70
&gt;&gt; +    webkitWebViewBaseSetShouldNotifyFocusEvents(WEBKIT_WEB_VIEW_BASE(webView), false);
&gt; 
&gt; Is it possible that you meant to write:
&gt; 
&gt; webkitWebViewBaseSetShouldNotifyFocusEvents(WEBKIT_WEB_VIEW_BASE(webView), true);
&gt; 
&gt; here?

Indeed! Good catch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758182</commentid>
    <comment_count>7</comment_count>
      <attachid>428084</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-08 03:48:30 -0700</bug_when>
    <thetext>Created attachment 428084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758184</commentid>
    <comment_count>8</comment_count>
      <attachid>428085</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-08 04:01:16 -0700</bug_when>
    <thetext>Created attachment 428085
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758456</commentid>
    <comment_count>9</comment_count>
      <attachid>428085</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-05-10 03:12:41 -0700</bug_when>
    <thetext>Comment on attachment 428085
Patch

Patch LGTM, with a small nit to take into account before landing. Thanks!

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

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:118
&gt; +void webkitWebViewBasePageGrabbedTouch(WebKitWebViewBase*);

Why the change to add the name of the “webkitWebViewBase“ argument
to “webkitWebViewBasePageGrabbedTouch()”? That seems unneeded, please
make sure to only add the prototype for the new function here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758460</commentid>
    <comment_count>10</comment_count>
      <attachid>428085</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-10 03:21:29 -0700</bug_when>
    <thetext>Comment on attachment 428085
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:118
&gt;&gt; +void webkitWebViewBasePageGrabbedTouch(WebKitWebViewBase*);
&gt; 
&gt; Why the change to add the name of the “webkitWebViewBase“ argument
&gt; to “webkitWebViewBasePageGrabbedTouch()”? That seems unneeded, please
&gt; make sure to only add the prototype for the new function here.

It&apos;s the opposite, it&apos;s removing the name. I missed it when reviewing the patch and noticed it when adding the new function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758468</commentid>
    <comment_count>11</comment_count>
      <attachid>428085</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-05-10 04:58:46 -0700</bug_when>
    <thetext>Comment on attachment 428085
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:118
&gt;&gt;&gt; +void webkitWebViewBasePageGrabbedTouch(WebKitWebViewBase*);
&gt;&gt; 
&gt;&gt; Why the change to add the name of the “webkitWebViewBase“ argument
&gt;&gt; to “webkitWebViewBasePageGrabbedTouch()”? That seems unneeded, please
&gt;&gt; make sure to only add the prototype for the new function here.
&gt; 
&gt; It&apos;s the opposite, it&apos;s removing the name. I missed it when reviewing the patch and noticed it when adding the new function.

Ouch, you&apos;re right. I&apos;ve read the diff the other way around at first 🤦‍♂️️

Let&apos;s cq+ this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758469</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-10 05:17:55 -0700</bug_when>
    <thetext>Committed r277262 (237529@main): &lt;https://commits.webkit.org/237529@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428085.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427875</attachid>
            <date>2021-05-06 05:19:15 -0700</date>
            <delta_ts>2021-05-07 02:27:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224924-20210506141913.patch</filename>
            <type>text/plain</type>
            <size>3844</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IDJjZjRmNDMzZDgyZDg3NWVjYzE0
NDgwOThlYWY0Yjk4YTUzZDhhOWQuLjM3NTEzMDk0NDIzZTI2NmFlMDk3ODQwNzljZWE2M2I1YTFk
ZjFjZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwCkBAIC0yNzcsNyArMjc3LDcgQEAgUmVmUHRyPFdlYkNvbG9yUGlja2VyPiBQ
YWdlQ2xpZW50SW1wbDo6Y3JlYXRlQ29sb3JQaWNrZXIoV2ViUGFnZVByb3h5KiBwYWdlLCBjb24K
ICNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIFJlZlB0cjxXZWJEYXRlVGlt
ZVBpY2tlcj4gUGFnZUNsaWVudEltcGw6OmNyZWF0ZURhdGVUaW1lUGlja2VyKFdlYlBhZ2VQcm94
eSYgcGFnZSkKIHsKLSAgICByZXR1cm4gV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmNyZWF0ZShwYWdl
KTsKKyAgICByZXR1cm4gV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmNyZWF0ZShwYWdlLCBtX3ZpZXdX
aWRnZXQpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2d0ay9XZWJEYXRlVGltZVBpY2tlckd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9n
dGsvV2ViRGF0ZVRpbWVQaWNrZXJHdGsuY3BwCmluZGV4IGYyMzBmMWY1NDFlZjhkMTBhOTY4MTU2
ZmRkZTM5OTNkNGZiMzgwZDIuLmVjZjQ4YjM1MjgzYjY3NDQxMzg4YmMzYTgzNzY3MDEwNTg3MTkz
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBp
Y2tlckd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1l
UGlja2VyR3RrLmNwcApAQCAtMzQsOSArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
UmVmPFdlYkRhdGVUaW1lUGlja2VyR3RrPiBXZWJEYXRlVGltZVBpY2tlckd0azo6Y3JlYXRlKFdl
YlBhZ2VQcm94eSYgcGFnZSkKK1JlZjxXZWJEYXRlVGltZVBpY2tlckd0az4gV2ViRGF0ZVRpbWVQ
aWNrZXJHdGs6OmNyZWF0ZShXZWJQYWdlUHJveHkmIHBhZ2UsIEd0a1dpZGdldCogd2ViVmlldykK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJEYXRlVGltZVBpY2tlckd0ayhwYWdlKSk7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViRGF0ZVRpbWVQaWNrZXJHdGsocGFnZSwgd2Vi
VmlldykpOwogfQogCiBXZWJEYXRlVGltZVBpY2tlckd0azo6fldlYkRhdGVUaW1lUGlja2VyR3Rr
KCkKQEAgLTQ0LDE5ICs0NCw0MiBAQCBXZWJEYXRlVGltZVBpY2tlckd0azo6fldlYkRhdGVUaW1l
UGlja2VyR3RrKCkKICAgICBlbmRQaWNrZXIoKTsKIH0KIAotV2ViRGF0ZVRpbWVQaWNrZXJHdGs6
OldlYkRhdGVUaW1lUGlja2VyR3RrKFdlYlBhZ2VQcm94eSYgcGFnZSkKK1dlYkRhdGVUaW1lUGlj
a2VyR3RrOjpXZWJEYXRlVGltZVBpY2tlckd0ayhXZWJQYWdlUHJveHkmIHBhZ2UsIEd0a1dpZGdl
dCogd2ViVmlldykKICAgICA6IFdlYkRhdGVUaW1lUGlja2VyKHBhZ2UpCisgICAgLCBtX3dlYlZp
ZXcod2ViVmlldykKIHsKIH0KIAogdm9pZCBXZWJEYXRlVGltZVBpY2tlckd0azo6ZW5kUGlja2Vy
KCkKIHsKKyAgICBpZiAoIW1fY2FsZW5kYXJQb3BvdmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICAvLyBndGtfcG9wb3Zlcl9wb3Bkb3duKEdUS19QT1BPVkVSKG1fY2FsZW5kYXJQb3BvdmVyKSk7
CisgICAgLy8gZ3RrX3dpZGdldF9kZXN0cm95KG1fY2FsZW5kYXJQb3BvdmVyKTsKKyAgICAvLyBt
X2NhbGVuZGFyUG9wb3ZlciA9IG51bGxwdHI7CisKKyAgICBXZWJEYXRlVGltZVBpY2tlcjo6ZW5k
UGlja2VyKCk7CiB9CiAKIHZvaWQgV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OnNob3dEYXRlVGltZVBp
Y2tlcihXZWJDb3JlOjpEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJiYgcGFyYW1zKQogeworICAg
IG1fY2FsZW5kYXJQb3BvdmVyID0gZ3RrX3BvcG92ZXJfbmV3KG1fd2ViVmlldyk7CisKKyAgICBH
dGtXaWRnZXQqIGJ1dHRvbkJveCA9IGd0a19idXR0b25fYm94X25ldyhHVEtfT1JJRU5UQVRJT05f
SE9SSVpPTlRBTCk7CisgICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUihtX2NhbGVu
ZGFyUG9wb3ZlciksIGJ1dHRvbkJveCk7CisKKyAgICBHdGtXaWRnZXQqIGNhbGVuZGFyID0gZ3Rr
X2NhbGVuZGFyX25ldygpOworICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIoYnV0
dG9uQm94KSwgY2FsZW5kYXIpOworCisgICAgYXV0byYgcmVjdCA9IHBhcmFtcy5hbmNob3JSZWN0
SW5Sb290VmlldzsKKyAgICBHZGtSZWN0YW5nbGUgcmVjdEluUm9vdFZpZXcgPSB7IHJlY3QueCgp
LCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpIH07CisgICAgZ3RrX3BvcG92
ZXJfc2V0X3BvaW50aW5nX3RvKEdUS19QT1BPVkVSKG1fY2FsZW5kYXJQb3BvdmVyKSwgJnJlY3RJ
blJvb3RWaWV3KTsKKworICAgIGd0a19wb3BvdmVyX3BvcHVwKEdUS19QT1BPVkVSKG1fY2FsZW5k
YXJQb3BvdmVyKSk7CisgICAgZ3RrX3dpZGdldF9zaG93X2FsbChtX2NhbGVuZGFyUG9wb3Zlcik7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEVfQU5E
X1RJTUVfSU5QVVRfVFlQRVMpCisjZW5kaWYgLy8gRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRf
VFlQRVMpICYmIFVTRShBUFBLSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9ndGsvV2ViRGF0ZVRpbWVQaWNrZXJHdGsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0
ay9XZWJEYXRlVGltZVBpY2tlckd0ay5oCmluZGV4IGUxNTMxZmQ1ZDllMGI0ZDYwODU0NDhkY2Nh
MTNmNjA4ZjY4YTkyMTUuLjY2NjA5M2JmY2NmM2M3OWQ0YjBiOWU1YzNlNWJkYmYxNzg3MDg4MTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBpY2tl
ckd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBpY2tl
ckd0ay5oCkBAIC0zNSwxNCArMzUsMTkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdl
YkRhdGVUaW1lUGlja2VyR3RrIGZpbmFsIDogcHVibGljIFdlYkRhdGVUaW1lUGlja2VyIHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkRhdGVUaW1lUGlja2VyR3RrPiBjcmVhdGUoV2ViUGFn
ZVByb3h5Jik7CisgICAgc3RhdGljIFJlZjxXZWJEYXRlVGltZVBpY2tlckd0az4gY3JlYXRlKFdl
YlBhZ2VQcm94eSYsIEd0a1dpZGdldCopOwogICAgIH5XZWJEYXRlVGltZVBpY2tlckd0aygpOwog
CiBwcml2YXRlOgotICAgIFdlYkRhdGVUaW1lUGlja2VyR3RrKFdlYlBhZ2VQcm94eSYpOworICAg
IFdlYkRhdGVUaW1lUGlja2VyR3RrKFdlYlBhZ2VQcm94eSYsIEd0a1dpZGdldCopOwogCiAgICAg
dm9pZCBlbmRQaWNrZXIoKSBmaW5hbDsKICAgICB2b2lkIHNob3dEYXRlVGltZVBpY2tlcihXZWJD
b3JlOjpEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJiYpIGZpbmFsOworCisgICAgV2ViQ29yZTo6
RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyBtX3BhcmFtczsKKworICAgIEd0a1dpZGdldCogbV93
ZWJWaWV3OworICAgIEd0a1dpZGdldCogbV9jYWxlbmRhclBvcG92ZXIgPSBudWxscHRyOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427980</attachid>
            <date>2021-05-07 02:27:29 -0700</date>
            <delta_ts>2021-05-08 03:48:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wkgtk-datetime-picker.diff</filename>
            <type>text/plain</type>
            <size>11074</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZTQ0ZTYxNGQ5MTI0Li44OTZmNjFiMTY0OTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjkgQEAKKzIwMjEtMDUtMDcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIEFkZCBwaWNrZXIgVUkgZm9yIDxpbnB1dCB0eXBlPWRh
dGU+IGFuZCA8aW5wdXQgdHlwZT1kYXRldGltZS1sb2NhbD4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDkyNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBhIEd0a1BvcG92ZXIgd2l0aCBhIEd0a0Nh
bGVuZGFyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2Uu
Y3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VTZXRGb2N1cyk6IE9ubHkgbm90aWZ5IHRo
ZSB3ZWIgcHJvY2VzcyBhYm91dCBmb2N1cyBjaGFuZ2VzIHdoZW4gc2hvdWxkTm90aWZ5Rm9jdXNF
dmVudHMgaXMgdHJ1ZS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2V0U2hvdWxkTm90aWZ5
Rm9jdXNFdmVudHMpOiBTZXQgd2hldGhlciB0aGUgd2ViIHZpZXcgc2hvdWxkIG5vdGlmeSBhYm91
dCBmb2N1cyBjaGFuZ2VzIHRvIHRoZQorICAgICAgICB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRGF0ZVRpbWVQaWNrZXJHdGs6On5XZWJEYXRlVGltZVBpY2tlckd0ayk6IENhbGwgaW52YWxp
ZGF0ZSBpbnN0ZWFkIG9mIGVuZFBpY2tlci4KKyAgICAgICAgKFdlYktpdDo6V2ViRGF0ZVRpbWVQ
aWNrZXJHdGs6OmludmFsaWRhdGUpOiBEZXN0cm95IHRoZSBwb3BvdmVyIGFuZCBhbGxvdyB0aGUg
d2ViIHZpZXcgdG8gbm90aWZ5IGFib3V0IGZvY3VzCisgICAgICAgIGV2ZW50cyBhZ2Fpbi4KKyAg
ICAgICAgKFdlYktpdDo6V2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmVuZFBpY2tlcik6IEludmFsaWRh
dGUgYW5kIG5vdGlmeSB0aGUgcGFyZW50LgorICAgICAgICAoV2ViS2l0Ojp0aW1lVG9TdHJpbmcp
OiBIZWxwZXIgdG8gY29udmVydCB0aGUgdGltZSBwb3J0aW9ucyBvZiBhIERhdGVDb21wb25lbnRz
IHRvIGEgc3RyaW5nLgorICAgICAgICAoV2ViS2l0OjpjYWxlbmRhckRhdGVUb1N0cmluZyk6IEhl
bHBlciB0byBjb252ZXJ0IHNlbGVjdGVkIGRhdGUgdG8gYSBzdHJpbmcuCisgICAgICAgIChXZWJL
aXQ6OldlYkRhdGVUaW1lUGlja2VyR3RrOjpkaWRDaG9vc2VEYXRlKTogTm90aWZ5IHRoZSBXZWJQ
YWdlUHJveHkgYWJvdXQgdGhlIHNlbGVjdGVkIGRhdGUuCisgICAgICAgIChXZWJLaXQ6OldlYkRh
dGVUaW1lUGlja2VyR3RrOjpzaG93RGF0ZVRpbWVQaWNrZXIpOiBDcmVhdGUgb3IgdXBkYXRlIGEg
R3RrUG9wb3ZlciB3aXRoIGEgY2FsZW5kYXIuCisgICAgICAgIChXZWJLaXQ6OldlYkRhdGVUaW1l
UGlja2VyR3RrOjp1cGRhdGUpOiBVcGRhdGUgdGhlIGNhbGVuZGFyIGFuZCBjdXJyZW50IGRhdGUu
CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBpY2tlckd0ay5oOgorCiAyMDIx
LTA0LTI5ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIHNvbWUgdW5uZWVkZWQgY29kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggNTc4YmY5ODI3OGJh
Li5mOWVjMDJmN2JiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yODQsNiArMjg0LDcgQEAgc3RydWN0IF9X
ZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUgewogICAgIEludFNpemUgY29udGVudHNTaXplOwogICAg
IE9wdGlvbmFsPE1vdGlvbkV2ZW50PiBsYXN0TW90aW9uRXZlbnQ7CiAgICAgYm9vbCBpc0JsYW5r
OworICAgIGJvb2wgc2hvdWxkTm90aWZ5Rm9jdXNFdmVudHMgeyB0cnVlIH07CiAKICAgICBHdGtX
aW5kb3cqIHRvcGxldmVsT25TY3JlZW5XaW5kb3cgeyBudWxscHRyIH07CiAjaWYgVVNFKEdUSzQp
CkBAIC0yMjAwLDYgKzIyMDEsOCBAQCBHZGtFdmVudCogd2Via2l0V2ViVmlld0Jhc2VUYWtlQ29u
dGV4dE1lbnVFdmVudChXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlldwogdm9pZCB3ZWJr
aXRXZWJWaWV3QmFzZVNldEZvY3VzKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgYm9v
bCBmb2N1c2VkKQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYlZp
ZXdCYXNlLT5wcml2OworICAgIGlmICghcHJpdi0+c2hvdWxkTm90aWZ5Rm9jdXNFdmVudHMpCisg
ICAgICAgIHJldHVybjsKICAgICBpZiAoKGZvY3VzZWQgJiYgcHJpdi0+YWN0aXZpdHlTdGF0ZSAm
IEFjdGl2aXR5U3RhdGU6OklzRm9jdXNlZCkgfHwgKCFmb2N1c2VkICYmICEocHJpdi0+YWN0aXZp
dHlTdGF0ZSAmIEFjdGl2aXR5U3RhdGU6OklzRm9jdXNlZCkpKQogICAgICAgICByZXR1cm47CiAK
QEAgLTI3OTIsMyArMjc5NSw4IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VNYWtlQmxhbmsoV2Vi
S2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBib29sIG1ha2VCbGFuaykKICAgICBwcml2LT5p
c0JsYW5rID0gbWFrZUJsYW5rOwogICAgIGd0a193aWRnZXRfcXVldWVfZHJhdyhHVEtfV0lER0VU
KHdlYlZpZXdCYXNlKSk7CiB9CisKK3ZvaWQgd2Via2l0V2ViVmlld0Jhc2VTZXRTaG91bGROb3Rp
ZnlGb2N1c0V2ZW50cyhXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIGJvb2wgc2hvdWxk
Tm90aWZ5Rm9jdXNFdmVudHMpCit7CisgICAgd2ViVmlld0Jhc2UtPnByaXYtPnNob3VsZE5vdGlm
eUZvY3VzRXZlbnRzID0gc2hvdWxkTm90aWZ5Rm9jdXNFdmVudHM7Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZh
dGUuaAppbmRleCBlZDI2OTlkYmUwZGIuLmUzZThkYWQ5N2VmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0
ZS5oCkBAIC0xMjIsMyArMTIyLDUgQEAgV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0KiB3ZWJraXRX
ZWJWaWV3QmFzZUdldElucHV0TWV0aG9kQ29udGV4dChXZWJLaXRXZWJWaWV3QmEKIHZvaWQgd2Vi
a2l0V2ViVmlld0Jhc2VTeW50aGVzaXplQ29tcG9zaXRpb25LZXlQcmVzcyhXZWJLaXRXZWJWaWV3
QmFzZSosIGNvbnN0IFN0cmluZyYgdGV4dCwgT3B0aW9uYWw8VmVjdG9yPFdlYkNvcmU6OkNvbXBv
c2l0aW9uVW5kZXJsaW5lPj4mJiwgT3B0aW9uYWw8V2ViS2l0OjpFZGl0aW5nUmFuZ2U+JiYpOwog
CiB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlTWFrZUJsYW5rKFdlYktpdFdlYlZpZXdCYXNlKiwgYm9v
bCk7CisKK3ZvaWQgd2Via2l0V2ViVmlld0Jhc2VTZXRTaG91bGROb3RpZnlGb2N1c0V2ZW50cyhX
ZWJLaXRXZWJWaWV3QmFzZSosIGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2d0ay9XZWJEYXRlVGltZVBpY2tlckd0ay5jcHAKaW5kZXggZjIzMGYxZjU0MWVmLi5hMjJj
ODYwODliZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJEYXRl
VGltZVBpY2tlckd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkRh
dGVUaW1lUGlja2VyR3RrLmNwcApAQCAtMjcsMTEgKzI3LDEzIEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiV2ViRGF0ZVRpbWVQaWNrZXJHdGsuaCIKIAotI2luY2x1ZGUgPHd0Zi9T
dGFja1RyYWNlLmg+Ci0jaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+Ci0KICNpZiBF
TkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIAorI2luY2x1ZGUgIldlYktpdFdlYlZp
ZXdCYXNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgPGd0ay9ndGsuaD4KKyNpbmNsdWRlIDx3dGYvU2V0
Rm9yU2NvcGUuaD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CisKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBSZWY8V2ViRGF0ZVRpbWVQaWNrZXJHdGs+IFdlYkRhdGVUaW1lUGlja2VyR3Rr
OjpjcmVhdGUoV2ViUGFnZVByb3h5JiBwYWdlKQpAQCAtNDEsNyArNDMsNyBAQCBSZWY8V2ViRGF0
ZVRpbWVQaWNrZXJHdGs+IFdlYkRhdGVUaW1lUGlja2VyR3RrOjpjcmVhdGUoV2ViUGFnZVByb3h5
JiBwYWdlKQogCiBXZWJEYXRlVGltZVBpY2tlckd0azo6fldlYkRhdGVUaW1lUGlja2VyR3RrKCkK
IHsKLSAgICBlbmRQaWNrZXIoKTsKKyAgICBpbnZhbGlkYXRlKCk7CiB9CiAKIFdlYkRhdGVUaW1l
UGlja2VyR3RrOjpXZWJEYXRlVGltZVBpY2tlckd0ayhXZWJQYWdlUHJveHkmIHBhZ2UpCkBAIC00
OSwxMiArNTEsMTQwIEBAIFdlYkRhdGVUaW1lUGlja2VyR3RrOjpXZWJEYXRlVGltZVBpY2tlckd0
ayhXZWJQYWdlUHJveHkmIHBhZ2UpCiB7CiB9CiAKK3ZvaWQgV2ViRGF0ZVRpbWVQaWNrZXJHdGs6
OmludmFsaWRhdGUoKQoreworICAgIGlmICghbV9wb3BvdmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2RhdGEobV9wb3BvdmVyLCB0aGlz
KTsKKyNpZiBVU0UoR1RLNCkKKyAgICBhdXRvKiB3ZWJWaWV3ID0gZ3RrX3dpZGdldF9nZXRfcGFy
ZW50KG1fcG9wb3Zlcik7CisgICAgZ3RrX3dpZGdldF91bnBhcmVudChtX3BvcG92ZXIpOworI2Vs
c2UKKyAgICBhdXRvKiB3ZWJWaWV3ID0gZ3RrX3BvcG92ZXJfZ2V0X3JlbGF0aXZlX3RvKEdUS19Q
T1BPVkVSKG1fcG9wb3ZlcikpOworICAgIGd0a193aWRnZXRfZGVzdHJveShtX3BvcG92ZXIpOwor
I2VuZGlmCisgICAgbV9wb3BvdmVyID0gbnVsbHB0cjsKKyAgICBtX2NhbGVuZGFyID0gbnVsbHB0
cjsKKworICAgIHdlYmtpdFdlYlZpZXdCYXNlU2V0U2hvdWxkTm90aWZ5Rm9jdXNFdmVudHMoV0VC
S0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldyksIGZhbHNlKTsKK30KKwogdm9pZCBXZWJEYXRlVGlt
ZVBpY2tlckd0azo6ZW5kUGlja2VyKCkKIHsKKyAgICBpbnZhbGlkYXRlKCk7CisgICAgV2ViRGF0
ZVRpbWVQaWNrZXI6OmVuZFBpY2tlcigpOworfQorCitzdGF0aWMgU3RyaW5nIHRpbWVUb1N0cmlu
Zyhjb25zdCBXZWJDb3JlOjpEYXRlQ29tcG9uZW50cyYgdGltZSwgV2ViQ29yZTo6U2Vjb25kRm9y
bWF0IHNlY29uZEZvcm1hdCkKK3sKKyAgICBzd2l0Y2ggKHNlY29uZEZvcm1hdCkgeworICAgIGNh
c2UgU2Vjb25kRm9ybWF0OjpOb25lOgorICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhwYWQoJzAn
LCAyLCB0aW1lLmhvdXIoKSksICc6JywgcGFkKCcwJywgMiwgdGltZS5taW51dGUoKSkpOworICAg
IGNhc2UgU2Vjb25kRm9ybWF0OjpTZWNvbmQ6CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKHBh
ZCgnMCcsIDIsIHRpbWUuaG91cigpKSwgJzonLCBwYWQoJzAnLCAyLCB0aW1lLm1pbnV0ZSgpKSwg
JzonLCBwYWQoJzAnLCAyLCB0aW1lLnNlY29uZCgpKSk7CisgICAgY2FzZSBTZWNvbmRGb3JtYXQ6
Ok1pbGxpc2Vjb25kOgorICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhwYWQoJzAnLCAyLCB0aW1l
LmhvdXIoKSksICc6JywgcGFkKCcwJywgMiwgdGltZS5taW51dGUoKSksICc6JywgcGFkKCcwJywg
MiwgdGltZS5zZWNvbmQoKSksICcuJywgcGFkKCcwJywgMywgdGltZS5taWxsaXNlY29uZCgpKSk7
CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHsgfTsKK30K
Kworc3RhdGljIFN0cmluZyBjYWxlbmRhckRhdGVUb1N0cmluZyhpbnQgeWVhciwgaW50IG1vbnRo
LCBpbnQgZGF5LCBjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpEYXRlQ29tcG9uZW50cz4mIGRhdGUs
IFdlYkNvcmU6OlNlY29uZEZvcm1hdCBzZWNvbmRGb3JtYXQpCit7CisgICAgYXV0byB0eXBlID0g
ZGF0ZSA/IGRhdGUtPnR5cGUoKSA6IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzVHlwZTo6RGF0ZTsK
KyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFdlYkNvcmU6OkRhdGVDb21wb25lbnRzVHlw
ZTo6RGF0ZToKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcocGFkKCcwJywgNCwgeWVhciksICct
JywgcGFkKCcwJywgMiwgbW9udGggKyAxKSwgJy0nLCBwYWQoJzAnLCAyLCBkYXkpKTsKKyAgICBj
YXNlIFdlYkNvcmU6OkRhdGVDb21wb25lbnRzVHlwZTo6RGF0ZVRpbWVMb2NhbDoKKyAgICAgICAg
cmV0dXJuIG1ha2VTdHJpbmcocGFkKCcwJywgNCwgeWVhciksICctJywgcGFkKCcwJywgMiwgbW9u
dGggKyAxKSwgJy0nLCBwYWQoJzAnLCAyLCBkYXkpLCAnVCcsIHRpbWVUb1N0cmluZygqZGF0ZSwg
c2Vjb25kRm9ybWF0KSk7CisgICAgY2FzZSBXZWJDb3JlOjpEYXRlQ29tcG9uZW50c1R5cGU6Oklu
dmFsaWQ6CisgICAgY2FzZSBXZWJDb3JlOjpEYXRlQ29tcG9uZW50c1R5cGU6Ok1vbnRoOgorICAg
IGNhc2UgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHNUeXBlOjpUaW1lOgorICAgIGNhc2UgV2ViQ29y
ZTo6RGF0ZUNvbXBvbmVudHNUeXBlOjpXZWVrOgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4geyB9OworCit9CisKK3ZvaWQgV2Vi
RGF0ZVRpbWVQaWNrZXJHdGs6OmRpZENob29zZURhdGUoKQoreworICAgIGlmIChtX2luVXBkYXRl
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaW50IHllYXIsIG1vbnRoLCBkYXk7CisgICAgZ19vYmplY3RfZ2V0KG1fY2FsZW5kYXIs
ICJ5ZWFyIiwgJnllYXIsICJtb250aCIsICZtb250aCwgImRheSIsICZkYXksIG51bGxwdHIpOwor
ICAgIG1fcGFnZS0+ZGlkQ2hvb3NlRGF0ZShjYWxlbmRhckRhdGVUb1N0cmluZyh5ZWFyLCBtb250
aCwgZGF5LCBtX2N1cnJlbnREYXRlLCBtX3NlY29uZEZvcm1hdCkpOwogfQogCiB2b2lkIFdlYkRh
dGVUaW1lUGlja2VyR3RrOjpzaG93RGF0ZVRpbWVQaWNrZXIoV2ViQ29yZTo6RGF0ZVRpbWVDaG9v
c2VyUGFyYW1ldGVycyYmIHBhcmFtcykKIHsKKyAgICBpZiAobV9wb3BvdmVyKSB7CisgICAgICAg
IHVwZGF0ZShXVEZNb3ZlKHBhcmFtcykpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
YXV0byogd2ViVmlldyA9IG1fcGFnZS0+dmlld1dpZGdldCgpOworICAgIHdlYmtpdFdlYlZpZXdC
YXNlU2V0U2hvdWxkTm90aWZ5Rm9jdXNFdmVudHMoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmll
dyksIGZhbHNlKTsKKworI2lmIFVTRShHVEs0KQorICAgIG1fcG9wb3ZlciA9IGd0a19wb3BvdmVy
X25ldygpOworICAgIGd0a19wb3BvdmVyX3NldF9oYXNfYXJyb3coR1RLX1BPUE9WRVIobV9wb3Bv
dmVyKSwgRkFMU0UpOworICAgIGd0a193aWRnZXRfc2V0X3BhcmVudChtX3BvcG92ZXIsIHdlYlZp
ZXcpOworI2Vsc2UKKyAgICBtX3BvcG92ZXIgPSBndGtfcG9wb3Zlcl9uZXcod2ViVmlldyk7Cisj
ZW5kaWYKKyAgICBndGtfcG9wb3Zlcl9zZXRfcG9zaXRpb24oR1RLX1BPUE9WRVIobV9wb3BvdmVy
KSwgR1RLX1BPU19CT1RUT00pOworICAgIEdka1JlY3RhbmdsZSByZWN0SW5Sb290VmlldyA9IHBh
cmFtcy5hbmNob3JSZWN0SW5Sb290VmlldzsKKyAgICBndGtfcG9wb3Zlcl9zZXRfcG9pbnRpbmdf
dG8oR1RLX1BPUE9WRVIobV9wb3BvdmVyKSwgJnJlY3RJblJvb3RWaWV3KTsKKyAgICBnX3NpZ25h
bF9jb25uZWN0X3N3YXBwZWQobV9wb3BvdmVyLCAiY2xvc2VkIiwgR19DQUxMQkFDSygrW10oV2Vi
RGF0ZVRpbWVQaWNrZXJHdGsqIHBpY2tlcikgeworICAgICAgICBwaWNrZXItPmVuZFBpY2tlcigp
OworICAgIH0pLCB0aGlzKTsKKworICAgIG1fY2FsZW5kYXIgPSBndGtfY2FsZW5kYXJfbmV3KCk7
CisgICAgZ19zaWduYWxfY29ubmVjdChtX2NhbGVuZGFyLCAiZGF5LXNlbGVjdGVkIiwgR19DQUxM
QkFDSygrW10oR3RrQ2FsZW5kYXIqIGNhbGVuZGFyLCBXZWJEYXRlVGltZVBpY2tlckd0ayogcGlj
a2VyKSB7CisgICAgICAgIHBpY2tlci0+ZGlkQ2hvb3NlRGF0ZSgpOworICAgIH0pLCB0aGlzKTsK
KyNpZiBVU0UoR1RLNCkKKyAgICBndGtfcG9wb3Zlcl9zZXRfY2hpbGQoR1RLX1BPUE9WRVIobV9w
b3BvdmVyKSwgbV9jYWxlbmRhcik7CisjZWxzZQorICAgIGd0a19jb250YWluZXJfYWRkKEdUS19D
T05UQUlORVIobV9wb3BvdmVyKSwgbV9jYWxlbmRhcik7CisgICAgZ3RrX3dpZGdldF9zaG93KG1f
Y2FsZW5kYXIpOworI2VuZGlmCisKKyAgICB1cGRhdGUoV1RGTW92ZShwYXJhbXMpKTsKKworICAg
IGd0a19wb3BvdmVyX3BvcHVwKEdUS19QT1BPVkVSKG1fcG9wb3ZlcikpOworfQorCit2b2lkIFdl
YkRhdGVUaW1lUGlja2VyR3RrOjp1cGRhdGUoV2ViQ29yZTo6RGF0ZVRpbWVDaG9vc2VyUGFyYW1l
dGVycyYmIHBhcmFtcykKK3sKKyAgICBTZXRGb3JTY29wZTxib29sPiBpblVwZGF0ZShtX2luVXBk
YXRlLCB0cnVlKTsKKyAgICBpZiAocGFyYW1zLnR5cGUgPT0gImRhdGUiKQorICAgICAgICBtX2N1
cnJlbnREYXRlID0gV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHM6OmZyb21QYXJzaW5nRGF0ZShwYXJh
bXMuY3VycmVudFZhbHVlKTsKKyAgICBlbHNlIGlmIChwYXJhbXMudHlwZSA9PSAiZGF0ZXRpbWUt
bG9jYWwiKQorICAgICAgICBtX2N1cnJlbnREYXRlID0gV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHM6
OmZyb21QYXJzaW5nRGF0ZVRpbWVMb2NhbChwYXJhbXMuY3VycmVudFZhbHVlKTsKKworICAgIGlm
IChtX2N1cnJlbnREYXRlKQorICAgICAgICBnX29iamVjdF9zZXQobV9jYWxlbmRhciwgInllYXIi
LCBtX2N1cnJlbnREYXRlLT5mdWxsWWVhcigpLCAibW9udGgiLCBtX2N1cnJlbnREYXRlLT5tb250
aCgpLCAiZGF5IiwgbV9jdXJyZW50RGF0ZS0+bW9udGhEYXkoKSwgbnVsbHB0cik7CisgICAgZWxz
ZSBpZiAocGFyYW1zLnR5cGUgPT0gImRhdGV0aW1lLWxvY2FsIikgeworICAgICAgICBHUmVmUHRy
PEdEYXRlVGltZT4gbm93ID0gYWRvcHRHUmVmKGdfZGF0ZV90aW1lX25ld19ub3dfbG9jYWwoKSk7
CisgICAgICAgIFNlY29uZHMgdW5peFRpbWUgPSBTZWNvbmRzKGdfZGF0ZV90aW1lX3RvX3VuaXgo
bm93LmdldCgpKSkgKyBTZWNvbmRzOjpmcm9tTWljcm9zZWNvbmRzKGdfZGF0ZV90aW1lX2dldF91
dGNfb2Zmc2V0KG5vdy5nZXQoKSkpOworICAgICAgICBtX2N1cnJlbnREYXRlID0gV2ViQ29yZTo6
RGF0ZUNvbXBvbmVudHM6OmZyb21NaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yRGF0ZVRpbWVMb2Nh
bCh1bml4VGltZS5taWxsaXNlY29uZHMoKSk7CisgICAgICAgIGlmIChwYXJhbXMuaGFzTWlsbGlz
ZWNvbmRGaWVsZCkKKyAgICAgICAgICAgIG1fc2Vjb25kRm9ybWF0ID0gV2ViQ29yZTo6U2Vjb25k
Rm9ybWF0OjpNaWxsaXNlY29uZDsKKyAgICAgICAgZWxzZSBpZiAocGFyYW1zLmhhc1NlY29uZEZp
ZWxkKQorICAgICAgICAgICAgbV9zZWNvbmRGb3JtYXQgPSBXZWJDb3JlOjpTZWNvbmRGb3JtYXQ6
OlNlY29uZDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9zZWNvbmRGb3JtYXQgPSBXZWJD
b3JlOjpTZWNvbmRGb3JtYXQ6Ok5vbmU7CisgICAgfQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBp
Y2tlckd0ay5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2Vy
R3RrLmgKaW5kZXggZTE1MzFmZDVkOWUwLi5mN2VhMGQyZTRmZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBpY2tlckd0ay5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBpY2tlckd0ay5oCkBAIC0yOSw2ICsy
OSw3IEBACiAjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAKICNpbmNsdWRl
ICJXZWJEYXRlVGltZVBpY2tlci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvRGF0ZUNvbXBvbmVudHMu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0RhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC00Myw2ICs0NCwxNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBl
bmRQaWNrZXIoKSBmaW5hbDsKICAgICB2b2lkIHNob3dEYXRlVGltZVBpY2tlcihXZWJDb3JlOjpE
YXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJiYpIGZpbmFsOworCisgICAgdm9pZCB1cGRhdGUoV2Vi
Q29yZTo6RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYmKTsKKyAgICB2b2lkIGRpZENob29zZURh
dGUoKTsKKyAgICB2b2lkIGludmFsaWRhdGUoKTsKKworICAgIEd0a1dpZGdldCogbV9wb3BvdmVy
IHsgbnVsbHB0ciB9OworICAgIEd0a1dpZGdldCogbV9jYWxlbmRhciB7IG51bGxwdHIgfTsKKyAg
ICBPcHRpb25hbDxXZWJDb3JlOjpEYXRlQ29tcG9uZW50cz4gbV9jdXJyZW50RGF0ZTsKKyAgICBX
ZWJDb3JlOjpTZWNvbmRGb3JtYXQgbV9zZWNvbmRGb3JtYXQgeyBXZWJDb3JlOjpTZWNvbmRGb3Jt
YXQ6Ok5vbmUgfTsKKyAgICBib29sIG1faW5VcGRhdGUgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428084</attachid>
            <date>2021-05-08 03:48:30 -0700</date>
            <delta_ts>2021-05-08 04:01:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wkgtk-date-picker.diff</filename>
            <type>text/plain</type>
            <size>11255</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggN2RlMWEwMTg4NzZhLi4yNjk3MWVkM2M1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjkgQEAKKzIwMjEtMDUtMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIEFkZCBwaWNrZXIgVUkgZm9yIDxpbnB1dCB0eXBlPWRh
dGU+IGFuZCA8aW5wdXQgdHlwZT1kYXRldGltZS1sb2NhbD4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDkyNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBhIEd0a1BvcG92ZXIgd2l0aCBhIEd0a0Nh
bGVuZGFyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2Uu
Y3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VTZXRGb2N1cyk6IE9ubHkgbm90aWZ5IHRo
ZSB3ZWIgcHJvY2VzcyBhYm91dCBmb2N1cyBjaGFuZ2VzIHdoZW4gc2hvdWxkTm90aWZ5Rm9jdXNF
dmVudHMgaXMgdHJ1ZS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2V0U2hvdWxkTm90aWZ5
Rm9jdXNFdmVudHMpOiBTZXQgd2hldGhlciB0aGUgd2ViIHZpZXcgc2hvdWxkIG5vdGlmeSBhYm91
dCBmb2N1cyBjaGFuZ2VzIHRvIHRoZQorICAgICAgICB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRGF0ZVRpbWVQaWNrZXJHdGs6On5XZWJEYXRlVGltZVBpY2tlckd0ayk6IENhbGwgaW52YWxp
ZGF0ZSBpbnN0ZWFkIG9mIGVuZFBpY2tlci4KKyAgICAgICAgKFdlYktpdDo6V2ViRGF0ZVRpbWVQ
aWNrZXJHdGs6OmludmFsaWRhdGUpOiBEZXN0cm95IHRoZSBwb3BvdmVyIGFuZCBhbGxvdyB0aGUg
d2ViIHZpZXcgdG8gbm90aWZ5IGFib3V0IGZvY3VzCisgICAgICAgIGV2ZW50cyBhZ2Fpbi4KKyAg
ICAgICAgKFdlYktpdDo6V2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmVuZFBpY2tlcik6IEludmFsaWRh
dGUgYW5kIG5vdGlmeSB0aGUgcGFyZW50LgorICAgICAgICAoV2ViS2l0Ojp0aW1lVG9TdHJpbmcp
OiBIZWxwZXIgdG8gY29udmVydCB0aGUgdGltZSBwb3J0aW9ucyBvZiBhIERhdGVDb21wb25lbnRz
IHRvIGEgc3RyaW5nLgorICAgICAgICAoV2ViS2l0OjpjYWxlbmRhckRhdGVUb1N0cmluZyk6IEhl
bHBlciB0byBjb252ZXJ0IHNlbGVjdGVkIGRhdGUgdG8gYSBzdHJpbmcuCisgICAgICAgIChXZWJL
aXQ6OldlYkRhdGVUaW1lUGlja2VyR3RrOjpkaWRDaG9vc2VEYXRlKTogTm90aWZ5IHRoZSBXZWJQ
YWdlUHJveHkgYWJvdXQgdGhlIHNlbGVjdGVkIGRhdGUuCisgICAgICAgIChXZWJLaXQ6OldlYkRh
dGVUaW1lUGlja2VyR3RrOjpzaG93RGF0ZVRpbWVQaWNrZXIpOiBDcmVhdGUgb3IgdXBkYXRlIGEg
R3RrUG9wb3ZlciB3aXRoIGEgY2FsZW5kYXIuCisgICAgICAgIChXZWJLaXQ6OldlYkRhdGVUaW1l
UGlja2VyR3RrOjp1cGRhdGUpOiBVcGRhdGUgdGhlIGNhbGVuZGFyIGFuZCBjdXJyZW50IGRhdGUu
CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBpY2tlckd0ay5oOgorCiAyMDIx
LTA1LTA4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbU09VUF0gVXNlIHRoZSBuZXcgbGlic291cCBuZXR3b3JrIG1ldHJpY3MgQVBJCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2Uu
Y3BwCmluZGV4IDZiNTk3ZTUxMTI4ZS4uMmVhMDA1ODgyZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjg0
LDYgKzI4NCw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlIHsKICAgICBJbnRT
aXplIGNvbnRlbnRzU2l6ZTsKICAgICBPcHRpb25hbDxNb3Rpb25FdmVudD4gbGFzdE1vdGlvbkV2
ZW50OwogICAgIGJvb2wgaXNCbGFuazsKKyAgICBib29sIHNob3VsZE5vdGlmeUZvY3VzRXZlbnRz
IHsgdHJ1ZSB9OwogCiAgICAgR3RrV2luZG93KiB0b3BsZXZlbE9uU2NyZWVuV2luZG93IHsgbnVs
bHB0ciB9OwogI2lmIFVTRShHVEs0KQpAQCAtMjMzNyw2ICsyMzM4LDggQEAgR2RrRXZlbnQqIHdl
YmtpdFdlYlZpZXdCYXNlVGFrZUNvbnRleHRNZW51RXZlbnQoV2ViS2l0V2ViVmlld0Jhc2UqIHdl
YmtpdFdlYlZpZXcKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTZXRGb2N1cyhXZWJLaXRXZWJWaWV3
QmFzZSogd2ViVmlld0Jhc2UsIGJvb2wgZm9jdXNlZCkKIHsKICAgICBXZWJLaXRXZWJWaWV3QmFz
ZVByaXZhdGUqIHByaXYgPSB3ZWJWaWV3QmFzZS0+cHJpdjsKKyAgICBpZiAoIXByaXYtPnNob3Vs
ZE5vdGlmeUZvY3VzRXZlbnRzKQorICAgICAgICByZXR1cm47CiAgICAgaWYgKChmb2N1c2VkICYm
IHByaXYtPmFjdGl2aXR5U3RhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc0ZvY3VzZWQpIHx8ICghZm9j
dXNlZCAmJiAhKHByaXYtPmFjdGl2aXR5U3RhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc0ZvY3VzZWQp
KSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0yOTE4LDMgKzI5MjEsOCBAQCB2b2lkIHdlYmtpdFdl
YlZpZXdCYXNlUGFnZUdyYWJiZWRUb3VjaChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2Up
CiAgICAgcHJpdi0+cGFnZUdyYWJiZWRUb3VjaCA9IHRydWU7CiAgICAgZ3RrX2dlc3R1cmVfc2V0
X3N0YXRlKHByaXYtPnRvdWNoR2VzdHVyZUdyb3VwLCBHVEtfRVZFTlRfU0VRVUVOQ0VfREVOSUVE
KTsKIH0KKwordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldFNob3VsZE5vdGlmeUZvY3VzRXZlbnRz
KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgYm9vbCBzaG91bGROb3RpZnlGb2N1c0V2
ZW50cykKK3sKKyAgICB3ZWJWaWV3QmFzZS0+cHJpdi0+c2hvdWxkTm90aWZ5Rm9jdXNFdmVudHMg
PSBzaG91bGROb3RpZnlGb2N1c0V2ZW50czsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCmluZGV4IDdl
NzhhNmE0Y2M0Yi4uMTE1MGRiNjVlMDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgKQEAgLTExNSw0
ICsxMTUsNSBAQCBXZWJLaXRJbnB1dE1ldGhvZENvbnRleHQqIHdlYmtpdFdlYlZpZXdCYXNlR2V0
SW5wdXRNZXRob2RDb250ZXh0KFdlYktpdFdlYlZpZXdCYQogdm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZVN5bnRoZXNpemVDb21wb3NpdGlvbktleVByZXNzKFdlYktpdFdlYlZpZXdCYXNlKiwgY29uc3Qg
U3RyaW5nJiB0ZXh0LCBPcHRpb25hbDxWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxp
bmU+PiYmLCBPcHRpb25hbDxXZWJLaXQ6OkVkaXRpbmdSYW5nZT4mJik7CiAKIHZvaWQgd2Via2l0
V2ViVmlld0Jhc2VNYWtlQmxhbmsoV2ViS2l0V2ViVmlld0Jhc2UqLCBib29sKTsKLXZvaWQgd2Vi
a2l0V2ViVmlld0Jhc2VQYWdlR3JhYmJlZFRvdWNoKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRX
ZWJWaWV3QmFzZSk7Cit2b2lkIHdlYmtpdFdlYlZpZXdCYXNlUGFnZUdyYWJiZWRUb3VjaChXZWJL
aXRXZWJWaWV3QmFzZSopOwordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldFNob3VsZE5vdGlmeUZv
Y3VzRXZlbnRzKFdlYktpdFdlYlZpZXdCYXNlKiwgYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViRGF0ZVRpbWVQaWNrZXJHdGsuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmNwcAppbmRleCBmMjMwZjFm
NTQxZWYuLmFmYTc5ODBmYWQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Z3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9ndGsvV2ViRGF0ZVRpbWVQaWNrZXJHdGsuY3BwCkBAIC0yNywxMSArMjcsMTMgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJEYXRlVGltZVBpY2tlckd0ay5oIgogCi0jaW5j
bHVkZSA8d3RmL1N0YWNrVHJhY2UuaD4KLSNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0u
aD4KLQogI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogCisjaW5jbHVkZSAi
V2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCisjaW5jbHVkZSA8Z3RrL2d0ay5oPgorI2luY2x1
ZGUgPHd0Zi9TZXRGb3JTY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KKwog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIFJlZjxXZWJEYXRlVGltZVBpY2tlckd0az4gV2ViRGF0ZVRp
bWVQaWNrZXJHdGs6OmNyZWF0ZShXZWJQYWdlUHJveHkmIHBhZ2UpCkBAIC00MSw3ICs0Myw3IEBA
IFJlZjxXZWJEYXRlVGltZVBpY2tlckd0az4gV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmNyZWF0ZShX
ZWJQYWdlUHJveHkmIHBhZ2UpCiAKIFdlYkRhdGVUaW1lUGlja2VyR3RrOjp+V2ViRGF0ZVRpbWVQ
aWNrZXJHdGsoKQogewotICAgIGVuZFBpY2tlcigpOworICAgIGludmFsaWRhdGUoKTsKIH0KIAog
V2ViRGF0ZVRpbWVQaWNrZXJHdGs6OldlYkRhdGVUaW1lUGlja2VyR3RrKFdlYlBhZ2VQcm94eSYg
cGFnZSkKQEAgLTQ5LDEyICs1MSwxNDAgQEAgV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OldlYkRhdGVU
aW1lUGlja2VyR3RrKFdlYlBhZ2VQcm94eSYgcGFnZSkKIHsKIH0KIAordm9pZCBXZWJEYXRlVGlt
ZVBpY2tlckd0azo6aW52YWxpZGF0ZSgpCit7CisgICAgaWYgKCFtX3BvcG92ZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZGF0YShtX3Bv
cG92ZXIsIHRoaXMpOworI2lmIFVTRShHVEs0KQorICAgIGF1dG8qIHdlYlZpZXcgPSBndGtfd2lk
Z2V0X2dldF9wYXJlbnQobV9wb3BvdmVyKTsKKyAgICBndGtfd2lkZ2V0X3VucGFyZW50KG1fcG9w
b3Zlcik7CisjZWxzZQorICAgIGF1dG8qIHdlYlZpZXcgPSBndGtfcG9wb3Zlcl9nZXRfcmVsYXRp
dmVfdG8oR1RLX1BPUE9WRVIobV9wb3BvdmVyKSk7CisgICAgZ3RrX3dpZGdldF9kZXN0cm95KG1f
cG9wb3Zlcik7CisjZW5kaWYKKyAgICBtX3BvcG92ZXIgPSBudWxscHRyOworICAgIG1fY2FsZW5k
YXIgPSBudWxscHRyOworCisgICAgd2Via2l0V2ViVmlld0Jhc2VTZXRTaG91bGROb3RpZnlGb2N1
c0V2ZW50cyhXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSwgdHJ1ZSk7Cit9CisKIHZvaWQg
V2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmVuZFBpY2tlcigpCiB7CisgICAgaW52YWxpZGF0ZSgpOwor
ICAgIFdlYkRhdGVUaW1lUGlja2VyOjplbmRQaWNrZXIoKTsKK30KKworc3RhdGljIFN0cmluZyB0
aW1lVG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHMmIHRpbWUsIFdlYkNvcmU6
OlNlY29uZEZvcm1hdCBzZWNvbmRGb3JtYXQpCit7CisgICAgc3dpdGNoIChzZWNvbmRGb3JtYXQp
IHsKKyAgICBjYXNlIFNlY29uZEZvcm1hdDo6Tm9uZToKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJp
bmcocGFkKCcwJywgMiwgdGltZS5ob3VyKCkpLCAnOicsIHBhZCgnMCcsIDIsIHRpbWUubWludXRl
KCkpKTsKKyAgICBjYXNlIFNlY29uZEZvcm1hdDo6U2Vjb25kOgorICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZyhwYWQoJzAnLCAyLCB0aW1lLmhvdXIoKSksICc6JywgcGFkKCcwJywgMiwgdGltZS5t
aW51dGUoKSksICc6JywgcGFkKCcwJywgMiwgdGltZS5zZWNvbmQoKSkpOworICAgIGNhc2UgU2Vj
b25kRm9ybWF0OjpNaWxsaXNlY29uZDoKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcocGFkKCcw
JywgMiwgdGltZS5ob3VyKCkpLCAnOicsIHBhZCgnMCcsIDIsIHRpbWUubWludXRlKCkpLCAnOics
IHBhZCgnMCcsIDIsIHRpbWUuc2Vjb25kKCkpLCAnLicsIHBhZCgnMCcsIDMsIHRpbWUubWlsbGlz
ZWNvbmQoKSkpOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVy
biB7IH07Cit9CisKK3N0YXRpYyBTdHJpbmcgY2FsZW5kYXJEYXRlVG9TdHJpbmcoaW50IHllYXIs
IGludCBtb250aCwgaW50IGRheSwgY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6RGF0ZUNvbXBvbmVu
dHM+JiBkYXRlLCBXZWJDb3JlOjpTZWNvbmRGb3JtYXQgc2Vjb25kRm9ybWF0KQoreworICAgIGF1
dG8gdHlwZSA9IGRhdGUgPyBkYXRlLT50eXBlKCkgOiBXZWJDb3JlOjpEYXRlQ29tcG9uZW50c1R5
cGU6OkRhdGU7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBXZWJDb3JlOjpEYXRlQ29t
cG9uZW50c1R5cGU6OkRhdGU6CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKHBhZCgnMCcsIDQs
IHllYXIpLCAnLScsIHBhZCgnMCcsIDIsIG1vbnRoICsgMSksICctJywgcGFkKCcwJywgMiwgZGF5
KSk7CisgICAgY2FzZSBXZWJDb3JlOjpEYXRlQ29tcG9uZW50c1R5cGU6OkRhdGVUaW1lTG9jYWw6
CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKHBhZCgnMCcsIDQsIHllYXIpLCAnLScsIHBhZCgn
MCcsIDIsIG1vbnRoICsgMSksICctJywgcGFkKCcwJywgMiwgZGF5KSwgJ1QnLCB0aW1lVG9TdHJp
bmcoKmRhdGUsIHNlY29uZEZvcm1hdCkpOworICAgIGNhc2UgV2ViQ29yZTo6RGF0ZUNvbXBvbmVu
dHNUeXBlOjpJbnZhbGlkOgorICAgIGNhc2UgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHNUeXBlOjpN
b250aDoKKyAgICBjYXNlIFdlYkNvcmU6OkRhdGVDb21wb25lbnRzVHlwZTo6VGltZToKKyAgICBj
YXNlIFdlYkNvcmU6OkRhdGVDb21wb25lbnRzVHlwZTo6V2VlazoKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHsgfTsKKworfQor
Cit2b2lkIFdlYkRhdGVUaW1lUGlja2VyR3RrOjpkaWRDaG9vc2VEYXRlKCkKK3sKKyAgICBpZiAo
bV9pblVwZGF0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAg
IHJldHVybjsKKworICAgIGludCB5ZWFyLCBtb250aCwgZGF5OworICAgIGdfb2JqZWN0X2dldCht
X2NhbGVuZGFyLCAieWVhciIsICZ5ZWFyLCAibW9udGgiLCAmbW9udGgsICJkYXkiLCAmZGF5LCBu
dWxscHRyKTsKKyAgICBtX3BhZ2UtPmRpZENob29zZURhdGUoY2FsZW5kYXJEYXRlVG9TdHJpbmco
eWVhciwgbW9udGgsIGRheSwgbV9jdXJyZW50RGF0ZSwgbV9zZWNvbmRGb3JtYXQpKTsKIH0KIAog
dm9pZCBXZWJEYXRlVGltZVBpY2tlckd0azo6c2hvd0RhdGVUaW1lUGlja2VyKFdlYkNvcmU6OkRh
dGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmJiBwYXJhbXMpCiB7CisgICAgaWYgKG1fcG9wb3Zlcikg
eworICAgICAgICB1cGRhdGUoV1RGTW92ZShwYXJhbXMpKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGF1dG8qIHdlYlZpZXcgPSBtX3BhZ2UtPnZpZXdXaWRnZXQoKTsKKyAgICB3ZWJr
aXRXZWJWaWV3QmFzZVNldFNob3VsZE5vdGlmeUZvY3VzRXZlbnRzKFdFQktJVF9XRUJfVklFV19C
QVNFKHdlYlZpZXcpLCBmYWxzZSk7CisKKyNpZiBVU0UoR1RLNCkKKyAgICBtX3BvcG92ZXIgPSBn
dGtfcG9wb3Zlcl9uZXcoKTsKKyAgICBndGtfcG9wb3Zlcl9zZXRfaGFzX2Fycm93KEdUS19QT1BP
VkVSKG1fcG9wb3ZlciksIEZBTFNFKTsKKyAgICBndGtfd2lkZ2V0X3NldF9wYXJlbnQobV9wb3Bv
dmVyLCB3ZWJWaWV3KTsKKyNlbHNlCisgICAgbV9wb3BvdmVyID0gZ3RrX3BvcG92ZXJfbmV3KHdl
YlZpZXcpOworI2VuZGlmCisgICAgZ3RrX3BvcG92ZXJfc2V0X3Bvc2l0aW9uKEdUS19QT1BPVkVS
KG1fcG9wb3ZlciksIEdUS19QT1NfQk9UVE9NKTsKKyAgICBHZGtSZWN0YW5nbGUgcmVjdEluUm9v
dFZpZXcgPSBwYXJhbXMuYW5jaG9yUmVjdEluUm9vdFZpZXc7CisgICAgZ3RrX3BvcG92ZXJfc2V0
X3BvaW50aW5nX3RvKEdUS19QT1BPVkVSKG1fcG9wb3ZlciksICZyZWN0SW5Sb290Vmlldyk7Cisg
ICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1fcG9wb3ZlciwgImNsb3NlZCIsIEdfQ0FMTEJB
Q0soK1tdKFdlYkRhdGVUaW1lUGlja2VyR3RrKiBwaWNrZXIpIHsKKyAgICAgICAgcGlja2VyLT5l
bmRQaWNrZXIoKTsKKyAgICB9KSwgdGhpcyk7CisKKyAgICBtX2NhbGVuZGFyID0gZ3RrX2NhbGVu
ZGFyX25ldygpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9jYWxlbmRhciwgImRheS1zZWxlY3Rl
ZCIsIEdfQ0FMTEJBQ0soK1tdKEd0a0NhbGVuZGFyKiBjYWxlbmRhciwgV2ViRGF0ZVRpbWVQaWNr
ZXJHdGsqIHBpY2tlcikgeworICAgICAgICBwaWNrZXItPmRpZENob29zZURhdGUoKTsKKyAgICB9
KSwgdGhpcyk7CisjaWYgVVNFKEdUSzQpCisgICAgZ3RrX3BvcG92ZXJfc2V0X2NoaWxkKEdUS19Q
T1BPVkVSKG1fcG9wb3ZlciksIG1fY2FsZW5kYXIpOworI2Vsc2UKKyAgICBndGtfY29udGFpbmVy
X2FkZChHVEtfQ09OVEFJTkVSKG1fcG9wb3ZlciksIG1fY2FsZW5kYXIpOworICAgIGd0a193aWRn
ZXRfc2hvdyhtX2NhbGVuZGFyKTsKKyNlbmRpZgorCisgICAgdXBkYXRlKFdURk1vdmUocGFyYW1z
KSk7CisKKyAgICBndGtfcG9wb3Zlcl9wb3B1cChHVEtfUE9QT1ZFUihtX3BvcG92ZXIpKTsKK30K
Kwordm9pZCBXZWJEYXRlVGltZVBpY2tlckd0azo6dXBkYXRlKFdlYkNvcmU6OkRhdGVUaW1lQ2hv
b3NlclBhcmFtZXRlcnMmJiBwYXJhbXMpCit7CisgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gaW5VcGRh
dGUobV9pblVwZGF0ZSwgdHJ1ZSk7CisgICAgaWYgKHBhcmFtcy50eXBlID09ICJkYXRlIikKKyAg
ICAgICAgbV9jdXJyZW50RGF0ZSA9IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzOjpmcm9tUGFyc2lu
Z0RhdGUocGFyYW1zLmN1cnJlbnRWYWx1ZSk7CisgICAgZWxzZSBpZiAocGFyYW1zLnR5cGUgPT0g
ImRhdGV0aW1lLWxvY2FsIikKKyAgICAgICAgbV9jdXJyZW50RGF0ZSA9IFdlYkNvcmU6OkRhdGVD
b21wb25lbnRzOjpmcm9tUGFyc2luZ0RhdGVUaW1lTG9jYWwocGFyYW1zLmN1cnJlbnRWYWx1ZSk7
CisKKyAgICBpZiAobV9jdXJyZW50RGF0ZSkKKyAgICAgICAgZ19vYmplY3Rfc2V0KG1fY2FsZW5k
YXIsICJ5ZWFyIiwgbV9jdXJyZW50RGF0ZS0+ZnVsbFllYXIoKSwgIm1vbnRoIiwgbV9jdXJyZW50
RGF0ZS0+bW9udGgoKSwgImRheSIsIG1fY3VycmVudERhdGUtPm1vbnRoRGF5KCksIG51bGxwdHIp
OworICAgIGVsc2UgaWYgKHBhcmFtcy50eXBlID09ICJkYXRldGltZS1sb2NhbCIpIHsKKyAgICAg
ICAgR1JlZlB0cjxHRGF0ZVRpbWU+IG5vdyA9IGFkb3B0R1JlZihnX2RhdGVfdGltZV9uZXdfbm93
X2xvY2FsKCkpOworICAgICAgICBTZWNvbmRzIHVuaXhUaW1lID0gU2Vjb25kcyhnX2RhdGVfdGlt
ZV90b191bml4KG5vdy5nZXQoKSkpICsgU2Vjb25kczo6ZnJvbU1pY3Jvc2Vjb25kcyhnX2RhdGVf
dGltZV9nZXRfdXRjX29mZnNldChub3cuZ2V0KCkpKTsKKyAgICAgICAgbV9jdXJyZW50RGF0ZSA9
IFdlYkNvcmU6OkRhdGVDb21wb25lbnRzOjpmcm9tTWlsbGlzZWNvbmRzU2luY2VFcG9jaEZvckRh
dGVUaW1lTG9jYWwodW5peFRpbWUubWlsbGlzZWNvbmRzKCkpOworICAgICAgICBpZiAocGFyYW1z
Lmhhc01pbGxpc2Vjb25kRmllbGQpCisgICAgICAgICAgICBtX3NlY29uZEZvcm1hdCA9IFdlYkNv
cmU6OlNlY29uZEZvcm1hdDo6TWlsbGlzZWNvbmQ7CisgICAgICAgIGVsc2UgaWYgKHBhcmFtcy5o
YXNTZWNvbmRGaWVsZCkKKyAgICAgICAgICAgIG1fc2Vjb25kRm9ybWF0ID0gV2ViQ29yZTo6U2Vj
b25kRm9ybWF0OjpTZWNvbmQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fc2Vjb25kRm9y
bWF0ID0gV2ViQ29yZTo6U2Vjb25kRm9ybWF0OjpOb25lOworICAgIH0KIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2Vi
RGF0ZVRpbWVQaWNrZXJHdGsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJEYXRl
VGltZVBpY2tlckd0ay5oCmluZGV4IGUxNTMxZmQ1ZDllMC4uZjdlYTBkMmU0ZmY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViRGF0ZVRpbWVQaWNrZXJHdGsuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViRGF0ZVRpbWVQaWNrZXJHdGsuaApA
QCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQog
CiAjaW5jbHVkZSAiV2ViRGF0ZVRpbWVQaWNrZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0RhdGVD
b21wb25lbnRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EYXRlVGltZUNob29zZXJQYXJhbWV0ZXJz
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDMsNiArNDQsMTYgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgZW5kUGlja2VyKCkgZmluYWw7CiAgICAgdm9pZCBzaG93RGF0ZVRpbWVQaWNrZXIo
V2ViQ29yZTo6RGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYmKSBmaW5hbDsKKworICAgIHZvaWQg
dXBkYXRlKFdlYkNvcmU6OkRhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmJik7CisgICAgdm9pZCBk
aWRDaG9vc2VEYXRlKCk7CisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisKKyAgICBHdGtXaWRnZXQq
IG1fcG9wb3ZlciB7IG51bGxwdHIgfTsKKyAgICBHdGtXaWRnZXQqIG1fY2FsZW5kYXIgeyBudWxs
cHRyIH07CisgICAgT3B0aW9uYWw8V2ViQ29yZTo6RGF0ZUNvbXBvbmVudHM+IG1fY3VycmVudERh
dGU7CisgICAgV2ViQ29yZTo6U2Vjb25kRm9ybWF0IG1fc2Vjb25kRm9ybWF0IHsgV2ViQ29yZTo6
U2Vjb25kRm9ybWF0OjpOb25lIH07CisgICAgYm9vbCBtX2luVXBkYXRlIHsgZmFsc2UgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428085</attachid>
            <date>2021-05-08 04:01:16 -0700</date>
            <delta_ts>2021-05-10 05:17:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wkgtk-date-picker.diff</filename>
            <type>text/plain</type>
            <size>11253</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggN2RlMWEwMTg4NzZhLi4yNjk3MWVkM2M1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjkgQEAKKzIwMjEtMDUtMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIEFkZCBwaWNrZXIgVUkgZm9yIDxpbnB1dCB0eXBlPWRh
dGU+IGFuZCA8aW5wdXQgdHlwZT1kYXRldGltZS1sb2NhbD4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDkyNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBhIEd0a1BvcG92ZXIgd2l0aCBhIEd0a0Nh
bGVuZGFyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2Uu
Y3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VTZXRGb2N1cyk6IE9ubHkgbm90aWZ5IHRo
ZSB3ZWIgcHJvY2VzcyBhYm91dCBmb2N1cyBjaGFuZ2VzIHdoZW4gc2hvdWxkTm90aWZ5Rm9jdXNF
dmVudHMgaXMgdHJ1ZS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2V0U2hvdWxkTm90aWZ5
Rm9jdXNFdmVudHMpOiBTZXQgd2hldGhlciB0aGUgd2ViIHZpZXcgc2hvdWxkIG5vdGlmeSBhYm91
dCBmb2N1cyBjaGFuZ2VzIHRvIHRoZQorICAgICAgICB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRGF0ZVRpbWVQaWNrZXJHdGs6On5XZWJEYXRlVGltZVBpY2tlckd0ayk6IENhbGwgaW52YWxp
ZGF0ZSBpbnN0ZWFkIG9mIGVuZFBpY2tlci4KKyAgICAgICAgKFdlYktpdDo6V2ViRGF0ZVRpbWVQ
aWNrZXJHdGs6OmludmFsaWRhdGUpOiBEZXN0cm95IHRoZSBwb3BvdmVyIGFuZCBhbGxvdyB0aGUg
d2ViIHZpZXcgdG8gbm90aWZ5IGFib3V0IGZvY3VzCisgICAgICAgIGV2ZW50cyBhZ2Fpbi4KKyAg
ICAgICAgKFdlYktpdDo6V2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmVuZFBpY2tlcik6IEludmFsaWRh
dGUgYW5kIG5vdGlmeSB0aGUgcGFyZW50LgorICAgICAgICAoV2ViS2l0Ojp0aW1lVG9TdHJpbmcp
OiBIZWxwZXIgdG8gY29udmVydCB0aGUgdGltZSBwb3J0aW9ucyBvZiBhIERhdGVDb21wb25lbnRz
IHRvIGEgc3RyaW5nLgorICAgICAgICAoV2ViS2l0OjpjYWxlbmRhckRhdGVUb1N0cmluZyk6IEhl
bHBlciB0byBjb252ZXJ0IHNlbGVjdGVkIGRhdGUgdG8gYSBzdHJpbmcuCisgICAgICAgIChXZWJL
aXQ6OldlYkRhdGVUaW1lUGlja2VyR3RrOjpkaWRDaG9vc2VEYXRlKTogTm90aWZ5IHRoZSBXZWJQ
YWdlUHJveHkgYWJvdXQgdGhlIHNlbGVjdGVkIGRhdGUuCisgICAgICAgIChXZWJLaXQ6OldlYkRh
dGVUaW1lUGlja2VyR3RrOjpzaG93RGF0ZVRpbWVQaWNrZXIpOiBDcmVhdGUgb3IgdXBkYXRlIGEg
R3RrUG9wb3ZlciB3aXRoIGEgY2FsZW5kYXIuCisgICAgICAgIChXZWJLaXQ6OldlYkRhdGVUaW1l
UGlja2VyR3RrOjp1cGRhdGUpOiBVcGRhdGUgdGhlIGNhbGVuZGFyIGFuZCBjdXJyZW50IGRhdGUu
CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJEYXRlVGltZVBpY2tlckd0ay5oOgorCiAyMDIx
LTA1LTA4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbU09VUF0gVXNlIHRoZSBuZXcgbGlic291cCBuZXR3b3JrIG1ldHJpY3MgQVBJCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2Uu
Y3BwCmluZGV4IDZiNTk3ZTUxMTI4ZS4uMmVhMDA1ODgyZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjg0
LDYgKzI4NCw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlIHsKICAgICBJbnRT
aXplIGNvbnRlbnRzU2l6ZTsKICAgICBPcHRpb25hbDxNb3Rpb25FdmVudD4gbGFzdE1vdGlvbkV2
ZW50OwogICAgIGJvb2wgaXNCbGFuazsKKyAgICBib29sIHNob3VsZE5vdGlmeUZvY3VzRXZlbnRz
IHsgdHJ1ZSB9OwogCiAgICAgR3RrV2luZG93KiB0b3BsZXZlbE9uU2NyZWVuV2luZG93IHsgbnVs
bHB0ciB9OwogI2lmIFVTRShHVEs0KQpAQCAtMjMzNyw2ICsyMzM4LDggQEAgR2RrRXZlbnQqIHdl
YmtpdFdlYlZpZXdCYXNlVGFrZUNvbnRleHRNZW51RXZlbnQoV2ViS2l0V2ViVmlld0Jhc2UqIHdl
YmtpdFdlYlZpZXcKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTZXRGb2N1cyhXZWJLaXRXZWJWaWV3
QmFzZSogd2ViVmlld0Jhc2UsIGJvb2wgZm9jdXNlZCkKIHsKICAgICBXZWJLaXRXZWJWaWV3QmFz
ZVByaXZhdGUqIHByaXYgPSB3ZWJWaWV3QmFzZS0+cHJpdjsKKyAgICBpZiAoIXByaXYtPnNob3Vs
ZE5vdGlmeUZvY3VzRXZlbnRzKQorICAgICAgICByZXR1cm47CiAgICAgaWYgKChmb2N1c2VkICYm
IHByaXYtPmFjdGl2aXR5U3RhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc0ZvY3VzZWQpIHx8ICghZm9j
dXNlZCAmJiAhKHByaXYtPmFjdGl2aXR5U3RhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc0ZvY3VzZWQp
KSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0yOTE4LDMgKzI5MjEsOCBAQCB2b2lkIHdlYmtpdFdl
YlZpZXdCYXNlUGFnZUdyYWJiZWRUb3VjaChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2Up
CiAgICAgcHJpdi0+cGFnZUdyYWJiZWRUb3VjaCA9IHRydWU7CiAgICAgZ3RrX2dlc3R1cmVfc2V0
X3N0YXRlKHByaXYtPnRvdWNoR2VzdHVyZUdyb3VwLCBHVEtfRVZFTlRfU0VRVUVOQ0VfREVOSUVE
KTsKIH0KKwordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldFNob3VsZE5vdGlmeUZvY3VzRXZlbnRz
KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgYm9vbCBzaG91bGROb3RpZnlGb2N1c0V2
ZW50cykKK3sKKyAgICB3ZWJWaWV3QmFzZS0+cHJpdi0+c2hvdWxkTm90aWZ5Rm9jdXNFdmVudHMg
PSBzaG91bGROb3RpZnlGb2N1c0V2ZW50czsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCmluZGV4IDdl
NzhhNmE0Y2M0Yi4uMTE1MGRiNjVlMDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgKQEAgLTExNSw0
ICsxMTUsNSBAQCBXZWJLaXRJbnB1dE1ldGhvZENvbnRleHQqIHdlYmtpdFdlYlZpZXdCYXNlR2V0
SW5wdXRNZXRob2RDb250ZXh0KFdlYktpdFdlYlZpZXdCYQogdm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZVN5bnRoZXNpemVDb21wb3NpdGlvbktleVByZXNzKFdlYktpdFdlYlZpZXdCYXNlKiwgY29uc3Qg
U3RyaW5nJiB0ZXh0LCBPcHRpb25hbDxWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxp
bmU+PiYmLCBPcHRpb25hbDxXZWJLaXQ6OkVkaXRpbmdSYW5nZT4mJik7CiAKIHZvaWQgd2Via2l0
V2ViVmlld0Jhc2VNYWtlQmxhbmsoV2ViS2l0V2ViVmlld0Jhc2UqLCBib29sKTsKLXZvaWQgd2Vi
a2l0V2ViVmlld0Jhc2VQYWdlR3JhYmJlZFRvdWNoKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRX
ZWJWaWV3QmFzZSk7Cit2b2lkIHdlYmtpdFdlYlZpZXdCYXNlUGFnZUdyYWJiZWRUb3VjaChXZWJL
aXRXZWJWaWV3QmFzZSopOwordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldFNob3VsZE5vdGlmeUZv
Y3VzRXZlbnRzKFdlYktpdFdlYlZpZXdCYXNlKiwgYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViRGF0ZVRpbWVQaWNrZXJHdGsuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmNwcAppbmRleCBmMjMwZjFm
NTQxZWYuLjQzYTkwNDU3NzgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Z3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9ndGsvV2ViRGF0ZVRpbWVQaWNrZXJHdGsuY3BwCkBAIC0yNywxMSArMjcsMTMgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJEYXRlVGltZVBpY2tlckd0ay5oIgogCi0jaW5j
bHVkZSA8d3RmL1N0YWNrVHJhY2UuaD4KLSNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0u
aD4KLQogI2lmIEVOQUJMRShEQVRFX0FORF9USU1FX0lOUFVUX1RZUEVTKQogCisjaW5jbHVkZSAi
V2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlLmgiCisjaW5jbHVkZSA8Z3RrL2d0ay5oPgorI2luY2x1
ZGUgPHd0Zi9TZXRGb3JTY29wZS5oPgorI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KKwog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIFJlZjxXZWJEYXRlVGltZVBpY2tlckd0az4gV2ViRGF0ZVRp
bWVQaWNrZXJHdGs6OmNyZWF0ZShXZWJQYWdlUHJveHkmIHBhZ2UpCkBAIC00MSw3ICs0Myw3IEBA
IFJlZjxXZWJEYXRlVGltZVBpY2tlckd0az4gV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmNyZWF0ZShX
ZWJQYWdlUHJveHkmIHBhZ2UpCiAKIFdlYkRhdGVUaW1lUGlja2VyR3RrOjp+V2ViRGF0ZVRpbWVQ
aWNrZXJHdGsoKQogewotICAgIGVuZFBpY2tlcigpOworICAgIGludmFsaWRhdGUoKTsKIH0KIAog
V2ViRGF0ZVRpbWVQaWNrZXJHdGs6OldlYkRhdGVUaW1lUGlja2VyR3RrKFdlYlBhZ2VQcm94eSYg
cGFnZSkKQEAgLTQ5LDEyICs1MSwxMzkgQEAgV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OldlYkRhdGVU
aW1lUGlja2VyR3RrKFdlYlBhZ2VQcm94eSYgcGFnZSkKIHsKIH0KIAordm9pZCBXZWJEYXRlVGlt
ZVBpY2tlckd0azo6aW52YWxpZGF0ZSgpCit7CisgICAgaWYgKCFtX3BvcG92ZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZGF0YShtX3Bv
cG92ZXIsIHRoaXMpOworI2lmIFVTRShHVEs0KQorICAgIGF1dG8qIHdlYlZpZXcgPSBndGtfd2lk
Z2V0X2dldF9wYXJlbnQobV9wb3BvdmVyKTsKKyAgICBndGtfd2lkZ2V0X3VucGFyZW50KG1fcG9w
b3Zlcik7CisjZWxzZQorICAgIGF1dG8qIHdlYlZpZXcgPSBndGtfcG9wb3Zlcl9nZXRfcmVsYXRp
dmVfdG8oR1RLX1BPUE9WRVIobV9wb3BvdmVyKSk7CisgICAgZ3RrX3dpZGdldF9kZXN0cm95KG1f
cG9wb3Zlcik7CisjZW5kaWYKKyAgICBtX3BvcG92ZXIgPSBudWxscHRyOworICAgIG1fY2FsZW5k
YXIgPSBudWxscHRyOworCisgICAgd2Via2l0V2ViVmlld0Jhc2VTZXRTaG91bGROb3RpZnlGb2N1
c0V2ZW50cyhXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSwgdHJ1ZSk7Cit9CisKIHZvaWQg
V2ViRGF0ZVRpbWVQaWNrZXJHdGs6OmVuZFBpY2tlcigpCiB7CisgICAgaW52YWxpZGF0ZSgpOwor
ICAgIFdlYkRhdGVUaW1lUGlja2VyOjplbmRQaWNrZXIoKTsKK30KKworc3RhdGljIFN0cmluZyB0
aW1lVG9TdHJpbmcoY29uc3QgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHMmIHRpbWUsIFdlYkNvcmU6
OlNlY29uZEZvcm1hdCBzZWNvbmRGb3JtYXQpCit7CisgICAgc3dpdGNoIChzZWNvbmRGb3JtYXQp
IHsKKyAgICBjYXNlIFNlY29uZEZvcm1hdDo6Tm9uZToKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJp
bmcocGFkKCcwJywgMiwgdGltZS5ob3VyKCkpLCAnOicsIHBhZCgnMCcsIDIsIHRpbWUubWludXRl
KCkpKTsKKyAgICBjYXNlIFNlY29uZEZvcm1hdDo6U2Vjb25kOgorICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZyhwYWQoJzAnLCAyLCB0aW1lLmhvdXIoKSksICc6JywgcGFkKCcwJywgMiwgdGltZS5t
aW51dGUoKSksICc6JywgcGFkKCcwJywgMiwgdGltZS5zZWNvbmQoKSkpOworICAgIGNhc2UgU2Vj
b25kRm9ybWF0OjpNaWxsaXNlY29uZDoKKyAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcocGFkKCcw
JywgMiwgdGltZS5ob3VyKCkpLCAnOicsIHBhZCgnMCcsIDIsIHRpbWUubWludXRlKCkpLCAnOics
IHBhZCgnMCcsIDIsIHRpbWUuc2Vjb25kKCkpLCAnLicsIHBhZCgnMCcsIDMsIHRpbWUubWlsbGlz
ZWNvbmQoKSkpOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVy
biB7IH07Cit9CisKK3N0YXRpYyBTdHJpbmcgY2FsZW5kYXJEYXRlVG9TdHJpbmcoaW50IHllYXIs
IGludCBtb250aCwgaW50IGRheSwgY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6RGF0ZUNvbXBvbmVu
dHM+JiBkYXRlLCBXZWJDb3JlOjpTZWNvbmRGb3JtYXQgc2Vjb25kRm9ybWF0KQoreworICAgIGF1
dG8gdHlwZSA9IGRhdGUgPyBkYXRlLT50eXBlKCkgOiBXZWJDb3JlOjpEYXRlQ29tcG9uZW50c1R5
cGU6OkRhdGU7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBXZWJDb3JlOjpEYXRlQ29t
cG9uZW50c1R5cGU6OkRhdGU6CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKHBhZCgnMCcsIDQs
IHllYXIpLCAnLScsIHBhZCgnMCcsIDIsIG1vbnRoICsgMSksICctJywgcGFkKCcwJywgMiwgZGF5
KSk7CisgICAgY2FzZSBXZWJDb3JlOjpEYXRlQ29tcG9uZW50c1R5cGU6OkRhdGVUaW1lTG9jYWw6
CisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKHBhZCgnMCcsIDQsIHllYXIpLCAnLScsIHBhZCgn
MCcsIDIsIG1vbnRoICsgMSksICctJywgcGFkKCcwJywgMiwgZGF5KSwgJ1QnLCB0aW1lVG9TdHJp
bmcoKmRhdGUsIHNlY29uZEZvcm1hdCkpOworICAgIGNhc2UgV2ViQ29yZTo6RGF0ZUNvbXBvbmVu
dHNUeXBlOjpJbnZhbGlkOgorICAgIGNhc2UgV2ViQ29yZTo6RGF0ZUNvbXBvbmVudHNUeXBlOjpN
b250aDoKKyAgICBjYXNlIFdlYkNvcmU6OkRhdGVDb21wb25lbnRzVHlwZTo6VGltZToKKyAgICBj
YXNlIFdlYkNvcmU6OkRhdGVDb21wb25lbnRzVHlwZTo6V2VlazoKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHsgfTsKK30KKwor
dm9pZCBXZWJEYXRlVGltZVBpY2tlckd0azo6ZGlkQ2hvb3NlRGF0ZSgpCit7CisgICAgaWYgKG1f
aW5VcGRhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9wYWdlKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpbnQgeWVhciwgbW9udGgsIGRheTsKKyAgICBnX29iamVjdF9nZXQobV9j
YWxlbmRhciwgInllYXIiLCAmeWVhciwgIm1vbnRoIiwgJm1vbnRoLCAiZGF5IiwgJmRheSwgbnVs
bHB0cik7CisgICAgbV9wYWdlLT5kaWRDaG9vc2VEYXRlKGNhbGVuZGFyRGF0ZVRvU3RyaW5nKHll
YXIsIG1vbnRoLCBkYXksIG1fY3VycmVudERhdGUsIG1fc2Vjb25kRm9ybWF0KSk7CiB9CiAKIHZv
aWQgV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OnNob3dEYXRlVGltZVBpY2tlcihXZWJDb3JlOjpEYXRl
VGltZUNob29zZXJQYXJhbWV0ZXJzJiYgcGFyYW1zKQogeworICAgIGlmIChtX3BvcG92ZXIpIHsK
KyAgICAgICAgdXBkYXRlKFdURk1vdmUocGFyYW1zKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBhdXRvKiB3ZWJWaWV3ID0gbV9wYWdlLT52aWV3V2lkZ2V0KCk7CisgICAgd2Via2l0
V2ViVmlld0Jhc2VTZXRTaG91bGROb3RpZnlGb2N1c0V2ZW50cyhXRUJLSVRfV0VCX1ZJRVdfQkFT
RSh3ZWJWaWV3KSwgZmFsc2UpOworCisjaWYgVVNFKEdUSzQpCisgICAgbV9wb3BvdmVyID0gZ3Rr
X3BvcG92ZXJfbmV3KCk7CisgICAgZ3RrX3BvcG92ZXJfc2V0X2hhc19hcnJvdyhHVEtfUE9QT1ZF
UihtX3BvcG92ZXIpLCBGQUxTRSk7CisgICAgZ3RrX3dpZGdldF9zZXRfcGFyZW50KG1fcG9wb3Zl
ciwgd2ViVmlldyk7CisjZWxzZQorICAgIG1fcG9wb3ZlciA9IGd0a19wb3BvdmVyX25ldyh3ZWJW
aWV3KTsKKyNlbmRpZgorICAgIGd0a19wb3BvdmVyX3NldF9wb3NpdGlvbihHVEtfUE9QT1ZFUiht
X3BvcG92ZXIpLCBHVEtfUE9TX0JPVFRPTSk7CisgICAgR2RrUmVjdGFuZ2xlIHJlY3RJblJvb3RW
aWV3ID0gcGFyYW1zLmFuY2hvclJlY3RJblJvb3RWaWV3OworICAgIGd0a19wb3BvdmVyX3NldF9w
b2ludGluZ190byhHVEtfUE9QT1ZFUihtX3BvcG92ZXIpLCAmcmVjdEluUm9vdFZpZXcpOworICAg
IGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3BvcG92ZXIsICJjbG9zZWQiLCBHX0NBTExCQUNL
KCtbXShXZWJEYXRlVGltZVBpY2tlckd0ayogcGlja2VyKSB7CisgICAgICAgIHBpY2tlci0+ZW5k
UGlja2VyKCk7CisgICAgfSksIHRoaXMpOworCisgICAgbV9jYWxlbmRhciA9IGd0a19jYWxlbmRh
cl9uZXcoKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KG1fY2FsZW5kYXIsICJkYXktc2VsZWN0ZWQi
LCBHX0NBTExCQUNLKCtbXShHdGtDYWxlbmRhciogY2FsZW5kYXIsIFdlYkRhdGVUaW1lUGlja2Vy
R3RrKiBwaWNrZXIpIHsKKyAgICAgICAgcGlja2VyLT5kaWRDaG9vc2VEYXRlKCk7CisgICAgfSks
IHRoaXMpOworI2lmIFVTRShHVEs0KQorICAgIGd0a19wb3BvdmVyX3NldF9jaGlsZChHVEtfUE9Q
T1ZFUihtX3BvcG92ZXIpLCBtX2NhbGVuZGFyKTsKKyNlbHNlCisgICAgZ3RrX2NvbnRhaW5lcl9h
ZGQoR1RLX0NPTlRBSU5FUihtX3BvcG92ZXIpLCBtX2NhbGVuZGFyKTsKKyAgICBndGtfd2lkZ2V0
X3Nob3cobV9jYWxlbmRhcik7CisjZW5kaWYKKworICAgIHVwZGF0ZShXVEZNb3ZlKHBhcmFtcykp
OworCisgICAgZ3RrX3BvcG92ZXJfcG9wdXAoR1RLX1BPUE9WRVIobV9wb3BvdmVyKSk7Cit9CisK
K3ZvaWQgV2ViRGF0ZVRpbWVQaWNrZXJHdGs6OnVwZGF0ZShXZWJDb3JlOjpEYXRlVGltZUNob29z
ZXJQYXJhbWV0ZXJzJiYgcGFyYW1zKQoreworICAgIFNldEZvclNjb3BlPGJvb2w+IGluVXBkYXRl
KG1faW5VcGRhdGUsIHRydWUpOworICAgIGlmIChwYXJhbXMudHlwZSA9PSAiZGF0ZSIpCisgICAg
ICAgIG1fY3VycmVudERhdGUgPSBXZWJDb3JlOjpEYXRlQ29tcG9uZW50czo6ZnJvbVBhcnNpbmdE
YXRlKHBhcmFtcy5jdXJyZW50VmFsdWUpOworICAgIGVsc2UgaWYgKHBhcmFtcy50eXBlID09ICJk
YXRldGltZS1sb2NhbCIpCisgICAgICAgIG1fY3VycmVudERhdGUgPSBXZWJDb3JlOjpEYXRlQ29t
cG9uZW50czo6ZnJvbVBhcnNpbmdEYXRlVGltZUxvY2FsKHBhcmFtcy5jdXJyZW50VmFsdWUpOwor
CisgICAgaWYgKG1fY3VycmVudERhdGUpCisgICAgICAgIGdfb2JqZWN0X3NldChtX2NhbGVuZGFy
LCAieWVhciIsIG1fY3VycmVudERhdGUtPmZ1bGxZZWFyKCksICJtb250aCIsIG1fY3VycmVudERh
dGUtPm1vbnRoKCksICJkYXkiLCBtX2N1cnJlbnREYXRlLT5tb250aERheSgpLCBudWxscHRyKTsK
KyAgICBlbHNlIGlmIChwYXJhbXMudHlwZSA9PSAiZGF0ZXRpbWUtbG9jYWwiKSB7CisgICAgICAg
IEdSZWZQdHI8R0RhdGVUaW1lPiBub3cgPSBhZG9wdEdSZWYoZ19kYXRlX3RpbWVfbmV3X25vd19s
b2NhbCgpKTsKKyAgICAgICAgU2Vjb25kcyB1bml4VGltZSA9IFNlY29uZHMoZ19kYXRlX3RpbWVf
dG9fdW5peChub3cuZ2V0KCkpKSArIFNlY29uZHM6OmZyb21NaWNyb3NlY29uZHMoZ19kYXRlX3Rp
bWVfZ2V0X3V0Y19vZmZzZXQobm93LmdldCgpKSk7CisgICAgICAgIG1fY3VycmVudERhdGUgPSBX
ZWJDb3JlOjpEYXRlQ29tcG9uZW50czo6ZnJvbU1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JEYXRl
VGltZUxvY2FsKHVuaXhUaW1lLm1pbGxpc2Vjb25kcygpKTsKKyAgICAgICAgaWYgKHBhcmFtcy5o
YXNNaWxsaXNlY29uZEZpZWxkKQorICAgICAgICAgICAgbV9zZWNvbmRGb3JtYXQgPSBXZWJDb3Jl
OjpTZWNvbmRGb3JtYXQ6Ok1pbGxpc2Vjb25kOworICAgICAgICBlbHNlIGlmIChwYXJhbXMuaGFz
U2Vjb25kRmllbGQpCisgICAgICAgICAgICBtX3NlY29uZEZvcm1hdCA9IFdlYkNvcmU6OlNlY29u
ZEZvcm1hdDo6U2Vjb25kOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX3NlY29uZEZvcm1h
dCA9IFdlYkNvcmU6OlNlY29uZEZvcm1hdDo6Tm9uZTsKKyAgICB9CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkRh
dGVUaW1lUGlja2VyR3RrLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViRGF0ZVRp
bWVQaWNrZXJHdGsuaAppbmRleCBlMTUzMWZkNWQ5ZTAuLmY3ZWEwZDJlNGZmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkRhdGVUaW1lUGlja2VyR3RrLmgKQEAg
LTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUykKIAog
I2luY2x1ZGUgIldlYkRhdGVUaW1lUGlja2VyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9EYXRlQ29t
cG9uZW50cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycy5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQzLDYgKzQ0LDE2IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGVuZFBpY2tlcigpIGZpbmFsOwogICAgIHZvaWQgc2hvd0RhdGVUaW1lUGlja2VyKFdl
YkNvcmU6OkRhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMmJikgZmluYWw7CisKKyAgICB2b2lkIHVw
ZGF0ZShXZWJDb3JlOjpEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzJiYpOworICAgIHZvaWQgZGlk
Q2hvb3NlRGF0ZSgpOworICAgIHZvaWQgaW52YWxpZGF0ZSgpOworCisgICAgR3RrV2lkZ2V0KiBt
X3BvcG92ZXIgeyBudWxscHRyIH07CisgICAgR3RrV2lkZ2V0KiBtX2NhbGVuZGFyIHsgbnVsbHB0
ciB9OworICAgIE9wdGlvbmFsPFdlYkNvcmU6OkRhdGVDb21wb25lbnRzPiBtX2N1cnJlbnREYXRl
OworICAgIFdlYkNvcmU6OlNlY29uZEZvcm1hdCBtX3NlY29uZEZvcm1hdCB7IFdlYkNvcmU6OlNl
Y29uZEZvcm1hdDo6Tm9uZSB9OworICAgIGJvb2wgbV9pblVwZGF0ZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>