<?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>122708</bug_id>
          
          <creation_ts>2013-10-12 17:30:47 -0700</creation_ts>
          <short_desc>Move code to find elements in slider shadow tree into RangeInputType class, since it creates that tree</short_desc>
          <delta_ts>2013-10-12 21:59:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>939154</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-12 17:30:47 -0700</bug_when>
    <thetext>Move code to find elements in slider shadow tree into RangeInputType class, since it creates that tree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939156</commentid>
    <comment_count>1</comment_count>
      <attachid>214074</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-12 17:39:29 -0700</bug_when>
    <thetext>Created attachment 214074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939186</commentid>
    <comment_count>2</comment_count>
      <attachid>214074</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-12 21:59:57 -0700</bug_when>
    <thetext>Comment on attachment 214074
Patch

Clearing flags on attachment: 214074

Committed r157353: &lt;http://trac.webkit.org/changeset/157353&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939187</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-12 21:59:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214074</attachid>
            <date>2013-10-12 17:39:29 -0700</date>
            <delta_ts>2013-10-12 21:59:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122708-20131012173930.patch</filename>
            <type>text/plain</type>
            <size>19823</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTVkMDFjYmI5ZDEzNjdj
ZjlhZjE5OTYwMTA1NTI1NzJhN2NlNmUxOS4uYjcxZjJiMGNmMzk2MjNhYWMxNzU1Y2Y4MmVlM2E1
MTBiZTBjYzE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEzLTEwLTEyICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGNvZGUgdG8gZmluZCBl
bGVtZW50cyBpbiBzbGlkZXIgc2hhZG93IHRyZWUgaW50byBSYW5nZUlucHV0VHlwZSBjbGFzcywg
c2luY2UgaXQgY3JlYXRlcyB0aGF0IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMjcwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U2xpZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTbGlkZXJUaHVtYjo6ZWxlbWVudFJl
Y3QpOiBVc2UgSFRNTElucHV0RWxlbWVudDo6c2xpZGVyVGh1bWJFbGVtZW50CisgICAgICAgIHRv
IGZpbmQgdGhlIHRodW1iLCByYXRoZXIgdGhhbiB1c2luZyB0aGUgc2xpZGVyVGh1bWJFbGVtZW50
T2YgZnVuY3Rpb24uCisKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOiBVc2UgbnVsbHB0ciBp
bnN0ZWFkIG9mIDAuIFR3ZWFrIGZvcm1hdHRpbmcgYSBiaXQuCisKKyAgICAgICAgKiBodG1sL1Jh
bmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpoYW5k
bGVNb3VzZURvd25FdmVudCk6IFVzZSB0eXBlZFNsaWRlclRodW1iRWxlbWVudCBmdW5jdGlvbi4K
KyAgICAgICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpoYW5kbGVUb3VjaEV2ZW50KTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6Y3JlYXRlU2hhZG93U3VidHJl
ZSk6IEZpeGVkIGFzc2VydGlvbiB0byBtYXRjaCB0aGUgY29kZSBiZWxvdy4KKyAgICAgICAgKFdl
YkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpzbGlkZXJUcmFja0VsZW1lbnQpOiBNb3ZlZCBuZXh0IHRv
IHRoZSBjcmVhdGVTaGFkb3dTdWJ0cmVlIGZ1bmN0aW9uCisgICAgICAgIHNpbmNlIGl0IGlzIGZp
bmRpbmcgYW4gZWxlbWVudCBpbiB0aGF0IHN1YnRyZWUuIENoYW5nZWQgdG8gZG8gdGhlIHdvcmsg
aGVyZSBpbnN0ZWFkIG9mIGNhbGxpbmcKKyAgICAgICAgYSBmdW5jdGlvbiBpbiBhbm90aGVyIGZp
bGUuCisgICAgICAgIChXZWJDb3JlOjpSYW5nZUlucHV0VHlwZTo6dHlwZWRTbGlkZXJUaHVtYkVs
ZW1lbnQpOiBBZGRlZC4gRmluZHMgdGhlIHNsaWRlciB0aHVtYiBlbGVtZW50LAorICAgICAgICBh
bmQgcmV0dXJucyBpdCBhcyBhIHJlZmVyZW5jZSB3aXRoIGEgc3BlY2lmaWMgdHlwZS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpzbGlkZXJUaHVtYkVsZW1lbnQpOiBDaGFuZ2Vk
IHRvIGNhbGwgdHlwZWRTbGlkZXJUaHVtYkVsZW1lbnQsIGxvb3NlbmluZworICAgICAgICB0aGUg
dHlwZSwgYW5kIHJldHVybmluZyBhIHBvaW50ZXIgQ2hhbmdlZCB0byBjYWxsIHR5cGVkU2xpZGVy
VGh1bWJFbGVtZW50LCBsb29zZW5pbmcKKyAgICAgICAgdGhlIHR5cGUsIGFuZCByZXR1cm5pbmcg
YSBwb2ludGVyLgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2VJbnB1dFR5cGU6Om1pbk9yTWF4QXR0
cmlidXRlQ2hhbmdlZCk6IFVzZSB0eXBlZFNsaWRlclRodW1iRWxlbWVudC4KKyAgICAgICAgKFdl
YkNvcmU6OlJhbmdlSW5wdXRUeXBlOjpzZXRWYWx1ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmFuZ2VJbnB1dFR5cGU6Omxpc3RBdHRyaWJ1dGVUYXJnZXRDaGFuZ2VkKTogRGl0dG8uCisK
KyAgICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmg6IE1hcmtlZCB0aGUgY2xhc3MgRklOQUwu
IFR3ZWFrZWQgZm9ybWF0dGluZyBhIGJpdC4KKyAgICAgICAgQWRkZWQgdGhlIHR5cGVkU2xpZGVy
VGh1bWJFbGVtZW50IGZ1bmN0aW9uLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvU2xpZGVyVGh1
bWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNsaWRlclRodW1iRWxlbWVudDo6c2V0
UG9zaXRpb25Gcm9tUG9pbnQpOiBDYWxsIHRoZSBIVE1MSW5wdXRFbGVtZW50OjpzbGlkZXJUcmFj
a0VsZW1lbnQKKyAgICAgICAgZnVuY3Rpb24gaW5zdGVhZCBvZiBoYXZpbmcgdGhlIGlucHV0IGVs
ZW1lbnQncyBzaGFkb3cgc3VidHJlZSBoaWVyYXJjaHkgaGFyZC1jb2RlZCBoZXJlLgorICAgICAg
ICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50OjpjbG9uZUVsZW1lbnRXaXRob3V0QXR0cmli
dXRlc0FuZENoaWxkcmVuKTogTW92ZWQgaGVyZSBmcm9tIHRoZSBoZWFkZXIsCisgICAgICAgIHNp
bmNlIGl0J3MgYSB2aXJ0dWFsIGZ1bmN0aW9uIHRoYXQgd29uJ3QgYmUgaW5saW5lZC4KKworICAg
ICAgICAqIGh0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oOiBSZW1vdmVkIHVubmVlZGVk
IGZvcndhcmQgZGVjbGFyYXRpb25zLiBNYWRlIG1vcmUgdmlydHVhbAorICAgICAgICBmdW5jdGlv
bnMgcHJpdmF0ZSBhbmQgYWRkZWQgbW9yZSBPVkVSUklERS4gUmVtb3ZlZCB0aGUgdG9TbGlkZXJU
aHVtYkVsZW1lbnQsIHNsaWRlclRodW1iRWxlbWVudE9mLAorICAgICAgICBhbmQgc2xpZGVyVHJh
Y2tFbGVtZW50T2YgZnVuY3Rpb25zLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTbGlkZXI6OmxheW91dCk6IFVzZSBIVE1M
SW5wdXRFbGVtZW50OjpzbGlkZXJUaHVtYkVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTbGlkZXI6OmluRHJhZ01vZGUpOiBEaXR0by4KKwogMjAxMy0xMC0xMiAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBwb3NpdGlvbkZvclBvaW50IHRv
IFJlbmRlclRleHRMaW5lQm94ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVNsaWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlTbGlkZXIuY3BwCmluZGV4IGRlZjAyYjE2ZDhkYmFmYjZlYThlNTQ3
MzFmNTIwZjBlNDNkMTc2YzEuLjVmMDI4YTg1MzE1ZTE2NGJhYmRlZjRlY2VkYzg4MGJkMzNlYTIx
ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVNsaWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U2xpZGVyLmNwcApAQCAtMTY0LDcgKzE2NCw3IEBAIExheW91dFJlY3QgQWNjZXNzaWJpbGl0
eVNsaWRlclRodW1iOjplbGVtZW50UmVjdCgpIGNvbnN0CiAgICAgUmVuZGVyT2JqZWN0KiBzbGlk
ZXJSZW5kZXJlciA9IG1fcGFyZW50LT5yZW5kZXJlcigpOwogICAgIGlmICghc2xpZGVyUmVuZGVy
ZXIgfHwgIXNsaWRlclJlbmRlcmVyLT5pc1NsaWRlcigpKQogICAgICAgICByZXR1cm4gTGF5b3V0
UmVjdCgpOwotICAgIHJldHVybiBzbGlkZXJUaHVtYkVsZW1lbnRPZigqdG9IVE1MSW5wdXRFbGVt
ZW50KHNsaWRlclJlbmRlcmVyLT5ub2RlKCkpKS0+Ym91bmRpbmdCb3goKTsKKyAgICByZXR1cm4g
dG9IVE1MSW5wdXRFbGVtZW50KHNsaWRlclJlbmRlcmVyLT5ub2RlKCkpLT5zbGlkZXJUaHVtYkVs
ZW1lbnQoKS0+Ym91bmRpbmdCb3goKTsKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5U2xpZGVyVGh1
bWI6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0
VHlwZS5oCmluZGV4IGMyZWZkZDY2ZGFlNzFkMzJlZmIwN2NiYWIxZWI2YTUyZmY4NTNjZGMuLmI5
MzQ1NDliZDM3NzRiMDI0ZWJhMWQ5ODM3N2QwYzMwZDMzODY4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuaApAQCAtNDUsNyArNDUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50OwogY2xhc3MgQ2hyb21lOwotY2xhc3MgQ29sb3I7CiBjbGFz
cyBEYXRlQ29tcG9uZW50czsKIGNsYXNzIERyYWdEYXRhOwogY2xhc3MgRXZlbnQ7CkBAIC02MSw2
ICs2MCw3IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJBcmVuYTsKIGNsYXNzIFJlbmRlclN0
eWxlOwogY2xhc3MgVG91Y2hFdmVudDsKKwogc3RydWN0IElucHV0RWxlbWVudENsaWNrU3RhdGU7
CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CkBAIC05MSw5ICs5MSw2IEBAIHB1YmxpYzoK
ICAgICAvLyBpbmZsZXhpYmxlIGJlY2F1c2UgaXQncyBoYXJkZXIgdG8gYWRkIG5ldyBpbnB1dCB0
eXBlcyBpZiB0aGVyZSBpcwogICAgIC8vIHNjYXR0ZXJlZCBjb2RlIHdpdGggc3BlY2lhbCBjYXNl
cyBmb3IgdmFyaW91cyB0eXBlcy4KIAotI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQotICAg
IHZpcnR1YWwgYm9vbCBpc0NvbG9yQ29udHJvbCgpIGNvbnN0OwotI2VuZGlmCiAgICAgdmlydHVh
bCBib29sIGlzQ2hlY2tib3goKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNEYXRlRmllbGQo
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNEYXRlVGltZUZpZWxkKCkgY29uc3Q7CkBAIC0x
MTgsNiArMTE1LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxGaWVsZCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1dlZWtGaWVsZCgpIGNvbnN0OwogCisjaWYgRU5BQkxF
KElOUFVUX1RZUEVfQ09MT1IpCisgICAgdmlydHVhbCBib29sIGlzQ29sb3JDb250cm9sKCkgY29u
c3Q7CisjZW5kaWYKKwogICAgIC8vIEZvcm0gdmFsdWUgZnVuY3Rpb25zCiAKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkU2F2ZUFuZFJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKCkgY29uc3Q7CkBAIC0x
ODQsMTAgKzE4NSwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleXByZXNz
RXZlbnQoS2V5Ym9hcmRFdmVudCopOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXl1cEV2ZW50
KEtleWJvYXJkRXZlbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQmVmb3JlVGV4dEluc2Vy
dGVkRXZlbnQoQmVmb3JlVGV4dEluc2VydGVkRXZlbnQqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZm9y
d2FyZEV2ZW50KEV2ZW50Kik7CisKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVUb3VjaEV2ZW50KFRvdWNoRXZlbnQqKTsKICNlbmRpZgotICAgIHZpcnR1
YWwgdm9pZCBmb3J3YXJkRXZlbnQoRXZlbnQqKTsKKwogICAgIC8vIEhlbHBlcnMgZm9yIGV2ZW50
IGhhbmRsZXJzLgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTdWJtaXRJbXBsaWNpdGx5KEV2ZW50
Kik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gZm9ybUZvclN1Ym1p
c3Npb24oKSBjb25zdDsKQEAgLTIwMCw2ICsyMDMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGFjY2Vzc0tleUFjdGlvbihib29sIHNlbmRNb3VzZUV2ZW50cyk7CiAgICAgdmlydHVhbCBi
b29sIGNhbkJlU3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpOwogICAgIHZpcnR1YWwgdm9pZCBzdWJ0
cmVlSGFzQ2hhbmdlZCgpOworCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICB2aXJ0dWFs
IGJvb2wgaGFzVG91Y2hFdmVudEhhbmRsZXIoKSBjb25zdDsKICNlbmRpZgpAQCAtMjExLDE4ICsy
MTUsMTkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVTaGFkb3dTdWJ0cmVlKCk7
CiAgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCk7CiAKLSAgICB2aXJ0dWFs
IEhUTUxFbGVtZW50KiBjb250YWluZXJFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQotICAg
IHZpcnR1YWwgSFRNTEVsZW1lbnQqIGlubmVyQmxvY2tFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
MDsgfQotICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIGlubmVyVGV4dEVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJTcGluQnV0dG9uRWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiByZXN1
bHRzQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFsIEhUTUxF
bGVtZW50KiBjYW5jZWxCdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQorICAgIHZp
cnR1YWwgSFRNTEVsZW1lbnQqIGNvbnRhaW5lckVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBudWxs
cHRyOyB9CisgICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJCbG9ja0VsZW1lbnQoKSBjb25z
dCB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJUZXh0
RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2aXJ0dWFsIEhUTUxFbGVt
ZW50KiBpbm5lclNwaW5CdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQor
ICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIHJlc3VsdHNCdXR0b25FbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIGNhbmNlbEJ1dHRvbkVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBIVE1MRWxlbWVu
dCogc2xpZGVyVGh1bWJFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZp
cnR1YWwgSFRNTEVsZW1lbnQqIHNsaWRlclRyYWNrRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG51
bGxwdHI7IH0KKyAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiBwbGFjZWhvbGRlckVsZW1lbnQoKSBj
b25zdDsKKwogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCi0gICAgdmlydHVhbCBIVE1MRWxlbWVu
dCogc3BlZWNoQnV0dG9uRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFs
IEhUTUxFbGVtZW50KiBzcGVlY2hCdXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0
cjsgfQogI2VuZGlmCi0gICAgdmlydHVhbCBIVE1MRWxlbWVudCogc2xpZGVyVGh1bWJFbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gMDsgfQotICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIHNsaWRlclRy
YWNrRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFsIEhUTUxFbGVtZW50
KiBwbGFjZWhvbGRlckVsZW1lbnQoKSBjb25zdDsKIAogICAgIC8vIE1pc2NlbGxhbmVvdXMgZnVu
Y3Rpb25zCiAKQEAgLTI2NSwxMSArMjcwLDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
cmVxdWlyZWRBdHRyaWJ1dGVDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIHZhbHVlQXR0cmli
dXRlQ2hhbmdlZCgpOwogICAgIHZpcnR1YWwgU3RyaW5nIGRlZmF1bHRUb29sVGlwKCkgY29uc3Q7
CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUNsZWFyQnV0dG9uVmlzaWJpbGl0eSgpOworCiAjaWYg
RU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAgICAgdmlydHVhbCB2b2lkIGxpc3RBdHRyaWJ1dGVU
YXJnZXRDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCBEZWNpbWFsIGZpbmRDbG9zZXN0VGlja01hcmtW
YWx1ZShjb25zdCBEZWNpbWFsJik7CiAjZW5kaWYKLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQ2xl
YXJCdXR0b25WaXNpYmlsaXR5KCk7CiAKICAgICAvLyBQYXJzZXMgdGhlIHNwZWNpZmllZCBzdHJp
bmcgZm9yIHRoZSB0eXBlLCBhbmQgcmV0dXJuCiAgICAgLy8gdGhlIERlY2ltYWwgdmFsdWUgZm9y
IHRoZSBwYXJzaW5nIHJlc3VsdCBpZiB0aGUgcGFyc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Jhbmdl
SW5wdXRUeXBlLmNwcAppbmRleCAzNTliNGY2NWMzNTllNjZlMDFlMGQ1MjQzNDA1MWVlMTYzMjM3
ZTA4Li42Mjg0YWI4YmZjNDYxNGU2ZDM3YzY0Njk5NmY2ZjJhNjBmM2JiOWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcApAQCAtMTU5LDEwICsxNTksMTAgQEAgdm9pZCBS
YW5nZUlucHV0VHlwZTo6aGFuZGxlTW91c2VEb3duRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCiAg
ICAgQVNTRVJUKGVsZW1lbnQoKS5zaGFkb3dSb290KCkpOwogICAgIGlmICh0YXJnZXROb2RlICE9
ICZlbGVtZW50KCkgJiYgIXRhcmdldE5vZGUtPmlzRGVzY2VuZGFudE9mKGVsZW1lbnQoKS51c2Vy
QWdlbnRTaGFkb3dSb290KCkpKQogICAgICAgICByZXR1cm47Ci0gICAgU2xpZGVyVGh1bWJFbGVt
ZW50KiB0aHVtYiA9IHNsaWRlclRodW1iRWxlbWVudE9mKGVsZW1lbnQoKSk7Ci0gICAgaWYgKHRh
cmdldE5vZGUgPT0gdGh1bWIpCisgICAgU2xpZGVyVGh1bWJFbGVtZW50JiB0aHVtYiA9IHR5cGVk
U2xpZGVyVGh1bWJFbGVtZW50KCk7CisgICAgaWYgKHRhcmdldE5vZGUgPT0gJnRodW1iKQogICAg
ICAgICByZXR1cm47Ci0gICAgdGh1bWItPmRyYWdGcm9tKGV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9u
KCkpOworICAgIHRodW1iLmRyYWdGcm9tKGV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9uKCkpOwogfQog
CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKQEAgLTE3OSw5ICsxNzksNyBAQCB2b2lkIFJhbmdl
SW5wdXRUeXBlOjpoYW5kbGVUb3VjaEV2ZW50KFRvdWNoRXZlbnQqIGV2ZW50KQogCiAgICAgVG91
Y2hMaXN0KiB0b3VjaGVzID0gZXZlbnQtPnRhcmdldFRvdWNoZXMoKTsKICAgICBpZiAodG91Y2hl
cy0+bGVuZ3RoKCkgPT0gMSkgewotICAgICAgICBUb3VjaCogdG91Y2ggPSB0b3VjaGVzLT5pdGVt
KDApOwotICAgICAgICBTbGlkZXJUaHVtYkVsZW1lbnQqIHRodW1iID0gc2xpZGVyVGh1bWJFbGVt
ZW50T2YoZWxlbWVudCgpKTsKLSAgICAgICAgdGh1bWItPnNldFBvc2l0aW9uRnJvbVBvaW50KHRv
dWNoLT5hYnNvbHV0ZUxvY2F0aW9uKCkpOworICAgICAgICB0eXBlZFNsaWRlclRodW1iRWxlbWVu
dCgpLnNldFBvc2l0aW9uRnJvbVBvaW50KHRvdWNoZXMtPml0ZW0oMCktPmFic29sdXRlTG9jYXRp
b24oKSk7CiAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgIH0KIH0KQEAg
LTI1NCw3ICsyNTIsNyBAQCB2b2lkIFJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQo
S2V5Ym9hcmRFdmVudCogZXZlbnQpCiAKIHZvaWQgUmFuZ2VJbnB1dFR5cGU6OmNyZWF0ZVNoYWRv
d1N1YnRyZWUoKQogewotICAgIEFTU0VSVChlbGVtZW50KCkuc2hhZG93Um9vdCgpKTsKKyAgICBB
U1NFUlQoZWxlbWVudCgpLnVzZXJBZ2VudFNoYWRvd1Jvb3QoKSk7CiAKICAgICBEb2N1bWVudCYg
ZG9jdW1lbnQgPSBlbGVtZW50KCkuZG9jdW1lbnQoKTsKICAgICBSZWZQdHI8SFRNTERpdkVsZW1l
bnQ+IHRyYWNrID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CkBAIC0yNjUsNiAr
MjYzLDI5IEBAIHZvaWQgUmFuZ2VJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogICAg
IGVsZW1lbnQoKS51c2VyQWdlbnRTaGFkb3dSb290KCktPmFwcGVuZENoaWxkKGNvbnRhaW5lci5y
ZWxlYXNlKCksIElHTk9SRV9FWENFUFRJT04pOwogfQogCitIVE1MRWxlbWVudCogUmFuZ2VJbnB1
dFR5cGU6OnNsaWRlclRyYWNrRWxlbWVudCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGVsZW1lbnQo
KS51c2VyQWdlbnRTaGFkb3dSb290KCkpOworICAgIEFTU0VSVChlbGVtZW50KCkudXNlckFnZW50
U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkpOyAvLyBjb250YWluZXIKKyAgICBBU1NFUlQoZWxl
bWVudCgpLnVzZXJBZ2VudFNoYWRvd1Jvb3QoKS0+Zmlyc3RDaGlsZCgpLT5pc0hUTUxFbGVtZW50
KCkpOworICAgIEFTU0VSVChlbGVtZW50KCkudXNlckFnZW50U2hhZG93Um9vdCgpLT5maXJzdENo
aWxkKCktPmZpcnN0Q2hpbGQoKSk7IC8vIHRyYWNrCisKKyAgICByZXR1cm4gJnRvSFRNTEVsZW1l
bnQoKmVsZW1lbnQoKS51c2VyQWdlbnRTaGFkb3dSb290KCktPmZpcnN0Q2hpbGQoKS0+Zmlyc3RD
aGlsZCgpKTsKK30KKworU2xpZGVyVGh1bWJFbGVtZW50JiBSYW5nZUlucHV0VHlwZTo6dHlwZWRT
bGlkZXJUaHVtYkVsZW1lbnQoKSBjb25zdAoreworICAgIEFTU0VSVChzbGlkZXJUcmFja0VsZW1l
bnQoKS0+Zmlyc3RDaGlsZCgpKTsgLy8gdGh1bWIKKyAgICBBU1NFUlQoc2xpZGVyVHJhY2tFbGVt
ZW50KCktPmZpcnN0Q2hpbGQoKS0+aXNIVE1MRWxlbWVudCgpKTsKKworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxTbGlkZXJUaHVtYkVsZW1lbnQmPigqc2xpZGVyVHJhY2tFbGVtZW50KCktPmZpcnN0
Q2hpbGQoKSk7Cit9CisKK0hUTUxFbGVtZW50KiBSYW5nZUlucHV0VHlwZTo6c2xpZGVyVGh1bWJF
bGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gJnR5cGVkU2xpZGVyVGh1bWJFbGVtZW50KCk7
Cit9CisKIFJlbmRlckVsZW1lbnQqIFJhbmdlSW5wdXRUeXBlOjpjcmVhdGVSZW5kZXJlcihSZW5k
ZXJBcmVuYSYgYXJlbmEsIFJlbmRlclN0eWxlJikgY29uc3QKIHsKICAgICByZXR1cm4gbmV3IChh
cmVuYSkgUmVuZGVyU2xpZGVyKCZlbGVtZW50KCkpOwpAQCAtMjk4LDcgKzMxOSw3IEBAIHZvaWQg
UmFuZ2VJbnB1dFR5cGU6Om1pbk9yTWF4QXR0cmlidXRlQ2hhbmdlZCgpCiAgICAgaWYgKGVsZW1l
bnQoKS5oYXNEaXJ0eVZhbHVlKCkpCiAgICAgICAgIGVsZW1lbnQoKS5zZXRWYWx1ZShlbGVtZW50
KCkudmFsdWUoKSk7CiAKLSAgICBzbGlkZXJUaHVtYkVsZW1lbnRPZihlbGVtZW50KCkpLT5zZXRQ
b3NpdGlvbkZyb21WYWx1ZSgpOworICAgIHR5cGVkU2xpZGVyVGh1bWJFbGVtZW50KCkuc2V0UG9z
aXRpb25Gcm9tVmFsdWUoKTsKIH0KIAogdm9pZCBSYW5nZUlucHV0VHlwZTo6c2V0VmFsdWUoY29u
c3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCB2YWx1ZUNoYW5nZWQsIFRleHRGaWVsZEV2ZW50QmVoYXZp
b3IgZXZlbnRCZWhhdmlvcikKQEAgLTMwOCw3ICszMjksNyBAQCB2b2lkIFJhbmdlSW5wdXRUeXBl
OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlLCBib29sIHZhbHVlQ2hhbmdlZCwgVGV4dEZp
ZWxkRQogICAgIGlmICghdmFsdWVDaGFuZ2VkKQogICAgICAgICByZXR1cm47CiAKLSAgICBzbGlk
ZXJUaHVtYkVsZW1lbnRPZihlbGVtZW50KCkpLT5zZXRQb3NpdGlvbkZyb21WYWx1ZSgpOworICAg
IHR5cGVkU2xpZGVyVGh1bWJFbGVtZW50KCkuc2V0UG9zaXRpb25Gcm9tVmFsdWUoKTsKIH0KIAog
U3RyaW5nIFJhbmdlSW5wdXRUeXBlOjpmYWxsYmFja1ZhbHVlKCkgY29uc3QKQEAgLTMyOCwyMSAr
MzQ5LDExIEBAIGJvb2wgUmFuZ2VJbnB1dFR5cGU6OnNob3VsZFJlc3BlY3RMaXN0QXR0cmlidXRl
KCkKICAgICByZXR1cm4gSW5wdXRUeXBlOjp0aGVtZVN1cHBvcnRzRGF0YUxpc3RVSSh0aGlzKTsK
IH0KIAotSFRNTEVsZW1lbnQqIFJhbmdlSW5wdXRUeXBlOjpzbGlkZXJUaHVtYkVsZW1lbnQoKSBj
b25zdAotewotICAgIHJldHVybiBzbGlkZXJUaHVtYkVsZW1lbnRPZihlbGVtZW50KCkpOwotfQot
Ci1IVE1MRWxlbWVudCogUmFuZ2VJbnB1dFR5cGU6OnNsaWRlclRyYWNrRWxlbWVudCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIHNsaWRlclRyYWNrRWxlbWVudE9mKGVsZW1lbnQoKSk7Ci19Ci0KICNp
ZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKIHZvaWQgUmFuZ2VJbnB1dFR5cGU6Omxpc3RBdHRy
aWJ1dGVUYXJnZXRDaGFuZ2VkKCkKIHsKICAgICBtX3RpY2tNYXJrVmFsdWVzRGlydHkgPSB0cnVl
OwotICAgIEhUTUxFbGVtZW50KiBzbGlkZXJUcmFja0VsZW1lbnQgPSBzbGlkZXJUcmFja0VsZW1l
bnRPZihlbGVtZW50KCkpOworICAgIEhUTUxFbGVtZW50KiBzbGlkZXJUcmFja0VsZW1lbnQgPSB0
aGlzLT5zbGlkZXJUcmFja0VsZW1lbnQoKTsKICAgICBpZiAoc2xpZGVyVHJhY2tFbGVtZW50LT5y
ZW5kZXJlcigpKQogICAgICAgICBzbGlkZXJUcmFja0VsZW1lbnQtPnJlbmRlcmVyKCktPnNldE5l
ZWRzTGF5b3V0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5w
dXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmgKaW5kZXggMjI4
ODUzMmEwYTZjNTQxMzg3YjIyN2VlOTNmYWNmYmY5MDY1ZmU4OS4uZmNmMWVjMTMxMGM3NzczMGQ0
YzBhMzRjZjM5ZDFiN2EyZDY5ZWNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9S
YW5nZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUu
aApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNsaWRlclRo
dW1iRWxlbWVudDsKIAotY2xhc3MgUmFuZ2VJbnB1dFR5cGUgOiBwdWJsaWMgSW5wdXRUeXBlIHsK
K2NsYXNzIFJhbmdlSW5wdXRUeXBlIEZJTkFMIDogcHVibGljIElucHV0VHlwZSB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIE93blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7
CiAKQEAgLTUzLDEyICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBTdGVwUmFuZ2UgY3Jl
YXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZykgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBib29sIGlzU3RlcHBhYmxlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGhh
bmRsZU1vdXNlRG93bkV2ZW50KE1vdXNlRXZlbnQqKSBPVkVSUklERTsKLSNpZiBFTkFCTEUoVE9V
Q0hfRVZFTlRTKQotI2lmIEVOQUJMRShUT1VDSF9TTElERVIpCi0gICAgdmlydHVhbCB2b2lkIGhh
bmRsZVRvdWNoRXZlbnQoVG91Y2hFdmVudCopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBo
YXNUb3VjaEV2ZW50SGFuZGxlcigpIGNvbnN0IE9WRVJSSURFOwotI2VuZGlmCi0jZW5kaWYKICAg
ICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIFJlbmRlckVsZW1lbnQqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
JiwgUmVuZGVyU3R5bGUmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRl
U2hhZG93U3VidHJlZSgpIE9WRVJSSURFOwpAQCAtNzIsNiArNjYsOSBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgYm9vbCBzaG91bGRSZXNwZWN0TGlzdEF0dHJpYnV0ZSgpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgSFRNTEVsZW1lbnQqIHNsaWRlclRodW1iRWxlbWVudCgpIGNvbnN0IE9WRVJSSURF
OwogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIHNsaWRlclRyYWNrRWxlbWVudCgpIGNvbnN0IE9W
RVJSSURFOworCisgICAgU2xpZGVyVGh1bWJFbGVtZW50JiB0eXBlZFNsaWRlclRodW1iRWxlbWVu
dCgpIGNvbnN0OworCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAgICAgdmlydHVhbCB2
b2lkIGxpc3RBdHRyaWJ1dGVUYXJnZXRDaGFuZ2VkKCkgT1ZFUlJJREU7CiAgICAgdm9pZCB1cGRh
dGVUaWNrTWFya1ZhbHVlcygpOwpAQCAtODAsNiArNzcsMTEgQEAgcHJpdmF0ZToKICAgICBib29s
IG1fdGlja01hcmtWYWx1ZXNEaXJ0eTsKICAgICBWZWN0b3I8RGVjaW1hbD4gbV90aWNrTWFya1Zh
bHVlczsKICNlbmRpZgorCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgRU5BQkxFKFRPVUNI
X1NMSURFUikKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlVG91Y2hFdmVudChUb3VjaEV2ZW50Kikg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGhhc1RvdWNoRXZlbnRIYW5kbGVyKCkgY29uc3Qg
T1ZFUlJJREU7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IGMz
YTYzMzM1YzBlN2FhNTBiNDM0Njg3NGU5MWNmZmQ4NjdkNTdjNzAuLjNhOGEzZDhkZDlkOGQ5YmYw
OWIzOWRkM2YwODg2N2U1M2JmYjYyYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcApAQCAtNzIsMjQgKzcyLDYgQEAgaW5saW5lIHN0
YXRpYyBib29sIGhhc1ZlcnRpY2FsQXBwZWFyYW5jZShIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCkK
ICAgICByZXR1cm4gc2xpZGVyU3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBTbGlkZXJWZXJ0aWNhbFBh
cnQ7CiB9CiAKLVNsaWRlclRodW1iRWxlbWVudCogc2xpZGVyVGh1bWJFbGVtZW50T2YoSFRNTElu
cHV0RWxlbWVudCYgaW5wdXRFbGVtZW50KQotewotICAgIFNoYWRvd1Jvb3QqIHNoYWRvdyA9IGlu
cHV0RWxlbWVudC51c2VyQWdlbnRTaGFkb3dSb290KCk7Ci0gICAgQVNTRVJUKHNoYWRvdyk7Ci0g
ICAgTm9kZSogdGh1bWIgPSBzaGFkb3ctPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgpLT5maXJz
dENoaWxkKCk7Ci0gICAgQVNTRVJUKHRodW1iKTsKLSAgICByZXR1cm4gdG9TbGlkZXJUaHVtYkVs
ZW1lbnQodGh1bWIpOwotfQotCi1IVE1MRWxlbWVudCogc2xpZGVyVHJhY2tFbGVtZW50T2YoSFRN
TElucHV0RWxlbWVudCYgaW5wdXRFbGVtZW50KQotewotICAgIFNoYWRvd1Jvb3QqIHNoYWRvdyA9
IGlucHV0RWxlbWVudC51c2VyQWdlbnRTaGFkb3dSb290KCk7Ci0gICAgQVNTRVJUKHNoYWRvdyk7
Ci0gICAgTm9kZSogdHJhY2sgPSBzaGFkb3ctPmZpcnN0Q2hpbGQoKS0+Zmlyc3RDaGlsZCgpOwot
ICAgIEFTU0VSVCh0cmFjayk7Ci0gICAgcmV0dXJuIHRvSFRNTEVsZW1lbnQodHJhY2spOwotfQot
CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBSZW5kZXJTbGlkZXJUaHVt
Yjo6UmVuZGVyU2xpZGVyVGh1bWIoU2xpZGVyVGh1bWJFbGVtZW50KiBlbGVtZW50KQpAQCAtMjYw
LDcgKzI0Miw3IEBAIHZvaWQgU2xpZGVyVGh1bWJFbGVtZW50OjpzZXRQb3NpdGlvbkZyb21Qb2lu
dChjb25zdCBMYXlvdXRQb2ludCYgYWJzb2x1dGVQb2ludCkKICAgICBpZiAoIWlucHV0IHx8ICFp
bnB1dC0+cmVuZGVyZXIoKSB8fCAhcmVuZGVyQm94KCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IEhUTUxFbGVtZW50KiB0cmFja0VsZW1lbnQgPSBzbGlkZXJUcmFja0VsZW1lbnRPZigqaW5wdXQp
OworICAgIEhUTUxFbGVtZW50KiB0cmFja0VsZW1lbnQgPSBpbnB1dC0+c2xpZGVyVHJhY2tFbGVt
ZW50KCk7CiAgICAgaWYgKCF0cmFja0VsZW1lbnQtPnJlbmRlckJveCgpKQogICAgICAgICByZXR1
cm47CiAKQEAgLTQ0Miw2ICs0MjQsMTEgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBTbGlkZXJUaHVt
YkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKICAgICB9CiB9CiAKK1Bhc3NSZWZQdHI8
RWxlbWVudD4gU2xpZGVyVGh1bWJFbGVtZW50OjpjbG9uZUVsZW1lbnRXaXRob3V0QXR0cmlidXRl
c0FuZENoaWxkcmVuKCkKK3sKKyAgICByZXR1cm4gY3JlYXRlKGRvY3VtZW50KCkpOworfQorCiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBpbmxpbmUgU2xpZGVyQ29udGFp
bmVyRWxlbWVudDo6U2xpZGVyQ29udGFpbmVyRWxlbWVudChEb2N1bWVudCYgZG9jdW1lbnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCmluZGV4
IDM0ZTRmN2IxMmNhZGVhNmZkZjhjOWE5YTA0NzlmYzQ3MWRhYTQxY2UuLjlhNjc3NGI3NzAzOTIz
YTNhN2MxODhhZTYzODM5Mzg1MWQxNTZjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oCkBAIC0zOSw5ICszOSw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50
OwotY2xhc3MgRXZlbnQ7CiBjbGFzcyBGbG9hdFBvaW50OwogCiBjbGFzcyBTbGlkZXJUaHVtYkVs
ZW1lbnQgRklOQUwgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQgewpAQCAtNDksMjQgKzQ3LDI1IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTbGlkZXJUaHVtYkVsZW1lbnQ+IGNyZWF0
ZShEb2N1bWVudCYpOwogCiAgICAgdm9pZCBzZXRQb3NpdGlvbkZyb21WYWx1ZSgpOwotCiAgICAg
dm9pZCBkcmFnRnJvbShjb25zdCBMYXlvdXRQb2ludCYpOwotICAgIHZpcnR1YWwgdm9pZCBkZWZh
dWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7Ci0gICAgdmlydHVhbCBib29sIHdpbGxSZXNwb25kVG9N
b3VzZU1vdmVFdmVudHMoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgd2lsbFJlc3BvbmRU
b01vdXNlQ2xpY2tFdmVudHMoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgd2lsbERldGFj
aFJlbmRlcmVycygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBz
aGFkb3dQc2V1ZG9JZCgpIGNvbnN0OwogICAgIEhUTUxJbnB1dEVsZW1lbnQqIGhvc3RJbnB1dCgp
IGNvbnN0OwogICAgIHZvaWQgc2V0UG9zaXRpb25Gcm9tUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQm
KTsKIAogcHJpdmF0ZToKICAgICBTbGlkZXJUaHVtYkVsZW1lbnQoRG9jdW1lbnQmKTsKLSAgICB2
aXJ0dWFsIFJlbmRlckVsZW1lbnQqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hJiwgUmVuZGVy
U3R5bGUmKTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0
aG91dEF0dHJpYnV0ZXNBbmRDaGlsZHJlbigpOworCisgICAgdmlydHVhbCBSZW5kZXJFbGVtZW50
KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSYsIFJlbmRlclN0eWxlJikgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNsb25lRWxlbWVudFdpdGhvdXRBdHRyaWJ1
dGVzQW5kQ2hpbGRyZW4oKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNEaXNhYmxlZEZv
cm1Db250cm9sKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIG1hdGNoZXNSZWFk
T25seVBzZXVkb0NsYXNzKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIG1hdGNo
ZXNSZWFkV3JpdGVQc2V1ZG9DbGFzcygpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgRWxl
bWVudCogZm9jdXNEZWxlZ2F0ZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0
RXZlbnRIYW5kbGVyKEV2ZW50KikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHdpbGxSZXNw
b25kVG9Nb3VzZU1vdmVFdmVudHMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgd2lsbFJl
c3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgd2ls
bERldGFjaFJlbmRlcmVycygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0IE9WRVJSSURFOworCiAgICAgdm9pZCBzdGFydERy
YWdnaW5nKCk7CiAgICAgdm9pZCBzdG9wRHJhZ2dpbmcoKTsKIApAQCAtNzgsMjIgKzc3LDYgQEAg
aW5saW5lIFBhc3NSZWZQdHI8U2xpZGVyVGh1bWJFbGVtZW50PiBTbGlkZXJUaHVtYkVsZW1lbnQ6
OmNyZWF0ZShEb2N1bWVudCYgZG9jdW0KICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNsaWRlclRo
dW1iRWxlbWVudChkb2N1bWVudCkpOwogfQogCi1pbmxpbmUgUGFzc1JlZlB0cjxFbGVtZW50PiBT
bGlkZXJUaHVtYkVsZW1lbnQ6OmNsb25lRWxlbWVudFdpdGhvdXRBdHRyaWJ1dGVzQW5kQ2hpbGRy
ZW4oKQotewotICAgIHJldHVybiBjcmVhdGUoZG9jdW1lbnQoKSk7Ci19Ci0KLWlubGluZSBTbGlk
ZXJUaHVtYkVsZW1lbnQqIHRvU2xpZGVyVGh1bWJFbGVtZW50KE5vZGUqIG5vZGUpCi17Ci0gICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aXNIVE1MRWxl
bWVudCgpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2xpZGVyVGh1bWJFbGVtZW50Kj4obm9k
ZSk7Ci19Ci0KLS8vIFRoaXMgYWx3YXlzIHJldHVybiBhIHZhbGlkIHBvaW50ZXIuCi0vLyBBbiBh
c3NlcnRpb24gZmFpbHMgaWYgdGhlIHNwZWNpZmllZCBub2RlIGlzIG5vdCBhIHJhbmdlIGlucHV0
LgotU2xpZGVyVGh1bWJFbGVtZW50KiBzbGlkZXJUaHVtYkVsZW1lbnRPZihIVE1MSW5wdXRFbGVt
ZW50Jik7Ci1IVE1MRWxlbWVudCogc2xpZGVyVHJhY2tFbGVtZW50T2YoSFRNTElucHV0RWxlbWVu
dCYpOwotCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBjbGFzcyBSZW5k
ZXJTbGlkZXJUaHVtYiBGSU5BTCA6IHB1YmxpYyBSZW5kZXJCbG9ja0Zsb3cgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcAppbmRleCBmYmQxZTVmOWViMTYwYTM2OTAy
YzI3MTY0NDlhZjI3YmQ5MTEzNWU3Li42MzM3NzdjMDYzMjQ1OTBkYmNhMTQ4YjVmNWU5YWFlNWY3
ODkzNGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcApAQCAt
MTA4LDkgKzEwOCw5IEBAIHZvaWQgUmVuZGVyU2xpZGVyOjpjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocygpCiB2b2lkIFJlbmRlclNsaWRlcjo6bGF5b3V0KCkKIHsKICAgICBTdGFja1N0YXRz
OjpMYXlvdXRDaGVja1BvaW50IGxheW91dENoZWNrUG9pbnQ7Ci0gICAgLy8gRklYTUU6IEZpbmQg
YSB3YXkgdG8gY2FzY2FkZSBhcHBlYXJhbmNlLgotICAgIC8vIGh0dHA6Ly93ZWJraXQub3JnL2Iv
NjI1MzUKLSAgICBSZW5kZXJCb3gqIHRodW1iQm94ID0gc2xpZGVyVGh1bWJFbGVtZW50T2YoKnRv
SFRNTElucHV0RWxlbWVudChlbGVtZW50KCkpKS0+cmVuZGVyQm94KCk7CisKKyAgICAvLyBGSVhN
RTogRmluZCBhIHdheSB0byBjYXNjYWRlIGFwcGVhcmFuY2UuIGh0dHA6Ly93ZWJraXQub3JnL2Iv
NjI1MzUKKyAgICBSZW5kZXJCb3gqIHRodW1iQm94ID0gdG9IVE1MSW5wdXRFbGVtZW50KCplbGVt
ZW50KCkpLnNsaWRlclRodW1iRWxlbWVudCgpLT5yZW5kZXJCb3goKTsKICAgICBpZiAodGh1bWJC
b3ggJiYgdGh1bWJCb3gtPmlzU2xpZGVyVGh1bWIoKSkKICAgICAgICAgc3RhdGljX2Nhc3Q8UmVu
ZGVyU2xpZGVyVGh1bWIqPih0aHVtYkJveCktPnVwZGF0ZUFwcGVhcmFuY2Uoc3R5bGUoKSk7CiAK
QEAgLTExOSw3ICsxMTksNyBAQCB2b2lkIFJlbmRlclNsaWRlcjo6bGF5b3V0KCkKIAogYm9vbCBS
ZW5kZXJTbGlkZXI6OmluRHJhZ01vZGUoKSBjb25zdAogewotICAgIHJldHVybiBzbGlkZXJUaHVt
YkVsZW1lbnRPZigqdG9IVE1MSW5wdXRFbGVtZW50KGVsZW1lbnQoKSkpLT5hY3RpdmUoKTsKKyAg
ICByZXR1cm4gdG9IVE1MSW5wdXRFbGVtZW50KCplbGVtZW50KCkpLnNsaWRlclRodW1iRWxlbWVu
dCgpLT5hY3RpdmUoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>