<?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>129603</bug_id>
          
          <creation_ts>2014-03-03 04:05:34 -0800</creation_ts>
          <short_desc>Move EvasGLContext and EvasGLSurface files into the efl common directory.</short_desc>
          <delta_ts>2014-03-04 00:20:54 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</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="Hyowon Kim">hw1008.kim</reporter>
          <assigned_to name="Hyowon Kim">hw1008.kim</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>986316</commentid>
    <comment_count>0</comment_count>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-03 04:05:34 -0800</bug_when>
    <thetext>EFL port will use EvasGLContext and EvasGLSurface files in both WK1 and WK2.
And WebCore/platform/graphics/efl is more proper place for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986318</commentid>
    <comment_count>1</comment_count>
      <attachid>225642</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-03 04:20:28 -0800</bug_when>
    <thetext>Created attachment 225642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986319</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-03 04:22:46 -0800</bug_when>
    <thetext>Attachment 225642 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/efl/EvasGLSurface.h:60:  The parameter name &quot;evasGL&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/platform/graphics/efl/EvasGLContext.h:51:  The parameter name &quot;evasGL&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986324</commentid>
    <comment_count>3</comment_count>
      <attachid>225643</attachid>
    <who name="Hyowon Kim">hw1008.kim</who>
    <bug_when>2014-03-03 05:35:21 -0800</bug_when>
    <thetext>Created attachment 225643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986693</commentid>
    <comment_count>4</comment_count>
      <attachid>225643</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-03-03 23:39:12 -0800</bug_when>
    <thetext>Comment on attachment 225643
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986700</commentid>
    <comment_count>5</comment_count>
      <attachid>225643</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-04 00:20:50 -0800</bug_when>
    <thetext>Comment on attachment 225643
Patch

Clearing flags on attachment: 225643

Committed r165043: &lt;http://trac.webkit.org/changeset/165043&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986701</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-04 00:20:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225642</attachid>
            <date>2014-03-03 04:20:28 -0800</date>
            <delta_ts>2014-03-03 05:35:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129603-20140303212029.patch</filename>
            <type>text/plain</type>
            <size>22645</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0OTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBiMjNmNjU1ODNjMWUx
NTNhNjc5MjQ3MmU3ODkwZjNiMjk4ZGY4Yy4uZGYxNGRmZDkzYzI3OTVmYzBlYzRlNjkyMzA2ZmVj
OWVkYmU2MmRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTAzLTAzICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNb3ZlIEV2YXNHTENv
bnRleHQgYW5kIEV2YXNHTFN1cmZhY2UgZmlsZXMgaW50byB0aGUgZWZsIGNvbW1vbiBkaXJlY3Rv
cnkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk2
MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB3aWxsIHVzZSBFdmFzR0xDb250ZXh0IGFuZCBFdmFzR0xTdXJmYWNlIGZpbGVzIGluIGJv
dGggV0sxIGFuZCBXSzIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBqdXN0IHJlZmFjdG9yaW5n
cy4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2VmbC9FdmFzR0xDb250ZXh0LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuY3BwLgorICAgICAgICAoV2ViS2l0OjpF
dmFzR0xDb250ZXh0OjpFdmFzR0xDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6RXZhc0dMQ29u
dGV4dDo6fkV2YXNHTENvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9F
dmFzR0xDb250ZXh0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9FdmFzR0xDb250ZXh0LmguCisgICAgICAgIChXZWJLaXQ6OkV2YXNHTENvbnRleHQ6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkV2YXNHTENvbnRleHQ6OmNvbnRleHQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmNwcDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuY3BwLgorICAg
ICAgICAoV2ViS2l0OjpFdmFzR0xTdXJmYWNlOjpFdmFzR0xTdXJmYWNlKToKKyAgICAgICAgKFdl
YktpdDo6RXZhc0dMU3VyZmFjZTo6fkV2YXNHTFN1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmguCisgICAgICAgIChXZWJLaXQ6OkV2
YXNHTFN1cmZhY2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkV2YXNHTFN1cmZhY2U6OnN1
cmZhY2UpOgorCiAyMDE0LTAzLTAzICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlz
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTXVsdGltZWRpYSBjb250cm9scyBjYXB0aW9u
cyBpY29uIG5lZWRzIGl0cyBvd24gbWV0YXBob3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2ZWQ3Mzg4NTZlNzc4
ZjRjYWI0YmMwZGNhYzMyZDJjZTExOTk1MmEwLi42ZDU1OGZjMjQ5ZmUzNDBiODIyNWM1ZWNlYzI3
MzVlZmU3MGJiYzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMDMtMDMgIEh5
b3dvbiBLaW0gIDxodzEwMDgua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIE1vdmUgRXZhc0dM
Q29udGV4dCBhbmQgRXZhc0dMU3VyZmFjZSBmaWxlcyBpbnRvIHRoZSBlZmwgY29tbW9uIGRpcmVj
dG9yeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
OTYwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6IFVwZGF0ZSBmb3IgcmVtb3ZlZCBmaWxlcy4KKwogMjAxNC0wMy0w
MyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gV2ViS2l0MldlYkV4dGVuc2lvbiBHSVIgY2FuJ3QgYmUgdXNlZCBpbiB2YWxhCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDVhMzVlNWVmNTAyZTY1NjRkNWMxODM2N2I5Yzc4OWQ1
YTkyOGE0YjcuLjcxN2ViNzMyZWRhNDEwNWQyODAxYmRkY2FlOGIzZTlmODZlM2FjYjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0zMDYsNiArMzA2LDggQEAgaWYgKFdURl9VU0VfM0Rf
R1JBUEhJQ1MpCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0RyYXdpbmdCdWZmZXJDYWlyby5jcHAKIAorICAgICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9lZmwvRXZhc0dMQ29udGV4dC5jcHAKKyAgICAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZWZsL0V2YXNHTFN1cmZhY2UuY3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Vm
bC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZs
L0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0V2YXNHTENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0V2YXNHTENvbnRleHQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
OThkNjFlYThiODMwZDZkMGZkZjY1YTQ2NDJlYTk3NDhhZDVmYjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvRXZhc0dMQ29udGV4dC5jcHAK
QEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkV2YXNHTENvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0V2
YXNHTENvbnRleHQ6OkV2YXNHTENvbnRleHQoRXZhc19HTCogZXZhc0dMLCBFdmFzX0dMX0NvbnRl
eHQqIHBhc3NDb250ZXh0KQorICAgIDogbV9ldmFzR0woZXZhc0dMKQorICAgICwgbV9jb250ZXh0
KHBhc3NDb250ZXh0KQoreworICAgIEFTU0VSVChldmFzR0wpOworICAgIEFTU0VSVChwYXNzQ29u
dGV4dCk7Cit9CisKK0V2YXNHTENvbnRleHQ6On5FdmFzR0xDb250ZXh0KCkKK3sKKyAgICBldmFz
X2dsX2NvbnRleHRfZGVzdHJveShtX2V2YXNHTCwgbV9jb250ZXh0KTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9lZmwvRXZhc0dMQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWZsL0V2YXNHTENvbnRleHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODYxNTliOTIzMjU1NTQxZTI5Y2RmNDI4
NmRmMjk1ZmU0MzExMDJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZWZsL0V2YXNHTENvbnRleHQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEV2YXNHTENvbnRleHRfaAorI2RlZmluZSBFdmFzR0xDb250
ZXh0X2gKKworI2luY2x1ZGUgPEV2YXNfR0wuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgRXZhc0dMQ29udGV4dCB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NPd25QdHI8RXZhc0dMQ29udGV4dD4gY3JlYXRlKEV2YXNfR0wqIGV2
YXNHTCkKKyAgICB7CisgICAgICAgIEFTU0VSVChldmFzR0wpOworICAgICAgICBFdmFzX0dMX0Nv
bnRleHQqIGNvbnRleHQgPSBldmFzX2dsX2NvbnRleHRfY3JlYXRlKGV2YXNHTCwgMCk7CisgICAg
ICAgIGlmICghY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAg
IC8vIE93bmVyc2hpcCBvZiBjb250ZXh0IGlzIHBhc3NlZCB0byBFdmFzR0xDb250ZXh0LgorICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV2YXNHTENvbnRleHQoZXZhc0dMLCBjb250ZXh0KSk7
CisgICAgfQorICAgIH5FdmFzR0xDb250ZXh0KCk7CisKKyAgICBFdmFzX0dMX0NvbnRleHQqIGNv
bnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQ7IH0KKworcHJpdmF0ZToKKyAgICBFdmFzR0xDb250
ZXh0KEV2YXNfR0wqIGV2YXNHTCwgRXZhc19HTF9Db250ZXh0KiBwYXNzQ29udGV4dCk7CisKKyAg
ICBFdmFzX0dMKiBtX2V2YXNHTDsKKyAgICBFdmFzX0dMX0NvbnRleHQqIG1fY29udGV4dDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRXZhc0dMQ29udGV4dF9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvRXZhc0dMU3Vy
ZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvRXZhc0dMU3Vy
ZmFjZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTYzMDFjYWZiYTVmMTZjODhmMmM3NjcxOWZjOGU2NWMxMWRh
ZDgxZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2VmbC9FdmFzR0xTdXJmYWNlLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZhc0dMU3VyZmFjZS5oIgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworRXZhc0dMU3VyZmFjZTo6RXZhc0dMU3VyZmFjZShFdmFzX0dM
KiBldmFzR0wsIEV2YXNfR0xfU3VyZmFjZSogcGFzc1N1cmZhY2UpCisgICAgOiBtX2V2YXNHTChl
dmFzR0wpCisgICAgLCBtX3N1cmZhY2UocGFzc1N1cmZhY2UpCit7CisgICAgQVNTRVJUKGV2YXNH
TCk7CisgICAgQVNTRVJUKHBhc3NTdXJmYWNlKTsKK30KKworRXZhc0dMU3VyZmFjZTo6fkV2YXNH
TFN1cmZhY2UoKQoreworICAgIGV2YXNfZ2xfc3VyZmFjZV9kZXN0cm95KG1fZXZhc0dMLCBtX3N1
cmZhY2UpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvRXZhc0dMU3VyZmFjZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYz
MjE1NmUzZWU3ZDY2NWJjOTlmYTE4ODY3Nzc1Mjc5ZDRmMGYyMmEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvRXZhc0dMU3VyZmFjZS5oCkBA
IC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRp
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRXZhc0dMU3VyZmFj
ZV9oCisjZGVmaW5lIEV2YXNHTFN1cmZhY2VfaAorCisjaW5jbHVkZSAiSW50U2l6ZS5oIgorCisj
aW5jbHVkZSA8RXZhc19HTC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBFdmFzR0xTdXJmYWNlIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc093blB0cjxFdmFzR0xTdXJmYWNlPiBjcmVhdGUoRXZhc19HTCogZXZhc0dMLCBFdmFz
X0dMX0NvbmZpZyogY2ZnLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKGV2YXNHTCk7CisgICAgICAgIEFTU0VSVChjZmcpOworCisgICAgICAgIEV2
YXNfR0xfU3VyZmFjZSogc3VyZmFjZSA9IDA7CisKKyAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhl
IHN1cmZhY2UgaXMgY3JlYXRlZCB3aXRoIHZhbGlkIHNpemUuCisgICAgICAgIGlmIChzaXplLndp
ZHRoKCkgJiYgc2l6ZS5oZWlnaHQoKSkKKyAgICAgICAgICAgIHN1cmZhY2UgPSBldmFzX2dsX3N1
cmZhY2VfY3JlYXRlKGV2YXNHTCwgY2ZnLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpOwor
CisgICAgICAgIGlmICghc3VyZmFjZSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgICAgIC8vIE93bmVyc2hpcCBvZiBzdXJmYWNlIGlzIHBhc3NlZCB0byBFdmFzR0xTdXJmYWNl
LgorICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV2YXNHTFN1cmZhY2UoZXZhc0dMLCBzdXJm
YWNlKSk7CisgICAgfQorICAgIH5FdmFzR0xTdXJmYWNlKCk7CisKKyAgICBFdmFzX0dMX1N1cmZh
Y2UqIHN1cmZhY2UoKSB7IHJldHVybiBtX3N1cmZhY2U7IH0KKworcHJpdmF0ZToKKyAgICBFdmFz
R0xTdXJmYWNlKEV2YXNfR0wqIGV2YXNHTCwgRXZhc19HTF9TdXJmYWNlKiBwYXNzU3VyZmFjZSk7
CisKKyAgICBFdmFzX0dMKiBtX2V2YXNHTDsKKyAgICBFdmFzX0dMX1N1cmZhY2UqIG1fc3VyZmFj
ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRXZhc0dMU3VyZmFj
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGNhZTU5NzE0ZjBjYTZjY2Q1ZGIxOTY4
MTkyNGEwMWIxMDAyNmI2ZDkuLmY5NjI1ZDk4NWU0YmIyYTEyZmJlODQyZDk3YjE1MmRlYmRlMDJi
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC03MCw4ICs3MCw2IEBAIGxpc3QoQVBQ
RU5EIFdlYktpdDJfU09VUkNFUwogCiAgICAgVUlQcm9jZXNzL0FQSS9jcHAvZWZsL1dLRWluYVNo
YXJlZFN0cmluZy5jcHAKIAotICAgIFVJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuY3Bw
Ci0gICAgVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5jcHAKICAgICBVSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL0dlc3R1cmVSZWNvZ25p
emVyLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL1NuYXBzaG90SW1hZ2VHTC5jcHAKQEAgLTIw
Myw2ICsyMDEsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiBsaXN0
KEFQUEVORCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0v
cGxhdGZvcm0vZWZsIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
byIKKyAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvZWZsIgogICAgICIke1dF
QkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZSIKICAgICAiJHtXRUJDT1JFX0RJ
Un0vcGxhdGZvcm0vbmV0d29yay9zb3VwIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS90
ZXh0L2VuY2hhbnQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9FdmFzR0xDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2
YXNHTENvbnRleHQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTk4ZDYxZWE4
YjgzMGQ2ZDBmZGY2NWE0NjQyZWE5NzQ4YWQ1ZmIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2
YXNHTENvbnRleHQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkV2YXNHTENvbnRleHQu
aCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLUV2YXNHTENvbnRleHQ6OkV2YXNHTENvbnRleHQo
RXZhc19HTCogZXZhc0dMLCBFdmFzX0dMX0NvbnRleHQqIHBhc3NDb250ZXh0KQotICAgIDogbV9l
dmFzR0woZXZhc0dMKQotICAgICwgbV9jb250ZXh0KHBhc3NDb250ZXh0KQotewotICAgIEFTU0VS
VChldmFzR0wpOwotICAgIEFTU0VSVChwYXNzQ29udGV4dCk7Ci19Ci0KLUV2YXNHTENvbnRleHQ6
On5FdmFzR0xDb250ZXh0KCkKLXsKLSAgICBldmFzX2dsX2NvbnRleHRfZGVzdHJveShtX2V2YXNH
TCwgbV9jb250ZXh0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg4NjE1OWI5MjMyNTU1NDFlMjljZGY0Mjg2ZGYyOTVmZTQzMTEwMmMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4dC5oCisrKyAvZGV2L251bGwKQEAg
LTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBFdmFzR0xDb250ZXh0
X2gKLSNkZWZpbmUgRXZhc0dMQ29udGV4dF9oCi0KLSNpbmNsdWRlIDxFdmFzX0dMLmg+Ci0jaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIEV2
YXNHTENvbnRleHQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2YXNHTENvbnRl
eHQ+IGNyZWF0ZShFdmFzX0dMKiBldmFzR0wpCi0gICAgewotICAgICAgICBBU1NFUlQoZXZhc0dM
KTsKLSAgICAgICAgRXZhc19HTF9Db250ZXh0KiBjb250ZXh0ID0gZXZhc19nbF9jb250ZXh0X2Ny
ZWF0ZShldmFzR0wsIDApOwotICAgICAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLQotICAgICAgICAvLyBPd25lcnNoaXAgb2YgY29udGV4dCBpcyBwYXNzZWQg
dG8gRXZhc0dMQ29udGV4dC4KLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFdmFzR0xDb250
ZXh0KGV2YXNHTCwgY29udGV4dCkpOwotICAgIH0KLSAgICB+RXZhc0dMQ29udGV4dCgpOwotCi0g
ICAgRXZhc19HTF9Db250ZXh0KiBjb250ZXh0KCkgeyByZXR1cm4gbV9jb250ZXh0OyB9Ci0KLXBy
aXZhdGU6Ci0gICAgRXZhc0dMQ29udGV4dChFdmFzX0dMKiBldmFzR0wsIEV2YXNfR0xfQ29udGV4
dCogcGFzc0NvbnRleHQpOwotCi0gICAgRXZhc19HTCogbV9ldmFzR0w7Ci0gICAgRXZhc19HTF9D
b250ZXh0KiBtX2NvbnRleHQ7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlm
IC8vIEV2YXNHTENvbnRleHRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9FdmFzR0xTdXJmYWNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTYz
MDFjYWZiYTVmMTZjODhmMmM3NjcxOWZjOGU2NWMxMWRhZDgxZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9FdmFzR0xTdXJmYWNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJFdmFzR0xT
dXJmYWNlLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1FdmFzR0xTdXJmYWNlOjpFdmFzR0xT
dXJmYWNlKEV2YXNfR0wqIGV2YXNHTCwgRXZhc19HTF9TdXJmYWNlKiBwYXNzU3VyZmFjZSkKLSAg
ICA6IG1fZXZhc0dMKGV2YXNHTCkKLSAgICAsIG1fc3VyZmFjZShwYXNzU3VyZmFjZSkKLXsKLSAg
ICBBU1NFUlQoZXZhc0dMKTsKLSAgICBBU1NFUlQocGFzc1N1cmZhY2UpOwotfQotCi1FdmFzR0xT
dXJmYWNlOjp+RXZhc0dMU3VyZmFjZSgpCi17Ci0gICAgZXZhc19nbF9zdXJmYWNlX2Rlc3Ryb3ko
bV9ldmFzR0wsIG1fc3VyZmFjZSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3VyZmFjZS5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYTc2YjFjMWQzNTBhMzEzZGQxYjZkYWM0MjI1NjYwMGQ3
ZWFhNTIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29y
cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRXZhc0dM
U3VyZmFjZV9oCi0jZGVmaW5lIEV2YXNHTFN1cmZhY2VfaAotCi0jaW5jbHVkZSA8RXZhc19HTC5o
PgotI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBFdmFzR0xTdXJmYWNlIHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxFdmFzR0xTdXJmYWNlPiBjcmVhdGUoRXZhc19HTCog
ZXZhc0dMLCBFdmFzX0dMX0NvbmZpZyogY2ZnLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXpl
KQotICAgIHsKLSAgICAgICAgQVNTRVJUKGV2YXNHTCk7Ci0gICAgICAgIEFTU0VSVChjZmcpOwot
Ci0gICAgICAgIEV2YXNfR0xfU3VyZmFjZSogc3VyZmFjZSA9IDA7Ci0KLSAgICAgICAgLy8gRW5z
dXJlIHRoYXQgdGhlIHN1cmZhY2UgaXMgY3JlYXRlZCB3aXRoIHZhbGlkIHNpemUuCi0gICAgICAg
IGlmIChzaXplLndpZHRoKCkgJiYgc2l6ZS5oZWlnaHQoKSkKLSAgICAgICAgICAgIHN1cmZhY2Ug
PSBldmFzX2dsX3N1cmZhY2VfY3JlYXRlKGV2YXNHTCwgY2ZnLCBzaXplLndpZHRoKCksIHNpemUu
aGVpZ2h0KCkpOwotCi0gICAgICAgIGlmICghc3VyZmFjZSkKLSAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwotCi0gICAgICAgIC8vIE93bmVyc2hpcCBvZiBzdXJmYWNlIGlzIHBhc3NlZCB0byBF
dmFzR0xTdXJmYWNlLgotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV2YXNHTFN1cmZhY2Uo
ZXZhc0dMLCBzdXJmYWNlKSk7Ci0gICAgfQotICAgIH5FdmFzR0xTdXJmYWNlKCk7Ci0KLSAgICBF
dmFzX0dMX1N1cmZhY2UqIHN1cmZhY2UoKSB7IHJldHVybiBtX3N1cmZhY2U7IH0KLQotcHJpdmF0
ZToKLSAgICBFdmFzR0xTdXJmYWNlKEV2YXNfR0wqIGV2YXNHTCwgRXZhc19HTF9TdXJmYWNlKiBw
YXNzU3VyZmFjZSk7Ci0KLSAgICBFdmFzX0dMKiBtX2V2YXNHTDsKLSAgICBFdmFzX0dMX1N1cmZh
Y2UqIG1fc3VyZmFjZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8g
RXZhc0dMU3VyZmFjZV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225643</attachid>
            <date>2014-03-03 05:35:21 -0800</date>
            <delta_ts>2014-03-04 00:20:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129603-20140303223522.patch</filename>
            <type>text/plain</type>
            <size>22631</size>
            <attacher name="Hyowon Kim">hw1008.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0OTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBiMjNmNjU1ODNjMWUx
NTNhNjc5MjQ3MmU3ODkwZjNiMjk4ZGY4Yy4uZGYxNGRmZDkzYzI3OTVmYzBlYzRlNjkyMzA2ZmVj
OWVkYmU2MmRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTAzLTAzICBIeW93
b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNb3ZlIEV2YXNHTENv
bnRleHQgYW5kIEV2YXNHTFN1cmZhY2UgZmlsZXMgaW50byB0aGUgZWZsIGNvbW1vbiBkaXJlY3Rv
cnkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjk2
MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB3aWxsIHVzZSBFdmFzR0xDb250ZXh0IGFuZCBFdmFzR0xTdXJmYWNlIGZpbGVzIGluIGJv
dGggV0sxIGFuZCBXSzIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBqdXN0IHJlZmFjdG9yaW5n
cy4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2VmbC9FdmFzR0xDb250ZXh0LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTENvbnRleHQuY3BwLgorICAgICAgICAoV2ViS2l0OjpF
dmFzR0xDb250ZXh0OjpFdmFzR0xDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6RXZhc0dMQ29u
dGV4dDo6fkV2YXNHTENvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9F
dmFzR0xDb250ZXh0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9FdmFzR0xDb250ZXh0LmguCisgICAgICAgIChXZWJLaXQ6OkV2YXNHTENvbnRleHQ6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkV2YXNHTENvbnRleHQ6OmNvbnRleHQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmNwcDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuY3BwLgorICAg
ICAgICAoV2ViS2l0OjpFdmFzR0xTdXJmYWNlOjpFdmFzR0xTdXJmYWNlKToKKyAgICAgICAgKFdl
YktpdDo6RXZhc0dMU3VyZmFjZTo6fkV2YXNHTFN1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmguCisgICAgICAgIChXZWJLaXQ6OkV2
YXNHTFN1cmZhY2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkV2YXNHTFN1cmZhY2U6OnN1
cmZhY2UpOgorCiAyMDE0LTAzLTAzICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlz
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTXVsdGltZWRpYSBjb250cm9scyBjYXB0aW9u
cyBpY29uIG5lZWRzIGl0cyBvd24gbWV0YXBob3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2ZWQ3Mzg4NTZlNzc4
ZjRjYWI0YmMwZGNhYzMyZDJjZTExOTk1MmEwLi42ZDU1OGZjMjQ5ZmUzNDBiODIyNWM1ZWNlYzI3
MzVlZmU3MGJiYzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMDMtMDMgIEh5
b3dvbiBLaW0gIDxodzEwMDgua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIE1vdmUgRXZhc0dM
Q29udGV4dCBhbmQgRXZhc0dMU3VyZmFjZSBmaWxlcyBpbnRvIHRoZSBlZmwgY29tbW9uIGRpcmVj
dG9yeS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
OTYwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6IFVwZGF0ZSBmb3IgcmVtb3ZlZCBmaWxlcy4KKwogMjAxNC0wMy0w
MyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gV2ViS2l0MldlYkV4dGVuc2lvbiBHSVIgY2FuJ3QgYmUgdXNlZCBpbiB2YWxhCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDVhMzVlNWVmNTAyZTY1NjRkNWMxODM2N2I5Yzc4OWQ1
YTkyOGE0YjcuLjcxN2ViNzMyZWRhNDEwNWQyODAxYmRkY2FlOGIzZTlmODZlM2FjYjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0zMDYsNiArMzA2LDggQEAgaWYgKFdURl9VU0VfM0Rf
R1JBUEhJQ1MpCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIHBsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0RyYXdpbmdCdWZmZXJDYWlyby5jcHAKIAorICAgICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9lZmwvRXZhc0dMQ29udGV4dC5jcHAKKyAgICAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZWZsL0V2YXNHTFN1cmZhY2UuY3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Vm
bC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZWZs
L0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0V2YXNHTENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0V2YXNHTENvbnRleHQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
OThkNjFlYThiODMwZDZkMGZkZjY1YTQ2NDJlYTk3NDhhZDVmYjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvRXZhc0dMQ29udGV4dC5jcHAK
QEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkV2YXNHTENvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0V2
YXNHTENvbnRleHQ6OkV2YXNHTENvbnRleHQoRXZhc19HTCogZXZhc0dMLCBFdmFzX0dMX0NvbnRl
eHQqIHBhc3NDb250ZXh0KQorICAgIDogbV9ldmFzR0woZXZhc0dMKQorICAgICwgbV9jb250ZXh0
KHBhc3NDb250ZXh0KQoreworICAgIEFTU0VSVChldmFzR0wpOworICAgIEFTU0VSVChwYXNzQ29u
dGV4dCk7Cit9CisKK0V2YXNHTENvbnRleHQ6On5FdmFzR0xDb250ZXh0KCkKK3sKKyAgICBldmFz
X2dsX2NvbnRleHRfZGVzdHJveShtX2V2YXNHTCwgbV9jb250ZXh0KTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9lZmwvRXZhc0dMQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWZsL0V2YXNHTENvbnRleHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDhjYTdmZmYzYzE3MmQ2MGMyNWE1ZjNj
NWEyZDYzNGJjZGRkNDg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZWZsL0V2YXNHTENvbnRleHQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEV2YXNHTENvbnRleHRfaAorI2RlZmluZSBFdmFzR0xDb250
ZXh0X2gKKworI2luY2x1ZGUgPEV2YXNfR0wuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgRXZhc0dMQ29udGV4dCB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NPd25QdHI8RXZhc0dMQ29udGV4dD4gY3JlYXRlKEV2YXNfR0wqIGV2
YXNHTCkKKyAgICB7CisgICAgICAgIEFTU0VSVChldmFzR0wpOworICAgICAgICBFdmFzX0dMX0Nv
bnRleHQqIGNvbnRleHQgPSBldmFzX2dsX2NvbnRleHRfY3JlYXRlKGV2YXNHTCwgMCk7CisgICAg
ICAgIGlmICghY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAg
IC8vIE93bmVyc2hpcCBvZiBjb250ZXh0IGlzIHBhc3NlZCB0byBFdmFzR0xDb250ZXh0LgorICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV2YXNHTENvbnRleHQoZXZhc0dMLCBjb250ZXh0KSk7
CisgICAgfQorICAgIH5FdmFzR0xDb250ZXh0KCk7CisKKyAgICBFdmFzX0dMX0NvbnRleHQqIGNv
bnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQ7IH0KKworcHJpdmF0ZToKKyAgICBFdmFzR0xDb250
ZXh0KEV2YXNfR0wqLCBFdmFzX0dMX0NvbnRleHQqIHBhc3NDb250ZXh0KTsKKworICAgIEV2YXNf
R0wqIG1fZXZhc0dMOworICAgIEV2YXNfR0xfQ29udGV4dCogbV9jb250ZXh0OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFdmFzR0xDb250ZXh0X2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNjMwMWNhZmJhNWYxNmM4OGYyYzc2NzE5ZmM4ZTY1YzExZGFkODFkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0V2
YXNHTFN1cmZhY2UuY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmFzR0xTdXJmYWNlLmgiCisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitFdmFzR0xTdXJmYWNlOjpFdmFzR0xTdXJmYWNlKEV2YXNfR0wqIGV2YXNH
TCwgRXZhc19HTF9TdXJmYWNlKiBwYXNzU3VyZmFjZSkKKyAgICA6IG1fZXZhc0dMKGV2YXNHTCkK
KyAgICAsIG1fc3VyZmFjZShwYXNzU3VyZmFjZSkKK3sKKyAgICBBU1NFUlQoZXZhc0dMKTsKKyAg
ICBBU1NFUlQocGFzc1N1cmZhY2UpOworfQorCitFdmFzR0xTdXJmYWNlOjp+RXZhc0dMU3VyZmFj
ZSgpCit7CisgICAgZXZhc19nbF9zdXJmYWNlX2Rlc3Ryb3kobV9ldmFzR0wsIG1fc3VyZmFjZSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0V2YXNHTFN1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2UxZGQ3NzM4
NDNiMTFiYTk4OGQyNmVjYzA5YTY2ZjNkNTFjNTM1OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9FdmFzR0xTdXJmYWNlLmgKQEAgLTAsMCAr
MSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBFdmFzR0xTdXJmYWNlX2gKKyNk
ZWZpbmUgRXZhc0dMU3VyZmFjZV9oCisKKyNpbmNsdWRlICJJbnRTaXplLmgiCisKKyNpbmNsdWRl
IDxFdmFzX0dMLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIEV2YXNHTFN1cmZhY2UgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
T3duUHRyPEV2YXNHTFN1cmZhY2U+IGNyZWF0ZShFdmFzX0dMKiBldmFzR0wsIEV2YXNfR0xfQ29u
ZmlnKiBjZmcsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUpCisgICAgeworICAgICAgICBB
U1NFUlQoZXZhc0dMKTsKKyAgICAgICAgQVNTRVJUKGNmZyk7CisKKyAgICAgICAgRXZhc19HTF9T
dXJmYWNlKiBzdXJmYWNlID0gMDsKKworICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgc3VyZmFj
ZSBpcyBjcmVhdGVkIHdpdGggdmFsaWQgc2l6ZS4KKyAgICAgICAgaWYgKHNpemUud2lkdGgoKSAm
JiBzaXplLmhlaWdodCgpKQorICAgICAgICAgICAgc3VyZmFjZSA9IGV2YXNfZ2xfc3VyZmFjZV9j
cmVhdGUoZXZhc0dMLCBjZmcsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSk7CisKKyAgICAg
ICAgaWYgKCFzdXJmYWNlKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
Ly8gT3duZXJzaGlwIG9mIHN1cmZhY2UgaXMgcGFzc2VkIHRvIEV2YXNHTFN1cmZhY2UuCisgICAg
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXZhc0dMU3VyZmFjZShldmFzR0wsIHN1cmZhY2UpKTsK
KyAgICB9CisgICAgfkV2YXNHTFN1cmZhY2UoKTsKKworICAgIEV2YXNfR0xfU3VyZmFjZSogc3Vy
ZmFjZSgpIHsgcmV0dXJuIG1fc3VyZmFjZTsgfQorCitwcml2YXRlOgorICAgIEV2YXNHTFN1cmZh
Y2UoRXZhc19HTCosIEV2YXNfR0xfU3VyZmFjZSogcGFzc1N1cmZhY2UpOworCisgICAgRXZhc19H
TCogbV9ldmFzR0w7CisgICAgRXZhc19HTF9TdXJmYWNlKiBtX3N1cmZhY2U7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEV2YXNHTFN1cmZhY2VfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZQppbmRleCBjYWU1OTcxNGYwY2E2Y2NkNWRiMTk2ODE5MjRhMDFiMTAwMjZi
NmQ5Li5mOTYyNWQ5ODVlNGJiMmExMmZiZTg0MmQ5N2IxNTJkZWJkZTAyYmQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybUVmbC5jbWFrZQpAQCAtNzAsOCArNzAsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NP
VVJDRVMKIAogICAgIFVJUHJvY2Vzcy9BUEkvY3BwL2VmbC9XS0VpbmFTaGFyZWRTdHJpbmcuY3Bw
CiAKLSAgICBVSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmNwcAotICAgIFVJUHJvY2Vz
cy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmll
dy5jcHAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9HZXN0dXJlUmVjb2duaXplci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL2VmbC9TbmFwc2hvdEltYWdlR0wuY3BwCkBAIC0yMDMsNiArMjAxLDcgQEAg
bGlzdChBUFBFTkQgV2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFUwogbGlzdChBUFBFTkQgV2ViS2l0
Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2VmbCIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8iCisgICAgIiR7V0VC
Q09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2VmbCIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25l
dHdvcmsvc291cCIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vdGV4dC9lbmNoYW50Igpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODE5OGQ2MWVhOGI4MzBkNmQwZmRmNjVh
NDY0MmVhOTc0OGFkNWZiMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xDb250ZXh0LmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJFdmFzR0xDb250ZXh0LmgiCi0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotCi1FdmFzR0xDb250ZXh0OjpFdmFzR0xDb250ZXh0KEV2YXNfR0wqIGV2YXNH
TCwgRXZhc19HTF9Db250ZXh0KiBwYXNzQ29udGV4dCkKLSAgICA6IG1fZXZhc0dMKGV2YXNHTCkK
LSAgICAsIG1fY29udGV4dChwYXNzQ29udGV4dCkKLXsKLSAgICBBU1NFUlQoZXZhc0dMKTsKLSAg
ICBBU1NFUlQocGFzc0NvbnRleHQpOwotfQotCi1FdmFzR0xDb250ZXh0Ojp+RXZhc0dMQ29udGV4
dCgpCi17Ci0gICAgZXZhc19nbF9jb250ZXh0X2Rlc3Ryb3kobV9ldmFzR0wsIG1fY29udGV4dCk7
Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXZhc0dMQ29udGV4dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4ODYxNTliOTIzMjU1NTQxZTI5Y2RmNDI4NmRmMjk1ZmU0MzExMDJjLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V2YXNHTENvbnRleHQuaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgRXZhc0dMQ29udGV4dF9oCi0jZGVmaW5lIEV2
YXNHTENvbnRleHRfaAotCi0jaW5jbHVkZSA8RXZhc19HTC5oPgotI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBFdmFzR0xDb250ZXh0IHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxFdmFzR0xDb250ZXh0PiBjcmVhdGUoRXZh
c19HTCogZXZhc0dMKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGV2YXNHTCk7Ci0gICAgICAgIEV2
YXNfR0xfQ29udGV4dCogY29udGV4dCA9IGV2YXNfZ2xfY29udGV4dF9jcmVhdGUoZXZhc0dMLCAw
KTsKLSAgICAgICAgaWYgKCFjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0K
LSAgICAgICAgLy8gT3duZXJzaGlwIG9mIGNvbnRleHQgaXMgcGFzc2VkIHRvIEV2YXNHTENvbnRl
eHQuCi0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXZhc0dMQ29udGV4dChldmFzR0wsIGNv
bnRleHQpKTsKLSAgICB9Ci0gICAgfkV2YXNHTENvbnRleHQoKTsKLQotICAgIEV2YXNfR0xfQ29u
dGV4dCogY29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dDsgfQotCi1wcml2YXRlOgotICAgIEV2
YXNHTENvbnRleHQoRXZhc19HTCogZXZhc0dMLCBFdmFzX0dMX0NvbnRleHQqIHBhc3NDb250ZXh0
KTsKLQotICAgIEV2YXNfR0wqIG1fZXZhc0dMOwotICAgIEV2YXNfR0xfQ29udGV4dCogbV9jb250
ZXh0OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFdmFzR0xDb250
ZXh0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNH
TFN1cmZhY2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3Vy
ZmFjZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2MzAxY2FmYmE1ZjE2Yzg4
ZjJjNzY3MTlmYzhlNjVjMTFkYWQ4MWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXZhc0dMU3Vy
ZmFjZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRXZhc0dMU3VyZmFjZS5oIgotCi1u
YW1lc3BhY2UgV2ViS2l0IHsKLQotRXZhc0dMU3VyZmFjZTo6RXZhc0dMU3VyZmFjZShFdmFzX0dM
KiBldmFzR0wsIEV2YXNfR0xfU3VyZmFjZSogcGFzc1N1cmZhY2UpCi0gICAgOiBtX2V2YXNHTChl
dmFzR0wpCi0gICAgLCBtX3N1cmZhY2UocGFzc1N1cmZhY2UpCi17Ci0gICAgQVNTRVJUKGV2YXNH
TCk7Ci0gICAgQVNTRVJUKHBhc3NTdXJmYWNlKTsKLX0KLQotRXZhc0dMU3VyZmFjZTo6fkV2YXNH
TFN1cmZhY2UoKQotewotICAgIGV2YXNfZ2xfc3VyZmFjZV9kZXN0cm95KG1fZXZhc0dMLCBtX3N1
cmZhY2UpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V2YXNHTFN1cmZhY2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZGE3NmIxYzFkMzUwYTMxM2RkMWI2ZGFjNDIyNTY2MDBkN2VhYTUyMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9FdmFzR0xTdXJmYWNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEV2YXNHTFN1cmZhY2VfaAotI2Rl
ZmluZSBFdmFzR0xTdXJmYWNlX2gKLQotI2luY2x1ZGUgPEV2YXNfR0wuaD4KLSNpbmNsdWRlIDxX
ZWJDb3JlL0ludFNpemUuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3Bh
Y2UgV2ViS2l0IHsKLQotY2xhc3MgRXZhc0dMU3VyZmFjZSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NPd25QdHI8RXZhc0dMU3VyZmFjZT4gY3JlYXRlKEV2YXNfR0wqIGV2YXNHTCwgRXZhc19H
TF9Db25maWcqIGNmZywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChldmFzR0wpOwotICAgICAgICBBU1NFUlQoY2ZnKTsKLQotICAgICAgICBFdmFz
X0dMX1N1cmZhY2UqIHN1cmZhY2UgPSAwOwotCi0gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBz
dXJmYWNlIGlzIGNyZWF0ZWQgd2l0aCB2YWxpZCBzaXplLgotICAgICAgICBpZiAoc2l6ZS53aWR0
aCgpICYmIHNpemUuaGVpZ2h0KCkpCi0gICAgICAgICAgICBzdXJmYWNlID0gZXZhc19nbF9zdXJm
YWNlX2NyZWF0ZShldmFzR0wsIGNmZywgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKLQot
ICAgICAgICBpZiAoIXN1cmZhY2UpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAg
ICAgICAvLyBPd25lcnNoaXAgb2Ygc3VyZmFjZSBpcyBwYXNzZWQgdG8gRXZhc0dMU3VyZmFjZS4K
LSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFdmFzR0xTdXJmYWNlKGV2YXNHTCwgc3VyZmFj
ZSkpOwotICAgIH0KLSAgICB+RXZhc0dMU3VyZmFjZSgpOwotCi0gICAgRXZhc19HTF9TdXJmYWNl
KiBzdXJmYWNlKCkgeyByZXR1cm4gbV9zdXJmYWNlOyB9Ci0KLXByaXZhdGU6Ci0gICAgRXZhc0dM
U3VyZmFjZShFdmFzX0dMKiBldmFzR0wsIEV2YXNfR0xfU3VyZmFjZSogcGFzc1N1cmZhY2UpOwot
Ci0gICAgRXZhc19HTCogbV9ldmFzR0w7Ci0gICAgRXZhc19HTF9TdXJmYWNlKiBtX3N1cmZhY2U7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEV2YXNHTFN1cmZhY2Vf
aAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>