<?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>138817</bug_id>
          
          <creation_ts>2014-11-17 18:26:43 -0800</creation_ts>
          <short_desc>Avoid re-encoding action menu image data</short_desc>
          <delta_ts>2014-11-18 22:10:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>conrad_shultz</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1049375</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-17 18:26:43 -0800</bug_when>
    <thetext>Avoid re-encoding action menu image data</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049376</commentid>
    <comment_count>1</comment_count>
      <attachid>241756</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-17 18:27:20 -0800</bug_when>
    <thetext>Created attachment 241756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049380</commentid>
    <comment_count>2</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-17 20:11:00 -0800</bug_when>
    <thetext>Do we want to mimic any of this in WK1 code? WebActionMenuController also still hardcodes jpg even though it probably already have enough information to avoid that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049410</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-17 23:30:55 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Do we want to mimic any of this in WK1 code? WebActionMenuController also
&gt; still hardcodes jpg even though it probably already have enough information
&gt; to avoid that.

This patch fixes both WebKits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049533</commentid>
    <comment_count>4</comment_count>
      <attachid>241756</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-11-18 11:03:27 -0800</bug_when>
    <thetext>Comment on attachment 241756
Patch

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

&gt; Source/WebKit/mac/WebView/WebActionMenuController.mm:415
&gt; +    RefPtr&lt;SharedBuffer&gt; buffer = image-&gt;data();

Can buffer ever be null here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049607</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-18 14:55:07 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/176288</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049717</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-11-18 22:10:46 -0800</bug_when>
    <thetext>Does this bring image codec code execution vulnerabilities into UI process?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241756</attachid>
            <date>2014-11-17 18:27:20 -0800</date>
            <delta_ts>2014-11-18 11:03:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138817-20141117182731.patch</filename>
            <type>text/plain</type>
            <size>15658</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggN2I4ZWNlNjgy
MTBjZTA4NmQ1NzJhZDRjNzViOTNlMTg1OGNiMjE0Ni4uMDgxMmQ5OWViNDE2NmU3Yzg2MGEwMzFj
MzA0MWVjNGE5N2U0ODczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0
LTExLTE3ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAg
IEF2b2lkIHJlLWVuY29kaW5nIGFjdGlvbiBtZW51IGltYWdlIGRhdGEKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODgxNworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTg4NDAzODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkFjdGlvbk1lbnVDb250cm9sbGVyLm1tOgorICAgICAg
ICAoLVtXZWJBY3Rpb25NZW51Q29udHJvbGxlciBfZGVmYXVsdE1lbnVJdGVtc0ZvckltYWdlOl0p
OgorICAgICAgICAoLVtXZWJBY3Rpb25NZW51Q29udHJvbGxlciBfYWRkSW1hZ2VUb1Bob3Rvczpd
KToKKyAgICAgICAgQnVpbGQgYSB0ZW1wb3JhcnkgZmlsZW5hbWUgZnJvbSBhIFVVSUQgYW5kIHRo
ZSBpbWFnZSdzIGRlc2lyZWQgZXh0ZW5zaW9uLgorICAgICAgICBVc2UgdGhlIEltYWdlJ3MgZW5j
b2RlZCBkYXRhIGluc3RlYWQgb2YgcmUtZW5jb2RpbmcgaXQgd2l0aCBDR0ltYWdlRGVzdGluYXRp
b24uCisgICAgICAgIEJ1aWxkIGFuIGltYWdlIG1lbnUgb25seSBpZiB3ZSBoYXZlIGFuIGltYWdl
LCBVUkwsIGRhdGEsIGFuZCBleHRlbnNpb24uCisKIDIwMTQtMTEtMTcgIEJyaWFuIFdlaW5zdGVp
biAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBjYWxscyB0byBkZXBy
ZWNhdGVkIE5TTWVudSBtZXRob2RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJkNTk4N2NmNDNhZWFiMjI2ZTYx
Nzc1NGMxNGU4YzIzNDU5YThjZC4uNWM3MDY2ZDM5MDk2YjkyODdkM2YxNWRkOWY0NTE5NTc4MWNh
MjY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTExLTE3ICBUaW0gSG9ydG9u
ICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIHJlLWVuY29kaW5n
IGFjdGlvbiBtZW51IGltYWdlIGRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzODgxNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTg4NDAzODI+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFy
ZWQvbWFjL0FjdGlvbk1lbnVIaXRUZXN0UmVzdWx0Lmg6CisgICAgICAgICogU2hhcmVkL21hYy9B
Y3Rpb25NZW51SGl0VGVzdFJlc3VsdC5tbToKKyAgICAgICAgKFdlYktpdDo6QWN0aW9uTWVudUhp
dFRlc3RSZXN1bHQ6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkFjdGlvbk1lbnVIaXRUZXN0
UmVzdWx0OjpkZWNvZGUpOgorICAgICAgICBTdG9yZSBhbmQgZW5jb2RlIGEgU2hhcmVkTWVtb3J5
IHdpdGggdGhlIHJhdyBlbmNvZGVkIGltYWdlIGRhdGEsCisgICAgICAgIGluc3RlYWQgb2YgcmUt
cGFpbnRpbmcgdGhlIGltYWdlIGludG8gYSBTaGFyZWFibGVCaXRtYXAuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1dLQWN0aW9uTWVudUNvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dLQWN0
aW9uTWVudUNvbnRyb2xsZXIgX2hpdFRlc3RSZXN1bHRJbWFnZV0pOgorICAgICAgICAoLVtXS0Fj
dGlvbk1lbnVDb250cm9sbGVyIF9kZWZhdWx0TWVudUl0ZW1zRm9ySW1hZ2VdKToKKyAgICAgICAg
KC1bV0tBY3Rpb25NZW51Q29udHJvbGxlciBfY29weUltYWdlOl0pOgorICAgICAgICAoLVtXS0Fj
dGlvbk1lbnVDb250cm9sbGVyIF9hZGRJbWFnZVRvUGhvdG9zOl0pOgorICAgICAgICAoLVtXS0Fj
dGlvbk1lbnVDb250cm9sbGVyIF9kZWZhdWx0TWVudUl0ZW1zXSk6CisgICAgICAgICgtW1dLQWN0
aW9uTWVudUNvbnRyb2xsZXIgX2NhbkFkZE1lZGlhVG9QaG90b3NdKTogRGVsZXRlZC4KKyAgICAg
ICAgQnVpbGQgYSB0ZW1wb3JhcnkgZmlsZW5hbWUgZnJvbSBhIFVVSUQgYW5kIHRoZSBpbWFnZSdz
IGRlc2lyZWQgZXh0ZW5zaW9uLgorICAgICAgICBVc2UgdGhlIEltYWdlJ3MgZW5jb2RlZCBkYXRh
IGluc3RlYWQgb2YgcmUtZW5jb2RpbmcgaXQgd2l0aCBDR0ltYWdlRGVzdGluYXRpb24uCisgICAg
ICAgIEJ1aWxkIGFuIGltYWdlIG1lbnUgb25seSBpZiB3ZSBoYXZlIGFuIGltYWdlLCBVUkwsIGRh
dGEsIGFuZCBleHRlbnNpb24uCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dl
YlBhZ2VNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZvcm1BY3Rpb25NZW51
SGl0VGVzdEF0TG9jYXRpb24pOgorCiAyMDE0LTExLTE3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTc2MjMyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJBY3Rpb25NZW51Q29udHJv
bGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViQWN0aW9uTWVudUNvbnRyb2xs
ZXIubW0KaW5kZXggYWY0N2E0MGZhNzg5NTU0MTNjNWQ3Y2E1Mjg3NDhkMmIxMmIyMGI1Ni4uYWE1
MmIzYzk5YTQ0ODhiYjhiNTIyYjE1OTFhYWNmNjUxYzVhOTdhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJBY3Rpb25NZW51Q29udHJvbGxlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkFjdGlvbk1lbnVDb250cm9sbGVyLm1tCkBAIC0zOCw5
ICszOCwxMSBAQAogI2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCiAjaW1wb3J0IDxJbWFnZUlP
L0ltYWdlSU8uaD4KICNpbXBvcnQgPEltYWdlS2l0L0ltYWdlS2l0Lmg+CisjaW1wb3J0IDxXZWJD
b3JlL0FyY2hpdmVSZXNvdXJjZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9EYXRhRGV0ZWN0aW9uLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0RhdGFEZXRlY3RvcnNTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUv
RGljdGlvbmFyeUxvb2t1cC5oPgorI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9FZGl0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvRWxlbWVudC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9FdmVudEhhbmRsZXIuaD4KQEAgLTU2LDYgKzU4LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvUmFuZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyRWxlbWVudC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJPYmplY3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvU2hhcmVk
QnVmZmVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2Uu
aD4KQEAgLTMyOCw4ICszMzEsOSBAQCBzdGF0aWMgSW50UmVjdCBlbGVtZW50Qm91bmRpbmdCb3hJ
bldpbmRvd0Nvb3JkaW5hdGVzRnJvbU5vZGUoTm9kZSogbm9kZSkKIAogICAgIFJldGFpblB0cjxO
U01lbnVJdGVtPiBzaGFyZUl0ZW0gPSBbc2VsZiBfY3JlYXRlQWN0aW9uTWVudUl0ZW1Gb3JUYWc6
V2ViQWN0aW9uTWVudUl0ZW1UYWdTaGFyZUltYWdlXTsKICAgICBpZiAoSW1hZ2UqIGltYWdlID0g
X2hpdFRlc3RSZXN1bHQuaW1hZ2UoKSkgewotICAgICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
Y2dJbWFnZSA9IGltYWdlLT5nZXRDR0ltYWdlUmVmKCk7Ci0gICAgICAgIFJldGFpblB0cjxOU0lt
YWdlPiBuc0ltYWdlID0gYWRvcHROUyhbW05TSW1hZ2UgYWxsb2NdIGluaXRXaXRoQ0dJbWFnZTpj
Z0ltYWdlLmdldCgpIHNpemU6TlNaZXJvU2l6ZV0pOworICAgICAgICBSZWZQdHI8U2hhcmVkQnVm
ZmVyPiBidWZmZXIgPSBpbWFnZS0+ZGF0YSgpOworICAgICAgICBSZXRhaW5QdHI8TlNEYXRhPiBu
c0RhdGEgPSBbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6YnVmZmVyLT5kYXRhKCkgbGVuZ3RoOmJ1ZmZl
ci0+c2l6ZSgpXTsKKyAgICAgICAgUmV0YWluUHRyPE5TSW1hZ2U+IG5zSW1hZ2UgPSBhZG9wdE5T
KFtbTlNJbWFnZSBhbGxvY10gaW5pdFdpdGhEYXRhOm5zRGF0YS5nZXQoKV0pOwogICAgICAgICBf
c2hhcmluZ1NlcnZpY2VQaWNrZXIgPSBhZG9wdE5TKFtbTlNTaGFyaW5nU2VydmljZVBpY2tlciBh
bGxvY10gaW5pdFdpdGhJdGVtczpAWyBuc0ltYWdlLmdldCgpIF1dKTsKICAgICAgICAgW19zaGFy
aW5nU2VydmljZVBpY2tlciBzZXREZWxlZ2F0ZTpzZWxmXTsKICAgICAgICAgW3NoYXJlSXRlbSBz
ZXRTdWJtZW51Oltfc2hhcmluZ1NlcnZpY2VQaWNrZXIgbWVudV1dOwpAQCAtNDA0LDE5ICs0MDgs
MjEgQEAgc3RhdGljIE5TU3RyaW5nICpwYXRoVG9QaG90b09uRGlzayhOU1N0cmluZyAqc3VnZ2Vz
dGVkRmlsZW5hbWUpCiAgICAgaWYgKCFpbWFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmV0
YWluUHRyPENHSW1hZ2VSZWY+IGNnSW1hZ2UgPSBpbWFnZS0+Z2V0Q0dJbWFnZVJlZigpOworICAg
IFN0cmluZyBpbWFnZUV4dGVuc2lvbiA9IGltYWdlLT5maWxlbmFtZUV4dGVuc2lvbigpOworICAg
IGlmIChpbWFnZUV4dGVuc2lvbi5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGRp
c3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJ
T1JJVFlfREVGQVVMVCwgMCksIF57Ci0gICAgICAgIE5TU3RyaW5nICogY29uc3Qgc3VnZ2VzdGVk
RmlsZW5hbWUgPSBAImltYWdlLmpwZyI7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVy
ID0gaW1hZ2UtPmRhdGEoKTsKKyAgICBSZXRhaW5QdHI8TlNEYXRhPiBuc0RhdGEgPSBbTlNEYXRh
IGRhdGFXaXRoQnl0ZXM6YnVmZmVyLT5kYXRhKCkgbGVuZ3RoOmJ1ZmZlci0+c2l6ZSgpXTsKKyAg
ICBSZXRhaW5QdHI8TlNTdHJpbmc+IHN1Z2dlc3RlZEZpbGVuYW1lID0gW1tbTlNQcm9jZXNzSW5m
byBwcm9jZXNzSW5mb10gZ2xvYmFsbHlVbmlxdWVTdHJpbmddIHN0cmluZ0J5QXBwZW5kaW5nUGF0
aEV4dGVuc2lvbjppbWFnZUV4dGVuc2lvbl07CiAKLSAgICAgICAgTlNTdHJpbmcgKmZpbGVQYXRo
ID0gcGF0aFRvUGhvdG9PbkRpc2soc3VnZ2VzdGVkRmlsZW5hbWUpOworICAgIGRpc3BhdGNoX2Fz
eW5jKGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVG
QVVMVCwgMCksIF57CisgICAgICAgIE5TU3RyaW5nICpmaWxlUGF0aCA9IHBhdGhUb1Bob3RvT25E
aXNrKHN1Z2dlc3RlZEZpbGVuYW1lLmdldCgpKTsKICAgICAgICAgaWYgKCFmaWxlUGF0aCkKICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBOU1VSTCAqZmlsZVVSTCA9IFtOU1VSTCBmaWxl
VVJMV2l0aFBhdGg6ZmlsZVBhdGhdOwotICAgICAgICBhdXRvIGRlc3QgPSBhZG9wdENGKENHSW1h
Z2VEZXN0aW5hdGlvbkNyZWF0ZVdpdGhVUkwoKENGVVJMUmVmKWZpbGVVUkwsIGtVVFR5cGVKUEVH
LCAxLCBudWxscHRyKSk7Ci0gICAgICAgIENHSW1hZ2VEZXN0aW5hdGlvbkFkZEltYWdlKGRlc3Qu
Z2V0KCksIGNnSW1hZ2UuZ2V0KCksIG51bGxwdHIpOwotICAgICAgICBDR0ltYWdlRGVzdGluYXRp
b25GaW5hbGl6ZShkZXN0LmdldCgpKTsKKyAgICAgICAgW25zRGF0YSB3cml0ZVRvVVJMOmZpbGVV
UkwgYXRvbWljYWxseTpOT107CiAKICAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0
X21haW5fcXVldWUoKSwgXnsKICAgICAgICAgICAgIC8vIFRoaXMgQVBJIHByb3ZpZGVzIG5vIHdh
eSB0byByZXBvcnQgZmFpbHVyZSwgYnV0IGlmIDE4NDIwNzc4IGlzIGZpeGVkIHNvIHRoYXQgaXQg
ZG9lcywgd2Ugc2hvdWxkIGhhbmRsZSB0aGlzLgpAQCAtODMyLDcgKzgzOCw4IEBAIHN0YXRpYyBE
aWN0aW9uYXJ5UG9wdXBJbmZvIHBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwRm9yUmFuZ2UoRnJhbWUq
IGZyYW1lLCBSYW5nZSYKICAgICAgICAgcmV0dXJuIFtzZWxmIF9kZWZhdWx0TWVudUl0ZW1zRm9y
VmlkZW9dOwogICAgIH0KIAotICAgIGlmIChfaGl0VGVzdFJlc3VsdC5pbWFnZSgpICYmICFfaGl0
VGVzdFJlc3VsdC5hYnNvbHV0ZUltYWdlVVJMKCkuaXNFbXB0eSgpKSB7CisgICAgSW1hZ2UqIGlt
YWdlID0gX2hpdFRlc3RSZXN1bHQuaW1hZ2UoKTsKKyAgICBpZiAoaW1hZ2UgJiYgIV9oaXRUZXN0
UmVzdWx0LmFic29sdXRlSW1hZ2VVUkwoKS5pc0VtcHR5KCkgJiYgIWltYWdlLT5maWxlbmFtZUV4
dGVuc2lvbigpLmlzRW1wdHkoKSAmJiBpbWFnZS0+ZGF0YSgpICYmICFpbWFnZS0+ZGF0YSgpLT5p
c0VtcHR5KCkpIHsKICAgICAgICAgX3R5cGUgPSBXZWJBY3Rpb25NZW51SW1hZ2U7CiAgICAgICAg
IHJldHVybiBbc2VsZiBfZGVmYXVsdE1lbnVJdGVtc0ZvckltYWdlXTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0FjdGlvbk1lbnVIaXRUZXN0UmVzdWx0Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0FjdGlvbk1lbnVIaXRUZXN0UmVzdWx0LmgKaW5k
ZXggOWQxY2E5MGM1M2Y1NWUyMWE1OGNlOWNkNzIyZTczY2E3MDgzYmMwNC4uZTdiZTE3MDQ0MmY4
MzllZTIyY2ExMjc3ZjkxYjNhMjM4NTQzZWY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9BY3Rpb25NZW51SGl0VGVzdFJlc3VsdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvQWN0aW9uTWVudUhpdFRlc3RSZXN1bHQuaApAQCAtMjYsNyArMjYsOSBAQAog
I2lmbmRlZiBBY3Rpb25NZW51SGl0VGVzdFJlc3VsdF9oCiAjZGVmaW5lIEFjdGlvbk1lbnVIaXRU
ZXN0UmVzdWx0X2gKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJTaGFy
ZWFibGVCaXRtYXAuaCIKKyNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlICJUZXh0
SW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiV2ViSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvRmxvYXRSZWN0Lmg+CkBAIC01MCw3ICs1Miw4IEBAIHN0cnVjdCBBY3Rpb25NZW51SGl0
VGVzdFJlc3VsdCB7CiAgICAgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSBoaXRUZXN0UmVzdWx0Owog
CiAgICAgU3RyaW5nIGxvb2t1cFRleHQ7Ci0gICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gaW1h
Z2U7CisgICAgUmVmUHRyPFNoYXJlZE1lbW9yeT4gaW1hZ2VTaGFyZWRNZW1vcnk7CisgICAgU3Ry
aW5nIGltYWdlRXh0ZW5zaW9uOwogCiAgICAgUmV0YWluUHRyPEREQWN0aW9uQ29udGV4dD4gYWN0
aW9uQ29udGV4dDsKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgZGV0ZWN0ZWREYXRhQm91bmRpbmdC
b3g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0FjdGlvbk1lbnVIaXRU
ZXN0UmVzdWx0Lm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9BY3Rpb25NZW51SGl0VGVz
dFJlc3VsdC5tbQppbmRleCAxZGZiYzMyYjQ5N2YyMDc3ZDU3OGVlZDYyOGJjZWU0ZmM3M2Q1ZmFm
Li4zNjdjN2FlZmM1ZDc3ZGRiN2E0M2EwNDU1MjM4YTVjZTQzN2NhNWY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0FjdGlvbk1lbnVIaXRUZXN0UmVzdWx0Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQWN0aW9uTWVudUhpdFRlc3RSZXN1bHQubW0KQEAg
LTQyLDE0ICs0MiwxMiBAQCB2b2lkIEFjdGlvbk1lbnVIaXRUZXN0UmVzdWx0OjplbmNvZGUoSVBD
OjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBoaXRUZXN0
TG9jYXRpb25JblZpZXdDb29vcmRpbmF0ZXM7CiAgICAgZW5jb2RlciA8PCBoaXRUZXN0UmVzdWx0
OwogICAgIGVuY29kZXIgPDwgbG9va3VwVGV4dDsKKyAgICBlbmNvZGVyIDw8IGltYWdlRXh0ZW5z
aW9uOwogCi0gICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaGFuZGxlOwotCi0gICAgLy8gRklY
TUU6IFdlIHNob3VsZCBjb25zaWRlciBzaGFyaW5nIHRoZSByYXcgb3JpZ2luYWwgcmVzb3VyY2Ug
ZGF0YSBzbyB0aGF0IG1ldGFkYXRhIGFuZCB3aGF0bm90IGFyZSBwcmVzZXJ2ZWQuCi0gICAgaWYg
KGltYWdlKQotICAgICAgICBpbWFnZS0+Y3JlYXRlSGFuZGxlKGhhbmRsZSwgU2hhcmVkTWVtb3J5
OjpSZWFkT25seSk7Ci0KLSAgICBlbmNvZGVyIDw8IGhhbmRsZTsKKyAgICBTaGFyZWRNZW1vcnk6
OkhhbmRsZSBpbWFnZUhhbmRsZTsKKyAgICBpZiAoaW1hZ2VTaGFyZWRNZW1vcnkgJiYgaW1hZ2VT
aGFyZWRNZW1vcnktPnNpemUoKSkKKyAgICAgICAgaW1hZ2VTaGFyZWRNZW1vcnktPmNyZWF0ZUhh
bmRsZShpbWFnZUhhbmRsZSwgU2hhcmVkTWVtb3J5OjpSZWFkT25seSk7CisgICAgZW5jb2RlciA8
PCBpbWFnZUhhbmRsZTsKIAogICAgIGJvb2wgaGFzQWN0aW9uQ29udGV4dCA9IGFjdGlvbkNvbnRl
eHQ7CiAgICAgZW5jb2RlciA8PCBoYXNBY3Rpb25Db250ZXh0OwpAQCAtODIsMTIgKzgwLDE1IEBA
IGJvb2wgQWN0aW9uTWVudUhpdFRlc3RSZXN1bHQ6OmRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2Rl
ciYgZGVjb2RlciwgQWN0aW9uTWVudUhpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShhY3Rpb25N
ZW51SGl0VGVzdFJlc3VsdC5sb29rdXBUZXh0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaGFuZGxlOwotICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaGFuZGxlKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGFjdGlvbk1lbnVIaXRUZXN0UmVz
dWx0LmltYWdlRXh0ZW5zaW9uKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgU2hhcmVk
TWVtb3J5OjpIYW5kbGUgaW1hZ2VIYW5kbGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpbWFn
ZUhhbmRsZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghaGFuZGxlLmlzTnVs
bCgpKQotICAgICAgICBhY3Rpb25NZW51SGl0VGVzdFJlc3VsdC5pbWFnZSA9IFNoYXJlYWJsZUJp
dG1hcDo6Y3JlYXRlKGhhbmRsZSwgU2hhcmVkTWVtb3J5OjpSZWFkT25seSk7CisgICAgaWYgKCFp
bWFnZUhhbmRsZS5pc051bGwoKSkKKyAgICAgICAgYWN0aW9uTWVudUhpdFRlc3RSZXN1bHQuaW1h
Z2VTaGFyZWRNZW1vcnkgPSBTaGFyZWRNZW1vcnk6OmNyZWF0ZShpbWFnZUhhbmRsZSwgU2hhcmVk
TWVtb3J5OjpSZWFkT25seSk7CiAKICAgICBib29sIGhhc0FjdGlvbkNvbnRleHQ7CiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShoYXNBY3Rpb25Db250ZXh0KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tBY3Rpb25NZW51Q29udHJvbGxlci5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tBY3Rpb25NZW51Q29udHJvbGxlci5tbQppbmRleCBlYTQ2
MjBhOTIzNWZiZmZhNDg3NDU0YjBiOWFlNTM2OGU2NjNjMDdmLi5iODBiMGM5ZWZhMWI1MzU0MWVm
YjRlZmI1ODY2MDVmYmQ4ZDRjZjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1dLQWN0aW9uTWVudUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9XS0FjdGlvbk1lbnVDb250cm9sbGVyLm1tCkBAIC00NDksNiArNDQ5LDE2IEBA
IHN0YXRpYyBib29sIHRhcmdldFNpemVGaXRzSW5BdmFpbGFibGVTcGFjZShOU1NpemUgdGFyZ2V0
U2l6ZSwgTlNTaXplIGF2YWlsYWJsZVNwCiAKICNwcmFnbWEgbWFyayBJbWFnZSBhY3Rpb25zCiAK
Ky0gKE5TSW1hZ2UgKilfaGl0VGVzdFJlc3VsdEltYWdlCit7CisgICAgUmVmUHRyPFNoYXJlZE1l
bW9yeT4gaW1hZ2VTaGFyZWRNZW1vcnkgPSBfaGl0VGVzdFJlc3VsdC5pbWFnZVNoYXJlZE1lbW9y
eTsKKyAgICBpZiAoIWltYWdlU2hhcmVkTWVtb3J5KQorICAgICAgICByZXR1cm4gbmlsOworCisg
ICAgUmV0YWluUHRyPE5TSW1hZ2U+IG5zSW1hZ2UgPSBhZG9wdE5TKFtbTlNJbWFnZSBhbGxvY10g
aW5pdFdpdGhEYXRhOltOU0RhdGEgZGF0YVdpdGhCeXRlczppbWFnZVNoYXJlZE1lbW9yeS0+ZGF0
YSgpIGxlbmd0aDppbWFnZVNoYXJlZE1lbW9yeS0+c2l6ZSgpXV0pOworICAgIHJldHVybiBuc0lt
YWdlLmF1dG9yZWxlYXNlKCk7Cit9CisKIC0gKE5TQXJyYXkgKilfZGVmYXVsdE1lbnVJdGVtc0Zv
ckltYWdlCiB7CiAgICAgUmV0YWluUHRyPE5TTWVudUl0ZW0+IGNvcHlJbWFnZUl0ZW0gPSBbc2Vs
ZiBfY3JlYXRlQWN0aW9uTWVudUl0ZW1Gb3JUYWc6a1dLQ29udGV4dEFjdGlvbkl0ZW1UYWdDb3B5
SW1hZ2VdOwpAQCAtNDYwLDEwICs0NzAsOCBAQCBzdGF0aWMgYm9vbCB0YXJnZXRTaXplRml0c0lu
QXZhaWxhYmxlU3BhY2UoTlNTaXplIHRhcmdldFNpemUsIE5TU2l6ZSBhdmFpbGFibGVTcAogICAg
IFJldGFpblB0cjxOU01lbnVJdGVtPiBzYXZlVG9Eb3dubG9hZHNJdGVtID0gW3NlbGYgX2NyZWF0
ZUFjdGlvbk1lbnVJdGVtRm9yVGFnOmtXS0NvbnRleHRBY3Rpb25JdGVtVGFnU2F2ZUltYWdlVG9E
b3dubG9hZHNdOwogICAgIFJldGFpblB0cjxOU01lbnVJdGVtPiBzaGFyZUl0ZW0gPSBbc2VsZiBf
Y3JlYXRlQWN0aW9uTWVudUl0ZW1Gb3JUYWc6a1dLQ29udGV4dEFjdGlvbkl0ZW1UYWdTaGFyZUlt
YWdlXTsKIAotICAgIGlmIChSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBfaGl0VGVz
dFJlc3VsdC5pbWFnZSkgewotICAgICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UgPSBi
aXRtYXAtPm1ha2VDR0ltYWdlKCk7Ci0gICAgICAgIFJldGFpblB0cjxOU0ltYWdlPiBuc0ltYWdl
ID0gYWRvcHROUyhbW05TSW1hZ2UgYWxsb2NdIGluaXRXaXRoQ0dJbWFnZTppbWFnZS5nZXQoKSBz
aXplOk5TWmVyb1NpemVdKTsKLSAgICAgICAgX3NoYXJpbmdTZXJ2aWNlUGlja2VyID0gYWRvcHRO
UyhbW05TU2hhcmluZ1NlcnZpY2VQaWNrZXIgYWxsb2NdIGluaXRXaXRoSXRlbXM6QFsgbnNJbWFn
ZS5nZXQoKSBdXSk7CisgICAgaWYgKFJldGFpblB0cjxOU0ltYWdlPiBpbWFnZSA9IFtzZWxmIF9o
aXRUZXN0UmVzdWx0SW1hZ2VdKSB7CisgICAgICAgIF9zaGFyaW5nU2VydmljZVBpY2tlciA9IGFk
b3B0TlMoW1tOU1NoYXJpbmdTZXJ2aWNlUGlja2VyIGFsbG9jXSBpbml0V2l0aEl0ZW1zOkBbIGlt
YWdlLmdldCgpIF1dKTsKICAgICAgICAgW19zaGFyaW5nU2VydmljZVBpY2tlciBzZXREZWxlZ2F0
ZTpzZWxmXTsKICAgICAgICAgW3NoYXJlSXRlbSBzZXRTdWJtZW51Oltfc2hhcmluZ1NlcnZpY2VQ
aWNrZXIgbWVudV1dOwogICAgIH0KQEAgLTQ3MywxNCArNDgxLDEyIEBAIHN0YXRpYyBib29sIHRh
cmdldFNpemVGaXRzSW5BdmFpbGFibGVTcGFjZShOU1NpemUgdGFyZ2V0U2l6ZSwgTlNTaXplIGF2
YWlsYWJsZVNwCiAKIC0gKHZvaWQpX2NvcHlJbWFnZTooaWQpc2VuZGVyCiB7Ci0gICAgUmVmUHRy
PFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwID0gX2hpdFRlc3RSZXN1bHQuaW1hZ2U7Ci0gICAgaWYg
KCFiaXRtYXApCisgICAgUmV0YWluUHRyPE5TSW1hZ2U+IGltYWdlID0gW3NlbGYgX2hpdFRlc3RS
ZXN1bHRJbWFnZV07CisgICAgaWYgKCFpbWFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmV0
YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlID0gYml0bWFwLT5tYWtlQ0dJbWFnZSgpOwotICAgIFJl
dGFpblB0cjxOU0ltYWdlPiBuc0ltYWdlID0gYWRvcHROUyhbW05TSW1hZ2UgYWxsb2NdIGluaXRX
aXRoQ0dJbWFnZTppbWFnZS5nZXQoKSBzaXplOk5TWmVyb1NpemVdKTsKICAgICBbW05TUGFzdGVi
b2FyZCBnZW5lcmFsUGFzdGVib2FyZF0gY2xlYXJDb250ZW50c107Ci0gICAgW1tOU1Bhc3RlYm9h
cmQgZ2VuZXJhbFBhc3RlYm9hcmRdIHdyaXRlT2JqZWN0czpAWyBuc0ltYWdlLmdldCgpIF1dOwor
ICAgIFtbTlNQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSB3cml0ZU9iamVjdHM6QFsgaW1h
Z2UuZ2V0KCkgXV07CiB9CiAKIC0gKHZvaWQpX3NhdmVJbWFnZVRvRG93bmxvYWRzOihpZClzZW5k
ZXIKQEAgLTU0NCwyMiArNTUwLDIwIEBAIHN0YXRpYyBOU1N0cmluZyAqcGF0aFRvUGhvdG9PbkRp
c2soTlNTdHJpbmcgKnN1Z2dlc3RlZEZpbGVuYW1lKQogICAgIGlmICghW3NlbGYgX2NhbkFkZE1l
ZGlhVG9QaG90b3NdKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWZQdHI8U2hhcmVhYmxlQml0
bWFwPiBiaXRtYXAgPSBfaGl0VGVzdFJlc3VsdC5pbWFnZTsKLSAgICBpZiAoIWJpdG1hcCkKKyAg
ICBSZWZQdHI8U2hhcmVkTWVtb3J5PiBpbWFnZVNoYXJlZE1lbW9yeSA9IF9oaXRUZXN0UmVzdWx0
LmltYWdlU2hhcmVkTWVtb3J5OworICAgIGlmICghaW1hZ2VTaGFyZWRNZW1vcnktPnNpemUoKSB8
fCBfaGl0VGVzdFJlc3VsdC5pbWFnZUV4dGVuc2lvbi5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UgPSBiaXRtYXAtPm1ha2VDR0ltYWdl
KCk7CiAKLSAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfZ2xvYmFsX3F1ZXVlKERJU1BB
VENIX1FVRVVFX1BSSU9SSVRZX0RFRkFVTFQsIDApLCBeewotICAgICAgICBOU1N0cmluZyAqIGNv
bnN0IHN1Z2dlc3RlZEZpbGVuYW1lID0gQCJpbWFnZS5qcGciOworICAgIFJldGFpblB0cjxOU0Rh
dGE+IGltYWdlRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXM6aW1h
Z2VTaGFyZWRNZW1vcnktPmRhdGEoKSBsZW5ndGg6aW1hZ2VTaGFyZWRNZW1vcnktPnNpemUoKV0p
OworICAgIFJldGFpblB0cjxOU1N0cmluZz4gc3VnZ2VzdGVkRmlsZW5hbWUgPSBbW1tOU1Byb2Nl
c3NJbmZvIHByb2Nlc3NJbmZvXSBnbG9iYWxseVVuaXF1ZVN0cmluZ10gc3RyaW5nQnlBcHBlbmRp
bmdQYXRoRXh0ZW5zaW9uOl9oaXRUZXN0UmVzdWx0LmltYWdlRXh0ZW5zaW9uXTsKIAotICAgICAg
ICBOU1N0cmluZyAqZmlsZVBhdGggPSBwYXRoVG9QaG90b09uRGlzayhzdWdnZXN0ZWRGaWxlbmFt
ZSk7CisgICAgZGlzcGF0Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRD
SF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgXnsKKyAgICAgICAgTlNTdHJpbmcgKmZpbGVQ
YXRoID0gcGF0aFRvUGhvdG9PbkRpc2soc3VnZ2VzdGVkRmlsZW5hbWUuZ2V0KCkpOwogICAgICAg
ICBpZiAoIWZpbGVQYXRoKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIE5TVVJMICpm
aWxlVVJMID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpmaWxlUGF0aF07Ci0gICAgICAgIGF1dG8g
ZGVzdCA9IGFkb3B0Q0YoQ0dJbWFnZURlc3RpbmF0aW9uQ3JlYXRlV2l0aFVSTCgoQ0ZVUkxSZWYp
ZmlsZVVSTCwga1VUVHlwZUpQRUcsIDEsIG51bGxwdHIpKTsKLSAgICAgICAgQ0dJbWFnZURlc3Rp
bmF0aW9uQWRkSW1hZ2UoZGVzdC5nZXQoKSwgaW1hZ2UuZ2V0KCksIG51bGxwdHIpOwotICAgICAg
ICBDR0ltYWdlRGVzdGluYXRpb25GaW5hbGl6ZShkZXN0LmdldCgpKTsKKyAgICAgICAgW2ltYWdl
RGF0YSB3cml0ZVRvVVJMOmZpbGVVUkwgYXRvbWljYWxseTpOT107CiAKICAgICAgICAgZGlzcGF0
Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKICAgICAgICAgICAgIC8vIFRo
aXMgQVBJIHByb3ZpZGVzIG5vIHdheSB0byByZXBvcnQgZmFpbHVyZSwgYnV0IGlmIDE4NDIwNzc4
IGlzIGZpeGVkIHNvIHRoYXQgaXQgZG9lcywgd2Ugc2hvdWxkIGhhbmRsZSB0aGlzLgpAQCAtOTAw
LDcgKzkwNCw3IEBAIHN0YXRpYyBOU1N0cmluZyAqcGF0aFRvUGhvdG9PbkRpc2soTlNTdHJpbmcg
KnN1Z2dlc3RlZEZpbGVuYW1lKQogICAgICAgICByZXR1cm4gW3NlbGYgX2RlZmF1bHRNZW51SXRl
bXNGb3JWaWRlb107CiAgICAgfQogCi0gICAgaWYgKCFoaXRUZXN0UmVzdWx0LT5hYnNvbHV0ZUlt
YWdlVVJMKCkuaXNFbXB0eSgpICYmIF9oaXRUZXN0UmVzdWx0LmltYWdlKSB7CisgICAgaWYgKCFo
aXRUZXN0UmVzdWx0LT5hYnNvbHV0ZUltYWdlVVJMKCkuaXNFbXB0eSgpICYmIF9oaXRUZXN0UmVz
dWx0LmltYWdlU2hhcmVkTWVtb3J5ICYmICFfaGl0VGVzdFJlc3VsdC5pbWFnZUV4dGVuc2lvbi5p
c0VtcHR5KCkpIHsKICAgICAgICAgX3R5cGUgPSBrV0tBY3Rpb25NZW51SW1hZ2U7CiAgICAgICAg
IHJldHVybiBbc2VsZiBfZGVmYXVsdE1lbnVJdGVtc0ZvckltYWdlXTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5k
ZXggNTk3ODVjM2Y0YTNhYzIzY2NjNWY2MDFlYzY0MDUyMzFlNzJlZjA0MS4uMDhjMmJmYTYwYzc4
NGZiNGI3ZjkwZjc0MDljNzE2ODMyZDUwNTliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtMTAwOSw5ICsxMDA5LDEz
IEBAIHZvaWQgV2ViUGFnZTo6cGVyZm9ybUFjdGlvbk1lbnVIaXRUZXN0QXRMb2NhdGlvbihXZWJD
b3JlOjpGbG9hdFBvaW50IGxvY2F0aW9uSW5WCiAgICAgbV9sYXN0QWN0aW9uTWVudUhpdFRlc3RS
ZXN1bHQgPSBoaXRUZXN0UmVzdWx0OwogCiAgICAgaWYgKEltYWdlKiBpbWFnZSA9IGhpdFRlc3RS
ZXN1bHQuaW1hZ2UoKSkgewotICAgICAgICBhY3Rpb25NZW51UmVzdWx0LmltYWdlID0gU2hhcmVh
YmxlQml0bWFwOjpjcmVhdGVTaGFyZWFibGUoSW50U2l6ZShpbWFnZS0+c2l6ZSgpKSwgU2hhcmVh
YmxlQml0bWFwOjpTdXBwb3J0c0FscGhhKTsKLSAgICAgICAgaWYgKGFjdGlvbk1lbnVSZXN1bHQu
aW1hZ2UpCi0gICAgICAgICAgICBhY3Rpb25NZW51UmVzdWx0LmltYWdlLT5jcmVhdGVHcmFwaGlj
c0NvbnRleHQoKS0+ZHJhd0ltYWdlKGltYWdlLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBJbnRQb2lu
dCgpKTsKKyAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gaW1hZ2UtPmRhdGEo
KTsKKyAgICAgICAgU3RyaW5nIGltYWdlRXh0ZW5zaW9uID0gaW1hZ2UtPmZpbGVuYW1lRXh0ZW5z
aW9uKCk7CisgICAgICAgIGlmICghaW1hZ2VFeHRlbnNpb24uaXNFbXB0eSgpICYmIGJ1ZmZlcikg
eworICAgICAgICAgICAgYWN0aW9uTWVudVJlc3VsdC5pbWFnZVNoYXJlZE1lbW9yeSA9IFNoYXJl
ZE1lbW9yeTo6Y3JlYXRlKGJ1ZmZlci0+c2l6ZSgpKTsKKyAgICAgICAgICAgIG1lbWNweShhY3Rp
b25NZW51UmVzdWx0LmltYWdlU2hhcmVkTWVtb3J5LT5kYXRhKCksIGJ1ZmZlci0+ZGF0YSgpLCBi
dWZmZXItPnNpemUoKSk7CisgICAgICAgICAgICBhY3Rpb25NZW51UmVzdWx0LmltYWdlRXh0ZW5z
aW9uID0gaW1hZ2VFeHRlbnNpb247CisgICAgICAgIH0KICAgICB9CiAKICAgICBib29sIHBhZ2VP
dmVybGF5RGlkT3ZlcnJpZGVEYXRhRGV0ZWN0b3JzID0gZmFsc2U7Cg==
</data>
<flag name="review"
          id="266624"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>