<?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>144872</bug_id>
          
          <creation_ts>2015-05-11 09:06:19 -0700</creation_ts>
          <short_desc>Purge PassRefPtr in WebCore/rendering</short_desc>
          <delta_ts>2015-05-11 19:09:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          
          <blocked>144092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1093769</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-11 09:06:19 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093770</commentid>
    <comment_count>1</comment_count>
      <attachid>252861</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-11 09:07:13 -0700</bug_when>
    <thetext>Created attachment 252861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093939</commentid>
    <comment_count>2</comment_count>
      <attachid>252906</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-11 16:29:18 -0700</bug_when>
    <thetext>Created attachment 252906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093960</commentid>
    <comment_count>3</comment_count>
      <attachid>252911</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-11 17:22:50 -0700</bug_when>
    <thetext>Created attachment 252911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093991</commentid>
    <comment_count>4</comment_count>
      <attachid>252911</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-11 18:17:38 -0700</bug_when>
    <thetext>Comment on attachment 252911
Patch

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

&gt; Source/WebCore/rendering/RenderThemeSafari.cpp:91
&gt; +        return &amp;windowsTheme; // keep the reference of one.

I don’t understand the comment “keep the reference of one”.

&gt; Source/WebCore/rendering/RenderThemeSafari.cpp:93
&gt; +    return &amp;safariTheme; // keep the reference of one.

I don’t understand the comment “keep the reference of one”.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094006</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-11 19:08:23 -0700</bug_when>
    <thetext>Committed r184147: &lt;http://trac.webkit.org/changeset/184147&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094007</commentid>
    <comment_count>6</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-11 19:09:49 -0700</bug_when>
    <thetext>(In reply to comment #4)

&gt; I don’t understand the comment “keep the reference of one”.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderThemeSafari.cpp:93
&gt; &gt; +    return &amp;safariTheme; // keep the reference of one.
&gt; 
&gt; I don’t understand the comment “keep the reference of one”.

Landed after removing the unneeded comments.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252861</attachid>
            <date>2015-05-11 09:07:13 -0700</date>
            <delta_ts>2015-05-11 16:29:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144872-20150512010551.patch</filename>
            <type>text/plain</type>
            <size>18242</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE2ZjkwMGIyM2JlMWZl
OWVhZDY3NmI0MjZlNGQ0NzRiM2U1NGY3YS4uMzdlOGRlNjkxZjI2ZDNlNDU0Njc4MmMxMzVlOTRi
NGMwYTRkYWU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE1LTA1LTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBQdXJnZSBQYXNz
UmVmUHRyIGluIFdlYkNvcmUvcmVuZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gcmVtb3ZlIFBhc3NSZWZQdHIsIHRoaXMg
cGF0Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBpbiBXZWJDb3JlL3JlbmRlcmluZy4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGU6OmNyZWF0ZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0czo6Y3JlYXRlKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVHdGs6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZTo6dGhlbWVGb3JQYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6dGhl
bWVGb3JQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpjcmVhdGUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjp0aGVt
ZUZvclBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmNyZWF0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lU2FmYXJpOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWU6OnRoZW1lRm9yUGFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lU2Fm
YXJpLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OnRoZW1lRm9yUGFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRBdXRvU2l6
aW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0QXV0b1NpemluZ1ZhbHVlOjpjcmVhdGUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TaGFwZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTaGFwZVZhbHVlOjpjcmVhdGVTaGFwZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXBl
VmFsdWU6OmNyZWF0ZUJveFNoYXBlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcGVWYWx1
ZTo6Y3JlYXRlSW1hZ2VWYWx1ZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2Fj
aGVkSW1hZ2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZVNl
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmg6CisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmVmbGVjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVSZWZsZWN0aW9uOjpjcmVhdGUpOgorCiAyMDE1LTA1LTExICBQcnplbXlzbGF3IFN6eW1hbnNr
aSAgPHAuc3p5bWFuc2tpM0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbV2ViR0xdIFVubmVjZXNz
YXJ5IGNvbmRpdGlvbiBjaGVjayBpbiB0aGUgd2hpbGUgbG9vcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDY3OWJhMjI3
YTkyNWE4ZTYxMTFhZmY1MGI5NGY4OWUzOGM0YTdhYzQuLmE3MjBjNjk4ZDZkNDFlOGI4OGZiOWIx
OTk5N2JkODk0NWYzNDJjMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9I
aXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJG
bG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRp
b25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00MiwxNCArNDIsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gZGlmZmVyZW50bHkg
dGhhbiBtb3ZlKCkpIHNvIGNhcmUgaGFzIHRvIGJlIHRha2VuIHdoZW4gdGhpcyBpcyBkb25lLgog
Y2xhc3MgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlIDogcHVibGljIFJlZkNvdW50ZWQ8SGl0VGVz
dGluZ1RyYW5zZm9ybVN0YXRlPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SGl0
VGVzdGluZ1RyYW5zZm9ybVN0YXRlPiBjcmVhdGUoY29uc3QgRmxvYXRQb2ludCYgcCwgY29uc3Qg
RmxvYXRRdWFkJiBxdWFkLCBjb25zdCBGbG9hdFF1YWQmIGFyZWEpCisgICAgc3RhdGljIFJlZjxI
aXRUZXN0aW5nVHJhbnNmb3JtU3RhdGU+IGNyZWF0ZShjb25zdCBGbG9hdFBvaW50JiBwLCBjb25z
dCBGbG9hdFF1YWQmIHF1YWQsIGNvbnN0IEZsb2F0UXVhZCYgYXJlYSkKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKHAsIHF1YWQsIGFy
ZWEpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSGl0VGVzdGluZ1RyYW5zZm9ybVN0
YXRlKHAsIHF1YWQsIGFyZWEpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaXRU
ZXN0aW5nVHJhbnNmb3JtU3RhdGU+IGNyZWF0ZShjb25zdCBIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUmIG90aGVyKQorICAgIHN0YXRpYyBSZWY8SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlPiBjcmVh
dGUoY29uc3QgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlJiBvdGhlcikKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKG90aGVyKSk7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZShvdGhl
cikpOwogICAgIH0KIAogICAgIGVudW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRy
YW5zZm9ybSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKaW5kZXggM2U1ZTI2MTNmNmNiYzcxYWIwZGIwMmRmNDEzMzc5NmY1ZThh
NjI0Mi4uNjk2Yzc2NzI0MWIzODI4NDc0YmFiMTIyMWQ4ZTYzNzJhM2JiYzU1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0xMzcsMTQgKzEzNywxNCBAQCB1
c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogY2xhc3MgQ2xpcFJlY3RzIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwUmVj
dHM+IGNyZWF0ZSgpCisgICAgc3RhdGljIFJlZjxDbGlwUmVjdHM+IGNyZWF0ZSgpCiAgICAgewot
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENsaXBSZWN0cyk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IENsaXBSZWN0cyk7CiAgICAgfQogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2xpcFJlY3RzPiBjcmVhdGUoY29uc3QgQ2xpcFJlY3RzJiBvdGhlcikKKyAgICBzdGF0aWMgUmVm
PENsaXBSZWN0cz4gY3JlYXRlKGNvbnN0IENsaXBSZWN0cyYgb3RoZXIpCiAgICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IENsaXBSZWN0cyhvdGhlcikpOworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBDbGlwUmVjdHMob3RoZXIpKTsKICAgICB9CiAKICAgICBDbGlwUmVjdHMo
KSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNw
cAppbmRleCA3MmQ0Njg0OWI3ZWE1YTk1Mjk5ZTE0ZDBlZDQ5ZmY2ZGYyY2E3OTU3Li5iN2YwYjRi
NzE4OWI1ZWEyZWY3NGY1OWNhMTBhYzk5NTJkNjQwN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUd0ay5jcHAKQEAgLTYwLDE1ICs2MCwxNSBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IFJlbmRlclRoZW1lR3RrOjpj
cmVhdGUoKQorUmVmPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZUd0azo6Y3JlYXRlKCkKIHsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFJlbmRlclRoZW1lR3RrKCkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFJlbmRlclRoZW1lR3RrKCkpOwogfQogCiBQYXNzUmVmUHRyPFJlbmRlclRoZW1l
PiBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKFBhZ2UqKQogewotICAgIHN0YXRpYyBSZW5kZXJU
aGVtZSogcnQgPSBSZW5kZXJUaGVtZUd0azo6Y3JlYXRlKCkubGVha1JlZigpOwotICAgIHJldHVy
biBydDsKKyAgICBzdGF0aWMgUmVuZGVyVGhlbWUmIHJ0ID0gUmVuZGVyVGhlbWVHdGs6OmNyZWF0
ZSgpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gJnJ0OwogfQogCiBzdGF0aWMgZG91YmxlIGdldFNj
cmVlbkRQSSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4
IDk4NThkZDVhZDY0NGM4MTlkMDVmMjMzMTk3ZmZmYWJhYzgyN2FmNGYuLjI0ZTY4ZGYyMjk1NzVj
NjRjODI4MDhhNjVkYmU3NWE2MGNkNDY5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUd0ay5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgUmVuZGVyVGhlbWVHdGsgZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKKyAgICBzdGF0
aWMgUmVmPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVN
RU5UKQogICAgIC8vIFJldHVybnMgc2l6ZSBvZiBvbmUgc2xpZGVyIHRpY2sgbWFyayBmb3IgYSBo
b3Jpem9udGFsIHRyYWNrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
aAppbmRleCBlZTMyZDc2ZjBhNDIzNzZiNzI0ODE2Zjc0NGYyZGY5OTJkOTQ1M2RlLi5hNDRiNzUw
YWVmNTIwMDljZDIzYmU2YjE5YWZjZTkzZDdhZmMyMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVJT1MuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBHcmFwaGljc0Nv
bnRleHQ7CiAgICAgCiBjbGFzcyBSZW5kZXJUaGVtZUlPUyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJU
aGVtZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0
ZSgpOworICAgIHN0YXRpYyBSZWY8UmVuZGVyVGhlbWU+IGNyZWF0ZSgpOwogCiAgICAgdmlydHVh
bCBpbnQgcG9wdXBJbnRlcm5hbFBhZGRpbmdSaWdodChSZW5kZXJTdHlsZSYpIGNvbnN0IG92ZXJy
aWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXgg
MDFmMjQ3MzM0NjM0MWE1MTY2MzAyOWEyODYxNWZjNzhjOTkwZDI0Yi4uYzVlNzg5YzE1NTE1NzQ3
MjA4ZWIxY2UwYjgxMTEwZTIyOWY0OGUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbQpAQCAtMjkxLDEzICsyOTEsMTMgQEAgUmVuZGVyVGhlbWVJT1M6OlJl
bmRlclRoZW1lSU9TKCkKIAogUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRo
ZW1lRm9yUGFnZShQYWdlKikKIHsKLSAgICBzdGF0aWMgUmVuZGVyVGhlbWUqIHJlbmRlclRoZW1l
ID0gUmVuZGVyVGhlbWVJT1M6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gcmVuZGVy
VGhlbWU7CisgICAgc3RhdGljIFJlbmRlclRoZW1lJiByZW5kZXJUaGVtZSA9IFJlbmRlclRoZW1l
SU9TOjpjcmVhdGUoKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuICZyZW5kZXJUaGVtZTsKIH0KIAot
UGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWVJT1M6OmNyZWF0ZSgpCitSZWY8UmVu
ZGVyVGhlbWU+IFJlbmRlclRoZW1lSU9TOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgUmVuZGVyVGhlbWVJT1MpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRo
ZW1lSU9TKTsKIH0KIAogc3RhdGljIFN0cmluZyYgX2NvbnRlbnRTaXplQ2F0ZWdvcnkoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCAwYWE0MDA3MWNlNmY2
OTVjOWNlYjlkYjJlN2MxM2IwNmM3NWE3Y2YzLi5lMDViODdhNDVkMDUwNWQyYjUwMDZhNTY4ZWZj
MDI4YzAxMmJhZGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
aApAQCAtNDIsNyArNDIsNyBAQCBzdHJ1Y3QgQXR0YWNobWVudExheW91dDsKIAogY2xhc3MgUmVu
ZGVyVGhlbWVNYWMgZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJl
bmRlclRoZW1lPiBjcmVhdGUoKTsKIAogICAgIC8vIEEgbWV0aG9kIGFza2luZyBpZiB0aGUgY29u
dHJvbCBjaGFuZ2VzIGl0cyB0aW50IHdoZW4gdGhlIHdpbmRvdyBoYXMgZm9jdXMgb3Igbm90Lgog
ICAgIHZpcnR1YWwgYm9vbCBjb250cm9sU3VwcG9ydHNUaW50cyhjb25zdCBSZW5kZXJPYmplY3Qm
KSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1h
Yy5tbQppbmRleCBmMDJkZGJlNGY1YWZjOGYzYjU2ODRkODVhNTIyMjE2ZmIzYjVmMDRlLi44YmUz
NjU2YThiNDIzMmI1ZjA1ZGYxMGVlNDY1NGMwNmQwNzQxNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC0yMDEsMTMgKzIwMSwxMyBAQCBlbnVtIHsK
IAogUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQYWdl
KikKIHsKLSAgICBzdGF0aWMgUmVuZGVyVGhlbWUqIHJ0ID0gUmVuZGVyVGhlbWVNYWM6OmNyZWF0
ZSgpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gcnQ7CisgICAgc3RhdGljIFJlbmRlclRoZW1lJiBy
dCA9IFJlbmRlclRoZW1lTWFjOjpjcmVhdGUoKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuICZydDsK
IH0KIAotUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWVNYWM6OmNyZWF0ZSgpCitS
ZWY8UmVuZGVyVGhlbWU+IFJlbmRlclRoZW1lTWFjOjpjcmVhdGUoKQogewotICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgUmVuZGVyVGhlbWVNYWMpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJl
bmRlclRoZW1lTWFjKTsKIH0KIAogUmVuZGVyVGhlbWVNYWM6OlJlbmRlclRoZW1lTWFjKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmkuY3BwCmluZGV4IGE1
NmViNDNhOWZmMmQwY2ZiOGQ0NDQ2YTUxMzk4YzI1MmE5NTk4ZTIuLjY4YzEzMzNhYWJhMGU1ZjZj
YTA4M2Q5Zjg2ZjdjYWRhY2MxMjM2NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZVNhZmFyaS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lU2FmYXJpLmNwcApAQCAtNzMsMjQgKzczLDI0IEBAIGVudW0gewogICAgIGxl
ZnRQYWRkaW5nCiB9OwogCi1QYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZVNhZmFy
aTo6Y3JlYXRlKCkKK1JlZjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWVTYWZhcmk6OmNyZWF0ZSgp
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSZW5kZXJUaGVtZVNhZmFyaSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUmVuZGVyVGhlbWVTYWZhcmkpOwogfQogCiBQYXNzUmVmUHRyPFJl
bmRlclRoZW1lPiBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKFBhZ2UqIHBhZ2UpCiB7Ci0gICAg
c3RhdGljIFJlbmRlclRoZW1lKiBzYWZhcmlUaGVtZSA9IFJlbmRlclRoZW1lU2FmYXJpOjpjcmVh
dGUoKS5sZWFrUmVmKCk7Ci0gICAgc3RhdGljIFJlbmRlclRoZW1lKiB3aW5kb3dzVGhlbWUgPSBS
ZW5kZXJUaGVtZVdpbjo6Y3JlYXRlKCkubGVha1JlZigpOworICAgIHN0YXRpYyBSZW5kZXJUaGVt
ZSYgc2FmYXJpVGhlbWUgPSBSZW5kZXJUaGVtZVNhZmFyaTo6Y3JlYXRlKCkubGVha1JlZigpOwor
ICAgIHN0YXRpYyBSZW5kZXJUaGVtZSYgd2luZG93c1RoZW1lID0gUmVuZGVyVGhlbWVXaW46OmNy
ZWF0ZSgpLmxlYWtSZWYoKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUg
U2V0dGluZ3MgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYnkgV2ViS2l0LCBzbyB3aWxsIHJldHVybiBh
CiAgICAgLy8gcG90ZW50aWFsbHkgd3JvbmcgYW5zd2VyIHRoZSB2ZXJ5IGZpcnN0IHRpbWUgaXQn
cyBjYWxsZWQgKHNlZQogICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjY0OTM+KS4KICAgICBpZiAoU2V0dGluZ3M6OnNob3VsZFBhaW50TmF0aXZlQ29udHJv
bHMoKSkgewogICAgICAgICBSZW5kZXJUaGVtZTo6c2V0Q3VzdG9tRm9jdXNSaW5nQ29sb3Ioc2Fm
YXJpVGhlbWUtPnBsYXRmb3JtRm9jdXNSaW5nQ29sb3IoKSk7Ci0gICAgICAgIHJldHVybiB3aW5k
b3dzVGhlbWU7IC8vIGtlZXAgdGhlIHJlZmVyZW5jZSBvZiBvbmUuCisgICAgICAgIHJldHVybiAm
d2luZG93c1RoZW1lOyAvLyBrZWVwIHRoZSByZWZlcmVuY2Ugb2Ygb25lLgogICAgIH0KLSAgICBy
ZXR1cm4gc2FmYXJpVGhlbWU7IC8vIGtlZXAgdGhlIHJlZmVyZW5jZSBvZiBvbmUuCisgICAgcmV0
dXJuICZzYWZhcmlUaGVtZTsgLy8ga2VlcCB0aGUgcmVmZXJlbmNlIG9mIG9uZS4KIH0KIAogI2lm
ZGVmIERFQlVHX0FMTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lU2FmYXJpLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZh
cmkuaAppbmRleCBlZmQzOWJlYjdiMWIxNDU3YjM5N2FhMDRmMTBkMzRkZWE3N2JkZTQ0Li5iMjgw
MGI4NjZlY2I5NGFjMjFmZTFkMTU3ZjBhMGFjYjJjN2YyNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmkuaApAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBS
ZW5kZXJTdHlsZTsKIAogY2xhc3MgUmVuZGVyVGhlbWVTYWZhcmkgOiBwdWJsaWMgUmVuZGVyVGhl
bWUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUo
KTsKKyAgICBzdGF0aWMgUmVmPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKIAogICAgIC8vIEEgbWV0
aG9kIHRvIG9idGFpbiB0aGUgYmFzZWxpbmUgcG9zaXRpb24gZm9yIGEgImxlYWYiIGNvbnRyb2wu
ICBUaGlzIHdpbGwgb25seSBiZSB1c2VkIGlmIGEgYmFzZWxpbmUKICAgICAvLyBwb3NpdGlvbiBj
YW5ub3QgYmUgZGV0ZXJtaW5lZCBieSBleGFtaW5pbmcgY2hpbGQgY29udGVudC4gQ2hlY2tib3hl
cyBhbmQgcmFkaW8gYnV0dG9ucyBhcmUgZXhhbXBsZXMgb2YKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCmluZGV4IDJiZWU4ZTVkYmY1ZjhkOTdkNDMyYWM0ZGE1
NGZkNjI5MTI4YTk2NDkuLmI4ZTI1MGI1MTQ2ODc1MWU1YjEzZDZhZjk1N2E2ODYxNTJjYzIwY2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcApAQCAtMTgy
LDE1ICsxODIsMTUgQEAgdm9pZCBSZW5kZXJUaGVtZVdpbjo6c2V0V2ViS2l0SXNCZWluZ1VubG9h
ZGVkKCkKICAgICBnV2ViS2l0SXNCZWluZ1VubG9hZGVkID0gdHJ1ZTsKIH0KIAotUGFzc1JlZlB0
cjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWVXaW46OmNyZWF0ZSgpCitSZWY8UmVuZGVyVGhlbWU+
IFJlbmRlclRoZW1lV2luOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVu
ZGVyVGhlbWVXaW4pOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRoZW1lV2luKTsK
IH0KIAogUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQ
YWdlKiBwYWdlKQogewotICAgIHN0YXRpYyBSZW5kZXJUaGVtZSogd2luVGhlbWUgPSBSZW5kZXJU
aGVtZVdpbjo6Y3JlYXRlKCkubGVha1JlZigpOwotICAgIHJldHVybiB3aW5UaGVtZTsKKyAgICBz
dGF0aWMgUmVuZGVyVGhlbWUmIHdpblRoZW1lID0gUmVuZGVyVGhlbWVXaW46OmNyZWF0ZSgpLmxl
YWtSZWYoKTsKKyAgICByZXR1cm4gJndpblRoZW1lOwogfQogCiBSZW5kZXJUaGVtZVdpbjo6UmVu
ZGVyVGhlbWVXaW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRB
dXRvU2l6aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9TaXppbmcuaApp
bmRleCAzM2UzMGU3M2UzYjhiNmUyNjM3OTk3MjFkMjUzNThlOGM5NDUwNTEwLi5mNWZhOTA5YjRm
NWZiMWM3MGNkNjkwNGM2OGJhZmMwZDBkOGUzNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvVGV4dEF1dG9TaXppbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVGV4dEF1dG9TaXppbmcuaApAQCAtNzMsOSArNzMsOSBAQCBzdHJ1Y3QgVGV4dEF1dG9TaXpp
bmdIYXNoIHsKIAogY2xhc3MgVGV4dEF1dG9TaXppbmdWYWx1ZSA6IHB1YmxpYyBSZWZDb3VudGVk
PFRleHRBdXRvU2l6aW5nVmFsdWU+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxU
ZXh0QXV0b1NpemluZ1ZhbHVlPiBjcmVhdGUoKQorICAgIHN0YXRpYyBSZWY8VGV4dEF1dG9TaXpp
bmdWYWx1ZT4gY3JlYXRlKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGV4
dEF1dG9TaXppbmdWYWx1ZSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRleHRBdXRv
U2l6aW5nVmFsdWUpOwogICAgIH0KIAogICAgIHZvaWQgYWRkTm9kZShOb2RlKiwgZmxvYXQgc2l6
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhcGVWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYXBlVmFsdWUuaAppbmRleCA3
ZmE5NjI5YThiOTI3MjEzZmQ1NDY1YzlkMDFhZGFjZGQ2MDFlMDFlLi44YjFjYzg4YzY5OTZkMjJk
MGU5OGRlMjlhZWRlYThiNWE0YTE1NjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU2hhcGVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TaGFwZVZhbHVlLmgKQEAgLTQ2LDE5ICs0NiwxOSBAQCBwdWJsaWM6CiAgICAgICAgIElt
YWdlCiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXBlVmFsdWU+IGNyZWF0ZVNo
YXBlVmFsdWUoUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBzaGFwZSwgQ1NTQm94VHlwZSBjc3NCb3gp
CisgICAgc3RhdGljIFJlZjxTaGFwZVZhbHVlPiBjcmVhdGVTaGFwZVZhbHVlKFBhc3NSZWZQdHI8
QmFzaWNTaGFwZT4gc2hhcGUsIENTU0JveFR5cGUgY3NzQm94KQogICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTaGFwZVZhbHVlKHNoYXBlLCBjc3NCb3gpKTsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU2hhcGVWYWx1ZShzaGFwZSwgY3NzQm94KSk7CiAgICAgfQogCi0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcGVWYWx1ZT4gY3JlYXRlQm94U2hhcGVWYWx1ZShDU1NC
b3hUeXBlIGJveFNoYXBlKQorICAgIHN0YXRpYyBSZWY8U2hhcGVWYWx1ZT4gY3JlYXRlQm94U2hh
cGVWYWx1ZShDU1NCb3hUeXBlIGJveFNoYXBlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBTaGFwZVZhbHVlKGJveFNoYXBlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNoYXBlVmFsdWUoYm94U2hhcGUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTaGFwZVZhbHVlPiBjcmVhdGVJbWFnZVZhbHVlKFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gaW1h
Z2UpCisgICAgc3RhdGljIFJlZjxTaGFwZVZhbHVlPiBjcmVhdGVJbWFnZVZhbHVlKFBhc3NSZWZQ
dHI8U3R5bGVJbWFnZT4gaW1hZ2UpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFNoYXBlVmFsdWUoaW1hZ2UpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcGVW
YWx1ZShpbWFnZSkpOwogICAgIH0KIAogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
Q2FjaGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hl
ZEltYWdlLmgKaW5kZXggZTlhY2Q3ODNiNTFiNTgyZGUxY2M2MTQ0OTlkYzJjNzJiZjFmNWU1Ny4u
NTRjMmI5MDY3Y2M1MjY4NWM0MzBmODYxNGE2MDBlNmQyZTk3YTIxZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oCkBAIC0zNSw3ICsz
NSw3IEBAIGNsYXNzIENhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVDYWNoZWRJbWFnZSBmaW5hbCA6
IHB1YmxpYyBTdHlsZUltYWdlLCBwcml2YXRlIENhY2hlZEltYWdlQ2xpZW50IHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHls
ZUNhY2hlZEltYWdlPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqIGltYWdlKSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgU3R5bGVDYWNoZWRJbWFnZShpbWFnZSkpOyB9CisgICAgc3RhdGljIFJlZjxTdHlsZUNh
Y2hlZEltYWdlPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqIGltYWdlKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IFN0eWxlQ2FjaGVkSW1hZ2UoaW1hZ2UpKTsgfQogICAgIHZpcnR1YWwgflN0eWxlQ2FjaGVk
SW1hZ2UoKTsKIAogICAgIHZpcnR1YWwgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9pbWFnZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2VTZXQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlU2V0LmgKaW5kZXggMGVjMGY4MDA0
NjlkMmU4Y2JmMWY2NWE2ZmM2YmU2MjI5YWIzOTQ4Yy4uNDA3ZTQwMzc0ZWE2ZjUwYWU2MzIwYjRm
YjAxODc5NThjNWJlZDhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlQ2FjaGVkSW1hZ2VTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVDYWNoZWRJbWFnZVNldC5oCkBAIC00Myw5ICs0Myw5IEBAIGNsYXNzIENTU0lt
YWdlU2V0VmFsdWU7CiBjbGFzcyBTdHlsZUNhY2hlZEltYWdlU2V0IGZpbmFsIDogcHVibGljIFN0
eWxlSW1hZ2UsIHByaXZhdGUgQ2FjaGVkSW1hZ2VDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ2FjaGVkSW1h
Z2VTZXQ+IGNyZWF0ZShDYWNoZWRJbWFnZSogaW1hZ2UsIGZsb2F0IGltYWdlU2NhbGVGYWN0b3Is
IENTU0ltYWdlU2V0VmFsdWUqIHZhbHVlKQorICAgIHN0YXRpYyBSZWY8U3R5bGVDYWNoZWRJbWFn
ZVNldD4gY3JlYXRlKENhY2hlZEltYWdlKiBpbWFnZSwgZmxvYXQgaW1hZ2VTY2FsZUZhY3Rvciwg
Q1NTSW1hZ2VTZXRWYWx1ZSogdmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFN0eWxlQ2FjaGVkSW1hZ2VTZXQoaW1hZ2UsIGltYWdlU2NhbGVGYWN0b3IsIHZhbHVlKSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlQ2FjaGVkSW1hZ2VTZXQoaW1hZ2Us
IGltYWdlU2NhbGVGYWN0b3IsIHZhbHVlKSk7CiAgICAgfQogICAgIHZpcnR1YWwgflN0eWxlQ2Fj
aGVkSW1hZ2VTZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlR2VuZXJhdGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUdlbmVyYXRlZEltYWdlLmgKaW5kZXggOTc1YmJmN2ZmMTY4MWEwNGJjOTBmZTBmMWQ2
YzIwNzJjMTcxNmM1OS4uNmIyNTVmM2U1MTVhYTYyYWEwOGNlY2UyNjU2NzAxYzYwZTI5Zjc3MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVk
SW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0
ZWRJbWFnZS5oCkBAIC0zMyw5ICszMyw5IEBAIGNsYXNzIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU7
CiAKIGNsYXNzIFN0eWxlR2VuZXJhdGVkSW1hZ2UgZmluYWwgOiBwdWJsaWMgU3R5bGVJbWFnZSB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVHZW5lcmF0ZWRJbWFnZT4gY3Jl
YXRlKFJlZjxDU1NJbWFnZUdlbmVyYXRvclZhbHVlPiYmIHZhbHVlKQorICAgIHN0YXRpYyBSZWY8
U3R5bGVHZW5lcmF0ZWRJbWFnZT4gY3JlYXRlKFJlZjxDU1NJbWFnZUdlbmVyYXRvclZhbHVlPiYm
IHZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHlsZUdlbmVyYXRl
ZEltYWdlKFdURjo6bW92ZSh2YWx1ZSkpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U3R5bGVHZW5lcmF0ZWRJbWFnZShXVEY6Om1vdmUodmFsdWUpKSk7CiAgICAgfQogCiAgICAgQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZSYgaW1hZ2VWYWx1ZSgpIHsgcmV0dXJuIG1faW1hZ2VHZW5lcmF0
b3JWYWx1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUGVuZGluZ0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQ
ZW5kaW5nSW1hZ2UuaAppbmRleCBiNGQxOTEwMjNiY2UzM2Q0NDYzN2Y5NDEzNTMwNDk0YmFjMjE0
NTYwLi5jMjNkZWY0ZjM4MjcwMWVlMWY3M2FmMTY4M2Y0M2E2MDY3ZmFkNzJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQZW5kaW5nSW1hZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQZW5kaW5nSW1hZ2UuaApAQCAt
NDMsNyArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxlUGVuZGluZ0lt
YWdlIGZpbmFsIDogcHVibGljIFN0eWxlSW1hZ2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFN0eWxlUGVuZGluZ0ltYWdlPiBjcmVhdGUoQ1NTVmFsdWUqIHZhbHVlKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgU3R5bGVQZW5kaW5nSW1hZ2UodmFsdWUpKTsgfQorICAgIHN0YXRpYyBS
ZWY8U3R5bGVQZW5kaW5nSW1hZ2U+IGNyZWF0ZShDU1NWYWx1ZSogdmFsdWUpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU3R5bGVQZW5kaW5nSW1hZ2UodmFsdWUpKTsgfQogCiAgICAgQ1NTSW1hZ2VW
YWx1ZSogY3NzSW1hZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGlzPENTU0ltYWdlVmFsdWU+KG1f
dmFsdWUpID8gZG93bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4obV92YWx1ZSkgOiBudWxscHRyOyB9CiAg
ICAgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSogY3NzSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdmFsdWUgJiYgbV92YWx1ZS0+aXNJbWFnZUdlbmVyYXRvclZhbHVlKCkgPyBz
dGF0aWNfY2FzdDxDU1NJbWFnZUdlbmVyYXRvclZhbHVlKj4obV92YWx1ZSkgOiBudWxscHRyOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSZWZsZWN0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSZWZsZWN0aW9uLmgK
aW5kZXggMzFjZGJiNWUyYjhjMzEzNTE2ODdhNWYzY2MxYTBhOTQ4YTI0MmNlMS4uMzQzOTEzY2E5
ZDYzMzU2ODMwMjkwMzE4NTA2ZTBhNmE4ZTM3YzEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmVmbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZVJlZmxlY3Rpb24uaApAQCAtMzQsOSArMzQsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxlUmVmbGVjdGlvbiA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFN0eWxlUmVmbGVjdGlvbj4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0
eWxlUmVmbGVjdGlvbj4gY3JlYXRlKCkKKyAgICBzdGF0aWMgUmVmPFN0eWxlUmVmbGVjdGlvbj4g
Y3JlYXRlKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVSZWZsZWN0
aW9uKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSZWZsZWN0aW9uKTsKICAg
ICB9CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVSZWZsZWN0aW9uJiBvKSBjb25z
dAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252906</attachid>
            <date>2015-05-11 16:29:18 -0700</date>
            <delta_ts>2015-05-11 17:22:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144872-20150512082757.patch</filename>
            <type>text/plain</type>
            <size>18922</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE2ZjkwMGIyM2JlMWZl
OWVhZDY3NmI0MjZlNGQ0NzRiM2U1NGY3YS4uYjdhOTQxNGVkOGI2YzVjZGMxMGU0OGIzY2VhMTQ5
NjU2MzY5ODdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE1LTA1LTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBQdXJnZSBQYXNz
UmVmUHRyIGluIFdlYkNvcmUvcmVuZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gcmVtb3ZlIFBhc3NSZWZQdHIsIHRoaXMg
cGF0Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBpbiBXZWJDb3JlL3JlbmRlcmluZy4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGU6OmNyZWF0ZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0czo6Y3JlYXRlKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVHdGs6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZTo6dGhlbWVGb3JQYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6dGhl
bWVGb3JQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpjcmVhdGUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjp0aGVt
ZUZvclBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmNyZWF0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lU2FmYXJpOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWU6OnRoZW1lRm9yUGFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lU2Fm
YXJpLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OnRoZW1lRm9yUGFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmg6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRBdXRvU2l6aW5nLmg6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b1NpemluZ1ZhbHVlOjpjcmVhdGUpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TaGFwZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTaGFwZVZhbHVlOjpjcmVh
dGVTaGFwZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXBlVmFsdWU6OmNyZWF0ZUJveFNo
YXBlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcGVWYWx1ZTo6Y3JlYXRlSW1hZ2VWYWx1
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZVNldC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmVmbGVjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZWZsZWN0aW9uOjpjcmVh
dGUpOgorCiAyMDE1LTA1LTExICBQcnplbXlzbGF3IFN6eW1hbnNraSAgPHAuc3p5bWFuc2tpM0Bz
YW1zdW5nLmNvbT4KIAogICAgICAgICBbV2ViR0xdIFVubmVjZXNzYXJ5IGNvbmRpdGlvbiBjaGVj
ayBpbiB0aGUgd2hpbGUgbG9vcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0hpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDY3OWJhMjI3YTkyNWE4ZTYxMTFhZmY1MGI5
NGY4OWUzOGM0YTdhYzQuLmE3MjBjNjk4ZDZkNDFlOGI4OGZiOWIxOTk5N2JkODk0NWYzNDJjMzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0aW5nVHJhbnNmb3Jt
U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdGluZ1RyYW5zZm9y
bVN0YXRlLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNs
dWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MiwxNCArNDIsMTQg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gZGlmZmVyZW50bHkgdGhhbiBtb3ZlKCkpIHNvIGNh
cmUgaGFzIHRvIGJlIHRha2VuIHdoZW4gdGhpcyBpcyBkb25lLgogY2xhc3MgSGl0VGVzdGluZ1Ry
YW5zZm9ybVN0YXRlIDogcHVibGljIFJlZkNvdW50ZWQ8SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRl
PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SGl0VGVzdGluZ1RyYW5zZm9ybVN0
YXRlPiBjcmVhdGUoY29uc3QgRmxvYXRQb2ludCYgcCwgY29uc3QgRmxvYXRRdWFkJiBxdWFkLCBj
b25zdCBGbG9hdFF1YWQmIGFyZWEpCisgICAgc3RhdGljIFJlZjxIaXRUZXN0aW5nVHJhbnNmb3Jt
U3RhdGU+IGNyZWF0ZShjb25zdCBGbG9hdFBvaW50JiBwLCBjb25zdCBGbG9hdFF1YWQmIHF1YWQs
IGNvbnN0IEZsb2F0UXVhZCYgYXJlYSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKHAsIHF1YWQsIGFyZWEpKTsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKHAsIHF1YWQsIGFyZWEp
KTsKICAgICB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGU+IGNyZWF0ZShjb25zdCBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUmIG90aGVyKQorICAgIHN0
YXRpYyBSZWY8SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlPiBjcmVhdGUoY29uc3QgSGl0VGVzdGlu
Z1RyYW5zZm9ybVN0YXRlJiBvdGhlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKG90aGVyKSk7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZShvdGhlcikpOwogICAgIH0KIAogICAg
IGVudW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRyYW5zZm9ybSwgQWNjdW11bGF0
ZVRyYW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5k
ZXggM2U1ZTI2MTNmNmNiYzcxYWIwZGIwMmRmNDEzMzc5NmY1ZThhNjI0Mi4uNjk2Yzc2NzI0MWIz
ODI4NDc0YmFiMTIyMWQ4ZTYzNzJhM2JiYzU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC0xMzcsMTQgKzEzNywxNCBAQCB1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOwogY2xhc3MgQ2xpcFJlY3RzIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwUmVjdHM+IGNyZWF0ZSgpCisgICAg
c3RhdGljIFJlZjxDbGlwUmVjdHM+IGNyZWF0ZSgpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IENsaXBSZWN0cyk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENsaXBS
ZWN0cyk7CiAgICAgfQogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcFJlY3RzPiBjcmVhdGUo
Y29uc3QgQ2xpcFJlY3RzJiBvdGhlcikKKyAgICBzdGF0aWMgUmVmPENsaXBSZWN0cz4gY3JlYXRl
KGNvbnN0IENsaXBSZWN0cyYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IENsaXBSZWN0cyhvdGhlcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDbGlw
UmVjdHMob3RoZXIpKTsKICAgICB9CiAKICAgICBDbGlwUmVjdHMoKSA9IGRlZmF1bHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAppbmRleCA3MmQ0Njg0OWI3
ZWE1YTk1Mjk5ZTE0ZDBlZDQ5ZmY2ZGYyY2E3OTU3Li5iN2YwYjRiNzE4OWI1ZWEyZWY3NGY1OWNh
MTBhYzk5NTJkNjQwN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUd0ay5jcHAKQEAgLTYwLDE1ICs2MCwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBh
c3NSZWZQdHI8UmVuZGVyVGhlbWU+IFJlbmRlclRoZW1lR3RrOjpjcmVhdGUoKQorUmVmPFJlbmRl
clRoZW1lPiBSZW5kZXJUaGVtZUd0azo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFJlbmRlclRoZW1lR3RrKCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRo
ZW1lR3RrKCkpOwogfQogCiBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZTo6dGhl
bWVGb3JQYWdlKFBhZ2UqKQogewotICAgIHN0YXRpYyBSZW5kZXJUaGVtZSogcnQgPSBSZW5kZXJU
aGVtZUd0azo6Y3JlYXRlKCkubGVha1JlZigpOwotICAgIHJldHVybiBydDsKKyAgICBzdGF0aWMg
UmVuZGVyVGhlbWUmIHJ0ID0gUmVuZGVyVGhlbWVHdGs6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKKyAg
ICByZXR1cm4gJnJ0OwogfQogCiBzdGF0aWMgZG91YmxlIGdldFNjcmVlbkRQSSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDk4NThkZDVhZDY0NGM4MTlk
MDVmMjMzMTk3ZmZmYWJhYzgyN2FmNGYuLjI0ZTY4ZGYyMjk1NzVjNjRjODI4MDhhNjVkYmU3NWE2
MGNkNDY5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCkBA
IC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGhlbWVH
dGsgZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJlbmRlclRoZW1l
PiBjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIC8vIFJldHVy
bnMgc2l6ZSBvZiBvbmUgc2xpZGVyIHRpY2sgbWFyayBmb3IgYSBob3Jpem9udGFsIHRyYWNrLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBlZTMyZDc2ZjBh
NDIzNzZiNzI0ODE2Zjc0NGYyZGY5OTJkOTQ1M2RlLi5hNDRiNzUwYWVmNTIwMDljZDIzYmU2YjE5
YWZjZTkzZDdhZmMyMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiBjbGFz
cyBSZW5kZXJUaGVtZUlPUyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJUaGVtZSB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBS
ZWY8UmVuZGVyVGhlbWU+IGNyZWF0ZSgpOwogCiAgICAgdmlydHVhbCBpbnQgcG9wdXBJbnRlcm5h
bFBhZGRpbmdSaWdodChSZW5kZXJTdHlsZSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggMDFmMjQ3MzM0NjM0MWE1MTY2
MzAyOWEyODYxNWZjNzhjOTkwZDI0Yi4uYzVlNzg5YzE1NTE1NzQ3MjA4ZWIxY2UwYjgxMTEwZTIy
OWY0OGUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpA
QCAtMjkxLDEzICsyOTEsMTMgQEAgUmVuZGVyVGhlbWVJT1M6OlJlbmRlclRoZW1lSU9TKCkKIAog
UGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQYWdlKikK
IHsKLSAgICBzdGF0aWMgUmVuZGVyVGhlbWUqIHJlbmRlclRoZW1lID0gUmVuZGVyVGhlbWVJT1M6
OmNyZWF0ZSgpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gcmVuZGVyVGhlbWU7CisgICAgc3RhdGlj
IFJlbmRlclRoZW1lJiByZW5kZXJUaGVtZSA9IFJlbmRlclRoZW1lSU9TOjpjcmVhdGUoKS5sZWFr
UmVmKCk7CisgICAgcmV0dXJuICZyZW5kZXJUaGVtZTsKIH0KIAotUGFzc1JlZlB0cjxSZW5kZXJU
aGVtZT4gUmVuZGVyVGhlbWVJT1M6OmNyZWF0ZSgpCitSZWY8UmVuZGVyVGhlbWU+IFJlbmRlclRo
ZW1lSU9TOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVuZGVyVGhlbWVJ
T1MpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRoZW1lSU9TKTsKIH0KIAogc3Rh
dGljIFN0cmluZyYgX2NvbnRlbnRTaXplQ2F0ZWdvcnkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCAwYWE0MDA3MWNlNmY2OTVjOWNlYjlkYjJlN2MxM2Iw
NmM3NWE3Y2YzLi5lMDViODdhNDVkMDUwNWQyYjUwMDZhNTY4ZWZjMDI4YzAxMmJhZGM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaApAQCAtNDIsNyArNDIsNyBA
QCBzdHJ1Y3QgQXR0YWNobWVudExheW91dDsKIAogY2xhc3MgUmVuZGVyVGhlbWVNYWMgZmluYWwg
OiBwdWJsaWMgUmVuZGVyVGhlbWUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJl
bmRlclRoZW1lPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJlbmRlclRoZW1lPiBjcmVhdGUo
KTsKIAogICAgIC8vIEEgbWV0aG9kIGFza2luZyBpZiB0aGUgY29udHJvbCBjaGFuZ2VzIGl0cyB0
aW50IHdoZW4gdGhlIHdpbmRvdyBoYXMgZm9jdXMgb3Igbm90LgogICAgIHZpcnR1YWwgYm9vbCBj
b250cm9sU3VwcG9ydHNUaW50cyhjb25zdCBSZW5kZXJPYmplY3QmKSBjb25zdCBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBmMDJkZGJl
NGY1YWZjOGYzYjU2ODRkODVhNTIyMjE2ZmIzYjVmMDRlLi44YmUzNjU2YThiNDIzMmI1ZjA1ZGYx
MGVlNDY1NGMwNmQwNzQxNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tCkBAIC0yMDEsMTMgKzIwMSwxMyBAQCBlbnVtIHsKIAogUGFzc1JlZlB0cjxSZW5k
ZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQYWdlKikKIHsKLSAgICBzdGF0aWMg
UmVuZGVyVGhlbWUqIHJ0ID0gUmVuZGVyVGhlbWVNYWM6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKLSAg
ICByZXR1cm4gcnQ7CisgICAgc3RhdGljIFJlbmRlclRoZW1lJiBydCA9IFJlbmRlclRoZW1lTWFj
OjpjcmVhdGUoKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuICZydDsKIH0KIAotUGFzc1JlZlB0cjxS
ZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWVNYWM6OmNyZWF0ZSgpCitSZWY8UmVuZGVyVGhlbWU+IFJl
bmRlclRoZW1lTWFjOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVuZGVy
VGhlbWVNYWMpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRoZW1lTWFjKTsKIH0K
IAogUmVuZGVyVGhlbWVNYWM6OlJlbmRlclRoZW1lTWFjKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmkuY3BwCmluZGV4IGE1NmViNDNhOWZmMmQwY2ZiOGQ0
NDQ2YTUxMzk4YzI1MmE5NTk4ZTIuLjY4YzEzMzNhYWJhMGU1ZjZjYTA4M2Q5Zjg2ZjdjYWRhY2Mx
MjM2NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNh
ZmFyaS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJp
LmNwcApAQCAtNzMsMjQgKzczLDI0IEBAIGVudW0gewogICAgIGxlZnRQYWRkaW5nCiB9OwogCi1Q
YXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZVNhZmFyaTo6Y3JlYXRlKCkKK1JlZjxS
ZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWVTYWZhcmk6OmNyZWF0ZSgpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBSZW5kZXJUaGVtZVNhZmFyaSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
UmVuZGVyVGhlbWVTYWZhcmkpOwogfQogCiBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJU
aGVtZTo6dGhlbWVGb3JQYWdlKFBhZ2UqIHBhZ2UpCiB7Ci0gICAgc3RhdGljIFJlbmRlclRoZW1l
KiBzYWZhcmlUaGVtZSA9IFJlbmRlclRoZW1lU2FmYXJpOjpjcmVhdGUoKS5sZWFrUmVmKCk7Ci0g
ICAgc3RhdGljIFJlbmRlclRoZW1lKiB3aW5kb3dzVGhlbWUgPSBSZW5kZXJUaGVtZVdpbjo6Y3Jl
YXRlKCkubGVha1JlZigpOworICAgIHN0YXRpYyBSZW5kZXJUaGVtZSYgc2FmYXJpVGhlbWUgPSBS
ZW5kZXJUaGVtZVNhZmFyaTo6Y3JlYXRlKCkubGVha1JlZigpOworICAgIHN0YXRpYyBSZW5kZXJU
aGVtZSYgd2luZG93c1RoZW1lID0gUmVuZGVyVGhlbWVXaW46OmNyZWF0ZSgpLmxlYWtSZWYoKTsK
IAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgU2V0dGluZ3MgaGFzIGJlZW4g
aW5pdGlhbGl6ZWQgYnkgV2ViS2l0LCBzbyB3aWxsIHJldHVybiBhCiAgICAgLy8gcG90ZW50aWFs
bHkgd3JvbmcgYW5zd2VyIHRoZSB2ZXJ5IGZpcnN0IHRpbWUgaXQncyBjYWxsZWQgKHNlZQogICAg
IC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY0OTM+KS4KICAg
ICBpZiAoU2V0dGluZ3M6OnNob3VsZFBhaW50TmF0aXZlQ29udHJvbHMoKSkgewogICAgICAgICBS
ZW5kZXJUaGVtZTo6c2V0Q3VzdG9tRm9jdXNSaW5nQ29sb3Ioc2FmYXJpVGhlbWUtPnBsYXRmb3Jt
Rm9jdXNSaW5nQ29sb3IoKSk7Ci0gICAgICAgIHJldHVybiB3aW5kb3dzVGhlbWU7IC8vIGtlZXAg
dGhlIHJlZmVyZW5jZSBvZiBvbmUuCisgICAgICAgIHJldHVybiAmd2luZG93c1RoZW1lOyAvLyBr
ZWVwIHRoZSByZWZlcmVuY2Ugb2Ygb25lLgogICAgIH0KLSAgICByZXR1cm4gc2FmYXJpVGhlbWU7
IC8vIGtlZXAgdGhlIHJlZmVyZW5jZSBvZiBvbmUuCisgICAgcmV0dXJuICZzYWZhcmlUaGVtZTsg
Ly8ga2VlcCB0aGUgcmVmZXJlbmNlIG9mIG9uZS4KIH0KIAogI2lmZGVmIERFQlVHX0FMTApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmkuaAppbmRleCBlZmQzOWJl
YjdiMWIxNDU3YjM5N2FhMDRmMTBkMzRkZWE3N2JkZTQ0Li5iMjgwMGI4NjZlY2I5NGFjMjFmZTFk
MTU3ZjBhMGFjYjJjN2YyNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVTYWZhcmkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVTYWZhcmkuaApAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIAogY2xh
c3MgUmVuZGVyVGhlbWVTYWZhcmkgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVm
PFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKIAogICAgIC8vIEEgbWV0aG9kIHRvIG9idGFpbiB0aGUg
YmFzZWxpbmUgcG9zaXRpb24gZm9yIGEgImxlYWYiIGNvbnRyb2wuICBUaGlzIHdpbGwgb25seSBi
ZSB1c2VkIGlmIGEgYmFzZWxpbmUKICAgICAvLyBwb3NpdGlvbiBjYW5ub3QgYmUgZGV0ZXJtaW5l
ZCBieSBleGFtaW5pbmcgY2hpbGQgY29udGVudC4gQ2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9u
cyBhcmUgZXhhbXBsZXMgb2YKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVX
aW4uY3BwCmluZGV4IDJiZWU4ZTVkYmY1ZjhkOTdkNDMyYWM0ZGE1NGZkNjI5MTI4YTk2NDkuLjEw
ODIxZjE1ZTZlMWRkOGI4MWIwNTEzNjMxY2U3ZjA3NzgxMjg3YTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcApAQCAtMTgyLDE1ICsxODIsMTUgQEAgdm9p
ZCBSZW5kZXJUaGVtZVdpbjo6c2V0V2ViS2l0SXNCZWluZ1VubG9hZGVkKCkKICAgICBnV2ViS2l0
SXNCZWluZ1VubG9hZGVkID0gdHJ1ZTsKIH0KIAotUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVu
ZGVyVGhlbWVXaW46OmNyZWF0ZSgpCitSZWY8UmVuZGVyVGhlbWU+IFJlbmRlclRoZW1lV2luOjpj
cmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVuZGVyVGhlbWVXaW4pOworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRoZW1lV2luKTsKIH0KIAotUGFzc1JlZlB0cjxS
ZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQYWdlKiBwYWdlKQorUmVmPFJl
bmRlclRoZW1lPiBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKFBhZ2UqIHBhZ2UpCiB7Ci0gICAg
c3RhdGljIFJlbmRlclRoZW1lKiB3aW5UaGVtZSA9IFJlbmRlclRoZW1lV2luOjpjcmVhdGUoKS5s
ZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHdpblRoZW1lOworICAgIHN0YXRpYyBSZW5kZXJUaGVtZSYg
d2luVGhlbWUgPSBSZW5kZXJUaGVtZVdpbjo6Y3JlYXRlKCkubGVha1JlZigpOworICAgIHJldHVy
biAmd2luVGhlbWU7CiB9CiAKIFJlbmRlclRoZW1lV2luOjpSZW5kZXJUaGVtZVdpbigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5oCmluZGV4IDRlMTk0OTg3MDg3ZWIz
ZTJkOTQwOGNlMTM3OWIxNDFhMDIyNGRkM2UuLmQxNjJkODI2ZTk2MjZlYjRlOWIwMmYzOGY1NjQw
MGMxYTE1OTExZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5o
CkBAIC00OSw3ICs0OSw3IEBAIHN0cnVjdCBUaGVtZURhdGEgewogCiBjbGFzcyBSZW5kZXJUaGVt
ZVdpbiBmaW5hbDogcHVibGljIFJlbmRlclRoZW1lIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxSZW5kZXJUaGVtZT4gY3JlYXRlKCk7CisgICAgc3RhdGljIFJlZjxSZW5kZXJUaGVt
ZT4gY3JlYXRlKCk7CiAKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYURlZmF1bHRTdHlsZVNoZWV0
KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFRdWlya3NTdHlsZVNoZWV0KCkg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9T
aXppbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b1NpemluZy5oCmluZGV4
IDMzZTMwZTczZTNiOGI2ZTI2Mzc5OTcyMWQyNTM1OGU4Yzk0NTA1MTAuLmY1ZmE5MDliNGY1ZmIx
YzcwY2Q2OTA0YzY4YmFmYzBkMGQ4ZTM3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0QXV0b1NpemluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9U
ZXh0QXV0b1NpemluZy5oCkBAIC03Myw5ICs3Myw5IEBAIHN0cnVjdCBUZXh0QXV0b1NpemluZ0hh
c2ggewogCiBjbGFzcyBUZXh0QXV0b1NpemluZ1ZhbHVlIDogcHVibGljIFJlZkNvdW50ZWQ8VGV4
dEF1dG9TaXppbmdWYWx1ZT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRleHRB
dXRvU2l6aW5nVmFsdWU+IGNyZWF0ZSgpCisgICAgc3RhdGljIFJlZjxUZXh0QXV0b1NpemluZ1Zh
bHVlPiBjcmVhdGUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0QXV0
b1NpemluZ1ZhbHVlKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVGV4dEF1dG9TaXpp
bmdWYWx1ZSk7CiAgICAgfQogCiAgICAgdm9pZCBhZGROb2RlKE5vZGUqLCBmbG9hdCBzaXplKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFwZVZhbHVlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhcGVWYWx1ZS5oCmluZGV4IDdmYTk2
MjlhOGI5MjcyMTNmZDU0NjVjOWQwMWFkYWNkZDYwMWUwMWUuLjhiMWNjODhjNjk5NmQyMmQwZTk4
ZGUyOWFlZGVhOGI1YTRhMTU2MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TaGFwZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1NoYXBlVmFsdWUuaApAQCAtNDYsMTkgKzQ2LDE5IEBAIHB1YmxpYzoKICAgICAgICAgSW1hZ2UK
ICAgICB9OwogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcGVWYWx1ZT4gY3JlYXRlU2hhcGVW
YWx1ZShQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IHNoYXBlLCBDU1NCb3hUeXBlIGNzc0JveCkKKyAg
ICBzdGF0aWMgUmVmPFNoYXBlVmFsdWU+IGNyZWF0ZVNoYXBlVmFsdWUoUGFzc1JlZlB0cjxCYXNp
Y1NoYXBlPiBzaGFwZSwgQ1NTQm94VHlwZSBjc3NCb3gpCiAgICAgewotICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFNoYXBlVmFsdWUoc2hhcGUsIGNzc0JveCkpOworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTaGFwZVZhbHVlKHNoYXBlLCBjc3NCb3gpKTsKICAgICB9CiAKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTaGFwZVZhbHVlPiBjcmVhdGVCb3hTaGFwZVZhbHVlKENTU0JveFR5
cGUgYm94U2hhcGUpCisgICAgc3RhdGljIFJlZjxTaGFwZVZhbHVlPiBjcmVhdGVCb3hTaGFwZVZh
bHVlKENTU0JveFR5cGUgYm94U2hhcGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNoYXBlVmFsdWUoYm94U2hhcGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2hhcGVWYWx1ZShib3hTaGFwZSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNo
YXBlVmFsdWU+IGNyZWF0ZUltYWdlVmFsdWUoUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBpbWFnZSkK
KyAgICBzdGF0aWMgUmVmPFNoYXBlVmFsdWU+IGNyZWF0ZUltYWdlVmFsdWUoUGFzc1JlZlB0cjxT
dHlsZUltYWdlPiBpbWFnZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2hh
cGVWYWx1ZShpbWFnZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTaGFwZVZhbHVl
KGltYWdlKSk7CiAgICAgfQogCiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBl
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNo
ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1h
Z2UuaAppbmRleCBlOWFjZDc4M2I1MWI1ODJkZTFjYzYxNDQ5OWRjMmM3MmJmMWY1ZTU3Li41NGMy
YjkwNjdjYzUyNjg1YzQzMGY4NjE0YTYwMGU2ZDJlOTdhMjFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlLmgKQEAgLTM1LDcgKzM1LDcg
QEAgY2xhc3MgQ2FjaGVkSW1hZ2U7CiBjbGFzcyBTdHlsZUNhY2hlZEltYWdlIGZpbmFsIDogcHVi
bGljIFN0eWxlSW1hZ2UsIHByaXZhdGUgQ2FjaGVkSW1hZ2VDbGllbnQgewogICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ2Fj
aGVkSW1hZ2U+IGNyZWF0ZShDYWNoZWRJbWFnZSogaW1hZ2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTdHlsZUNhY2hlZEltYWdlKGltYWdlKSk7IH0KKyAgICBzdGF0aWMgUmVmPFN0eWxlQ2FjaGVk
SW1hZ2U+IGNyZWF0ZShDYWNoZWRJbWFnZSogaW1hZ2UpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U3R5bGVDYWNoZWRJbWFnZShpbWFnZSkpOyB9CiAgICAgdmlydHVhbCB+U3R5bGVDYWNoZWRJbWFn
ZSgpOwogCiAgICAgdmlydHVhbCBDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX2ltYWdlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZVNldC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2VTZXQuaAppbmRleCAwZWMwZjgwMDQ2OWQy
ZThjYmYxZjY1YTZmYzZiZTYyMjlhYjM5NDhjLi40MDdlNDAzNzRlYTZmNTBhZTYzMjBiNGZiMDE4
Nzk1OGM1YmVkOGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVDYWNoZWRJbWFnZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUNhY2hlZEltYWdlU2V0LmgKQEAgLTQzLDkgKzQzLDkgQEAgY2xhc3MgQ1NTSW1hZ2VT
ZXRWYWx1ZTsKIGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2VTZXQgZmluYWwgOiBwdWJsaWMgU3R5bGVJ
bWFnZSwgcHJpdmF0ZSBDYWNoZWRJbWFnZUNsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVDYWNoZWRJbWFnZVNl
dD4gY3JlYXRlKENhY2hlZEltYWdlKiBpbWFnZSwgZmxvYXQgaW1hZ2VTY2FsZUZhY3RvciwgQ1NT
SW1hZ2VTZXRWYWx1ZSogdmFsdWUpCisgICAgc3RhdGljIFJlZjxTdHlsZUNhY2hlZEltYWdlU2V0
PiBjcmVhdGUoQ2FjaGVkSW1hZ2UqIGltYWdlLCBmbG9hdCBpbWFnZVNjYWxlRmFjdG9yLCBDU1NJ
bWFnZVNldFZhbHVlKiB2YWx1ZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
U3R5bGVDYWNoZWRJbWFnZVNldChpbWFnZSwgaW1hZ2VTY2FsZUZhY3RvciwgdmFsdWUpKTsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVDYWNoZWRJbWFnZVNldChpbWFnZSwgaW1h
Z2VTY2FsZUZhY3RvciwgdmFsdWUpKTsKICAgICB9CiAgICAgdmlydHVhbCB+U3R5bGVDYWNoZWRJ
bWFnZVNldCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlR2VuZXJhdGVkSW1hZ2UuaAppbmRleCA5NzViYmY3ZmYxNjgxYTA0YmM5MGZlMGYxZDZjMjA3
MmMxNzE2YzU5Li42YjI1NWYzZTUxNWFhNjJhYTA4Y2VjZTI2NTY3MDFjNjBlMjlmNzcwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZElt
YWdlLmgKQEAgLTMzLDkgKzMzLDkgQEAgY2xhc3MgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTsKIAog
Y2xhc3MgU3R5bGVHZW5lcmF0ZWRJbWFnZSBmaW5hbCA6IHB1YmxpYyBTdHlsZUltYWdlIHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZUdlbmVyYXRlZEltYWdlPiBjcmVhdGUo
UmVmPENTU0ltYWdlR2VuZXJhdG9yVmFsdWU+JiYgdmFsdWUpCisgICAgc3RhdGljIFJlZjxTdHls
ZUdlbmVyYXRlZEltYWdlPiBjcmVhdGUoUmVmPENTU0ltYWdlR2VuZXJhdG9yVmFsdWU+JiYgdmFs
dWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlR2VuZXJhdGVkSW1h
Z2UoV1RGOjptb3ZlKHZhbHVlKSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHls
ZUdlbmVyYXRlZEltYWdlKFdURjo6bW92ZSh2YWx1ZSkpKTsKICAgICB9CiAKICAgICBDU1NJbWFn
ZUdlbmVyYXRvclZhbHVlJiBpbWFnZVZhbHVlKCkgeyByZXR1cm4gbV9pbWFnZUdlbmVyYXRvclZh
bHVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQ
ZW5kaW5nSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVBlbmRp
bmdJbWFnZS5oCmluZGV4IGI0ZDE5MTAyM2JjZTMzZDQ0NjM3Zjk0MTM1MzA0OTRiYWMyMTQ1NjAu
LmMyM2RlZjRmMzgyNzAxZWUxZjczYWYxNjgzZjQzYTYwNjdmYWQ3MmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVBlbmRpbmdJbWFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVBlbmRpbmdJbWFnZS5oCkBAIC00Myw3
ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVQZW5kaW5nSW1hZ2Ug
ZmluYWwgOiBwdWJsaWMgU3R5bGVJbWFnZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8U3R5bGVQZW5kaW5nSW1hZ2U+IGNyZWF0ZShDU1NWYWx1ZSogdmFsdWUpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTdHlsZVBlbmRpbmdJbWFnZSh2YWx1ZSkpOyB9CisgICAgc3RhdGljIFJlZjxT
dHlsZVBlbmRpbmdJbWFnZT4gY3JlYXRlKENTU1ZhbHVlKiB2YWx1ZSkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTdHlsZVBlbmRpbmdJbWFnZSh2YWx1ZSkpOyB9CiAKICAgICBDU1NJbWFnZVZhbHVl
KiBjc3NJbWFnZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gaXM8Q1NTSW1hZ2VWYWx1ZT4obV92YWx1
ZSkgPyBkb3duY2FzdDxDU1NJbWFnZVZhbHVlPihtX3ZhbHVlKSA6IG51bGxwdHI7IH0KICAgICBD
U1NJbWFnZUdlbmVyYXRvclZhbHVlKiBjc3NJbWFnZUdlbmVyYXRvclZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV92YWx1ZSAmJiBtX3ZhbHVlLT5pc0ltYWdlR2VuZXJhdG9yVmFsdWUoKSA/IHN0YXRp
Y19jYXN0PENTU0ltYWdlR2VuZXJhdG9yVmFsdWUqPihtX3ZhbHVlKSA6IG51bGxwdHI7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJlZmxlY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJlZmxlY3Rpb24uaAppbmRl
eCAzMWNkYmI1ZTJiOGMzMTM1MTY4N2E1ZjNjYzFhMGE5NDhhMjQyY2UxLi4zNDM5MTNjYTlkNjMz
NTY4MzAyOTAzMTg1MDZlMGE2YThlMzdjMTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSZWZsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmVmbGVjdGlvbi5oCkBAIC0zNCw5ICszNCw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVSZWZsZWN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8
U3R5bGVSZWZsZWN0aW9uPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVS
ZWZsZWN0aW9uPiBjcmVhdGUoKQorICAgIHN0YXRpYyBSZWY8U3R5bGVSZWZsZWN0aW9uPiBjcmVh
dGUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHlsZVJlZmxlY3Rpb24p
OworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJlZmxlY3Rpb24pOwogICAgIH0K
IAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTdHlsZVJlZmxlY3Rpb24mIG8pIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252911</attachid>
            <date>2015-05-11 17:22:50 -0700</date>
            <delta_ts>2015-05-11 18:17:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144872-20150512092140.patch</filename>
            <type>text/plain</type>
            <size>18863</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdiODUyZjc5M2IxNWQ4
M2QwZmU1Zjc2ODViMDU0ZWRjNzdmYWMzYy4uMGRlYWE3ZjkxZTFiODZkMzJlOTZiM2FmOTY0MzY2
ZTA1ZmU1ZjQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE1LTA1LTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBQdXJnZSBQYXNz
UmVmUHRyIGluIFdlYkNvcmUvcmVuZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gcmVtb3ZlIFBhc3NSZWZQdHIsIHRoaXMg
cGF0Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBpbiBXZWJDb3JlL3JlbmRlcmluZy4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAg
KiByZW5kZXJpbmcvSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGU6OmNyZWF0ZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBSZWN0czo6Y3JlYXRlKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVHdGs6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZTo6dGhlbWVGb3JQYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6dGhl
bWVGb3JQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpjcmVhdGUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjp0aGVt
ZUZvclBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmNyZWF0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lU2FmYXJpOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWU6OnRoZW1lRm9yUGFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lU2Fm
YXJpLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OnRoZW1lRm9yUGFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmg6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRBdXRvU2l6aW5nLmg6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b1NpemluZ1ZhbHVlOjpjcmVhdGUpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TaGFwZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTaGFwZVZhbHVlOjpjcmVh
dGVTaGFwZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXBlVmFsdWU6OmNyZWF0ZUJveFNo
YXBlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcGVWYWx1ZTo6Y3JlYXRlSW1hZ2VWYWx1
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZVNldC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZEltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUGVuZGluZ0ltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmVmbGVjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZWZsZWN0aW9uOjpjcmVh
dGUpOgorCiAyMDE1LTA1LTExICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4K
IAogICAgICAgICBBWDogW0FUS10gQWx3YXlzIGluY2x1ZGUgcm93cyBpbiB0aGUgdHJlZSBvZiBh
Y2Nlc3NpYmxlIHRhYmxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRl
c3RpbmdUcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDY3OWJhMjI3YTkyNWE4ZTYxMTFhZmY1MGI5NGY4
OWUzOGM0YTdhYzQuLmE3MjBjNjk4ZDZkNDFlOGI4OGZiOWIxOTk5N2JkODk0NWYzNDJjMzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdGluZ1RyYW5zZm9ybVN0
YXRlLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRl
ICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MiwxNCArNDIsMTQgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogLy8gZGlmZmVyZW50bHkgdGhhbiBtb3ZlKCkpIHNvIGNhcmUg
aGFzIHRvIGJlIHRha2VuIHdoZW4gdGhpcyBpcyBkb25lLgogY2xhc3MgSGl0VGVzdGluZ1RyYW5z
Zm9ybVN0YXRlIDogcHVibGljIFJlZkNvdW50ZWQ8SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRl
PiBjcmVhdGUoY29uc3QgRmxvYXRQb2ludCYgcCwgY29uc3QgRmxvYXRRdWFkJiBxdWFkLCBjb25z
dCBGbG9hdFF1YWQmIGFyZWEpCisgICAgc3RhdGljIFJlZjxIaXRUZXN0aW5nVHJhbnNmb3JtU3Rh
dGU+IGNyZWF0ZShjb25zdCBGbG9hdFBvaW50JiBwLCBjb25zdCBGbG9hdFF1YWQmIHF1YWQsIGNv
bnN0IEZsb2F0UXVhZCYgYXJlYSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKHAsIHF1YWQsIGFyZWEpKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKHAsIHF1YWQsIGFyZWEpKTsK
ICAgICB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGU+
IGNyZWF0ZShjb25zdCBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUmIG90aGVyKQorICAgIHN0YXRp
YyBSZWY8SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlPiBjcmVhdGUoY29uc3QgSGl0VGVzdGluZ1Ry
YW5zZm9ybVN0YXRlJiBvdGhlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKG90aGVyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZShvdGhlcikpOwogICAgIH0KIAogICAgIGVu
dW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRyYW5zZm9ybSwgQWNjdW11bGF0ZVRy
YW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXgg
M2U1ZTI2MTNmNmNiYzcxYWIwZGIwMmRmNDEzMzc5NmY1ZThhNjI0Mi4uNjk2Yzc2NzI0MWIzODI4
NDc0YmFiMTIyMWQ4ZTYzNzJhM2JiYzU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCkBAIC0xMzcsMTQgKzEzNywxNCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwogY2xhc3MgQ2xpcFJlY3RzIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwUmVjdHM+IGNyZWF0ZSgpCisgICAgc3Rh
dGljIFJlZjxDbGlwUmVjdHM+IGNyZWF0ZSgpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IENsaXBSZWN0cyk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENsaXBSZWN0
cyk7CiAgICAgfQogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcFJlY3RzPiBjcmVhdGUoY29u
c3QgQ2xpcFJlY3RzJiBvdGhlcikKKyAgICBzdGF0aWMgUmVmPENsaXBSZWN0cz4gY3JlYXRlKGNv
bnN0IENsaXBSZWN0cyYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IENsaXBSZWN0cyhvdGhlcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDbGlwUmVj
dHMob3RoZXIpKTsKICAgICB9CiAKICAgICBDbGlwUmVjdHMoKSA9IGRlZmF1bHQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAppbmRleCA3MmQ0Njg0OWI3ZWE1
YTk1Mjk5ZTE0ZDBlZDQ5ZmY2ZGYyY2E3OTU3Li5iN2YwYjRiNzE4OWI1ZWEyZWY3NGY1OWNhMTBh
Yzk5NTJkNjQwN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0
ay5jcHAKQEAgLTYwLDE1ICs2MCwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NS
ZWZQdHI8UmVuZGVyVGhlbWU+IFJlbmRlclRoZW1lR3RrOjpjcmVhdGUoKQorUmVmPFJlbmRlclRo
ZW1lPiBSZW5kZXJUaGVtZUd0azo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFJlbmRlclRoZW1lR3RrKCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRoZW1l
R3RrKCkpOwogfQogCiBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZTo6dGhlbWVG
b3JQYWdlKFBhZ2UqKQogewotICAgIHN0YXRpYyBSZW5kZXJUaGVtZSogcnQgPSBSZW5kZXJUaGVt
ZUd0azo6Y3JlYXRlKCkubGVha1JlZigpOwotICAgIHJldHVybiBydDsKKyAgICBzdGF0aWMgUmVu
ZGVyVGhlbWUmIHJ0ID0gUmVuZGVyVGhlbWVHdGs6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKKyAgICBy
ZXR1cm4gJnJ0OwogfQogCiBzdGF0aWMgZG91YmxlIGdldFNjcmVlbkRQSSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDk4NThkZDVhZDY0NGM4MTlkMDVm
MjMzMTk3ZmZmYWJhYzgyN2FmNGYuLjI0ZTY4ZGYyMjk1NzVjNjRjODI4MDhhNjVkYmU3NWE2MGNk
NDY5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCkBAIC0z
NCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGhlbWVHdGsg
ZmluYWwgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJlbmRlclRoZW1lPiBj
cmVhdGUoKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIC8vIFJldHVybnMg
c2l6ZSBvZiBvbmUgc2xpZGVyIHRpY2sgbWFyayBmb3IgYSBob3Jpem9udGFsIHRyYWNrLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBlZTMyZDc2ZjBhNDIz
NzZiNzI0ODE2Zjc0NGYyZGY5OTJkOTQ1M2RlLi5hNDRiNzUwYWVmNTIwMDljZDIzYmU2YjE5YWZj
ZTkzZDdhZmMyMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
aApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiBjbGFzcyBS
ZW5kZXJUaGVtZUlPUyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJUaGVtZSB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8
UmVuZGVyVGhlbWU+IGNyZWF0ZSgpOwogCiAgICAgdmlydHVhbCBpbnQgcG9wdXBJbnRlcm5hbFBh
ZGRpbmdSaWdodChSZW5kZXJTdHlsZSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggMDFmMjQ3MzM0NjM0MWE1MTY2MzAy
OWEyODYxNWZjNzhjOTkwZDI0Yi4uYzVlNzg5YzE1NTE1NzQ3MjA4ZWIxY2UwYjgxMTEwZTIyOWY0
OGUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAt
MjkxLDEzICsyOTEsMTMgQEAgUmVuZGVyVGhlbWVJT1M6OlJlbmRlclRoZW1lSU9TKCkKIAogUGFz
c1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQYWdlKikKIHsK
LSAgICBzdGF0aWMgUmVuZGVyVGhlbWUqIHJlbmRlclRoZW1lID0gUmVuZGVyVGhlbWVJT1M6OmNy
ZWF0ZSgpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gcmVuZGVyVGhlbWU7CisgICAgc3RhdGljIFJl
bmRlclRoZW1lJiByZW5kZXJUaGVtZSA9IFJlbmRlclRoZW1lSU9TOjpjcmVhdGUoKS5sZWFrUmVm
KCk7CisgICAgcmV0dXJuICZyZW5kZXJUaGVtZTsKIH0KIAotUGFzc1JlZlB0cjxSZW5kZXJUaGVt
ZT4gUmVuZGVyVGhlbWVJT1M6OmNyZWF0ZSgpCitSZWY8UmVuZGVyVGhlbWU+IFJlbmRlclRoZW1l
SU9TOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVuZGVyVGhlbWVJT1Mp
OworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRoZW1lSU9TKTsKIH0KIAogc3RhdGlj
IFN0cmluZyYgX2NvbnRlbnRTaXplQ2F0ZWdvcnkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVNYWMuaAppbmRleCAwYWE0MDA3MWNlNmY2OTVjOWNlYjlkYjJlN2MxM2IwNmM3
NWE3Y2YzLi5lMDViODdhNDVkMDUwNWQyYjUwMDZhNTY4ZWZjMDI4YzAxMmJhZGM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaApAQCAtNDIsNyArNDIsNyBAQCBz
dHJ1Y3QgQXR0YWNobWVudExheW91dDsKIAogY2xhc3MgUmVuZGVyVGhlbWVNYWMgZmluYWwgOiBw
dWJsaWMgUmVuZGVyVGhlbWUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlbmRl
clRoZW1lPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsK
IAogICAgIC8vIEEgbWV0aG9kIGFza2luZyBpZiB0aGUgY29udHJvbCBjaGFuZ2VzIGl0cyB0aW50
IHdoZW4gdGhlIHdpbmRvdyBoYXMgZm9jdXMgb3Igbm90LgogICAgIHZpcnR1YWwgYm9vbCBjb250
cm9sU3VwcG9ydHNUaW50cyhjb25zdCBSZW5kZXJPYmplY3QmKSBjb25zdCBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBmMDJkZGJlNGY1
YWZjOGYzYjU2ODRkODVhNTIyMjE2ZmIzYjVmMDRlLi44YmUzNjU2YThiNDIzMmI1ZjA1ZGYxMGVl
NDY1NGMwNmQwNzQxNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLm1tCkBAIC0yMDEsMTMgKzIwMSwxMyBAQCBlbnVtIHsKIAogUGFzc1JlZlB0cjxSZW5kZXJU
aGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQYWdlKikKIHsKLSAgICBzdGF0aWMgUmVu
ZGVyVGhlbWUqIHJ0ID0gUmVuZGVyVGhlbWVNYWM6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKLSAgICBy
ZXR1cm4gcnQ7CisgICAgc3RhdGljIFJlbmRlclRoZW1lJiBydCA9IFJlbmRlclRoZW1lTWFjOjpj
cmVhdGUoKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuICZydDsKIH0KIAotUGFzc1JlZlB0cjxSZW5k
ZXJUaGVtZT4gUmVuZGVyVGhlbWVNYWM6OmNyZWF0ZSgpCitSZWY8UmVuZGVyVGhlbWU+IFJlbmRl
clRoZW1lTWFjOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVuZGVyVGhl
bWVNYWMpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRoZW1lTWFjKTsKIH0KIAog
UmVuZGVyVGhlbWVNYWM6OlJlbmRlclRoZW1lTWFjKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmkuY3BwCmluZGV4IGE1NmViNDNhOWZmMmQwY2ZiOGQ0NDQ2
YTUxMzk4YzI1MmE5NTk4ZTIuLjY4YzEzMzNhYWJhMGU1ZjZjYTA4M2Q5Zjg2ZjdjYWRhY2MxMjM2
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFy
aS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmNw
cApAQCAtNzMsMjQgKzczLDI0IEBAIGVudW0gewogICAgIGxlZnRQYWRkaW5nCiB9OwogCi1QYXNz
UmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZVNhZmFyaTo6Y3JlYXRlKCkKK1JlZjxSZW5k
ZXJUaGVtZT4gUmVuZGVyVGhlbWVTYWZhcmk6OmNyZWF0ZSgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBSZW5kZXJUaGVtZVNhZmFyaSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVu
ZGVyVGhlbWVTYWZhcmkpOwogfQogCiBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVt
ZTo6dGhlbWVGb3JQYWdlKFBhZ2UqIHBhZ2UpCiB7Ci0gICAgc3RhdGljIFJlbmRlclRoZW1lKiBz
YWZhcmlUaGVtZSA9IFJlbmRlclRoZW1lU2FmYXJpOjpjcmVhdGUoKS5sZWFrUmVmKCk7Ci0gICAg
c3RhdGljIFJlbmRlclRoZW1lKiB3aW5kb3dzVGhlbWUgPSBSZW5kZXJUaGVtZVdpbjo6Y3JlYXRl
KCkubGVha1JlZigpOworICAgIHN0YXRpYyBSZW5kZXJUaGVtZSYgc2FmYXJpVGhlbWUgPSBSZW5k
ZXJUaGVtZVNhZmFyaTo6Y3JlYXRlKCkubGVha1JlZigpOworICAgIHN0YXRpYyBSZW5kZXJUaGVt
ZSYgd2luZG93c1RoZW1lID0gUmVuZGVyVGhlbWVXaW46OmNyZWF0ZSgpLmxlYWtSZWYoKTsKIAog
ICAgIC8vIEZJWE1FOiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgU2V0dGluZ3MgaGFzIGJlZW4gaW5p
dGlhbGl6ZWQgYnkgV2ViS2l0LCBzbyB3aWxsIHJldHVybiBhCiAgICAgLy8gcG90ZW50aWFsbHkg
d3JvbmcgYW5zd2VyIHRoZSB2ZXJ5IGZpcnN0IHRpbWUgaXQncyBjYWxsZWQgKHNlZQogICAgIC8v
IDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY0OTM+KS4KICAgICBp
ZiAoU2V0dGluZ3M6OnNob3VsZFBhaW50TmF0aXZlQ29udHJvbHMoKSkgewogICAgICAgICBSZW5k
ZXJUaGVtZTo6c2V0Q3VzdG9tRm9jdXNSaW5nQ29sb3Ioc2FmYXJpVGhlbWUtPnBsYXRmb3JtRm9j
dXNSaW5nQ29sb3IoKSk7Ci0gICAgICAgIHJldHVybiB3aW5kb3dzVGhlbWU7IC8vIGtlZXAgdGhl
IHJlZmVyZW5jZSBvZiBvbmUuCisgICAgICAgIHJldHVybiAmd2luZG93c1RoZW1lOyAvLyBrZWVw
IHRoZSByZWZlcmVuY2Ugb2Ygb25lLgogICAgIH0KLSAgICByZXR1cm4gc2FmYXJpVGhlbWU7IC8v
IGtlZXAgdGhlIHJlZmVyZW5jZSBvZiBvbmUuCisgICAgcmV0dXJuICZzYWZhcmlUaGVtZTsgLy8g
a2VlcCB0aGUgcmVmZXJlbmNlIG9mIG9uZS4KIH0KIAogI2lmZGVmIERFQlVHX0FMTApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmkuaAppbmRleCBlZmQzOWJlYjdi
MWIxNDU3YjM5N2FhMDRmMTBkMzRkZWE3N2JkZTQ0Li5iMjgwMGI4NjZlY2I5NGFjMjFmZTFkMTU3
ZjBhMGFjYjJjN2YyNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVTYWZhcmkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVTYWZhcmkuaApAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIAogY2xhc3Mg
UmVuZGVyVGhlbWVTYWZhcmkgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJl
bmRlclRoZW1lPiBjcmVhdGUoKTsKIAogICAgIC8vIEEgbWV0aG9kIHRvIG9idGFpbiB0aGUgYmFz
ZWxpbmUgcG9zaXRpb24gZm9yIGEgImxlYWYiIGNvbnRyb2wuICBUaGlzIHdpbGwgb25seSBiZSB1
c2VkIGlmIGEgYmFzZWxpbmUKICAgICAvLyBwb3NpdGlvbiBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBi
eSBleGFtaW5pbmcgY2hpbGQgY29udGVudC4gQ2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyBh
cmUgZXhhbXBsZXMgb2YKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4u
Y3BwCmluZGV4IDJiZWU4ZTVkYmY1ZjhkOTdkNDMyYWM0ZGE1NGZkNjI5MTI4YTk2NDkuLmI4ZTI1
MGI1MTQ2ODc1MWU1YjEzZDZhZjk1N2E2ODYxNTJjYzIwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcApAQCAtMTgyLDE1ICsxODIsMTUgQEAgdm9pZCBS
ZW5kZXJUaGVtZVdpbjo6c2V0V2ViS2l0SXNCZWluZ1VubG9hZGVkKCkKICAgICBnV2ViS2l0SXNC
ZWluZ1VubG9hZGVkID0gdHJ1ZTsKIH0KIAotUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gUmVuZGVy
VGhlbWVXaW46OmNyZWF0ZSgpCitSZWY8UmVuZGVyVGhlbWU+IFJlbmRlclRoZW1lV2luOjpjcmVh
dGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVuZGVyVGhlbWVXaW4pOworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFJlbmRlclRoZW1lV2luKTsKIH0KIAogUGFzc1JlZlB0cjxSZW5k
ZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQYWdlKiBwYWdlKQogewotICAgIHN0
YXRpYyBSZW5kZXJUaGVtZSogd2luVGhlbWUgPSBSZW5kZXJUaGVtZVdpbjo6Y3JlYXRlKCkubGVh
a1JlZigpOwotICAgIHJldHVybiB3aW5UaGVtZTsKKyAgICBzdGF0aWMgUmVuZGVyVGhlbWUmIHdp
blRoZW1lID0gUmVuZGVyVGhlbWVXaW46OmNyZWF0ZSgpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4g
JndpblRoZW1lOwogfQogCiBSZW5kZXJUaGVtZVdpbjo6UmVuZGVyVGhlbWVXaW4oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaAppbmRleCA0ZTE5NDk4NzA4N2ViM2Uy
ZDk0MDhjZTEzNzliMTQxYTAyMjRkZDNlLi5kMTYyZDgyNmU5NjI2ZWI0ZTliMDJmMzhmNTY0MDBj
MWExNTkxMWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVXaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uaApA
QCAtNDksNyArNDksNyBAQCBzdHJ1Y3QgVGhlbWVEYXRhIHsKIAogY2xhc3MgUmVuZGVyVGhlbWVX
aW4gZmluYWw6IHB1YmxpYyBSZW5kZXJUaGVtZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8UmVuZGVyVGhlbWU+
IGNyZWF0ZSgpOwogCiAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhUXVpcmtzU3R5bGVTaGVldCgpIG92
ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvU2l6
aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9TaXppbmcuaAppbmRleCAz
M2UzMGU3M2UzYjhiNmUyNjM3OTk3MjFkMjUzNThlOGM5NDUwNTEwLi5mNWZhOTA5YjRmNWZiMWM3
MGNkNjkwNGM2OGJhZmMwZDBkOGUzNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvVGV4dEF1dG9TaXppbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEF1dG9TaXppbmcuaApAQCAtNzMsOSArNzMsOSBAQCBzdHJ1Y3QgVGV4dEF1dG9TaXppbmdIYXNo
IHsKIAogY2xhc3MgVGV4dEF1dG9TaXppbmdWYWx1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRB
dXRvU2l6aW5nVmFsdWU+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0QXV0
b1NpemluZ1ZhbHVlPiBjcmVhdGUoKQorICAgIHN0YXRpYyBSZWY8VGV4dEF1dG9TaXppbmdWYWx1
ZT4gY3JlYXRlKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGV4dEF1dG9T
aXppbmdWYWx1ZSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRleHRBdXRvU2l6aW5n
VmFsdWUpOwogICAgIH0KIAogICAgIHZvaWQgYWRkTm9kZShOb2RlKiwgZmxvYXQgc2l6ZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhcGVWYWx1ZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYXBlVmFsdWUuaAppbmRleCA3ZmE5NjI5
YThiOTI3MjEzZmQ1NDY1YzlkMDFhZGFjZGQ2MDFlMDFlLi44YjFjYzg4YzY5OTZkMjJkMGU5OGRl
MjlhZWRlYThiNWE0YTE1NjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU2hhcGVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
aGFwZVZhbHVlLmgKQEAgLTQ2LDE5ICs0NiwxOSBAQCBwdWJsaWM6CiAgICAgICAgIEltYWdlCiAg
ICAgfTsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXBlVmFsdWU+IGNyZWF0ZVNoYXBlVmFs
dWUoUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBzaGFwZSwgQ1NTQm94VHlwZSBjc3NCb3gpCisgICAg
c3RhdGljIFJlZjxTaGFwZVZhbHVlPiBjcmVhdGVTaGFwZVZhbHVlKFBhc3NSZWZQdHI8QmFzaWNT
aGFwZT4gc2hhcGUsIENTU0JveFR5cGUgY3NzQm94KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTaGFwZVZhbHVlKHNoYXBlLCBjc3NCb3gpKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU2hhcGVWYWx1ZShzaGFwZSwgY3NzQm94KSk7CiAgICAgfQogCi0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8U2hhcGVWYWx1ZT4gY3JlYXRlQm94U2hhcGVWYWx1ZShDU1NCb3hUeXBl
IGJveFNoYXBlKQorICAgIHN0YXRpYyBSZWY8U2hhcGVWYWx1ZT4gY3JlYXRlQm94U2hhcGVWYWx1
ZShDU1NCb3hUeXBlIGJveFNoYXBlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTaGFwZVZhbHVlKGJveFNoYXBlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNo
YXBlVmFsdWUoYm94U2hhcGUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFw
ZVZhbHVlPiBjcmVhdGVJbWFnZVZhbHVlKFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gaW1hZ2UpCisg
ICAgc3RhdGljIFJlZjxTaGFwZVZhbHVlPiBjcmVhdGVJbWFnZVZhbHVlKFBhc3NSZWZQdHI8U3R5
bGVJbWFnZT4gaW1hZ2UpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXBl
VmFsdWUoaW1hZ2UpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcGVWYWx1ZShp
bWFnZSkpOwogICAgIH0KIAogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVk
SW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdl
LmgKaW5kZXggZTlhY2Q3ODNiNTFiNTgyZGUxY2M2MTQ0OTlkYzJjNzJiZjFmNWU1Ny4uNTRjMmI5
MDY3Y2M1MjY4NWM0MzBmODYxNGE2MDBlNmQyZTk3YTIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVDYWNoZWRJbWFnZS5oCkBAIC0zNSw3ICszNSw3IEBA
IGNsYXNzIENhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVDYWNoZWRJbWFnZSBmaW5hbCA6IHB1Ymxp
YyBTdHlsZUltYWdlLCBwcml2YXRlIENhY2hlZEltYWdlQ2xpZW50IHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZUNhY2hl
ZEltYWdlPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqIGltYWdlKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
U3R5bGVDYWNoZWRJbWFnZShpbWFnZSkpOyB9CisgICAgc3RhdGljIFJlZjxTdHlsZUNhY2hlZElt
YWdlPiBjcmVhdGUoQ2FjaGVkSW1hZ2UqIGltYWdlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0
eWxlQ2FjaGVkSW1hZ2UoaW1hZ2UpKTsgfQogICAgIHZpcnR1YWwgflN0eWxlQ2FjaGVkSW1hZ2Uo
KTsKIAogICAgIHZpcnR1YWwgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9pbWFnZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlQ2FjaGVkSW1hZ2VTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZUNhY2hlZEltYWdlU2V0LmgKaW5kZXggMGVjMGY4MDA0NjlkMmU4
Y2JmMWY2NWE2ZmM2YmU2MjI5YWIzOTQ4Yy4uNDA3ZTQwMzc0ZWE2ZjUwYWU2MzIwYjRmYjAxODc5
NThjNWJlZDhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlQ2FjaGVkSW1hZ2VTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVDYWNoZWRJbWFnZVNldC5oCkBAIC00Myw5ICs0Myw5IEBAIGNsYXNzIENTU0ltYWdlU2V0
VmFsdWU7CiBjbGFzcyBTdHlsZUNhY2hlZEltYWdlU2V0IGZpbmFsIDogcHVibGljIFN0eWxlSW1h
Z2UsIHByaXZhdGUgQ2FjaGVkSW1hZ2VDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlQ2FjaGVkSW1hZ2VTZXQ+
IGNyZWF0ZShDYWNoZWRJbWFnZSogaW1hZ2UsIGZsb2F0IGltYWdlU2NhbGVGYWN0b3IsIENTU0lt
YWdlU2V0VmFsdWUqIHZhbHVlKQorICAgIHN0YXRpYyBSZWY8U3R5bGVDYWNoZWRJbWFnZVNldD4g
Y3JlYXRlKENhY2hlZEltYWdlKiBpbWFnZSwgZmxvYXQgaW1hZ2VTY2FsZUZhY3RvciwgQ1NTSW1h
Z2VTZXRWYWx1ZSogdmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0
eWxlQ2FjaGVkSW1hZ2VTZXQoaW1hZ2UsIGltYWdlU2NhbGVGYWN0b3IsIHZhbHVlKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlQ2FjaGVkSW1hZ2VTZXQoaW1hZ2UsIGltYWdl
U2NhbGVGYWN0b3IsIHZhbHVlKSk7CiAgICAgfQogICAgIHZpcnR1YWwgflN0eWxlQ2FjaGVkSW1h
Z2VTZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlR2VuZXJhdGVkSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUdlbmVyYXRlZEltYWdlLmgKaW5kZXggOTc1YmJmN2ZmMTY4MWEwNGJjOTBmZTBmMWQ2YzIwNzJj
MTcxNmM1OS4uNmIyNTVmM2U1MTVhYTYyYWEwOGNlY2UyNjU2NzAxYzYwZTI5Zjc3MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVkSW1hZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFn
ZS5oCkBAIC0zMyw5ICszMyw5IEBAIGNsYXNzIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU7CiAKIGNs
YXNzIFN0eWxlR2VuZXJhdGVkSW1hZ2UgZmluYWwgOiBwdWJsaWMgU3R5bGVJbWFnZSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVHZW5lcmF0ZWRJbWFnZT4gY3JlYXRlKFJl
ZjxDU1NJbWFnZUdlbmVyYXRvclZhbHVlPiYmIHZhbHVlKQorICAgIHN0YXRpYyBSZWY8U3R5bGVH
ZW5lcmF0ZWRJbWFnZT4gY3JlYXRlKFJlZjxDU1NJbWFnZUdlbmVyYXRvclZhbHVlPiYmIHZhbHVl
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHlsZUdlbmVyYXRlZEltYWdl
KFdURjo6bW92ZSh2YWx1ZSkpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVH
ZW5lcmF0ZWRJbWFnZShXVEY6Om1vdmUodmFsdWUpKSk7CiAgICAgfQogCiAgICAgQ1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZSYgaW1hZ2VWYWx1ZSgpIHsgcmV0dXJuIG1faW1hZ2VHZW5lcmF0b3JWYWx1
ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUGVu
ZGluZ0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQZW5kaW5n
SW1hZ2UuaAppbmRleCBiNGQxOTEwMjNiY2UzM2Q0NDYzN2Y5NDEzNTMwNDk0YmFjMjE0NTYwLi5j
MjNkZWY0ZjM4MjcwMWVlMWY3M2FmMTY4M2Y0M2E2MDY3ZmFkNzJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQZW5kaW5nSW1hZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVQZW5kaW5nSW1hZ2UuaApAQCAtNDMsNyAr
NDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxlUGVuZGluZ0ltYWdlIGZp
bmFsIDogcHVibGljIFN0eWxlSW1hZ2UgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFN0eWxlUGVuZGluZ0ltYWdlPiBjcmVhdGUoQ1NTVmFsdWUqIHZhbHVlKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgU3R5bGVQZW5kaW5nSW1hZ2UodmFsdWUpKTsgfQorICAgIHN0YXRpYyBSZWY8U3R5
bGVQZW5kaW5nSW1hZ2U+IGNyZWF0ZShDU1NWYWx1ZSogdmFsdWUpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU3R5bGVQZW5kaW5nSW1hZ2UodmFsdWUpKTsgfQogCiAgICAgQ1NTSW1hZ2VWYWx1ZSog
Y3NzSW1hZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGlzPENTU0ltYWdlVmFsdWU+KG1fdmFsdWUp
ID8gZG93bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4obV92YWx1ZSkgOiBudWxscHRyOyB9CiAgICAgQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZSogY3NzSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdmFsdWUgJiYgbV92YWx1ZS0+aXNJbWFnZUdlbmVyYXRvclZhbHVlKCkgPyBzdGF0aWNf
Y2FzdDxDU1NJbWFnZUdlbmVyYXRvclZhbHVlKj4obV92YWx1ZSkgOiBudWxscHRyOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSZWZsZWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSZWZsZWN0aW9uLmgKaW5kZXgg
MzFjZGJiNWUyYjhjMzEzNTE2ODdhNWYzY2MxYTBhOTQ4YTI0MmNlMS4uMzQzOTEzY2E5ZDYzMzU2
ODMwMjkwMzE4NTA2ZTBhNmE4ZTM3YzEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmVmbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJlZmxlY3Rpb24uaApAQCAtMzQsOSArMzQsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxlUmVmbGVjdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFN0
eWxlUmVmbGVjdGlvbj4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlUmVm
bGVjdGlvbj4gY3JlYXRlKCkKKyAgICBzdGF0aWMgUmVmPFN0eWxlUmVmbGVjdGlvbj4gY3JlYXRl
KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVSZWZsZWN0aW9uKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSZWZsZWN0aW9uKTsKICAgICB9CiAK
ICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVSZWZsZWN0aW9uJiBvKSBjb25zdAo=
</data>
<flag name="review"
          id="277779"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>