<?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>124480</bug_id>
          
          <creation_ts>2013-11-17 23:46:55 -0800</creation_ts>
          <short_desc>Clean up static_cast&lt;HTMLFoo*&gt; usage</short_desc>
          <delta_ts>2013-11-18 03:45:51 -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="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>kling</cc>
    
    <cc>rego+ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>951497</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-17 23:46:55 -0800</bug_when>
    <thetext>Though there are toHTMLFoo(), some places are still using static_cast&lt;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951500</commentid>
    <comment_count>1</comment_count>
      <attachid>217172</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-17 23:49:39 -0800</bug_when>
    <thetext>Created attachment 217172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951531</commentid>
    <comment_count>2</comment_count>
      <attachid>217172</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-11-18 01:33:53 -0800</bug_when>
    <thetext>Comment on attachment 217172
Patch

Attachment 217172 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/24668150</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951536</commentid>
    <comment_count>3</comment_count>
      <attachid>217181</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-18 01:53:35 -0800</bug_when>
    <thetext>Created attachment 217181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951565</commentid>
    <comment_count>4</comment_count>
      <attachid>217181</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-18 03:45:47 -0800</bug_when>
    <thetext>Comment on attachment 217181
Patch

Clearing flags on attachment: 217181

Committed r159416: &lt;http://trac.webkit.org/changeset/159416&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951566</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-18 03:45:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217172</attachid>
            <date>2013-11-17 23:49:39 -0800</date>
            <delta_ts>2013-11-18 01:53:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124480-20131118164937.patch</filename>
            <type>text/plain</type>
            <size>22101</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5Mzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFlMjQ3NGRhYzQ3ZDkx
MDk3YjM2MTg1YmU2YzUwOTdkMjk4ODJmNC4uNzUyMDFkODkwNWMxN2E3NjQ5OTUyZWMyYWQ5NDUz
Mjc5NDkwMzhlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEzLTExLTE3ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAg
c3RhdGljX2Nhc3Q8SFRNTEZvbyo+IHVzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ0ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaG91Z2ggdGhlcmUgYXJlIHRvSFRNTEZvbygpLCBzb21lIHBs
YWNlcyBhcmUgc3RpbGwgdXNpbmcgc3RhdGljX2Nhc3Q8Pi4KKyAgICAgICAgQWRkaXRpb25hbGx5
LCB0b0hUTUxCb2R5RWxlbWVudCgpIGlzIHN1cHBvcnRlZCBmcm9tIG5vdy4KKworICAgICAgICBO
byBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0Ojppc1JlcXVpcmVkKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
VGFibGU6OmlzRGF0YVRhYmxlKToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERP
TVByaXZhdGUuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3cmFwKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNIVE1MRnJhbWVTZXRFbGVtZW50OjpuYW1lR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGx1Z2lu
SW5zdGFuY2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKToKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjppY29uVVJMcyk6CisgICAgICAgICogZG9tL0RvY3VtZW50U3R5bGVTaGVldENv
bGxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVj
dGlvbjo6Y29sbGVjdEFjdGl2ZVN0eWxlU2hlZXRzKToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxh
Y2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rp
b25Db21tYW5kOjptYWtlSW5zZXJ0ZWRDb250ZW50Um91bmRUcmlwcGFibGVXaXRoSFRNTFRyZWVC
dWlsZGVyKToKKyAgICAgICAgKiBlZGl0aW5nL2lvcy9FZGl0b3JJT1MubW06CisgICAgICAgIChX
ZWJDb3JlOjpFZGl0b3I6OnNldFRleHRBbGlnbm1lbnRGb3JDaGFuZ2VkQmFzZVdyaXRpbmdEaXJl
Y3Rpb24pOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50Lmg6CisgICAgICAgICogaHRt
bC9IVE1MRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpiZ0Nv
bG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudDo6c2V0QmdDb2xvcik6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnQ6OmZnQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTERvY3VtZW50OjpzZXRGZ0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVu
dDo6YWxpbmtDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnQ6OnNldEFsaW5r
Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpsaW5rQ29sb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpzZXRMaW5rQ29sb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTERvY3VtZW50Ojp2bGlua0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxE
b2N1bWVudDo6c2V0VmxpbmtDb2xvcik6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVk
ZWQpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojp1cGRhdGVBbmNlc3RvckRpc2FibGVk
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZW5jbG9z
aW5nRm9ybUNvbnRyb2xFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzdWJtaXRFbGVtZW50RnJvbUV2ZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxJbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VM
b2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxMZWdlbmRFbGVtZW50Ojp2aXJ0dWFsRm9ybSk6
CisgICAgICAgICogaHRtbC9SYWRpb05vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJh
ZGlvTm9kZUxpc3Q6OmNoZWNrRWxlbWVudE1hdGNoZXNSYWRpb05vZGVMaXN0RmlsdGVyKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTm9kZSk6CisKIDIwMTMtMTEtMTcg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUlNBU1NBLVBL
Q1MxLXYxXzUgSldLIGltcG9ydCBkb2Vzbid0IGNoZWNrIGtleSBzaXplCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3Bw
CmluZGV4IDE0ZjlmMzg3ZTVlMGUxZTZkNGM2MWI4ODk4OWM0NWViNThiYjgzMjYuLjhmNGYwMmUw
NDA3YWU0OWI4MjY4OGQ1MDcxNzFiZTY1YTljNDI1YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC03
MzQsNyArNzM0LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNSZXF1aXJlZCgp
IGNvbnN0CiAKICAgICBOb2RlKiBuID0gdGhpcy0+bm9kZSgpOwogICAgIGlmIChuICYmIChuLT5p
c0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG4pLT5pc0Zvcm1Db250cm9sRWxlbWVudCgpKSkK
LSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqPihuKS0+
aXNSZXF1aXJlZCgpOworICAgICAgICByZXR1cm4gdG9IVE1MRm9ybUNvbnRyb2xFbGVtZW50KG4p
LT5pc1JlcXVpcmVkKCk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAKaW5kZXggODY4MGIw
ODE0YzI3MTYzNGFhMjdmODU3NzRmZDJiOTA4NTYyNDk5OS4uOTlkZDlhZTdiMTA2MGJiZGZlZmQx
ODA2MmIwNjU5YTJlY2QzOGU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcApAQCAtMTg0LDcgKzE4NCw3IEBAIGJvb2wgQWNj
ZXNzaWJpbGl0eVRhYmxlOjppc0RhdGFUYWJsZSgpIGNvbnN0CiAgICAgICAgICAgICAKICAgICAg
ICAgICAgIHZhbGlkQ2VsbENvdW50Kys7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIEhUTUxU
YWJsZUNlbGxFbGVtZW50KiBjZWxsRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxUYWJsZUNlbGxF
bGVtZW50Kj4oY2VsbC0+ZWxlbWVudCgpKTsKKyAgICAgICAgICAgIEhUTUxUYWJsZUNlbGxFbGVt
ZW50KiBjZWxsRWxlbWVudCA9IHRvSFRNTFRhYmxlQ2VsbEVsZW1lbnQoY2VsbC0+ZWxlbWVudCgp
KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgYm9vbCBpc1RIQ2VsbCA9IGNlbGxFbGVtZW50
LT5oYXNUYWdOYW1lKHRoVGFnKTsKICAgICAgICAgICAgIC8vIElmIHRoZSBmaXJzdCByb3cgaXMg
Y29tcHJpc2VkIG9mIGFsbCA8dGg+IHRhZ3MsIGFzc3VtZSBpdCBpcyBhIGRhdGEgdGFibGUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTVByaXZh
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01Qcml2YXRl
LmNwcAppbmRleCA4NmQwYWFlNGZmN2RlYWVmODllOTRmZDJiNWQzYzQzYzYwYWI0ZmE5Li5mYjkz
YWVhM2ExMzY0M2Y1M2EyY2M1YTk5N2FjYTllNDViMDEzMzU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTVByaXZhdGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NUHJpdmF0ZS5jcHAKQEAgLTkzLDcg
KzkzLDcgQEAgV2ViS2l0RE9NTm9kZSogd3JhcChOb2RlKiBub2RlKQogICAgICAgICByZXR1cm4g
V0VCS0lUX0RPTV9OT0RFKHdyYXBDb21tZW50KHN0YXRpY19jYXN0PENvbW1lbnQqPihub2RlKSkp
OwogICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfTk9ERToKICAgICAgICAgaWYgKHN0YXRpY19jYXN0
PERvY3VtZW50Kj4obm9kZSktPmlzSFRNTERvY3VtZW50KCkpCi0gICAgICAgICAgICByZXR1cm4g
V0VCS0lUX0RPTV9OT0RFKHdyYXBIVE1MRG9jdW1lbnQoc3RhdGljX2Nhc3Q8SFRNTERvY3VtZW50
Kj4obm9kZSkpKTsKKyAgICAgICAgICAgIHJldHVybiBXRUJLSVRfRE9NX05PREUod3JhcEhUTUxE
b2N1bWVudCh0b0hUTUxEb2N1bWVudChub2RlKSkpOwogICAgICAgICByZXR1cm4gV0VCS0lUX0RP
TV9OT0RFKHdyYXBEb2N1bWVudChzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG5vZGUpKSk7CiAgICAg
Y2FzZSBOb2RlOjpET0NVTUVOVF9UWVBFX05PREU6CiAgICAgICAgIHJldHVybiBXRUJLSVRfRE9N
X05PREUod3JhcERvY3VtZW50VHlwZShzdGF0aWNfY2FzdDxEb2N1bWVudFR5cGUqPihub2RlKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRF
bGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEZyYW1l
U2V0RWxlbWVudEN1c3RvbS5jcHAKaW5kZXggNjEzZmQyMDI0YjAwOTE1YzA5NjA5OWE5ZGRjNzlk
MzhjNmNhNTNiYy4uZjg5Yzg1YmUyMWIzODRhYmFiMzAwOWQ1NTI4OGFiZDk1YjAwOTc5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNl
dEVsZW1lbnRDdXN0b20uY3BwCkBAIC01MSw3ICs1MSw3IEBAIEpTVmFsdWUgSlNIVE1MRnJhbWVT
ZXRFbGVtZW50OjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFzZSwg
UHJvCiB7CiAgICAgSFRNTEVsZW1lbnQmIGVsZW1lbnQgPSBqc0Nhc3Q8SlNIVE1MRWxlbWVudCo+
KGFzT2JqZWN0KHNsb3RCYXNlKSktPmltcGwoKTsKICAgICBOb2RlKiBmcmFtZUVsZW1lbnQgPSBl
bGVtZW50LmNoaWxkcmVuKCktPm5hbWVkSXRlbShwcm9wZXJ0eU5hbWVUb0F0b21pY1N0cmluZyhw
cm9wZXJ0eU5hbWUpKTsKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8
SFRNTEZyYW1lRWxlbWVudCo+KGZyYW1lRWxlbWVudCktPmNvbnRlbnREb2N1bWVudCgpKSB7Cisg
ICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IHRvSFRNTEZyYW1lRWxlbWVudChmcmFtZUVsZW1l
bnQpLT5jb250ZW50RG9jdW1lbnQoKSkgewogICAgICAgICBpZiAoSlNET01XaW5kb3dTaGVsbCog
d2luZG93ID0gdG9KU0RPTVdpbmRvd1NoZWxsKGRvY3VtZW50LT5mcmFtZSgpLCBjdXJyZW50V29y
bGQoZXhlYykpKQogICAgICAgICAgICAgcmV0dXJuIHdpbmRvdzsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNw
cAppbmRleCBhNzMzODBiMmEwZGYxNmQzYzIzZmM4ODRlMDM5ZDU5YTgzMjIzMDk3Li44NWE5ZGFi
YjQwNzhkYmU5M2IzNjM5MTI2MGJlMTYwMjYxN2E5MTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAKQEAgLTQ1
LDcgKzQ1LDcgQEAgSW5zdGFuY2UqIHBsdWdpbkluc3RhbmNlKEhUTUxFbGVtZW50JiBlbGVtZW50
KQogICAgIC8vIFRoZSBwbHVnaW4gZWxlbWVudCBob2xkcyBhbiBvd25pbmcgcmVmZXJlbmNlLCBz
byB3ZSBkb24ndCBoYXZlIHRvLgogICAgIGlmICghaXNQbHVnaW5FbGVtZW50KGVsZW1lbnQpKQog
ICAgICAgICByZXR1cm4gMDsKLSAgICBJbnN0YW5jZSogaW5zdGFuY2UgPSBzdGF0aWNfY2FzdDxI
VE1MUGx1Z0luRWxlbWVudCY+KGVsZW1lbnQpLmdldEluc3RhbmNlKCkuZ2V0KCk7CisgICAgSW5z
dGFuY2UqIGluc3RhbmNlID0gdG9IVE1MUGx1Z0luRWxlbWVudChlbGVtZW50KS5nZXRJbnN0YW5j
ZSgpLmdldCgpOwogICAgIGlmICghaW5zdGFuY2UgfHwgIWluc3RhbmNlLT5yb290T2JqZWN0KCkp
CiAgICAgICAgIHJldHVybiAwOwogICAgIHJldHVybiBpbnN0YW5jZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IDlkZjM4MWE2ZGUxZWVmYWZkMWRhZTQ0MWVmZWVhNDEyOTY2ZGMwOTguLmI5
ODRlMzM2Mzk4MzE3NGQ3NTE5N2JmZWI4ODYzNTI0YTc2ZWQxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtNDEzNyw3ICs0MTM3LDcgQEAgVVJMIERvY3VtZW50OjpvcGVuU2VhcmNoRGVz
Y3JpcHRpb25VUkwoKQogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IE5vZGUqIGNoaWxkID0gY2hp
bGRyZW4tPml0ZW0oaSk7IGkrKykgewogICAgICAgICBpZiAoIWNoaWxkLT5oYXNUYWdOYW1lKGxp
bmtUYWcpKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIEhUTUxMaW5rRWxlbWVudCog
bGlua0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTGlua0VsZW1lbnQqPihjaGlsZCk7CisgICAg
ICAgIEhUTUxMaW5rRWxlbWVudCogbGlua0VsZW1lbnQgPSB0b0hUTUxMaW5rRWxlbWVudChjaGls
ZCk7CiAgICAgICAgIGlmICghZXF1YWxJZ25vcmluZ0Nhc2UobGlua0VsZW1lbnQtPnR5cGUoKSwg
b3BlblNlYXJjaE1JTUVUeXBlKSB8fCAhZXF1YWxJZ25vcmluZ0Nhc2UobGlua0VsZW1lbnQtPnJl
bCgpLCBvcGVuU2VhcmNoUmVsYXRpb24pKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IGlmIChsaW5rRWxlbWVudC0+aHJlZigpLmlzRW1wdHkoKSkKQEAgLTQ0MzMsNyArNDQzMyw3IEBA
IGNvbnN0IFZlY3RvcjxJY29uVVJMPiYgRG9jdW1lbnQ6Omljb25VUkxzKGludCBpY29uVHlwZXNN
YXNrKQogICAgICAgICBOb2RlKiBjaGlsZCA9IGNoaWxkcmVuLT5pdGVtKGkpOwogICAgICAgICBp
ZiAoIWNoaWxkLT5oYXNUYWdOYW1lKGxpbmtUYWcpKQogICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgIEhUTUxMaW5rRWxlbWVudCogbGlua0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTGlu
a0VsZW1lbnQqPihjaGlsZCk7CisgICAgICAgIEhUTUxMaW5rRWxlbWVudCogbGlua0VsZW1lbnQg
PSB0b0hUTUxMaW5rRWxlbWVudChjaGlsZCk7CiAgICAgICAgIGlmICghKGxpbmtFbGVtZW50LT5p
Y29uVHlwZSgpICYgaWNvblR5cGVzTWFzaykpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgaWYgKGxpbmtFbGVtZW50LT5ocmVmKCkuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uY3BwCmluZGV4IDg4N2MyMTI0
NTIwMWE5ZmI1NjRhODE2NjMxZGZmYTU1NWM3ZmNkNDcuLmIwYWQwNzM0NjIxZWU3MzAwNWRlOGZi
OGMxYTQ0YTI1NTNmY2ExOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dFN0eWxlU2hlZXRDb2xsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRTdHlsZVNoZWV0Q29sbGVjdGlvbi5jcHAKQEAgLTI4Nyw3ICsyODcsNyBAQCB2b2lkIERvY3Vt
ZW50U3R5bGVTaGVldENvbGxlY3Rpb246OmNvbGxlY3RBY3RpdmVTdHlsZVNoZWV0cyhWZWN0b3I8
UmVmUHRyPFN0eWxlUwogICAgICAgICAgICAgYm9vbCBlbmFibGVkVmlhU2NyaXB0ID0gZmFsc2U7
CiAgICAgICAgICAgICBpZiAoZS0+aGFzVGFnTmFtZShsaW5rVGFnKSkgewogICAgICAgICAgICAg
ICAgIC8vIDxMSU5LPiBlbGVtZW50Ci0gICAgICAgICAgICAgICAgSFRNTExpbmtFbGVtZW50KiBs
aW5rRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxMaW5rRWxlbWVudCo+KG4pOworICAgICAgICAg
ICAgICAgIEhUTUxMaW5rRWxlbWVudCogbGlua0VsZW1lbnQgPSB0b0hUTUxMaW5rRWxlbWVudChu
KTsKICAgICAgICAgICAgICAgICBpZiAobGlua0VsZW1lbnQtPmlzRGlzYWJsZWQoKSkKICAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgZW5hYmxlZFZpYVNjcmlw
dCA9IGxpbmtFbGVtZW50LT5pc0VuYWJsZWRWaWFTY3JpcHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggYTFlMWE0ZTBm
YzA0MGJkMjMzMjZmYmM3YzQ4ZDU5NjNhNzYwYTMzYS4uNzIzYjhjOTI1YTRmMzc0MTAxMGE4NmY3
ZGJkYzg1OGQyYjQyZWJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBs
YWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBs
YWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTYzMyw3ICs2MzMsNyBAQCB2b2lkIFJlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kOjptYWtlSW5zZXJ0ZWRDb250ZW50Um91bmRUcmlwcGFibGVXaXRoSFRN
TFRyZWVCdWlsZAogICAgICAgICB9CiAKICAgICAgICAgaWYgKGlzSGVhZGVyRWxlbWVudChub2Rl
LmdldCgpKSkgewotICAgICAgICAgICAgaWYgKEhUTUxFbGVtZW50KiBoZWFkZXJFbGVtZW50ID0g
c3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlwZShwb3Np
dGlvbkluUGFyZW50QmVmb3JlTm9kZShub2RlLmdldCgpKSwgaXNIZWFkZXJFbGVtZW50KSkpCisg
ICAgICAgICAgICBpZiAoSFRNTEVsZW1lbnQqIGhlYWRlckVsZW1lbnQgPSB0b0hUTUxFbGVtZW50
KGhpZ2hlc3RFbmNsb3NpbmdOb2RlT2ZUeXBlKHBvc2l0aW9uSW5QYXJlbnRCZWZvcmVOb2RlKG5v
ZGUuZ2V0KCkpLCBpc0hlYWRlckVsZW1lbnQpKSkKICAgICAgICAgICAgICAgICBtb3ZlTm9kZU91
dE9mQW5jZXN0b3Iobm9kZSwgaGVhZGVyRWxlbWVudCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2lvcy9FZGl0b3JJT1MubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2lvcy9FZGl0b3JJT1MubW0KaW5kZXggMmY3NWRjNGVkZjA3OTUzMmRk
YjBmMTA4OWU5NzY5NjU4YTkwZDI2NC4uNDA0ZWRjMWY2MjhhZTMyNzc5NjE1YTM0M2VlZmNlNjUy
M2FlYjA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9pb3MvRWRpdG9ySU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaW9zL0VkaXRvcklPUy5tbQpAQCAtMTYx
LDExICsxNjEsMTEgQEAgdm9pZCBFZGl0b3I6OnNldFRleHRBbGlnbm1lbnRGb3JDaGFuZ2VkQmFz
ZVdyaXRpbmdEaXJlY3Rpb24oV3JpdGluZ0RpcmVjdGlvbiBkaXIKIAogICAgIEVsZW1lbnQqIGZv
Y3VzZWRFbGVtZW50ID0gZnJhbWUoKS0+ZG9jdW1lbnQoKS0+Zm9jdXNlZEVsZW1lbnQoKTsKICAg
ICBpZiAoZm9jdXNlZEVsZW1lbnQgJiYgKGZvY3VzZWRFbGVtZW50LT5oYXNUYWdOYW1lKHRleHRh
cmVhVGFnKSB8fCAoZm9jdXNlZEVsZW1lbnQtPmhhc1RhZ05hbWUoaW5wdXRUYWcpICYmCi0gICAg
ICAgIChzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZm9jdXNlZEVsZW1lbnQpLT5pc1Rl
eHRGaWVsZCgpIHx8Ci0gICAgICAgICBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZm9j
dXNlZEVsZW1lbnQpLT5pc1NlYXJjaEZpZWxkKCkpKSkpIHsKKyAgICAgICAgKHRvSFRNTElucHV0
RWxlbWVudChmb2N1c2VkRWxlbWVudCktPmlzVGV4dEZpZWxkKCkgfHwKKyAgICAgICAgIHRvSFRN
TElucHV0RWxlbWVudChmb2N1c2VkRWxlbWVudCktPmlzU2VhcmNoRmllbGQoKSkpKSkgewogICAg
ICAgICBpZiAoZGlyZWN0aW9uID09IE5hdHVyYWxXcml0aW5nRGlyZWN0aW9uKQogICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudCo+KGZvY3VzZWRFbGVt
ZW50KS0+c2V0QXR0cmlidXRlKGFsaWduQXR0ciwgbmV3VmFsdWUpOworICAgICAgICB0b0hUTUxF
bGVtZW50KGZvY3VzZWRFbGVtZW50KS0+c2V0QXR0cmlidXRlKGFsaWduQXR0ciwgbmV3VmFsdWUp
OwogICAgICAgICBmcmFtZSgpLT5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxCb2R5RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaApp
bmRleCAyOThlOGM3ZDkyMjAyNzIxZTEzNWYyMTQzNGQzMzQxNTk3ZDJmZGRiLi42ZWNiNjBlYmJh
MGJhOTk0ZWJlNzkyM2YyZWFhZWE3Mjk3OTMxZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxCb2R5RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJv
ZHlFbGVtZW50LmgKQEAgLTkyLDYgKzkyLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
YWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PFVSTD4mKSBjb25zdDsKIH07
CiAKK05PREVfVFlQRV9DQVNUUyhIVE1MQm9keUVsZW1lbnQpCisKIH0gLy9uYW1lc3BhY2UKIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKaW5kZXggNWVmMzczMmYzNmZl
ZTc4NzQwYzc0NTk0MmJlNTllZmFlOTkzNzY3Ny4uNzQ4MzgwMzEwMjIwYmQxNmI5YjlhZjI2Mjc4
ZjAyZjc0MGI0MTY0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcApAQCAtMTYx
LDcgKzE2MSw3IEBAIGJvb2wgSFRNTERvY3VtZW50OjpoYXNGb2N1cygpCiBTdHJpbmcgSFRNTERv
Y3VtZW50OjpiZ0NvbG9yKCkKIHsKICAgICBIVE1MRWxlbWVudCogYiA9IGJvZHkoKTsKLSAgICBI
VE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFtZShib2R5VGFn
KSkgPyBzdGF0aWNfY2FzdDxIVE1MQm9keUVsZW1lbnQqPihiKSA6IDA7CisgICAgSFRNTEJvZHlF
bGVtZW50KiBib2R5RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8gdG9I
VE1MQm9keUVsZW1lbnQoYikgOiAwOwogCiAgICAgaWYgKCFib2R5RWxlbWVudCkKICAgICAgICAg
cmV0dXJuIFN0cmluZygpOwpAQCAtMTcxLDcgKzE3MSw3IEBAIFN0cmluZyBIVE1MRG9jdW1lbnQ6
OmJnQ29sb3IoKQogdm9pZCBIVE1MRG9jdW1lbnQ6OnNldEJnQ29sb3IoY29uc3QgU3RyaW5nJiB2
YWx1ZSkKIHsKICAgICBIVE1MRWxlbWVudCogYiA9IGJvZHkoKTsKLSAgICBIVE1MQm9keUVsZW1l
bnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFtZShib2R5VGFnKSkgPyBzdGF0aWNf
Y2FzdDxIVE1MQm9keUVsZW1lbnQqPihiKSA6IDA7CisgICAgSFRNTEJvZHlFbGVtZW50KiBib2R5
RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8gdG9IVE1MQm9keUVsZW1l
bnQoYikgOiAwOwogCiAgICAgaWYgKGJvZHlFbGVtZW50KQogICAgICAgICBib2R5RWxlbWVudC0+
c2V0QmdDb2xvcih2YWx1ZSk7CkBAIC0xODAsNyArMTgwLDcgQEAgdm9pZCBIVE1MRG9jdW1lbnQ6
OnNldEJnQ29sb3IoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIFN0cmluZyBIVE1MRG9jdW1lbnQ6OmZn
Q29sb3IoKQogewogICAgIEhUTUxFbGVtZW50KiBiID0gYm9keSgpOwotICAgIEhUTUxCb2R5RWxl
bWVudCogYm9keUVsZW1lbnQgPSAoYiAmJiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHN0YXRp
Y19jYXN0PEhUTUxCb2R5RWxlbWVudCo+KGIpIDogMDsKKyAgICBIVE1MQm9keUVsZW1lbnQqIGJv
ZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFtZShib2R5VGFnKSkgPyB0b0hUTUxCb2R5RWxl
bWVudChiKSA6IDA7CiAKICAgICBpZiAoIWJvZHlFbGVtZW50KQogICAgICAgICByZXR1cm4gU3Ry
aW5nKCk7CkBAIC0xOTAsNyArMTkwLDcgQEAgU3RyaW5nIEhUTUxEb2N1bWVudDo6ZmdDb2xvcigp
CiB2b2lkIEhUTUxEb2N1bWVudDo6c2V0RmdDb2xvcihjb25zdCBTdHJpbmcmIHZhbHVlKQogewog
ICAgIEhUTUxFbGVtZW50KiBiID0gYm9keSgpOwotICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVs
ZW1lbnQgPSAoYiAmJiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxC
b2R5RWxlbWVudCo+KGIpIDogMDsKKyAgICBIVE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0g
KGIgJiYgYi0+aGFzVGFnTmFtZShib2R5VGFnKSkgPyB0b0hUTUxCb2R5RWxlbWVudChiKSA6IDA7
CiAKICAgICBpZiAoYm9keUVsZW1lbnQpCiAgICAgICAgIGJvZHlFbGVtZW50LT5zZXRUZXh0KHZh
bHVlKTsKQEAgLTE5OSw3ICsxOTksNyBAQCB2b2lkIEhUTUxEb2N1bWVudDo6c2V0RmdDb2xvcihj
b25zdCBTdHJpbmcmIHZhbHVlKQogU3RyaW5nIEhUTUxEb2N1bWVudDo6YWxpbmtDb2xvcigpCiB7
CiAgICAgSFRNTEVsZW1lbnQqIGIgPSBib2R5KCk7Ci0gICAgSFRNTEJvZHlFbGVtZW50KiBib2R5
RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8gc3RhdGljX2Nhc3Q8SFRN
TEJvZHlFbGVtZW50Kj4oYikgOiAwOworICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQg
PSAoYiAmJiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHRvSFRNTEJvZHlFbGVtZW50KGIpIDog
MDsKIAogICAgIGlmICghYm9keUVsZW1lbnQpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKQEAg
LTIwOSw3ICsyMDksNyBAQCBTdHJpbmcgSFRNTERvY3VtZW50OjphbGlua0NvbG9yKCkKIHZvaWQg
SFRNTERvY3VtZW50OjpzZXRBbGlua0NvbG9yKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAg
SFRNTEVsZW1lbnQqIGIgPSBib2R5KCk7Ci0gICAgSFRNTEJvZHlFbGVtZW50KiBib2R5RWxlbWVu
dCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8gc3RhdGljX2Nhc3Q8SFRNTEJvZHlF
bGVtZW50Kj4oYikgOiAwOworICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQgPSAoYiAm
JiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHRvSFRNTEJvZHlFbGVtZW50KGIpIDogMDsKIAog
ICAgIGlmIChib2R5RWxlbWVudCkgewogICAgICAgICAvLyBUaGlzIGNoZWNrIGlzIGEgYml0IHNp
bGx5LCBidXQgc29tZSBiZW5jaG1hcmtzIGxpa2UgdG8gc2V0IHRoZQpAQCAtMjIzLDcgKzIyMyw3
IEBAIHZvaWQgSFRNTERvY3VtZW50OjpzZXRBbGlua0NvbG9yKGNvbnN0IFN0cmluZyYgdmFsdWUp
CiBTdHJpbmcgSFRNTERvY3VtZW50OjpsaW5rQ29sb3IoKQogewogICAgIEhUTUxFbGVtZW50KiBi
ID0gYm9keSgpOwotICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQgPSAoYiAmJiBiLT5o
YXNUYWdOYW1lKGJvZHlUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxCb2R5RWxlbWVudCo+KGIpIDog
MDsKKyAgICBIVE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFt
ZShib2R5VGFnKSkgPyB0b0hUTUxCb2R5RWxlbWVudChiKSA6IDA7CiAKICAgICBpZiAoIWJvZHlF
bGVtZW50KQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CkBAIC0yMzMsNyArMjMzLDcgQEAgU3Ry
aW5nIEhUTUxEb2N1bWVudDo6bGlua0NvbG9yKCkKIHZvaWQgSFRNTERvY3VtZW50OjpzZXRMaW5r
Q29sb3IoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBIVE1MRWxlbWVudCogYiA9IGJvZHko
KTsKLSAgICBIVE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFt
ZShib2R5VGFnKSkgPyBzdGF0aWNfY2FzdDxIVE1MQm9keUVsZW1lbnQqPihiKSA6IDA7CisgICAg
SFRNTEJvZHlFbGVtZW50KiBib2R5RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRh
ZykpID8gdG9IVE1MQm9keUVsZW1lbnQoYikgOiAwOwogCiAgICAgaWYgKGJvZHlFbGVtZW50KSB7
CiAgICAgICAgIC8vIFRoaXMgY2hlY2sgaXMgYSBiaXQgc2lsbHksIGJ1dCBzb21lIGJlbmNobWFy
a3MgbGlrZSB0byBzZXQgdGhlCkBAIC0yNDcsNyArMjQ3LDcgQEAgdm9pZCBIVE1MRG9jdW1lbnQ6
OnNldExpbmtDb2xvcihjb25zdCBTdHJpbmcmIHZhbHVlKQogU3RyaW5nIEhUTUxEb2N1bWVudDo6
dmxpbmtDb2xvcigpCiB7CiAgICAgSFRNTEVsZW1lbnQqIGIgPSBib2R5KCk7Ci0gICAgSFRNTEJv
ZHlFbGVtZW50KiBib2R5RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8g
c3RhdGljX2Nhc3Q8SFRNTEJvZHlFbGVtZW50Kj4oYikgOiAwOworICAgIEhUTUxCb2R5RWxlbWVu
dCogYm9keUVsZW1lbnQgPSAoYiAmJiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHRvSFRNTEJv
ZHlFbGVtZW50KGIpIDogMDsKIAogICAgIGlmICghYm9keUVsZW1lbnQpCiAgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKQEAgLTI1Nyw3ICsyNTcsNyBAQCBTdHJpbmcgSFRNTERvY3VtZW50Ojp2bGlu
a0NvbG9yKCkKIHZvaWQgSFRNTERvY3VtZW50OjpzZXRWbGlua0NvbG9yKGNvbnN0IFN0cmluZyYg
dmFsdWUpCiB7CiAgICAgSFRNTEVsZW1lbnQqIGIgPSBib2R5KCk7Ci0gICAgSFRNTEJvZHlFbGVt
ZW50KiBib2R5RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8gc3RhdGlj
X2Nhc3Q8SFRNTEJvZHlFbGVtZW50Kj4oYikgOiAwOworICAgIEhUTUxCb2R5RWxlbWVudCogYm9k
eUVsZW1lbnQgPSAoYiAmJiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHRvSFRNTEJvZHlFbGVt
ZW50KGIpIDogMDsKIAogICAgIGlmIChib2R5RWxlbWVudCkgewogICAgICAgICAvLyBUaGlzIGNo
ZWNrIGlzIGEgYml0IHNpbGx5LCBidXQgc29tZSBiZW5jaG1hcmtzIGxpa2UgdG8gc2V0IHRoZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAKaW5kZXggMjNjNGMzYmNmMGI0
OGZmMzAwMDY5NjU5ZWI2OTI2ZTUwYjVhNjdjNi4uOTgxNjg4ODg0OGZiMmE5MzhkNzVhOGNlNWI1
NDM2OGIxMzIwYmJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3Bw
CkBAIC0xODYsNyArMTg2LDcgQEAgYm9vbCBIVE1MRW1iZWRFbGVtZW50OjpyZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKICAgICBpZiAocCAmJiBwLT5oYXNUYWdOYW1l
KG9iamVjdFRhZykpIHsKICAgICAgICAgaWYgKCFwLT5yZW5kZXJlcigpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoIXN0YXRpY19jYXN0PEhUTUxPYmplY3RFbGVtZW50
Kj4ocCktPnVzZUZhbGxiYWNrQ29udGVudCgpKSB7CisgICAgICAgIGlmICghdG9IVE1MT2JqZWN0
RWxlbWVudChwKS0+dXNlRmFsbGJhY2tDb250ZW50KCkpIHsKICAgICAgICAgICAgIEFTU0VSVCgh
cC0+cmVuZGVyZXIoKS0+aXNFbWJlZGRlZE9iamVjdCgpKTsKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5jcHAKaW5kZXggNGNjYzU0MTViZmU1YzZkYmEyY2I1OWU1ZWI0NGYzMmI5MjY0Zjc0
NS4uNWRlZDljMzE5NzA1NTE3ZTkyMDY0OTM0NjNjNjBlZWRhOGZlODU2YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0xMDcsNyArMTA3
LDcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojp1cGRhdGVBbmNlc3RvckRpc2FibGVk
U3RhdGUoKSBjb25zdAogICAgICAgICBpZiAoIWxlZ2VuZEFuY2VzdG9yICYmIGFuY2VzdG9yLT5o
YXNUYWdOYW1lKGxlZ2VuZFRhZykpCiAgICAgICAgICAgICBsZWdlbmRBbmNlc3RvciA9IGFuY2Vz
dG9yOwogICAgICAgICBpZiAoYW5jZXN0b3ItPmhhc1RhZ05hbWUoZmllbGRzZXRUYWcpKSB7Ci0g
ICAgICAgICAgICBmaWVsZFNldEFuY2VzdG9yID0gc3RhdGljX2Nhc3Q8SFRNTEZpZWxkU2V0RWxl
bWVudCo+KGFuY2VzdG9yKTsKKyAgICAgICAgICAgIGZpZWxkU2V0QW5jZXN0b3IgPSB0b0hUTUxG
aWVsZFNldEVsZW1lbnQoYW5jZXN0b3IpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICAgICB9CkBAIC00NzMsNyArNDczLDcgQEAgSFRNTEZvcm1Db250cm9sRWxlbWVudCogSFRNTEZv
cm1Db250cm9sRWxlbWVudDo6ZW5jbG9zaW5nRm9ybUNvbnRyb2xFbGVtZW50KE5vZGUKIHsKICAg
ICBmb3IgKDsgbm9kZTsgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKSkgewogICAgICAgICBpZiAo
bm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChub2RlKS0+aXNGb3JtQ29udHJvbEVs
ZW1lbnQoKSkKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MRm9ybUNvbnRyb2xF
bGVtZW50Kj4obm9kZSk7CisgICAgICAgICAgICByZXR1cm4gdG9IVE1MRm9ybUNvbnRyb2xFbGVt
ZW50KG5vZGUpOwogICAgIH0KICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1FbGVtZW50LmNwcAppbmRleCA4ZjJjN2MxMWQ0MjVjNzUwODg5OWQ1ZDI5MWNkMWY2ZjNh
ZWY0YzU1Li4zZWMwMWI3ZjY4M2JkNmE2NjU2ZTE3NGFkNTUzYmNmNWYxYjVhYzI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0xOTQsNyArMTk0LDcgQEAgc3Rh
dGljIGlubGluZSBIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBzdWJtaXRFbGVtZW50RnJvbUV2ZW50
KGNvbnN0IEV2ZW50KiBldmVudCkKIHsKICAgICBmb3IgKE5vZGUqIG5vZGUgPSBldmVudC0+dGFy
Z2V0KCktPnRvTm9kZSgpOyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpKSB7CiAgICAg
ICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG5vZGUpLT5pc0Zvcm1D
b250cm9sRWxlbWVudCgpKQotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQqPihub2RlKTsKKyAgICAgICAgICAgIHJldHVybiB0b0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQobm9kZSk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDdjMGU2Y2I1MzZiOWU0OGEyNjdkNWRiYWYy
Yzk2MjdiMjNjOWUwNmQuLjQ3NDNkY2IyMmNlMTU1ZDE1ODA3NWQ1MTc1YjY3ZmQ5YmI0ZGQ5MGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUxvYWRlci5jcHAKQEAgLTg2LDcgKzg2LDcg
QEAgdm9pZCBIVE1MSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKikK
ICAgICB9CiAKICAgICBpZiAobG9hZEVycm9yICYmIGlzSFRNTE9iamVjdEVsZW1lbnQoZWxlbWVu
dC5nZXQoKSkpCi0gICAgICAgIHN0YXRpY19jYXN0PEhUTUxPYmplY3RFbGVtZW50Kj4oZWxlbWVu
dC5nZXQoKSktPnJlbmRlckZhbGxiYWNrQ29udGVudCgpOworICAgICAgICB0b0hUTUxPYmplY3RF
bGVtZW50KGVsZW1lbnQuZ2V0KCkpLT5yZW5kZXJGYWxsYmFja0NvbnRlbnQoKTsKIH0KIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAppbmRleCBiZDFhY2EyYWQ3
MzdmMTEwYzBiMzhhZWE2ODYxYjMwMTk3NGNmYTg4Li41OTczYmMyMDczOWRhYWUyZGQ0NDIzNGEw
Y2NlMTYxYjliZTMwZmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdl
bmRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50
LmNwcApAQCAtODIsNyArODIsNyBAQCBIVE1MRm9ybUVsZW1lbnQqIEhUTUxMZWdlbmRFbGVtZW50
Ojp2aXJ0dWFsRm9ybSgpIGNvbnN0CiAgICAgaWYgKCFmaWVsZHNldCB8fCAhZmllbGRzZXQtPmhh
c1RhZ05hbWUoZmllbGRzZXRUYWcpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxIVE1MRmllbGRTZXRFbGVtZW50Kj4oZmllbGRzZXQpLT5mb3JtKCk7CisgICAg
cmV0dXJuIHRvSFRNTEZpZWxkU2V0RWxlbWVudChmaWVsZHNldCktPmZvcm0oKTsKIH0KICAgICAK
IH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhZGlvTm9k
ZUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmNwcAppbmRleCBk
NjE0MTY5ZmRmYTEzMmU2MThiMGQ1ZjZiY2QxZTAwZmU0ODRlZGNhLi5hZDdkYzc2MDEwZTY5ZjUw
ZGVjMjRkNDUwNzcwOGNhM2NhNTkyYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1JhZGlvTm9kZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9Ob2RlTGlz
dC5jcHAKQEAgLTg3LDkgKzg3LDkgQEAgYm9vbCBSYWRpb05vZGVMaXN0OjpjaGVja0VsZW1lbnRN
YXRjaGVzUmFkaW9Ob2RlTGlzdEZpbHRlcihFbGVtZW50KiB0ZXN0RWxlbWVudCkKICAgICBpZiAo
aXNIVE1MRm9ybUVsZW1lbnQob3duZXJOb2RlKCkpKSB7CiAgICAgICAgIEhUTUxGb3JtRWxlbWVu
dCogZm9ybUVsZW1lbnQgPSAwOwogICAgICAgICBpZiAodGVzdEVsZW1lbnQtPmhhc1RhZ05hbWUo
b2JqZWN0VGFnKSkKLSAgICAgICAgICAgIGZvcm1FbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE9i
amVjdEVsZW1lbnQqPih0ZXN0RWxlbWVudCktPmZvcm0oKTsKKyAgICAgICAgICAgIGZvcm1FbGVt
ZW50ID0gdG9IVE1MT2JqZWN0RWxlbWVudCh0ZXN0RWxlbWVudCktPmZvcm0oKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgZm9ybUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRm9ybUNvbnRy
b2xFbGVtZW50Kj4odGVzdEVsZW1lbnQpLT5mb3JtKCk7CisgICAgICAgICAgICBmb3JtRWxlbWVu
dCA9IHRvSFRNTEZvcm1Db250cm9sRWxlbWVudCh0ZXN0RWxlbWVudCktPmZvcm0oKTsKICAgICAg
ICAgaWYgKCFmb3JtRWxlbWVudCB8fCBmb3JtRWxlbWVudCAhPSAmb3duZXJOb2RlKCkpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggZDNjMmEwM2QyMjgzOGNhZDkxZTc2MmU1MTNk
YTc2MmIwMzQyNjQ4ZS4uYmY1MmVjY2Y5NWQ4NGRhMDc5NTdjY2QwY2IxMjA1ZGVmNzIzNDM2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBA
IC0xMzA4LDcgKzEzMDgsNyBAQCBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpET006Ok5vZGU+IElu
c3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUoTm9kZSogbgogICAgICAgICBFbGVt
ZW50KiBlbGVtZW50ID0gdG9FbGVtZW50KG5vZGUpOwogICAgICAgICB2YWx1ZS0+c2V0QXR0cmli
dXRlcyhidWlsZEFycmF5Rm9yRWxlbWVudEF0dHJpYnV0ZXMoZWxlbWVudCkpOwogICAgICAgICBp
ZiAobm9kZS0+aXNGcmFtZU93bmVyRWxlbWVudCgpKSB7Ci0gICAgICAgICAgICBIVE1MRnJhbWVP
d25lckVsZW1lbnQqIGZyYW1lT3duZXIgPSBzdGF0aWNfY2FzdDxIVE1MRnJhbWVPd25lckVsZW1l
bnQqPihub2RlKTsKKyAgICAgICAgICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudCogZnJhbWVPd25l
ciA9IHRvSFRNTEZyYW1lT3duZXJFbGVtZW50KG5vZGUpOwogICAgICAgICAgICAgRnJhbWUqIGZy
YW1lID0gZnJhbWVPd25lci0+Y29udGVudEZyYW1lKCk7CiAgICAgICAgICAgICBpZiAoZnJhbWUp
CiAgICAgICAgICAgICAgICAgdmFsdWUtPnNldEZyYW1lSWQobV9wYWdlQWdlbnQtPmZyYW1lSWQo
ZnJhbWUpKTsKQEAgLTEzMjUsNyArMTMyNSw3IEBAIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OkRP
TTo6Tm9kZT4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTm9kZShOb2RlKiBuCiAK
ICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKICAgICAgICAgaWYgKGVsZW1lbnQtPmhhc1Rh
Z05hbWUoSFRNTE5hbWVzOjp0ZW1wbGF0ZVRhZykpCi0gICAgICAgICAgICB2YWx1ZS0+c2V0VGVt
cGxhdGVDb250ZW50KGJ1aWxkT2JqZWN0Rm9yTm9kZShzdGF0aWNfY2FzdDxIVE1MVGVtcGxhdGVF
bGVtZW50Kj4oZWxlbWVudCktPmNvbnRlbnQoKSwgMCwgbm9kZXNNYXApKTsKKyAgICAgICAgICAg
IHZhbHVlLT5zZXRUZW1wbGF0ZUNvbnRlbnQoYnVpbGRPYmplY3RGb3JOb2RlKHRvSFRNTFRlbXBs
YXRlRWxlbWVudChlbGVtZW50KS0+Y29udGVudCgpLCAwLCBub2Rlc01hcCkpOwogI2VuZGlmCiAK
ICAgICB9IGVsc2UgaWYgKG5vZGUtPmlzRG9jdW1lbnROb2RlKCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217181</attachid>
            <date>2013-11-18 01:53:35 -0800</date>
            <delta_ts>2013-11-18 03:45:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124480-20131118185333.patch</filename>
            <type>text/plain</type>
            <size>21106</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I4ZDIzOWRmNjE1ZWI0
YzJlMTQyZGNkMzM5NThhMTg0MDgxZGNjMi4uZWVjMDE2N2U5NmQ0ZTA0MWQ4Yjk2YWE0ZTFjMGU3
MzQ5MTNmMTA4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEzLTExLTE4ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAg
c3RhdGljX2Nhc3Q8SFRNTEZvbyo+IHVzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ0ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaG91Z2ggdGhlcmUgYXJlIHRvSFRNTEZvbygpLCBzb21lIHBs
YWNlcyBhcmUgc3RpbGwgdXNpbmcgc3RhdGljX2Nhc3Q8Pi4KKyAgICAgICAgQWRkaXRpb25hbGx5
LCB0b0hUTUxCb2R5RWxlbWVudCgpIGlzIHN1cHBvcnRlZCBmcm9tIG5vdy4KKworICAgICAgICBO
byBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0Ojppc1JlcXVpcmVkKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
VGFibGU6OmlzRGF0YVRhYmxlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNl
dEVsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRnJhbWVTZXRFbGVt
ZW50OjpuYW1lR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRG
dW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGx1Z2luSW5zdGFuY2UpOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6b3BlblNl
YXJjaERlc2NyaXB0aW9uVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppY29uVVJM
cyk6CisgICAgICAgICogZG9tL0RvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbjo6Y29sbGVjdEFjdGl2
ZVN0eWxlU2hlZXRzKToKKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjptYWtlSW5z
ZXJ0ZWRDb250ZW50Um91bmRUcmlwcGFibGVXaXRoSFRNTFRyZWVCdWlsZGVyKToKKyAgICAgICAg
KiBlZGl0aW5nL2lvcy9FZGl0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnNl
dFRleHRBbGlnbm1lbnRGb3JDaGFuZ2VkQmFzZVdyaXRpbmdEaXJlY3Rpb24pOgorICAgICAgICAq
IGh0bWwvSFRNTEJvZHlFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpiZ0NvbG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxEb2N1bWVudDo6c2V0QmdDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
RG9jdW1lbnQ6OmZnQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpzZXRG
Z0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudDo6YWxpbmtDb2xvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnQ6OnNldEFsaW5rQ29sb3IpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTERvY3VtZW50OjpsaW5rQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50OjpzZXRMaW5rQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50
Ojp2bGlua0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudDo6c2V0VmxpbmtD
b2xvcik6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICAqIGh0
bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9y
bUNvbnRyb2xFbGVtZW50Ojp1cGRhdGVBbmNlc3RvckRpc2FibGVkU3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZW5jbG9zaW5nRm9ybUNvbnRyb2xFbGVt
ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpzdWJtaXRFbGVtZW50RnJvbUV2ZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlz
aGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxMZWdlbmRFbGVtZW50Ojp2aXJ0dWFsRm9ybSk6CisgICAgICAgICogaHRtbC9S
YWRpb05vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhZGlvTm9kZUxpc3Q6OmNoZWNr
RWxlbWVudE1hdGNoZXNSYWRpb05vZGVMaXN0RmlsdGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OmJ1aWxkT2JqZWN0Rm9yTm9kZSk6CisKIDIwMTMtMTEtMTcgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBleHBvcnRpbmcgcHVibGljIFJT
QVNTQS1QS0NTMS12MV81IGtleXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggMTRmOWYzODdlNWUwZTFl
NmQ0YzYxYjg4OTg5YzQ1ZWI1OGJiODMyNi4uOGY0ZjAyZTA0MDdhZTQ5YjgyNjg4ZDUwNzE3MWJl
NjVhOWM0MjVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTczNCw3ICs3MzQsNyBAQCBib29sIEFj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc1JlcXVpcmVkKCkgY29uc3QKIAogICAgIE5vZGUqIG4g
PSB0aGlzLT5ub2RlKCk7CiAgICAgaWYgKG4gJiYgKG4tPmlzRWxlbWVudE5vZGUoKSAmJiB0b0Vs
ZW1lbnQobiktPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpKQotICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8SFRNTEZvcm1Db250cm9sRWxlbWVudCo+KG4pLT5pc1JlcXVpcmVkKCk7CisgICAgICAg
IHJldHVybiB0b0hUTUxGb3JtQ29udHJvbEVsZW1lbnQobiktPmlzUmVxdWlyZWQoKTsKIAogICAg
IHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlLmNwcAppbmRleCA4NjgwYjA4MTRjMjcxNjM0YWEyN2Y4NTc3NGZk
MmI5MDg1NjI0OTk5Li45OWRkOWFlN2IxMDYwYmJkZmVmZDE4MDYyYjA2NTlhMmVjZDM4ZTY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFi
bGUuY3BwCkBAIC0xODQsNyArMTg0LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VGFibGU6OmlzRGF0
YVRhYmxlKCkgY29uc3QKICAgICAgICAgICAgIAogICAgICAgICAgICAgdmFsaWRDZWxsQ291bnQr
KzsKICAgICAgICAgICAgIAotICAgICAgICAgICAgSFRNTFRhYmxlQ2VsbEVsZW1lbnQqIGNlbGxF
bGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTFRhYmxlQ2VsbEVsZW1lbnQqPihjZWxsLT5lbGVtZW50
KCkpOworICAgICAgICAgICAgSFRNTFRhYmxlQ2VsbEVsZW1lbnQqIGNlbGxFbGVtZW50ID0gdG9I
VE1MVGFibGVDZWxsRWxlbWVudChjZWxsLT5lbGVtZW50KCkpOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBib29sIGlzVEhDZWxsID0gY2VsbEVsZW1lbnQtPmhhc1RhZ05hbWUodGhUYWcpOwog
ICAgICAgICAgICAgLy8gSWYgdGhlIGZpcnN0IHJvdyBpcyBjb21wcmlzZWQgb2YgYWxsIDx0aD4g
dGFncywgYXNzdW1lIGl0IGlzIGEgZGF0YSB0YWJsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwCmluZGV4
IDYxM2ZkMjAyNGIwMDkxNWMwOTYwOTlhOWRkYzc5ZDM4YzZjYTUzYmMuLmY4OWM4NWJlMjFiMzg0
YWJhYjMwMDlkNTUyODhhYmQ5NWIwMDk3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcApAQCAtNTEs
NyArNTEsNyBAQCBKU1ZhbHVlIEpTSFRNTEZyYW1lU2V0RWxlbWVudDo6bmFtZUdldHRlcihFeGVj
U3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIFBybwogewogICAgIEhUTUxFbGVtZW50JiBl
bGVtZW50ID0ganNDYXN0PEpTSFRNTEVsZW1lbnQqPihhc09iamVjdChzbG90QmFzZSkpLT5pbXBs
KCk7CiAgICAgTm9kZSogZnJhbWVFbGVtZW50ID0gZWxlbWVudC5jaGlsZHJlbigpLT5uYW1lZEl0
ZW0ocHJvcGVydHlOYW1lVG9BdG9taWNTdHJpbmcocHJvcGVydHlOYW1lKSk7Ci0gICAgaWYgKERv
Y3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PEhUTUxGcmFtZUVsZW1lbnQqPihmcmFtZUVs
ZW1lbnQpLT5jb250ZW50RG9jdW1lbnQoKSkgeworICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQg
PSB0b0hUTUxGcmFtZUVsZW1lbnQoZnJhbWVFbGVtZW50KS0+Y29udGVudERvY3VtZW50KCkpIHsK
ICAgICAgICAgaWYgKEpTRE9NV2luZG93U2hlbGwqIHdpbmRvdyA9IHRvSlNET01XaW5kb3dTaGVs
bChkb2N1bWVudC0+ZnJhbWUoKSwgY3VycmVudFdvcmxkKGV4ZWMpKSkKICAgICAgICAgICAgIHJl
dHVybiB3aW5kb3c7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAKaW5kZXggYTczMzgwYjJhMGRmMTZkM2My
M2ZjODg0ZTAzOWQ1OWE4MzIyMzA5Ny4uODVhOWRhYmI0MDc4ZGJlOTNiMzYzOTEyNjBiZTE2MDI2
MTdhOTE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQbHVnaW5F
bGVtZW50RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Bs
dWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCkBAIC00NSw3ICs0NSw3IEBAIEluc3RhbmNlKiBwbHVn
aW5JbnN0YW5jZShIVE1MRWxlbWVudCYgZWxlbWVudCkKICAgICAvLyBUaGUgcGx1Z2luIGVsZW1l
bnQgaG9sZHMgYW4gb3duaW5nIHJlZmVyZW5jZSwgc28gd2UgZG9uJ3QgaGF2ZSB0by4KICAgICBp
ZiAoIWlzUGx1Z2luRWxlbWVudChlbGVtZW50KSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgSW5z
dGFuY2UqIGluc3RhbmNlID0gc3RhdGljX2Nhc3Q8SFRNTFBsdWdJbkVsZW1lbnQmPihlbGVtZW50
KS5nZXRJbnN0YW5jZSgpLmdldCgpOworICAgIEluc3RhbmNlKiBpbnN0YW5jZSA9IHRvSFRNTFBs
dWdJbkVsZW1lbnQoZWxlbWVudCkuZ2V0SW5zdGFuY2UoKS5nZXQoKTsKICAgICBpZiAoIWluc3Rh
bmNlIHx8ICFpbnN0YW5jZS0+cm9vdE9iamVjdCgpKQogICAgICAgICByZXR1cm4gMDsKICAgICBy
ZXR1cm4gaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA5ZGYzODFhNmRlMWVl
ZmFmZDFkYWU0NDFlZmVlYTQxMjk2NmRjMDk4Li5iOTg0ZTMzNjM5ODMxNzRkNzUxOTdiZmViODg2
MzUyNGE3NmVkMTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQxMzcsNyArNDEzNyw3
IEBAIFVSTCBEb2N1bWVudDo6b3BlblNlYXJjaERlc2NyaXB0aW9uVVJMKCkKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBOb2RlKiBjaGlsZCA9IGNoaWxkcmVuLT5pdGVtKGkpOyBpKyspIHsKICAg
ICAgICAgaWYgKCFjaGlsZC0+aGFzVGFnTmFtZShsaW5rVGFnKSkKICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICBIVE1MTGlua0VsZW1lbnQqIGxpbmtFbGVtZW50ID0gc3RhdGljX2Nhc3Q8
SFRNTExpbmtFbGVtZW50Kj4oY2hpbGQpOworICAgICAgICBIVE1MTGlua0VsZW1lbnQqIGxpbmtF
bGVtZW50ID0gdG9IVE1MTGlua0VsZW1lbnQoY2hpbGQpOwogICAgICAgICBpZiAoIWVxdWFsSWdu
b3JpbmdDYXNlKGxpbmtFbGVtZW50LT50eXBlKCksIG9wZW5TZWFyY2hNSU1FVHlwZSkgfHwgIWVx
dWFsSWdub3JpbmdDYXNlKGxpbmtFbGVtZW50LT5yZWwoKSwgb3BlblNlYXJjaFJlbGF0aW9uKSkK
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAobGlua0VsZW1lbnQtPmhyZWYoKS5p
c0VtcHR5KCkpCkBAIC00NDMzLDcgKzQ0MzMsNyBAQCBjb25zdCBWZWN0b3I8SWNvblVSTD4mIERv
Y3VtZW50OjppY29uVVJMcyhpbnQgaWNvblR5cGVzTWFzaykKICAgICAgICAgTm9kZSogY2hpbGQg
PSBjaGlsZHJlbi0+aXRlbShpKTsKICAgICAgICAgaWYgKCFjaGlsZC0+aGFzVGFnTmFtZShsaW5r
VGFnKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBIVE1MTGlua0VsZW1lbnQqIGxp
bmtFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTExpbmtFbGVtZW50Kj4oY2hpbGQpOworICAgICAg
ICBIVE1MTGlua0VsZW1lbnQqIGxpbmtFbGVtZW50ID0gdG9IVE1MTGlua0VsZW1lbnQoY2hpbGQp
OwogICAgICAgICBpZiAoIShsaW5rRWxlbWVudC0+aWNvblR5cGUoKSAmIGljb25UeXBlc01hc2sp
KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmIChsaW5rRWxlbWVudC0+aHJlZigp
LmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFN0eWxl
U2hlZXRDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudFN0eWxlU2hl
ZXRDb2xsZWN0aW9uLmNwcAppbmRleCA4ODdjMjEyNDUyMDFhOWZiNTY0YTgxNjYzMWRmZmE1NTVj
N2ZjZDQ3Li5iMGFkMDczNDYyMWVlNzMwMDVkZThmYjhjMWE0NGEyNTUzZmNhMTk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uY3Bw
CkBAIC0yODcsNyArMjg3LDcgQEAgdm9pZCBEb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uOjpj
b2xsZWN0QWN0aXZlU3R5bGVTaGVldHMoVmVjdG9yPFJlZlB0cjxTdHlsZVMKICAgICAgICAgICAg
IGJvb2wgZW5hYmxlZFZpYVNjcmlwdCA9IGZhbHNlOwogICAgICAgICAgICAgaWYgKGUtPmhhc1Rh
Z05hbWUobGlua1RhZykpIHsKICAgICAgICAgICAgICAgICAvLyA8TElOSz4gZWxlbWVudAotICAg
ICAgICAgICAgICAgIEhUTUxMaW5rRWxlbWVudCogbGlua0VsZW1lbnQgPSBzdGF0aWNfY2FzdDxI
VE1MTGlua0VsZW1lbnQqPihuKTsKKyAgICAgICAgICAgICAgICBIVE1MTGlua0VsZW1lbnQqIGxp
bmtFbGVtZW50ID0gdG9IVE1MTGlua0VsZW1lbnQobik7CiAgICAgICAgICAgICAgICAgaWYgKGxp
bmtFbGVtZW50LT5pc0Rpc2FibGVkKCkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICAgICAgICAgIGVuYWJsZWRWaWFTY3JpcHQgPSBsaW5rRWxlbWVudC0+aXNFbmFibGVk
VmlhU2NyaXB0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwCmluZGV4IGExZTFhNGUwZmMwNDBiZDIzMzI2ZmJjN2M0OGQ1OTYzYTc2
MGEzM2EuLjcyM2I4YzkyNWE0ZjM3NDEwMTBhODZmN2RiZGM4NThkMmI0MmViZGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBA
IC02MzMsNyArNjMzLDcgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6bWFrZUluc2Vy
dGVkQ29udGVudFJvdW5kVHJpcHBhYmxlV2l0aEhUTUxUcmVlQnVpbGQKICAgICAgICAgfQogCiAg
ICAgICAgIGlmIChpc0hlYWRlckVsZW1lbnQobm9kZS5nZXQoKSkpIHsKLSAgICAgICAgICAgIGlm
IChIVE1MRWxlbWVudCogaGVhZGVyRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4o
aGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5cGUocG9zaXRpb25JblBhcmVudEJlZm9yZU5vZGUobm9k
ZS5nZXQoKSksIGlzSGVhZGVyRWxlbWVudCkpKQorICAgICAgICAgICAgaWYgKEhUTUxFbGVtZW50
KiBoZWFkZXJFbGVtZW50ID0gdG9IVE1MRWxlbWVudChoaWdoZXN0RW5jbG9zaW5nTm9kZU9mVHlw
ZShwb3NpdGlvbkluUGFyZW50QmVmb3JlTm9kZShub2RlLmdldCgpKSwgaXNIZWFkZXJFbGVtZW50
KSkpCiAgICAgICAgICAgICAgICAgbW92ZU5vZGVPdXRPZkFuY2VzdG9yKG5vZGUsIGhlYWRlckVs
ZW1lbnQpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9pb3MvRWRpdG9ySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9pb3MvRWRpdG9y
SU9TLm1tCmluZGV4IDJmNzVkYzRlZGYwNzk1MzJkZGIwZjEwODllOTc2OTY1OGE5MGQyNjQuLjQw
NGVkYzFmNjI4YWUzMjc3OTYxNWEzNDNlZWZjZTY1MjNhZWIwOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvaW9zL0VkaXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL2lvcy9FZGl0b3JJT1MubW0KQEAgLTE2MSwxMSArMTYxLDExIEBAIHZvaWQgRWRpdG9y
OjpzZXRUZXh0QWxpZ25tZW50Rm9yQ2hhbmdlZEJhc2VXcml0aW5nRGlyZWN0aW9uKFdyaXRpbmdE
aXJlY3Rpb24gZGlyCiAKICAgICBFbGVtZW50KiBmb2N1c2VkRWxlbWVudCA9IGZyYW1lKCktPmRv
Y3VtZW50KCktPmZvY3VzZWRFbGVtZW50KCk7CiAgICAgaWYgKGZvY3VzZWRFbGVtZW50ICYmIChm
b2N1c2VkRWxlbWVudC0+aGFzVGFnTmFtZSh0ZXh0YXJlYVRhZykgfHwgKGZvY3VzZWRFbGVtZW50
LT5oYXNUYWdOYW1lKGlucHV0VGFnKSAmJgotICAgICAgICAoc3RhdGljX2Nhc3Q8SFRNTElucHV0
RWxlbWVudCo+KGZvY3VzZWRFbGVtZW50KS0+aXNUZXh0RmllbGQoKSB8fAotICAgICAgICAgc3Rh
dGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGZvY3VzZWRFbGVtZW50KS0+aXNTZWFyY2hGaWVs
ZCgpKSkpKSB7CisgICAgICAgICh0b0hUTUxJbnB1dEVsZW1lbnQoZm9jdXNlZEVsZW1lbnQpLT5p
c1RleHRGaWVsZCgpIHx8CisgICAgICAgICB0b0hUTUxJbnB1dEVsZW1lbnQoZm9jdXNlZEVsZW1l
bnQpLT5pc1NlYXJjaEZpZWxkKCkpKSkpIHsKICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PSBOYXR1
cmFsV3JpdGluZ0RpcmVjdGlvbikKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgc3RhdGlj
X2Nhc3Q8SFRNTEVsZW1lbnQqPihmb2N1c2VkRWxlbWVudCktPnNldEF0dHJpYnV0ZShhbGlnbkF0
dHIsIG5ld1ZhbHVlKTsKKyAgICAgICAgdG9IVE1MRWxlbWVudChmb2N1c2VkRWxlbWVudCktPnNl
dEF0dHJpYnV0ZShhbGlnbkF0dHIsIG5ld1ZhbHVlKTsKICAgICAgICAgZnJhbWUoKS0+ZG9jdW1l
bnQoKS0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmgKaW5kZXggMjk4ZThjN2Q5MjIwMjcyMWUxMzVm
MjE0MzRkMzM0MTU5N2QyZmRkYi4uNmVjYjYwZWJiYTBiYTk5NGViZTc5MjNmMmVhYWVhNzI5Nzkz
MWQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5oCkBAIC05Miw2ICs5Miw4
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJM
cyhMaXN0SGFzaFNldDxVUkw+JikgY29uc3Q7CiB9OwogCitOT0RFX1RZUEVfQ0FTVFMoSFRNTEJv
ZHlFbGVtZW50KQorCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RG9jdW1lbnQuY3BwCmluZGV4IDVlZjM3MzJmMzZmZWU3ODc0MGM3NDU5NDJiZTU5ZWZhZTk5Mzc2
NzcuLjc0ODM4MDMxMDIyMGJkMTZiOWI5YWYyNjI3OGYwMmY3NDBiNDE2NGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBib29sIEhUTUxEb2N1
bWVudDo6aGFzRm9jdXMoKQogU3RyaW5nIEhUTUxEb2N1bWVudDo6YmdDb2xvcigpCiB7CiAgICAg
SFRNTEVsZW1lbnQqIGIgPSBib2R5KCk7Ci0gICAgSFRNTEJvZHlFbGVtZW50KiBib2R5RWxlbWVu
dCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8gc3RhdGljX2Nhc3Q8SFRNTEJvZHlF
bGVtZW50Kj4oYikgOiAwOworICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQgPSAoYiAm
JiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHRvSFRNTEJvZHlFbGVtZW50KGIpIDogMDsKIAog
ICAgIGlmICghYm9keUVsZW1lbnQpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTE3MSw3
ICsxNzEsNyBAQCBTdHJpbmcgSFRNTERvY3VtZW50OjpiZ0NvbG9yKCkKIHZvaWQgSFRNTERvY3Vt
ZW50OjpzZXRCZ0NvbG9yKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAgSFRNTEVsZW1lbnQq
IGIgPSBib2R5KCk7Ci0gICAgSFRNTEJvZHlFbGVtZW50KiBib2R5RWxlbWVudCA9IChiICYmIGIt
Pmhhc1RhZ05hbWUoYm9keVRhZykpID8gc3RhdGljX2Nhc3Q8SFRNTEJvZHlFbGVtZW50Kj4oYikg
OiAwOworICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQgPSAoYiAmJiBiLT5oYXNUYWdO
YW1lKGJvZHlUYWcpKSA/IHRvSFRNTEJvZHlFbGVtZW50KGIpIDogMDsKIAogICAgIGlmIChib2R5
RWxlbWVudCkKICAgICAgICAgYm9keUVsZW1lbnQtPnNldEJnQ29sb3IodmFsdWUpOwpAQCAtMTgw
LDcgKzE4MCw3IEBAIHZvaWQgSFRNTERvY3VtZW50OjpzZXRCZ0NvbG9yKGNvbnN0IFN0cmluZyYg
dmFsdWUpCiBTdHJpbmcgSFRNTERvY3VtZW50OjpmZ0NvbG9yKCkKIHsKICAgICBIVE1MRWxlbWVu
dCogYiA9IGJvZHkoKTsKLSAgICBIVE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYg
Yi0+aGFzVGFnTmFtZShib2R5VGFnKSkgPyBzdGF0aWNfY2FzdDxIVE1MQm9keUVsZW1lbnQqPihi
KSA6IDA7CisgICAgSFRNTEJvZHlFbGVtZW50KiBib2R5RWxlbWVudCA9IChiICYmIGItPmhhc1Rh
Z05hbWUoYm9keVRhZykpID8gdG9IVE1MQm9keUVsZW1lbnQoYikgOiAwOwogCiAgICAgaWYgKCFi
b2R5RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwpAQCAtMTkwLDcgKzE5MCw3IEBA
IFN0cmluZyBIVE1MRG9jdW1lbnQ6OmZnQ29sb3IoKQogdm9pZCBIVE1MRG9jdW1lbnQ6OnNldEZn
Q29sb3IoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBIVE1MRWxlbWVudCogYiA9IGJvZHko
KTsKLSAgICBIVE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFt
ZShib2R5VGFnKSkgPyBzdGF0aWNfY2FzdDxIVE1MQm9keUVsZW1lbnQqPihiKSA6IDA7CisgICAg
SFRNTEJvZHlFbGVtZW50KiBib2R5RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRh
ZykpID8gdG9IVE1MQm9keUVsZW1lbnQoYikgOiAwOwogCiAgICAgaWYgKGJvZHlFbGVtZW50KQog
ICAgICAgICBib2R5RWxlbWVudC0+c2V0VGV4dCh2YWx1ZSk7CkBAIC0xOTksNyArMTk5LDcgQEAg
dm9pZCBIVE1MRG9jdW1lbnQ6OnNldEZnQ29sb3IoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIFN0cmlu
ZyBIVE1MRG9jdW1lbnQ6OmFsaW5rQ29sb3IoKQogewogICAgIEhUTUxFbGVtZW50KiBiID0gYm9k
eSgpOwotICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQgPSAoYiAmJiBiLT5oYXNUYWdO
YW1lKGJvZHlUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxCb2R5RWxlbWVudCo+KGIpIDogMDsKKyAg
ICBIVE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFtZShib2R5
VGFnKSkgPyB0b0hUTUxCb2R5RWxlbWVudChiKSA6IDA7CiAKICAgICBpZiAoIWJvZHlFbGVtZW50
KQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CkBAIC0yMDksNyArMjA5LDcgQEAgU3RyaW5nIEhU
TUxEb2N1bWVudDo6YWxpbmtDb2xvcigpCiB2b2lkIEhUTUxEb2N1bWVudDo6c2V0QWxpbmtDb2xv
cihjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIEhUTUxFbGVtZW50KiBiID0gYm9keSgpOwot
ICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQgPSAoYiAmJiBiLT5oYXNUYWdOYW1lKGJv
ZHlUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxCb2R5RWxlbWVudCo+KGIpIDogMDsKKyAgICBIVE1M
Qm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFtZShib2R5VGFnKSkg
PyB0b0hUTUxCb2R5RWxlbWVudChiKSA6IDA7CiAKICAgICBpZiAoYm9keUVsZW1lbnQpIHsKICAg
ICAgICAgLy8gVGhpcyBjaGVjayBpcyBhIGJpdCBzaWxseSwgYnV0IHNvbWUgYmVuY2htYXJrcyBs
aWtlIHRvIHNldCB0aGUKQEAgLTIyMyw3ICsyMjMsNyBAQCB2b2lkIEhUTUxEb2N1bWVudDo6c2V0
QWxpbmtDb2xvcihjb25zdCBTdHJpbmcmIHZhbHVlKQogU3RyaW5nIEhUTUxEb2N1bWVudDo6bGlu
a0NvbG9yKCkKIHsKICAgICBIVE1MRWxlbWVudCogYiA9IGJvZHkoKTsKLSAgICBIVE1MQm9keUVs
ZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFnTmFtZShib2R5VGFnKSkgPyBzdGF0
aWNfY2FzdDxIVE1MQm9keUVsZW1lbnQqPihiKSA6IDA7CisgICAgSFRNTEJvZHlFbGVtZW50KiBi
b2R5RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8gdG9IVE1MQm9keUVs
ZW1lbnQoYikgOiAwOwogCiAgICAgaWYgKCFib2R5RWxlbWVudCkKICAgICAgICAgcmV0dXJuIFN0
cmluZygpOwpAQCAtMjMzLDcgKzIzMyw3IEBAIFN0cmluZyBIVE1MRG9jdW1lbnQ6OmxpbmtDb2xv
cigpCiB2b2lkIEhUTUxEb2N1bWVudDo6c2V0TGlua0NvbG9yKGNvbnN0IFN0cmluZyYgdmFsdWUp
CiB7CiAgICAgSFRNTEVsZW1lbnQqIGIgPSBib2R5KCk7Ci0gICAgSFRNTEJvZHlFbGVtZW50KiBi
b2R5RWxlbWVudCA9IChiICYmIGItPmhhc1RhZ05hbWUoYm9keVRhZykpID8gc3RhdGljX2Nhc3Q8
SFRNTEJvZHlFbGVtZW50Kj4oYikgOiAwOworICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1l
bnQgPSAoYiAmJiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHRvSFRNTEJvZHlFbGVtZW50KGIp
IDogMDsKIAogICAgIGlmIChib2R5RWxlbWVudCkgewogICAgICAgICAvLyBUaGlzIGNoZWNrIGlz
IGEgYml0IHNpbGx5LCBidXQgc29tZSBiZW5jaG1hcmtzIGxpa2UgdG8gc2V0IHRoZQpAQCAtMjQ3
LDcgKzI0Nyw3IEBAIHZvaWQgSFRNTERvY3VtZW50OjpzZXRMaW5rQ29sb3IoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKIFN0cmluZyBIVE1MRG9jdW1lbnQ6OnZsaW5rQ29sb3IoKQogewogICAgIEhUTUxF
bGVtZW50KiBiID0gYm9keSgpOwotICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQgPSAo
YiAmJiBiLT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxCb2R5RWxlbWVu
dCo+KGIpIDogMDsKKyAgICBIVE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+
aGFzVGFnTmFtZShib2R5VGFnKSkgPyB0b0hUTUxCb2R5RWxlbWVudChiKSA6IDA7CiAKICAgICBp
ZiAoIWJvZHlFbGVtZW50KQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CkBAIC0yNTcsNyArMjU3
LDcgQEAgU3RyaW5nIEhUTUxEb2N1bWVudDo6dmxpbmtDb2xvcigpCiB2b2lkIEhUTUxEb2N1bWVu
dDo6c2V0VmxpbmtDb2xvcihjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIEhUTUxFbGVtZW50
KiBiID0gYm9keSgpOwotICAgIEhUTUxCb2R5RWxlbWVudCogYm9keUVsZW1lbnQgPSAoYiAmJiBi
LT5oYXNUYWdOYW1lKGJvZHlUYWcpKSA/IHN0YXRpY19jYXN0PEhUTUxCb2R5RWxlbWVudCo+KGIp
IDogMDsKKyAgICBIVE1MQm9keUVsZW1lbnQqIGJvZHlFbGVtZW50ID0gKGIgJiYgYi0+aGFzVGFn
TmFtZShib2R5VGFnKSkgPyB0b0hUTUxCb2R5RWxlbWVudChiKSA6IDA7CiAKICAgICBpZiAoYm9k
eUVsZW1lbnQpIHsKICAgICAgICAgLy8gVGhpcyBjaGVjayBpcyBhIGJpdCBzaWxseSwgYnV0IHNv
bWUgYmVuY2htYXJrcyBsaWtlIHRvIHNldCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJl
ZEVsZW1lbnQuY3BwCmluZGV4IDIzYzRjM2JjZjBiNDhmZjMwMDA2OTY1OWViNjkyNmU1MGI1YTY3
YzYuLjk4MTY4ODg4NDhmYjJhOTM4ZDc1YThjZTViNTQzNjhiMTMyMGJiYzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcApAQCAtMTg2LDcgKzE4Niw3IEBAIGJvb2wg
SFRNTEVtYmVkRWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUpCiAgICAgaWYgKHAgJiYgcC0+aGFzVGFnTmFtZShvYmplY3RUYWcpKSB7CiAgICAgICAgIGlm
ICghcC0+cmVuZGVyZXIoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYg
KCFzdGF0aWNfY2FzdDxIVE1MT2JqZWN0RWxlbWVudCo+KHApLT51c2VGYWxsYmFja0NvbnRlbnQo
KSkgeworICAgICAgICBpZiAoIXRvSFRNTE9iamVjdEVsZW1lbnQocCktPnVzZUZhbGxiYWNrQ29u
dGVudCgpKSB7CiAgICAgICAgICAgICBBU1NFUlQoIXAtPnJlbmRlcmVyKCktPmlzRW1iZWRkZWRP
YmplY3QoKSk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IDRjY2M1NDE1
YmZlNWM2ZGJhMmNiNTllNWViNDRmMzJiOTI2NGY3NDUuLjVkZWQ5YzMxOTcwNTUxN2U5MjA2NDkz
NDYzYzYwZWVkYThmZTg1NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNv
bnRyb2xFbGVtZW50LmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQgSFRNTEZvcm1Db250cm9s
RWxlbWVudDo6dXBkYXRlQW5jZXN0b3JEaXNhYmxlZFN0YXRlKCkgY29uc3QKICAgICAgICAgaWYg
KCFsZWdlbmRBbmNlc3RvciAmJiBhbmNlc3Rvci0+aGFzVGFnTmFtZShsZWdlbmRUYWcpKQogICAg
ICAgICAgICAgbGVnZW5kQW5jZXN0b3IgPSBhbmNlc3RvcjsKICAgICAgICAgaWYgKGFuY2VzdG9y
LT5oYXNUYWdOYW1lKGZpZWxkc2V0VGFnKSkgewotICAgICAgICAgICAgZmllbGRTZXRBbmNlc3Rv
ciA9IHN0YXRpY19jYXN0PEhUTUxGaWVsZFNldEVsZW1lbnQqPihhbmNlc3Rvcik7CisgICAgICAg
ICAgICBmaWVsZFNldEFuY2VzdG9yID0gdG9IVE1MRmllbGRTZXRFbGVtZW50KGFuY2VzdG9yKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQpAQCAtNDczLDcgKzQ3Myw3IEBA
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmVuY2xvc2lu
Z0Zvcm1Db250cm9sRWxlbWVudChOb2RlCiB7CiAgICAgZm9yICg7IG5vZGU7IG5vZGUgPSBub2Rl
LT5wYXJlbnROb2RlKCkpIHsKICAgICAgICAgaWYgKG5vZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0
b0VsZW1lbnQobm9kZSktPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTEZvcm1Db250cm9sRWxlbWVudCo+KG5vZGUpOworICAgICAgICAg
ICAgcmV0dXJuIHRvSFRNTEZvcm1Db250cm9sRWxlbWVudChub2RlKTsKICAgICB9CiAgICAgcmV0
dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKaW5kZXggOGYy
YzdjMTFkNDI1Yzc1MDg4OTlkNWQyOTFjZDFmNmYzYWVmNGM1NS4uM2VjMDFiN2Y2ODNiZDZhNjY1
NmUxNzRhZDU1M2JjZjVmMWI1YWMyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcApAQCAtMTk0LDcgKzE5NCw3IEBAIHN0YXRpYyBpbmxpbmUgSFRNTEZvcm1Db250cm9s
RWxlbWVudCogc3VibWl0RWxlbWVudEZyb21FdmVudChjb25zdCBFdmVudCogZXZlbnQpCiB7CiAg
ICAgZm9yIChOb2RlKiBub2RlID0gZXZlbnQtPnRhcmdldCgpLT50b05vZGUoKTsgbm9kZTsgbm9k
ZSA9IG5vZGUtPnBhcmVudE5vZGUoKSkgewogICAgICAgICBpZiAobm9kZS0+aXNFbGVtZW50Tm9k
ZSgpICYmIHRvRWxlbWVudChub2RlKS0+aXNGb3JtQ29udHJvbEVsZW1lbnQoKSkKLSAgICAgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MRm9ybUNvbnRyb2xFbGVtZW50Kj4obm9kZSk7Cisg
ICAgICAgICAgICByZXR1cm4gdG9IVE1MRm9ybUNvbnRyb2xFbGVtZW50KG5vZGUpOwogICAgIH0K
ICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlTG9hZGVyLmNwcApp
bmRleCA3YzBlNmNiNTM2YjllNDhhMjY3ZDVkYmFmMmM5NjI3YjIzYzllMDZkLi40NzQzZGNiMjJj
ZTE1NWQxNTgwNzVkNTE3NWI2N2ZkOWJiNGRkOTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VMb2FkZXIuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgSFRNTEltYWdlTG9hZGVyOjpu
b3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopCiAgICAgfQogCiAgICAgaWYgKGxvYWRFcnJv
ciAmJiBpc0hUTUxPYmplY3RFbGVtZW50KGVsZW1lbnQuZ2V0KCkpKQotICAgICAgICBzdGF0aWNf
Y2FzdDxIVE1MT2JqZWN0RWxlbWVudCo+KGVsZW1lbnQuZ2V0KCkpLT5yZW5kZXJGYWxsYmFja0Nv
bnRlbnQoKTsKKyAgICAgICAgdG9IVE1MT2JqZWN0RWxlbWVudChlbGVtZW50LmdldCgpKS0+cmVu
ZGVyRmFsbGJhY2tDb250ZW50KCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVn
ZW5kRWxlbWVudC5jcHAKaW5kZXggYmQxYWNhMmFkNzM3ZjExMGMwYjM4YWVhNjg2MWIzMDE5NzRj
ZmE4OC4uNTk3M2JjMjA3MzlkYWFlMmRkNDQyMzRhMGNjZTE2MWI5YmUzMGZjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgSFRN
TEZvcm1FbGVtZW50KiBIVE1MTGVnZW5kRWxlbWVudDo6dmlydHVhbEZvcm0oKSBjb25zdAogICAg
IGlmICghZmllbGRzZXQgfHwgIWZpZWxkc2V0LT5oYXNUYWdOYW1lKGZpZWxkc2V0VGFnKSkKICAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEZpZWxkU2V0RWxl
bWVudCo+KGZpZWxkc2V0KS0+Zm9ybSgpOworICAgIHJldHVybiB0b0hUTUxGaWVsZFNldEVsZW1l
bnQoZmllbGRzZXQpLT5mb3JtKCk7CiB9CiAgICAgCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvUmFkaW9Ob2RlTGlzdC5jcHAKaW5kZXggZDYxNDE2OWZkZmExMzJlNjE4YjBkNWY2YmNk
MWUwMGZlNDg0ZWRjYS4uYWQ3ZGM3NjAxMGU2OWY1MGRlYzI0ZDQ1MDc3MDhjYTNjYTU5MmIxYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1JhZGlvTm9kZUxpc3QuY3BwCkBAIC04Nyw5ICs4Nyw5IEBAIGJv
b2wgUmFkaW9Ob2RlTGlzdDo6Y2hlY2tFbGVtZW50TWF0Y2hlc1JhZGlvTm9kZUxpc3RGaWx0ZXIo
RWxlbWVudCogdGVzdEVsZW1lbnQpCiAgICAgaWYgKGlzSFRNTEZvcm1FbGVtZW50KG93bmVyTm9k
ZSgpKSkgewogICAgICAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm1FbGVtZW50ID0gMDsKICAgICAg
ICAgaWYgKHRlc3RFbGVtZW50LT5oYXNUYWdOYW1lKG9iamVjdFRhZykpCi0gICAgICAgICAgICBm
b3JtRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxPYmplY3RFbGVtZW50Kj4odGVzdEVsZW1lbnQp
LT5mb3JtKCk7CisgICAgICAgICAgICBmb3JtRWxlbWVudCA9IHRvSFRNTE9iamVjdEVsZW1lbnQo
dGVzdEVsZW1lbnQpLT5mb3JtKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGZvcm1FbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8SFRNTEZvcm1Db250cm9sRWxlbWVudCo+KHRlc3RFbGVtZW50KS0+
Zm9ybSgpOworICAgICAgICAgICAgZm9ybUVsZW1lbnQgPSB0b0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQodGVzdEVsZW1lbnQpLT5mb3JtKCk7CiAgICAgICAgIGlmICghZm9ybUVsZW1lbnQgfHwgZm9y
bUVsZW1lbnQgIT0gJm93bmVyTm9kZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmlu
ZGV4IGQzYzJhMDNkMjI4MzhjYWQ5MWU3NjJlNTEzZGE3NjJiMDM0MjY0OGUuLmJmNTJlY2NmOTVk
ODRkYTA3OTU3Y2NkMGNiMTIwNWRlZjcyMzQzNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTMwOCw3ICsxMzA4LDcgQEAgUGFzc1Jl
ZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpOb2RlPiBJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmpl
Y3RGb3JOb2RlKE5vZGUqIG4KICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IHRvRWxlbWVudChu
b2RlKTsKICAgICAgICAgdmFsdWUtPnNldEF0dHJpYnV0ZXMoYnVpbGRBcnJheUZvckVsZW1lbnRB
dHRyaWJ1dGVzKGVsZW1lbnQpKTsKICAgICAgICAgaWYgKG5vZGUtPmlzRnJhbWVPd25lckVsZW1l
bnQoKSkgewotICAgICAgICAgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBmcmFtZU93bmVyID0g
c3RhdGljX2Nhc3Q8SFRNTEZyYW1lT3duZXJFbGVtZW50Kj4obm9kZSk7CisgICAgICAgICAgICBI
VE1MRnJhbWVPd25lckVsZW1lbnQqIGZyYW1lT3duZXIgPSB0b0hUTUxGcmFtZU93bmVyRWxlbWVu
dChub2RlKTsKICAgICAgICAgICAgIEZyYW1lKiBmcmFtZSA9IGZyYW1lT3duZXItPmNvbnRlbnRG
cmFtZSgpOwogICAgICAgICAgICAgaWYgKGZyYW1lKQogICAgICAgICAgICAgICAgIHZhbHVlLT5z
ZXRGcmFtZUlkKG1fcGFnZUFnZW50LT5mcmFtZUlkKGZyYW1lKSk7CkBAIC0xMzI1LDcgKzEzMjUs
NyBAQCBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpET006Ok5vZGU+IEluc3BlY3RvckRPTUFnZW50
OjpidWlsZE9iamVjdEZvck5vZGUoTm9kZSogbgogCiAjaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1F
TlQpCiAgICAgICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGVtcGxhdGVU
YWcpKQotICAgICAgICAgICAgdmFsdWUtPnNldFRlbXBsYXRlQ29udGVudChidWlsZE9iamVjdEZv
ck5vZGUoc3RhdGljX2Nhc3Q8SFRNTFRlbXBsYXRlRWxlbWVudCo+KGVsZW1lbnQpLT5jb250ZW50
KCksIDAsIG5vZGVzTWFwKSk7CisgICAgICAgICAgICB2YWx1ZS0+c2V0VGVtcGxhdGVDb250ZW50
KGJ1aWxkT2JqZWN0Rm9yTm9kZSh0b0hUTUxUZW1wbGF0ZUVsZW1lbnQoZWxlbWVudCktPmNvbnRl
bnQoKSwgMCwgbm9kZXNNYXApKTsKICNlbmRpZgogCiAgICAgfSBlbHNlIGlmIChub2RlLT5pc0Rv
Y3VtZW50Tm9kZSgpKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>