<?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>23188</bug_id>
          
          <creation_ts>2009-01-08 10:09:18 -0800</creation_ts>
          <short_desc>Need to cleanup all the names of state functions in AnimationBase</short_desc>
          <delta_ts>2012-12-12 06:11:58 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>dino</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>104893</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-01-08 10:09:18 -0800</bug_when>
    <thetext>There are many functions in AnimationBase (like isNew() and postactive()) which tell you which state or states the state machine is in. But they are really confusing, both in how they are named and what they actually mean. These should all be cleaned up</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104899</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-01-08 10:20:04 -0800</bug_when>
    <thetext>Also willNeedService() needs a better name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108222</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-03 17:50:42 -0800</bug_when>
    <thetext>Also:

In Animation:

    bool direction() const { return m_direction; }
This needs to have an enum.
    int iterationCount() const { return m_iterationCount; }
This needs a constant for the magic &quot;-1&quot; value.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108224</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-03 17:50:47 -0800</bug_when>
    <thetext>*** Bug 23513 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109532</commentid>
    <comment_count>4</comment_count>
      <attachid>27617</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-12 12:21:13 -0800</bug_when>
    <thetext>Created attachment 27617
Patch to clean up Animation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109537</commentid>
    <comment_count>5</comment_count>
      <attachid>27620</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-12 12:35:12 -0800</bug_when>
    <thetext>Created attachment 27620
Same patch with no license changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109538</commentid>
    <comment_count>6</comment_count>
      <attachid>27620</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-02-12 12:35:45 -0800</bug_when>
    <thetext>Comment on attachment 27620
Same patch with no license changes.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109540</commentid>
    <comment_count>7</comment_count>
      <attachid>27620</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-12 12:47:43 -0800</bug_when>
    <thetext>Comment on attachment 27620
Same patch with no license changes.

Landed:
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/css/CSSComputedStyleDeclaration.cpp
	M	WebCore/platform/animation/Animation.cpp
	M	WebCore/platform/animation/Animation.h
	M	WebCore/platform/graphics/mac/GraphicsLayerCA.mm
Committed r40923</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109714</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-02-13 11:41:53 -0800</bug_when>
    <thetext>Closing bug as it has been committed to the archive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109718</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-02-13 11:49:12 -0800</bug_when>
    <thetext>There&apos;s more cleanup to do (specifically, willGetService()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119366</commentid>
    <comment_count>10</comment_count>
      <attachid>27620</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-04-29 14:56:25 -0700</bug_when>
    <thetext>Comment on attachment 27620
Same patch with no license changes.

Historically we&apos;ve tried for one-bug-per-change.  But if you&apos;d like to leave this open, we should at least clear the review flag to remove it from the commit queue.  (Eventually we should just fix the commit queue query).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789492</commentid>
    <comment_count>11</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-12-12 06:11:58 -0800</bug_when>
    <thetext>I think all the cleanup landed. I can&apos;t find any trace of the old confusing names.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27617</attachid>
            <date>2009-02-12 12:21:13 -0800</date>
            <delta_ts>2009-02-12 12:35:12 -0800</delta_ts>
            <desc>Patch to clean up Animation</desc>
            <filename>23188_patch.txt</filename>
            <type>text/plain</type>
            <size>21830</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MGRmOWU2ZS4uMDU0ODc4YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAwOS0wMi0xMiAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMxODgKKyAgICAgICAgCisgICAgICAgIERlZmluZSBlbnVtIHZhbHVlcyBmb3IgQW5pbWF0
aW9uOjpkaXJlY3Rpb24oKSwgYW5kIG9uZSBmb3IKKyAgICAgICAgSXRlcmF0aW9uQ291bnRJbmZp
bml0ZSB0byBtYWtlIHRoZSBjb2RlIG1vcmUgc2VsZi1kb2N1bWVudGluZy4KKyAgICAgICAgCisg
ICAgICAgIE9yZGVyIHRoZSBtZW1iZXIgdmFycyBvZiBBbmltYXRpb24gdG8gb3B0aW1pemUgcGFj
a2luZy4KKyAgICAgICAgCisgICAgICAgIEZpeCBsaWNlbnNlcyBpbiBmaWxlcyB0aGF0IHdlcmUg
b3JpZ2luYWxseSBzcGxpdCBvdXQgZnJvbSBSZW5kZXJTdHlsZS5oLAorICAgICAgICBhbmQgaGFk
IHRoZWlyIGxpY2Vuc2UgY29waWVkIGZyb20gdGhhdCBmaWxlIGV2ZW4gdGhvdWdoIGl0IHdhcyBu
ZXcKKyAgICAgICAgY29kZSAoc2VlIGFsc28gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTIwKS4KKyAgICAgICAgCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIHBsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uOjpBbmltYXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uOjpvcGVyYXRvcj0pOgorICAgICAgICAo
V2ViQ29yZTo6QW5pbWF0aW9uOjphbmltYXRpb25zTWF0Y2gpOgorICAgICAgICAqIHBsYXRmb3Jt
L2FuaW1hdGlvbi9BbmltYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbjo6KToK
KyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbjo6ZGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkFuaW1hdGlvbjo6aW5pdGlhbEFuaW1hdGlvbkRpcmVjdGlvbik6CisgICAgICAgICogcGxh
dGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25MaXN0Lmg6CisgICAgICAgICogcGxhdGZvcm0vYW5pbWF0aW9uL1Rp
bWluZ0Z1bmN0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNz
TGF5ZXJDQS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c2V0QmFzaWNB
bmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpzZXRLZXlmcmFt
ZUFuaW1hdGlvbik6CisKIDIwMDktMDItMTIgIEFkYW0gVHJlYXQgIDxhZGFtLnRyZWF0QHRvcmNo
bW9iaWxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIFF0IGJ1aWxkIGZvbGxvd2luZyByNDA4NzEg
d2hpY2ggY2hhbmdlZCBSZW5kZXJPYmplY3Q6OmVsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1dlYkNvcmUvY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMDcxYzdmYS4uY2NjYWFiYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMDkwLDcgKzEw
OTAsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246
OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAgICAgICAgaWYgKHQpIHsKICAg
ICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHQtPnNpemUoKTsgKytpKSB7CiAg
ICAgICAgICAgICAgICAgICAgIGludCBpdGVyYXRpb25Db3VudCA9IHQtPmFuaW1hdGlvbihpKS0+
aXRlcmF0aW9uQ291bnQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZXJhdGlvbkNvdW50
IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZXJhdGlvbkNvdW50ID09IEFuaW1hdGlv
bjo6SXRlcmF0aW9uQ291bnRJbmZpbml0ZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qt
PmFwcGVuZChDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlSWRlbnRpZmllcihDU1NWYWx1ZUluZmlu
aXRlKSk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg
IGxpc3QtPmFwcGVuZChDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGl0ZXJhdGlvbkNvdW50LCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9u
L0FuaW1hdGlvbi5jcHAKaW5kZXggNWRmNDQ4MC4uNjg1MzgxNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2FuaW1hdGlvbi9BbmltYXRpb24uY3BwCkBAIC0xLDIyICsxLDI2IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQotICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
Ci0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCiAgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8K
IAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMjUsMTMgKzI5LDEzIEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIEFuaW1hdGlvbjo6QW5pbWF0aW9uKCkKLSAgICA6IG1fZGVsYXkoaW5pdGlhbEFu
aW1hdGlvbkRlbGF5KCkpCi0gICAgLCBtX2RpcmVjdGlvbihpbml0aWFsQW5pbWF0aW9uRGlyZWN0
aW9uKCkpCi0gICAgLCBtX2R1cmF0aW9uKGluaXRpYWxBbmltYXRpb25EdXJhdGlvbigpKQotICAg
ICwgbV9pdGVyYXRpb25Db3VudChpbml0aWFsQW5pbWF0aW9uSXRlcmF0aW9uQ291bnQoKSkKLSAg
ICAsIG1fbmFtZShpbml0aWFsQW5pbWF0aW9uTmFtZSgpKQorICAgIDogbV9uYW1lKGluaXRpYWxB
bmltYXRpb25OYW1lKCkpCiAgICAgLCBtX3Byb3BlcnR5KGluaXRpYWxBbmltYXRpb25Qcm9wZXJ0
eSgpKQorICAgICwgbV9pdGVyYXRpb25Db3VudChpbml0aWFsQW5pbWF0aW9uSXRlcmF0aW9uQ291
bnQoKSkKKyAgICAsIG1fZGVsYXkoaW5pdGlhbEFuaW1hdGlvbkRlbGF5KCkpCisgICAgLCBtX2R1
cmF0aW9uKGluaXRpYWxBbmltYXRpb25EdXJhdGlvbigpKQogICAgICwgbV90aW1pbmdGdW5jdGlv
bihpbml0aWFsQW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oKSkKKyAgICAsIG1fZGlyZWN0aW9uKGlu
aXRpYWxBbmltYXRpb25EaXJlY3Rpb24oKSkKICAgICAsIG1fcGxheVN0YXRlKGluaXRpYWxBbmlt
YXRpb25QbGF5U3RhdGUoKSkKICAgICAsIG1fZGVsYXlTZXQoZmFsc2UpCiAgICAgLCBtX2RpcmVj
dGlvblNldChmYWxzZSkKQEAgLTQ3LDEzICs1MSwxMyBAQCBBbmltYXRpb246OkFuaW1hdGlvbigp
CiAKIEFuaW1hdGlvbjo6QW5pbWF0aW9uKGNvbnN0IEFuaW1hdGlvbiYgbykKICAgICA6IFJlZkNv
dW50ZWQ8QW5pbWF0aW9uPigpCi0gICAgLCBtX2RlbGF5KG8ubV9kZWxheSkKLSAgICAsIG1fZGly
ZWN0aW9uKG8ubV9kaXJlY3Rpb24pCi0gICAgLCBtX2R1cmF0aW9uKG8ubV9kdXJhdGlvbikKLSAg
ICAsIG1faXRlcmF0aW9uQ291bnQoby5tX2l0ZXJhdGlvbkNvdW50KQogICAgICwgbV9uYW1lKG8u
bV9uYW1lKQogICAgICwgbV9wcm9wZXJ0eShvLm1fcHJvcGVydHkpCisgICAgLCBtX2l0ZXJhdGlv
bkNvdW50KG8ubV9pdGVyYXRpb25Db3VudCkKKyAgICAsIG1fZGVsYXkoby5tX2RlbGF5KQorICAg
ICwgbV9kdXJhdGlvbihvLm1fZHVyYXRpb24pCiAgICAgLCBtX3RpbWluZ0Z1bmN0aW9uKG8ubV90
aW1pbmdGdW5jdGlvbikKKyAgICAsIG1fZGlyZWN0aW9uKG8ubV9kaXJlY3Rpb24pCiAgICAgLCBt
X3BsYXlTdGF0ZShvLm1fcGxheVN0YXRlKQogICAgICwgbV9kZWxheVNldChvLm1fZGVsYXlTZXQp
CiAgICAgLCBtX2RpcmVjdGlvblNldChvLm1fZGlyZWN0aW9uU2V0KQpAQCAtNjksMTQgKzczLDE0
IEBAIEFuaW1hdGlvbjo6QW5pbWF0aW9uKGNvbnN0IEFuaW1hdGlvbiYgbykKIAogQW5pbWF0aW9u
JiBBbmltYXRpb246Om9wZXJhdG9yPShjb25zdCBBbmltYXRpb24mIG8pCiB7Ci0gICAgbV9kZWxh
eSA9IG8ubV9kZWxheTsKLSAgICBtX2RpcmVjdGlvbiA9IG8ubV9kaXJlY3Rpb247Ci0gICAgbV9k
dXJhdGlvbiA9IG8ubV9kdXJhdGlvbjsKLSAgICBtX2l0ZXJhdGlvbkNvdW50ID0gby5tX2l0ZXJh
dGlvbkNvdW50OwogICAgIG1fbmFtZSA9IG8ubV9uYW1lOwotICAgIG1fcGxheVN0YXRlID0gby5t
X3BsYXlTdGF0ZTsKICAgICBtX3Byb3BlcnR5ID0gby5tX3Byb3BlcnR5OworICAgIG1faXRlcmF0
aW9uQ291bnQgPSBvLm1faXRlcmF0aW9uQ291bnQ7CisgICAgbV9kZWxheSA9IG8ubV9kZWxheTsK
KyAgICBtX2R1cmF0aW9uID0gby5tX2R1cmF0aW9uOwogICAgIG1fdGltaW5nRnVuY3Rpb24gPSBv
Lm1fdGltaW5nRnVuY3Rpb247CisgICAgbV9kaXJlY3Rpb24gPSBvLm1fZGlyZWN0aW9uOworICAg
IG1fcGxheVN0YXRlID0gby5tX3BsYXlTdGF0ZTsKIAogICAgIG1fZGVsYXlTZXQgPSBvLm1fZGVs
YXlTZXQ7CiAgICAgbV9kaXJlY3Rpb25TZXQgPSBvLm1fZGlyZWN0aW9uU2V0OwpAQCAtODYsNyAr
OTAsNiBAQCBBbmltYXRpb24mIEFuaW1hdGlvbjo6b3BlcmF0b3I9KGNvbnN0IEFuaW1hdGlvbiYg
bykKICAgICBtX3BsYXlTdGF0ZVNldCA9IG8ubV9wbGF5U3RhdGVTZXQ7CiAgICAgbV9wcm9wZXJ0
eVNldCA9IG8ubV9wcm9wZXJ0eVNldDsKICAgICBtX3RpbWluZ0Z1bmN0aW9uU2V0ID0gby5tX3Rp
bWluZ0Z1bmN0aW9uU2V0OwotCiAgICAgbV9pc05vbmUgPSBvLm1faXNOb25lOwogCiAgICAgcmV0
dXJuICp0aGlzOwpAQCAtMTAxLDEzICsxMDQsMTMgQEAgYm9vbCBBbmltYXRpb246OmFuaW1hdGlv
bnNNYXRjaChjb25zdCBBbmltYXRpb24qIG8sIGJvb2wgbWF0Y2hQbGF5U3RhdGVzKSBjb25zdAog
ICAgIGlmICghbykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgIGJvb2wgcmVzdWx0
ID0gbV9kZWxheSA9PSBvLT5tX2RlbGF5ICYmCi0gICAgICAgICAgICAgICAgICBtX2RpcmVjdGlv
biA9PSBvLT5tX2RpcmVjdGlvbiAmJgotICAgICAgICAgICAgICAgICAgbV9kdXJhdGlvbiA9PSBv
LT5tX2R1cmF0aW9uICYmCi0gICAgICAgICAgICAgICAgICBtX2l0ZXJhdGlvbkNvdW50ID09IG8t
Pm1faXRlcmF0aW9uQ291bnQgJiYKLSAgICAgICAgICAgICAgICAgIG1fbmFtZSA9PSBvLT5tX25h
bWUgJiYKKyAgICBib29sIHJlc3VsdCA9IG1fbmFtZSA9PSBvLT5tX25hbWUgJiYKICAgICAgICAg
ICAgICAgICAgIG1fcHJvcGVydHkgPT0gby0+bV9wcm9wZXJ0eSAmJiAKKyAgICAgICAgICAgICAg
ICAgIG1faXRlcmF0aW9uQ291bnQgPT0gby0+bV9pdGVyYXRpb25Db3VudCAmJgorICAgICAgICAg
ICAgICAgICAgbV9kZWxheSA9PSBvLT5tX2RlbGF5ICYmCisgICAgICAgICAgICAgICAgICBtX2R1
cmF0aW9uID09IG8tPm1fZHVyYXRpb24gJiYKICAgICAgICAgICAgICAgICAgIG1fdGltaW5nRnVu
Y3Rpb24gPT0gby0+bV90aW1pbmdGdW5jdGlvbiAmJgorICAgICAgICAgICAgICAgICAgbV9kaXJl
Y3Rpb24gPT0gby0+bV9kaXJlY3Rpb24gJiYKICAgICAgICAgICAgICAgICAgIG1fZGVsYXlTZXQg
PT0gby0+bV9kZWxheVNldCAmJgogICAgICAgICAgICAgICAgICAgbV9kaXJlY3Rpb25TZXQgPT0g
by0+bV9kaXJlY3Rpb25TZXQgJiYKICAgICAgICAgICAgICAgICAgIG1fZHVyYXRpb25TZXQgPT0g
by0+bV9kdXJhdGlvblNldCAmJgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRp
b24vQW5pbWF0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uaApp
bmRleCAwYzBiZDAzLi5kZDIxZmY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRp
b24uaApAQCAtMSwyNSArMSwyNiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwMCBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQotICogICAgICAgICAgIChDKSAyMDAwIEFudHRpIEtvaXZpc3Rv
IChrb2l2aXN0b0BrZGUub3JnKQotICogICAgICAgICAgIChDKSAyMDAwIERpcmsgTXVlbGxlciAo
bXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA1LCAyMDA2LCAyMDA3
LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykg
MjAwNiBHcmFoYW0gRGVubmlzIChncmFoYW0uZGVubmlzQGdtYWlsLmNvbSkKKyAqIENvcHlyaWdo
dCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAogI2lmbmRlZiBBbmltYXRpb25faApA
QCAtODMsOCArODQsMTMgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJUaW1pbmdGdW5jdGlvbigp
IHsgbV90aW1pbmdGdW5jdGlvblNldCA9IGZhbHNlOyB9CiAKICAgICBkb3VibGUgZGVsYXkoKSBj
b25zdCB7IHJldHVybiBtX2RlbGF5OyB9Ci0gICAgYm9vbCBkaXJlY3Rpb24oKSBjb25zdCB7IHJl
dHVybiBtX2RpcmVjdGlvbjsgfQorCisgICAgZW51bSBBbmltYXRpb25EaXJlY3Rpb24geyBBbmlt
YXRpb25EaXJlY3Rpb25Ob3JtYWwsIEFuaW1hdGlvbkRpcmVjdGlvbkFsdGVybmF0ZSB9OworICAg
IEFuaW1hdGlvbkRpcmVjdGlvbiBkaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlv
bjsgfQorCiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlvbjsg
fQorCisgICAgZW51bSB7IEl0ZXJhdGlvbkNvdW50SW5maW5pdGUgPSAtMSB9OwogICAgIGludCBp
dGVyYXRpb25Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1faXRlcmF0aW9uQ291bnQ7IH0KICAgICBj
b25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICB1bnNpZ25l
ZCBwbGF5U3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3BsYXlTdGF0ZTsgfQpAQCAtMTE1LDEzICsx
MjEsMTMgQEAgcHJpdmF0ZToKICAgICBBbmltYXRpb24oKTsKICAgICBBbmltYXRpb24oY29uc3Qg
QW5pbWF0aW9uJiBvKTsKICAgICAKLSAgICBkb3VibGUgbV9kZWxheTsKLSAgICBib29sIG1fZGly
ZWN0aW9uOwotICAgIGRvdWJsZSBtX2R1cmF0aW9uOwotICAgIGludCBtX2l0ZXJhdGlvbkNvdW50
OwogICAgIFN0cmluZyBtX25hbWU7CiAgICAgaW50IG1fcHJvcGVydHk7CisgICAgaW50IG1faXRl
cmF0aW9uQ291bnQ7CisgICAgZG91YmxlIG1fZGVsYXk7CisgICAgZG91YmxlIG1fZHVyYXRpb247
CiAgICAgVGltaW5nRnVuY3Rpb24gbV90aW1pbmdGdW5jdGlvbjsKKyAgICBBbmltYXRpb25EaXJl
Y3Rpb24gbV9kaXJlY3Rpb24gOiAxOwogCiAgICAgdW5zaWduZWQgbV9wbGF5U3RhdGUgICAgIDog
MjsKIApAQCAtMTM4LDcgKzE0NCw3IEBAIHByaXZhdGU6CiAKIHB1YmxpYzoKICAgICBzdGF0aWMg
ZmxvYXQgaW5pdGlhbEFuaW1hdGlvbkRlbGF5KCkgeyByZXR1cm4gMDsgfQotICAgIHN0YXRpYyBi
b29sIGluaXRpYWxBbmltYXRpb25EaXJlY3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHN0
YXRpYyBBbmltYXRpb25EaXJlY3Rpb24gaW5pdGlhbEFuaW1hdGlvbkRpcmVjdGlvbigpIHsgcmV0
dXJuIEFuaW1hdGlvbkRpcmVjdGlvbk5vcm1hbDsgfQogICAgIHN0YXRpYyBkb3VibGUgaW5pdGlh
bEFuaW1hdGlvbkR1cmF0aW9uKCkgeyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyBpbnQgaW5pdGlh
bEFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50KCkgeyByZXR1cm4gMTsgfQogICAgIHN0YXRpYyBTdHJp
bmcgaW5pdGlhbEFuaW1hdGlvbk5hbWUoKSB7IHJldHVybiBTdHJpbmcoIm5vbmUiKTsgfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmNwcAppbmRleCA4MDRkZWRl
Li4xMTM4N2QwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRp
b25MaXN0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmNwcApAQCAtMSwyNCArMSwyNyBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMTk5OSBBbnR0aSBL
b2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCi0KICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJBbmltYXRpb25MaXN0LmgiCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0
aW9uL0FuaW1hdGlvbkxpc3QuaAppbmRleCA5OTAxNDI0Li5mMzdkZmQ4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCkBAIC0xLDI1ICsxLDI2IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDAwIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0gKiAgICAg
ICAgICAgKEMpIDIwMDAgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCi0gKiAgICAg
ICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDMsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA2IEdyYWhhbSBEZW5uaXMgKGdyYWhhbS5k
ZW5uaXNAZ21haWwuY29tKQorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KICAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
ICAqLwogCiAjaWZuZGVmIEFuaW1hdGlvbkxpc3RfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0
aW9uL1RpbWluZ0Z1bmN0aW9uLmgKaW5kZXggZjExNDU5Ni4uZjY4NjdlZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9UaW1pbmdGdW5jdGlvbi5oCkBAIC0xLDI1ICsxLDI2IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDAwIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0gKiAg
ICAgICAgICAgKEMpIDIwMDAgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCi0gKiAg
ICAgICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDMsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA2IEdyYWhhbSBEZW5uaXMgKGdyYWhh
bS5kZW5uaXNAZ21haWwuY29tKQorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKICAqLwogCiAjaWZuZGVmIFRpbWluZ0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbSBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbQppbmRleCAxZjZlZDUwLi45YzRiOTU1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVy
Q0EubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNB
Lm1tCkBAIC0xMTQwLDkgKzExNDAsOSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0QmFzaWNB
bmltYXRpb24oQW5pbWF0ZWRQcm9wZXJ0eUlEIHByb3BlcnR5LCBUcmFuc2Zvcm1PcAogICAgICAg
ICBkdXJhdGlvbiA9IGNBbmltYXRpb25BbG1vc3RaZXJvRHVyYXRpb247CiAgICAgICAgIAogICAg
IGZsb2F0IHJlcGVhdENvdW50ID0gdHJhbnNpdGlvbi0+aXRlcmF0aW9uQ291bnQoKTsKLSAgICBp
ZiAocmVwZWF0Q291bnQgPCAwKQorICAgIGlmIChyZXBlYXRDb3VudCA9PSBBbmltYXRpb246Okl0
ZXJhdGlvbkNvdW50SW5maW5pdGUpCiAgICAgICAgIHJlcGVhdENvdW50ID0gRkxUX01BWDsKLSAg
ICBlbHNlIGlmICh0cmFuc2l0aW9uLT5kaXJlY3Rpb24oKSkgICAvLyBJZiB3ZSBhbHRlcm5hdGUs
IHRoZSBudW1iZXIgb2YgY3ljbGVzIGlzIGhhbHZlZAorICAgIGVsc2UgaWYgKGFuaW0tPmRpcmVj
dGlvbigpID09IEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uQWx0ZXJuYXRlKQogICAgICAg
ICByZXBlYXRDb3VudCAvPSAyOwogICAgICAgICAKICAgICBbYmFzaWNBbmltIHNldER1cmF0aW9u
OmR1cmF0aW9uXTsKQEAgLTEyMDgsOSArMTIwOCw5IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpz
ZXRLZXlmcmFtZUFuaW1hdGlvbihBbmltYXRlZFByb3BlcnR5SUQgcHJvcGVydHksIFRyYW5zZm9y
CiAgICAgICAgIGR1cmF0aW9uID0gY0FuaW1hdGlvbkFsbW9zdFplcm9EdXJhdGlvbjsKIAogICAg
IGZsb2F0IHJlcGVhdENvdW50ID0gYW5pbS0+aXRlcmF0aW9uQ291bnQoKTsKLSAgICBpZiAocmVw
ZWF0Q291bnQgPCAwKQorICAgIGlmIChyZXBlYXRDb3VudCA9PSBBbmltYXRpb246Okl0ZXJhdGlv
bkNvdW50SW5maW5pdGUpCiAgICAgICAgIHJlcGVhdENvdW50ID0gRkxUX01BWDsKLSAgICBlbHNl
IGlmIChhbmltLT5kaXJlY3Rpb24oKSkKKyAgICBlbHNlIGlmIChhbmltLT5kaXJlY3Rpb24oKSA9
PSBBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbkFsdGVybmF0ZSkKICAgICAgICAgcmVwZWF0
Q291bnQgLz0gMjsKIAogICAgIFtrZXlmcmFtZUFuaW0gc2V0RHVyYXRpb246ZHVyYXRpb25dOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27620</attachid>
            <date>2009-02-12 12:35:12 -0800</date>
            <delta_ts>2009-04-29 14:56:25 -0700</delta_ts>
            <desc>Same patch with no license changes.</desc>
            <filename>23188_patch.txt</filename>
            <type>text/plain</type>
            <size>8631</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MGRmOWU2ZS4uZWFlOWZhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0wMi0xMiAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMxODgKKyAgICAgICAgCisgICAgICAgIERlZmluZSBlbnVtIHZhbHVlcyBmb3IgQW5pbWF0
aW9uOjpkaXJlY3Rpb24oKSwgYW5kIG9uZSBmb3IKKyAgICAgICAgSXRlcmF0aW9uQ291bnRJbmZp
bml0ZSB0byBtYWtlIHRoZSBjb2RlIG1vcmUgc2VsZi1kb2N1bWVudGluZy4KKyAgICAgICAgCisg
ICAgICAgIE9yZGVyIHRoZSBtZW1iZXIgdmFycyBvZiBBbmltYXRpb24gdG8gb3B0aW1pemUgcGFj
a2luZy4KKyAgICAgICAgCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246Omdl
dFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uOjpBbmltYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6QW5p
bWF0aW9uOjphbmltYXRpb25zTWF0Y2gpOgorICAgICAgICAqIHBsYXRmb3JtL2FuaW1hdGlvbi9B
bmltYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbjo6KToKKyAgICAgICAgKFdl
YkNvcmU6OkFuaW1hdGlvbjo6ZGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlv
bjo6aW5pdGlhbEFuaW1hdGlvbkRpcmVjdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXJDQTo6c2V0QmFzaWNBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckNBOjpzZXRLZXlmcmFtZUFuaW1hdGlvbik6CisKIDIwMDktMDItMTIgIEFkYW0gVHJlYXQgIDxh
ZGFtLnRyZWF0QHRvcmNobW9iaWxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIFF0IGJ1aWxkIGZv
bGxvd2luZyByNDA4NzEgd2hpY2ggY2hhbmdlZCBSZW5kZXJPYmplY3Q6OmVsZW1lbnQoKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1dlYkNvcmUvY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMDcxYzdmYS4uY2NjYWFiYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMDkwLDcgKzEw
OTAsNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246
OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAgICAgICAgaWYgKHQpIHsKICAg
ICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHQtPnNpemUoKTsgKytpKSB7CiAg
ICAgICAgICAgICAgICAgICAgIGludCBpdGVyYXRpb25Db3VudCA9IHQtPmFuaW1hdGlvbihpKS0+
aXRlcmF0aW9uQ291bnQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZXJhdGlvbkNvdW50
IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZXJhdGlvbkNvdW50ID09IEFuaW1hdGlv
bjo6SXRlcmF0aW9uQ291bnRJbmZpbml0ZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qt
PmFwcGVuZChDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlSWRlbnRpZmllcihDU1NWYWx1ZUluZmlu
aXRlKSk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg
IGxpc3QtPmFwcGVuZChDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGl0ZXJhdGlvbkNvdW50LCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9u
L0FuaW1hdGlvbi5jcHAKaW5kZXggNWRmNDQ4MC4uMDU3NjFmOCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2FuaW1hdGlvbi9BbmltYXRpb24uY3BwCkBAIC0yNSwxMyArMjUsMTMgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogQW5pbWF0aW9uOjpBbmltYXRpb24oKQotICAgIDogbV9kZWxheShpbml0aWFs
QW5pbWF0aW9uRGVsYXkoKSkKLSAgICAsIG1fZGlyZWN0aW9uKGluaXRpYWxBbmltYXRpb25EaXJl
Y3Rpb24oKSkKLSAgICAsIG1fZHVyYXRpb24oaW5pdGlhbEFuaW1hdGlvbkR1cmF0aW9uKCkpCi0g
ICAgLCBtX2l0ZXJhdGlvbkNvdW50KGluaXRpYWxBbmltYXRpb25JdGVyYXRpb25Db3VudCgpKQot
ICAgICwgbV9uYW1lKGluaXRpYWxBbmltYXRpb25OYW1lKCkpCisgICAgOiBtX25hbWUoaW5pdGlh
bEFuaW1hdGlvbk5hbWUoKSkKICAgICAsIG1fcHJvcGVydHkoaW5pdGlhbEFuaW1hdGlvblByb3Bl
cnR5KCkpCisgICAgLCBtX2l0ZXJhdGlvbkNvdW50KGluaXRpYWxBbmltYXRpb25JdGVyYXRpb25D
b3VudCgpKQorICAgICwgbV9kZWxheShpbml0aWFsQW5pbWF0aW9uRGVsYXkoKSkKKyAgICAsIG1f
ZHVyYXRpb24oaW5pdGlhbEFuaW1hdGlvbkR1cmF0aW9uKCkpCiAgICAgLCBtX3RpbWluZ0Z1bmN0
aW9uKGluaXRpYWxBbmltYXRpb25UaW1pbmdGdW5jdGlvbigpKQorICAgICwgbV9kaXJlY3Rpb24o
aW5pdGlhbEFuaW1hdGlvbkRpcmVjdGlvbigpKQogICAgICwgbV9wbGF5U3RhdGUoaW5pdGlhbEFu
aW1hdGlvblBsYXlTdGF0ZSgpKQogICAgICwgbV9kZWxheVNldChmYWxzZSkKICAgICAsIG1fZGly
ZWN0aW9uU2V0KGZhbHNlKQpAQCAtNDcsMTMgKzQ3LDEzIEBAIEFuaW1hdGlvbjo6QW5pbWF0aW9u
KCkKIAogQW5pbWF0aW9uOjpBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uJiBvKQogICAgIDogUmVm
Q291bnRlZDxBbmltYXRpb24+KCkKLSAgICAsIG1fZGVsYXkoby5tX2RlbGF5KQotICAgICwgbV9k
aXJlY3Rpb24oby5tX2RpcmVjdGlvbikKLSAgICAsIG1fZHVyYXRpb24oby5tX2R1cmF0aW9uKQot
ICAgICwgbV9pdGVyYXRpb25Db3VudChvLm1faXRlcmF0aW9uQ291bnQpCiAgICAgLCBtX25hbWUo
by5tX25hbWUpCiAgICAgLCBtX3Byb3BlcnR5KG8ubV9wcm9wZXJ0eSkKKyAgICAsIG1faXRlcmF0
aW9uQ291bnQoby5tX2l0ZXJhdGlvbkNvdW50KQorICAgICwgbV9kZWxheShvLm1fZGVsYXkpCisg
ICAgLCBtX2R1cmF0aW9uKG8ubV9kdXJhdGlvbikKICAgICAsIG1fdGltaW5nRnVuY3Rpb24oby5t
X3RpbWluZ0Z1bmN0aW9uKQorICAgICwgbV9kaXJlY3Rpb24oby5tX2RpcmVjdGlvbikKICAgICAs
IG1fcGxheVN0YXRlKG8ubV9wbGF5U3RhdGUpCiAgICAgLCBtX2RlbGF5U2V0KG8ubV9kZWxheVNl
dCkKICAgICAsIG1fZGlyZWN0aW9uU2V0KG8ubV9kaXJlY3Rpb25TZXQpCkBAIC02OSwxNCArNjks
MTQgQEAgQW5pbWF0aW9uOjpBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uJiBvKQogCiBBbmltYXRp
b24mIEFuaW1hdGlvbjo6b3BlcmF0b3I9KGNvbnN0IEFuaW1hdGlvbiYgbykKIHsKLSAgICBtX2Rl
bGF5ID0gby5tX2RlbGF5OwotICAgIG1fZGlyZWN0aW9uID0gby5tX2RpcmVjdGlvbjsKLSAgICBt
X2R1cmF0aW9uID0gby5tX2R1cmF0aW9uOwotICAgIG1faXRlcmF0aW9uQ291bnQgPSBvLm1faXRl
cmF0aW9uQ291bnQ7CiAgICAgbV9uYW1lID0gby5tX25hbWU7Ci0gICAgbV9wbGF5U3RhdGUgPSBv
Lm1fcGxheVN0YXRlOwogICAgIG1fcHJvcGVydHkgPSBvLm1fcHJvcGVydHk7CisgICAgbV9pdGVy
YXRpb25Db3VudCA9IG8ubV9pdGVyYXRpb25Db3VudDsKKyAgICBtX2RlbGF5ID0gby5tX2RlbGF5
OworICAgIG1fZHVyYXRpb24gPSBvLm1fZHVyYXRpb247CiAgICAgbV90aW1pbmdGdW5jdGlvbiA9
IG8ubV90aW1pbmdGdW5jdGlvbjsKKyAgICBtX2RpcmVjdGlvbiA9IG8ubV9kaXJlY3Rpb247Cisg
ICAgbV9wbGF5U3RhdGUgPSBvLm1fcGxheVN0YXRlOwogCiAgICAgbV9kZWxheVNldCA9IG8ubV9k
ZWxheVNldDsKICAgICBtX2RpcmVjdGlvblNldCA9IG8ubV9kaXJlY3Rpb25TZXQ7CkBAIC04Niw3
ICs4Niw2IEBAIEFuaW1hdGlvbiYgQW5pbWF0aW9uOjpvcGVyYXRvcj0oY29uc3QgQW5pbWF0aW9u
JiBvKQogICAgIG1fcGxheVN0YXRlU2V0ID0gby5tX3BsYXlTdGF0ZVNldDsKICAgICBtX3Byb3Bl
cnR5U2V0ID0gby5tX3Byb3BlcnR5U2V0OwogICAgIG1fdGltaW5nRnVuY3Rpb25TZXQgPSBvLm1f
dGltaW5nRnVuY3Rpb25TZXQ7Ci0KICAgICBtX2lzTm9uZSA9IG8ubV9pc05vbmU7CiAKICAgICBy
ZXR1cm4gKnRoaXM7CkBAIC0xMDEsMTMgKzEwMCwxMyBAQCBib29sIEFuaW1hdGlvbjo6YW5pbWF0
aW9uc01hdGNoKGNvbnN0IEFuaW1hdGlvbiogbywgYm9vbCBtYXRjaFBsYXlTdGF0ZXMpIGNvbnN0
CiAgICAgaWYgKCFvKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCi0gICAgYm9vbCByZXN1
bHQgPSBtX2RlbGF5ID09IG8tPm1fZGVsYXkgJiYKLSAgICAgICAgICAgICAgICAgIG1fZGlyZWN0
aW9uID09IG8tPm1fZGlyZWN0aW9uICYmCi0gICAgICAgICAgICAgICAgICBtX2R1cmF0aW9uID09
IG8tPm1fZHVyYXRpb24gJiYKLSAgICAgICAgICAgICAgICAgIG1faXRlcmF0aW9uQ291bnQgPT0g
by0+bV9pdGVyYXRpb25Db3VudCAmJgotICAgICAgICAgICAgICAgICAgbV9uYW1lID09IG8tPm1f
bmFtZSAmJgorICAgIGJvb2wgcmVzdWx0ID0gbV9uYW1lID09IG8tPm1fbmFtZSAmJgogICAgICAg
ICAgICAgICAgICAgbV9wcm9wZXJ0eSA9PSBvLT5tX3Byb3BlcnR5ICYmIAorICAgICAgICAgICAg
ICAgICAgbV9pdGVyYXRpb25Db3VudCA9PSBvLT5tX2l0ZXJhdGlvbkNvdW50ICYmCisgICAgICAg
ICAgICAgICAgICBtX2RlbGF5ID09IG8tPm1fZGVsYXkgJiYKKyAgICAgICAgICAgICAgICAgIG1f
ZHVyYXRpb24gPT0gby0+bV9kdXJhdGlvbiAmJgogICAgICAgICAgICAgICAgICAgbV90aW1pbmdG
dW5jdGlvbiA9PSBvLT5tX3RpbWluZ0Z1bmN0aW9uICYmCisgICAgICAgICAgICAgICAgICBtX2Rp
cmVjdGlvbiA9PSBvLT5tX2RpcmVjdGlvbiAmJgogICAgICAgICAgICAgICAgICAgbV9kZWxheVNl
dCA9PSBvLT5tX2RlbGF5U2V0ICYmCiAgICAgICAgICAgICAgICAgICBtX2RpcmVjdGlvblNldCA9
PSBvLT5tX2RpcmVjdGlvblNldCAmJgogICAgICAgICAgICAgICAgICAgbV9kdXJhdGlvblNldCA9
PSBvLT5tX2R1cmF0aW9uU2V0ICYmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5o
CmluZGV4IDBjMGJkMDMuLjY2ZTk4ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5p
bWF0aW9uL0FuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvbi5oCkBAIC04Myw4ICs4MywxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhclRpbWluZ0Z1
bmN0aW9uKCkgeyBtX3RpbWluZ0Z1bmN0aW9uU2V0ID0gZmFsc2U7IH0KIAogICAgIGRvdWJsZSBk
ZWxheSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVsYXk7IH0KLSAgICBib29sIGRpcmVjdGlvbigpIGNv
bnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uOyB9CisKKyAgICBlbnVtIEFuaW1hdGlvbkRpcmVjdGlv
biB7IEFuaW1hdGlvbkRpcmVjdGlvbk5vcm1hbCwgQW5pbWF0aW9uRGlyZWN0aW9uQWx0ZXJuYXRl
IH07CisgICAgQW5pbWF0aW9uRGlyZWN0aW9uIGRpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
ZGlyZWN0aW9uOyB9CisKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2R1
cmF0aW9uOyB9CisKKyAgICBlbnVtIHsgSXRlcmF0aW9uQ291bnRJbmZpbml0ZSA9IC0xIH07CiAg
ICAgaW50IGl0ZXJhdGlvbkNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9pdGVyYXRpb25Db3VudDsg
fQogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQogICAg
IHVuc2lnbmVkIHBsYXlTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxheVN0YXRlOyB9CkBAIC0x
MTUsMTMgKzEyMCwxMyBAQCBwcml2YXRlOgogICAgIEFuaW1hdGlvbigpOwogICAgIEFuaW1hdGlv
bihjb25zdCBBbmltYXRpb24mIG8pOwogICAgIAotICAgIGRvdWJsZSBtX2RlbGF5OwotICAgIGJv
b2wgbV9kaXJlY3Rpb247Ci0gICAgZG91YmxlIG1fZHVyYXRpb247Ci0gICAgaW50IG1faXRlcmF0
aW9uQ291bnQ7CiAgICAgU3RyaW5nIG1fbmFtZTsKICAgICBpbnQgbV9wcm9wZXJ0eTsKKyAgICBp
bnQgbV9pdGVyYXRpb25Db3VudDsKKyAgICBkb3VibGUgbV9kZWxheTsKKyAgICBkb3VibGUgbV9k
dXJhdGlvbjsKICAgICBUaW1pbmdGdW5jdGlvbiBtX3RpbWluZ0Z1bmN0aW9uOworICAgIEFuaW1h
dGlvbkRpcmVjdGlvbiBtX2RpcmVjdGlvbiA6IDE7CiAKICAgICB1bnNpZ25lZCBtX3BsYXlTdGF0
ZSAgICAgOiAyOwogCkBAIC0xMzgsNyArMTQzLDcgQEAgcHJpdmF0ZToKIAogcHVibGljOgogICAg
IHN0YXRpYyBmbG9hdCBpbml0aWFsQW5pbWF0aW9uRGVsYXkoKSB7IHJldHVybiAwOyB9Ci0gICAg
c3RhdGljIGJvb2wgaW5pdGlhbEFuaW1hdGlvbkRpcmVjdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9
CisgICAgc3RhdGljIEFuaW1hdGlvbkRpcmVjdGlvbiBpbml0aWFsQW5pbWF0aW9uRGlyZWN0aW9u
KCkgeyByZXR1cm4gQW5pbWF0aW9uRGlyZWN0aW9uTm9ybWFsOyB9CiAgICAgc3RhdGljIGRvdWJs
ZSBpbml0aWFsQW5pbWF0aW9uRHVyYXRpb24oKSB7IHJldHVybiAwOyB9CiAgICAgc3RhdGljIGlu
dCBpbml0aWFsQW5pbWF0aW9uSXRlcmF0aW9uQ291bnQoKSB7IHJldHVybiAxOyB9CiAgICAgc3Rh
dGljIFN0cmluZyBpbml0aWFsQW5pbWF0aW9uTmFtZSgpIHsgcmV0dXJuIFN0cmluZygibm9uZSIp
OyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xh
eWVyQ0EubW0gYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0Eu
bW0KaW5kZXggMWY2ZWQ1MC4uOWM0Yjk1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbQpAQCAtMTE0MCw5ICsxMTQwLDkgQEAgdm9pZCBH
cmFwaGljc0xheWVyQ0E6OnNldEJhc2ljQW5pbWF0aW9uKEFuaW1hdGVkUHJvcGVydHlJRCBwcm9w
ZXJ0eSwgVHJhbnNmb3JtT3AKICAgICAgICAgZHVyYXRpb24gPSBjQW5pbWF0aW9uQWxtb3N0WmVy
b0R1cmF0aW9uOwogICAgICAgICAKICAgICBmbG9hdCByZXBlYXRDb3VudCA9IHRyYW5zaXRpb24t
Pml0ZXJhdGlvbkNvdW50KCk7Ci0gICAgaWYgKHJlcGVhdENvdW50IDwgMCkKKyAgICBpZiAocmVw
ZWF0Q291bnQgPT0gQW5pbWF0aW9uOjpJdGVyYXRpb25Db3VudEluZmluaXRlKQogICAgICAgICBy
ZXBlYXRDb3VudCA9IEZMVF9NQVg7Ci0gICAgZWxzZSBpZiAodHJhbnNpdGlvbi0+ZGlyZWN0aW9u
KCkpICAgLy8gSWYgd2UgYWx0ZXJuYXRlLCB0aGUgbnVtYmVyIG9mIGN5Y2xlcyBpcyBoYWx2ZWQK
KyAgICBlbHNlIGlmIChhbmltLT5kaXJlY3Rpb24oKSA9PSBBbmltYXRpb246OkFuaW1hdGlvbkRp
cmVjdGlvbkFsdGVybmF0ZSkKICAgICAgICAgcmVwZWF0Q291bnQgLz0gMjsKICAgICAgICAgCiAg
ICAgW2Jhc2ljQW5pbSBzZXREdXJhdGlvbjpkdXJhdGlvbl07CkBAIC0xMjA4LDkgKzEyMDgsOSBA
QCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0S2V5ZnJhbWVBbmltYXRpb24oQW5pbWF0ZWRQcm9w
ZXJ0eUlEIHByb3BlcnR5LCBUcmFuc2ZvcgogICAgICAgICBkdXJhdGlvbiA9IGNBbmltYXRpb25B
bG1vc3RaZXJvRHVyYXRpb247CiAKICAgICBmbG9hdCByZXBlYXRDb3VudCA9IGFuaW0tPml0ZXJh
dGlvbkNvdW50KCk7Ci0gICAgaWYgKHJlcGVhdENvdW50IDwgMCkKKyAgICBpZiAocmVwZWF0Q291
bnQgPT0gQW5pbWF0aW9uOjpJdGVyYXRpb25Db3VudEluZmluaXRlKQogICAgICAgICByZXBlYXRD
b3VudCA9IEZMVF9NQVg7Ci0gICAgZWxzZSBpZiAoYW5pbS0+ZGlyZWN0aW9uKCkpCisgICAgZWxz
ZSBpZiAoYW5pbS0+ZGlyZWN0aW9uKCkgPT0gQW5pbWF0aW9uOjpBbmltYXRpb25EaXJlY3Rpb25B
bHRlcm5hdGUpCiAgICAgICAgIHJlcGVhdENvdW50IC89IDI7CiAKICAgICBba2V5ZnJhbWVBbmlt
IHNldER1cmF0aW9uOmR1cmF0aW9uXTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>